@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";.app-shell{flex:1;min-height:100vh}.sidebar{z-index:30;color:#d7dde4;background:var(--surface-strong);flex-direction:column;width:240px;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 8px 28px;display:flex}.brand__mark{color:#fff;background:var(--accent);border-radius:9px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.brand div span{color:#8f9cab;font-size:11px;display:block}.sidebar nav{gap:4px;display:grid}.sidebar nav button,.sidebar__footer button{color:#aeb8c4;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;padding:10px 12px;display:flex}.sidebar nav button.is-active,.sidebar nav button:hover,.sidebar__footer button:hover{color:#fff;background:#25384b}.sidebar__footer{color:#7f8b98;border-top:1px solid #2d3a47;margin-top:auto;padding-top:16px;font-size:12px}.main{min-height:100vh;margin-left:240px}.topbar{z-index:20;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;min-height:68px;padding:12px 32px;display:flex;position:sticky;top:0}.topbar label,.filters label{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.topbar input,.filters input,.filters select{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:7px 10px}.period-presets,.method-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.period-presets button,.method-toggle button{background:var(--surface);cursor:pointer;border:0;padding:8px 12px}.period-presets button.is-active,.method-toggle button.is-active{color:#fff;background:var(--accent)}.method-toggle button:disabled,.period-presets button:disabled{cursor:not-allowed;opacity:.55}.topbar__meta{color:var(--text-faint);align-items:baseline;gap:5px;margin-left:auto;font-size:12px;display:flex}.filters{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:12px 16px;padding:12px 32px;display:flex}.filters.is-filtered{border-bottom-color:var(--accent)}.filters__state{color:var(--accent);flex-basis:100%;align-items:center;gap:10px;font-size:12px;display:flex}.multi{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.multi details{position:relative}.multi summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;min-width:120px;padding:7px 10px;list-style:none}.multi summary::-webkit-details-marker{display:none}.multi__list{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:220px;max-height:260px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #1018281f}.multi--end .multi__list{left:auto;right:0}.multi__list label{color:var(--text);align-items:center;gap:8px;padding:4px 6px;display:flex}.filters__search{flex:220px}.filters__search input{width:100%;min-width:220px}.content{max-width:1540px;margin:0 auto;padding:30px 32px 48px}.content>.chart-grid{margin-bottom:16px}.view-stack{gap:16px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.view-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.view-head__actions{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.view-head__actions label{align-items:center;gap:8px;display:flex}.view-head__actions select{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:7px 10px}.ghost{border:1px solid var(--border);color:var(--text);background:var(--surface);cursor:pointer;border-radius:6px;padding:7px 12px}.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ghost:disabled{cursor:not-allowed;opacity:.55}.empty{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:10px;padding:28px 20px}.is-loading{opacity:.45;transition:opacity .12s ease-out}.lede{max-width:720px;color:var(--text-muted);font-size:13px}.kpi-grid{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.kpi-grid--secondary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.kpi-grid--secondary .metric-card{min-height:84px;padding:14px 18px}.kpi-grid--secondary .metric-card__value{font-size:18px}.metric-card{border-right:1px solid var(--border);gap:7px;min-height:110px;padding:20px 22px;display:grid}.metric-card:last-child{border-right:0}.metric-card__label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.metric-card__source{border:1px solid var(--border-strong);width:14px;height:14px;color:var(--text-faint);cursor:help;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.metric-card__value{font-size:25px}.metric-card__value.is-negative{color:var(--negative)}.metric-card--romi{align-content:start}.romi-gauge{color:var(--text-faint);justify-items:center;display:grid}.romi-gauge svg{width:120px;height:72px}.romi-gauge strong{margin-top:-18px;font-size:22px}.romi-gauge--positive{color:var(--positive)}.romi-gauge--negative{color:var(--negative)}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-grid>.panel--wide,.chart-grid>.panel:last-child:nth-child(odd){grid-column:1/-1}.panel,.table-wrap,.login{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:20px}.panel__header{gap:4px;margin-bottom:8px;display:grid}.panel__header p{color:var(--text-faint);font-size:12px}.chart{height:260px}.chart--tall{height:360px}.cube-controls{flex-wrap:wrap;justify-content:flex-end}.row-total th{border-bottom:1px solid var(--border-strong);background:var(--surface-muted);font-weight:600}.chart-tooltip{border:1px solid var(--border-strong);background:#fffffffa;border-radius:7px;min-width:155px;padding:10px 12px;font-size:10px}.chart-tooltip>strong{margin-bottom:7px;display:block}.chart-tooltip>div{color:var(--text-muted);grid-template-columns:7px 1fr auto;align-items:center;gap:6px;margin-top:4px;display:grid}.chart-tooltip__dot{border-radius:50%;width:6px;height:6px}.chart-tooltip__total{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;font-weight:650}.chart-tooltip b{color:var(--text);font-weight:600}.table-wrap{max-height:70vh;padding:0 20px;overflow:auto}.table-wrap::-webkit-scrollbar{width:10px;height:10px}.table-wrap::-webkit-scrollbar-thumb{border:3px solid var(--surface);background:var(--border-strong);border-radius:6px}table{border-collapse:separate;border-spacing:0;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 8px;font-size:13px}thead th{z-index:2;background:var(--surface);color:var(--text-muted);font-size:12px;position:sticky;top:0}tr.is-total td{font-weight:650}th:first-child,td:first-child{background:var(--surface);text-overflow:ellipsis;max-width:280px;position:sticky;left:0;overflow:hidden}thead th:first-child{z-index:3}.row-total td{border-bottom:1px solid var(--border-strong);background:var(--surface-muted);font-weight:600}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}td.is-negative{color:var(--negative)}td.is-positive{color:var(--positive)}.sort{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.apps-sticky{z-index:12;background:var(--surface);gap:12px;padding:8px 0 12px;display:grid;position:sticky;top:68px}.apps-toolbar{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.apps-toolbar .period-presets{flex-wrap:wrap;overflow:visible}.apps-window-groups{gap:10px;margin:8px 0 12px;display:grid}.apps-window-group{border:0;margin:0;padding:0}.apps-window-group legend{color:var(--text-muted);padding:0;font-size:11px}.checkbox-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.checkbox-chip{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;display:inline-flex}.checkbox-chip:has(input:checked){border-color:var(--accent);color:var(--text);background:var(--surface-muted)}.checkbox-chip input{accent-color:var(--accent)}.table-note{color:var(--text-muted);margin:0 0 8px;font-size:13px}.metric-note{color:var(--text-muted);font-size:11px;display:block}.content h2{margin:8px 0 0;font-size:16px}.banner--error{background:var(--negative-soft);color:var(--negative)}.login{gap:12px;width:360px;margin:auto;padding:28px;display:grid}.login__brand{align-items:center;gap:11px;margin-bottom:8px;display:flex}.login__brand div span{color:var(--text-faint);font-size:11px;display:block}.login__lede{color:var(--text-muted);margin-bottom:4px;font-size:13px}.login label{gap:6px;font-size:13px;display:grid}.login button:disabled{cursor:progress;opacity:.7}.login input{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.login button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:8px;padding:10px 12px}@media (width<=1100px){.chart-grid,.kpi-grid,.kpi-grid--secondary{grid-template-columns:1fr 1fr}}:root{color:#1d2939;--surface:#fff;--surface-muted:#f8fafb;--surface-strong:#17222e;--text:#1d2939;--text-muted:#667085;--text-faint:#6c7684;--border:#e4e8ec;--accent:#246bfe;--accent-soft:#edf3ff;--positive:#087e6a;--positive-soft:#e9f7f3;--warning:#a15c08;--warning-soft:#fff6e8;--negative:#c33d46;--negative-soft:#fff0f1;--chart-ink:#344054;--chart-blue:#246bfe;--chart-teal:#0a8f79;--chart-amber:#d08526;--chart-violet:#7357c7;--chart-muted:#98a2b3;--chart-grid:#e8ebef;--border-strong:#d0d5dd;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--surface-muted);min-height:100%;margin:0}#root{min-height:100vh;display:flex}button,input,select{font:inherit}h1,h2,p{margin:0}h1,.metric-card__value,.brand strong{font-family:Manrope,system-ui,sans-serif}
