:root {
    --series-1: #2a78d6; --series-2: #eb6834; --series-3: #1baf7a; --series-4: #eda100;
    --series-5: #e87ba4; --series-6: #008300; --series-7: #4a3aa7; --series-8: #e34948;
    --grid: #e6e5e0; --text-secondary: #52514e;
}
body { background: #f5f6f8; }
.sidebar { width: 250px; min-height: 100vh; background: #1d2330; position: sticky; top: 0; height: 100vh; overflow-y: auto; flex-shrink: 0; }
.sidebar .nav-link { color: rgba(255,255,255,.75); padding: .4rem .6rem; border-radius: .4rem; font-size: .92rem; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar .nav-link.active { background: #2a78d6; color: #fff; }
.sidebar .nav-link i { width: 1.3rem; display: inline-block; }
.nav-section { text-transform: uppercase; font-size: .7rem; letter-spacing: .06em; color: rgba(255,255,255,.4); margin: 1rem 0 .3rem .6rem; }
.min-vw-0 { min-width: 0; }
.card { border: 1px solid #e6e8ec; box-shadow: none; }
.widget-card { height: 100%; }
.widget-card .card-body { min-height: 120px; }
.chart-box { position: relative; height: 280px; }
.kpi-value { font-size: clamp(1.3rem, 2.1vw, 2.1rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.funnel-row { display: flex; align-items: center; gap: .6rem; margin-bottom: 6px; }
.funnel-label { width: 90px; font-size: .85rem; color: var(--text-secondary); text-align: right; flex-shrink: 0; }
.funnel-track { flex: 1; display: flex; justify-content: center; }
.funnel-bar { height: 28px; border-radius: 4px; background: var(--series-1); min-width: 4px; }
.funnel-value { width: 90px; font-size: .85rem; font-variant-numeric: tabular-nums; }
.filter-bar { position: sticky; top: 0; z-index: 10; background: #f5f6f8; padding: .5rem 0; }
.branch-tabs .nav-link { white-space: nowrap; }
.table td, .table th { vertical-align: middle; }
.updated-at { font-size: .75rem; color: #8a8f98; }
@media (max-width: 767.98px) {
    .sidebar { position: fixed; left: -260px; z-index: 1050; transition: left .2s; }
    .sidebar.open { left: 0; }
}
@media print { .sidebar, .topbar, .no-print { display: none !important; } body { background: #fff; } }
