:root { --accent: #c8102e; --accent-soft: #fdecef; }
body { background: #f6f7f9; }
.navbar-brand .dot { color: var(--accent); }
.navbar { border-bottom: 3px solid var(--accent); }
.kpi { background: #fff; border-radius: .75rem; padding: 1rem 1.25rem; box-shadow: 0 1px 2px rgba(0,0,0,.05); height: 100%; }
.kpi .v { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.kpi .l { color: #6c757d; font-size: .85rem; }
.card { border: 0; box-shadow: 0 1px 2px rgba(0,0,0,.06); border-radius: .75rem; }
.card-header { background: #fff; font-weight: 600; border-bottom: 1px solid #eee; }
tr.focus td { background: var(--accent-soft) !important; }
.badge-focus { background: var(--accent); }
.perf { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.table td, .table th { vertical-align: middle; }
.table-sm td { padding: .3rem .4rem; }
.muted { color: #6c757d; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85em; }
.section-title { border-left: 4px solid var(--accent); padding-left: .6rem; }
.pipeline .step { background: #fff; border-radius: .75rem; padding: 1rem; box-shadow: 0 1px 2px rgba(0,0,0,.06); height: 100%; }
.pipeline .num { display: inline-flex; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--accent); color: #fff; align-items: center; justify-content: center; font-weight: 700; margin-right: .4rem; }
.progress { height: .6rem; }
@media (prefers-color-scheme: dark) {
  :root { --accent-soft: #3a1d22; }
  body { background: #16181b; }
  .kpi, .card, .card-header, .pipeline .step { background: #212429; }
}
