:root{--bg:#0b1624;--panel:#12223a;--line:#24395a;--ink:#eaf1fb;--mute:#9fb2cc;--acc:#c8814a;--acc2:#4f8fd9;--neg:#d9705a;--pos:#5fb38a;--r:14px;font-family:Inter,"Segoe UI",system-ui,sans-serif}
[data-theme=tavro]{--bg:#f6f3ee;--panel:#ffffff;--line:#e2dacd;--ink:#1d1a16;--mute:#6d6458;--acc:#8c3b2e;--acc2:#2f5d50;--neg:#b5452f;--pos:#2f7a55}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:20px 16px 48px;overflow-wrap:anywhere}
@media(max-width:420px){.wrap{padding:12px 10px 32px}section{padding:12px}}
header{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--acc);padding-bottom:12px}
.hd{min-width:0;flex:1 1 260px}
h1{font-size:clamp(20px,4vw,34px);margin:0;letter-spacing:-.02em;line-height:1.15}h2{font-size:clamp(17px,3vw,20px);margin:0 0 6px}h3{font-size:14px;margin:0 0 6px}
.brand{font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.sub{color:var(--mute);margin:6px 0 0;font-size:14px;max-width:62ch}
section{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-top:18px;min-width:0}
.ctrls{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}.ctrls-top{margin:0}
label.c{display:flex;flex-direction:column;font-size:12px;color:var(--mute);gap:4px;min-width:0;flex:1 1 130px}
select,button,.btn{font:inherit;font-size:14px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;max-width:100%;min-width:0}
button,.btn{cursor:pointer}.btn{display:inline-block;text-decoration:none;border-color:var(--acc);font-weight:600}
select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--acc2);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.kpi{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.kpi b{display:block;font-size:clamp(24px,5vw,38px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpi span{font-size:12px;color:var(--mute)}.kpi.hl b{color:var(--acc)}
.chart{margin-top:14px}
svg{width:100%;height:auto;display:block}svg text{fill:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}svg .m{fill:var(--mute)}
svg .f-acc{fill:var(--acc)}svg .f-acc2{fill:var(--acc2)}svg .f-mute{fill:var(--mute)}svg .dim{opacity:.75}svg .b{font-weight:700}
svg .ln{fill:none;stroke:var(--acc2);stroke-width:2.5}svg .ytd{fill:none;stroke:var(--acc);stroke-width:2.5}svg .grid{opacity:.5}
.bar{transition:width .45s ease,x .45s ease,fill .3s}.axis{stroke:var(--line)}
.tbl{overflow-x:auto;margin-top:12px;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th:first-child,td:first-child,th.l,td.l{text-align:left}
th[scope=row]{font-weight:400}tr.sel th[scope=row]{font-weight:700}td.l{white-space:normal;min-width:9em}
tr.sel td,tr.sel th{background:color-mix(in srgb,var(--acc) 16%,transparent)}
.src{font-size:12px;color:var(--mute);margin-top:10px;line-height:1.5}.src a,.tbl a{color:var(--acc2);word-break:break-all}
.empty{border:1px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--mute)}
.note{font-size:12px;color:var(--mute);border-left:3px solid var(--acc2);padding-left:10px;margin-top:10px}
.dl{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.m{color:var(--mute);font-size:12px}
.grid2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}@media(max-width:760px){.grid2{grid-template-columns:minmax(0,1fr)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tabs [role=tab]{flex:1 1 120px;font-weight:600;border-radius:10px 10px 0 0}
.tabs [role=tab][aria-selected=true]{background:var(--panel);border-color:var(--acc);color:var(--acc)}
section[role=tabpanel]{margin-top:-1px;border-top-left-radius:0}[hidden]{display:none!important}
.play{justify-content:flex-end;display:flex;flex-direction:column}.play button{border-color:var(--acc);font-weight:600}.play button[aria-pressed=true]{background:var(--acc);color:var(--bg)}
.kpi b.pop{animation:pop .45s ease}@keyframes pop{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
svg .ln.cmp{stroke:var(--mute);stroke-dasharray:5 4!important;stroke-dashoffset:0!important;stroke-width:2}svg .ytd.cmp{stroke:var(--mute)}svg .hl{stroke:var(--acc);stroke-width:1;opacity:.5}
svg .brow{transition:transform .6s ease}svg rect.bar{transition:width .6s ease,fill .3s}
details.tbl>summary{cursor:pointer;color:var(--acc2);font-size:13px;padding:6px 0}

/* always-visible overview */
.ov .sub{margin:0 0 10px}
.ovws{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:6px 0}
.ovw{border:1px solid var(--line);border-radius:10px;padding:10px}.ovw .v{font-size:20px;font-weight:700}.ovw .m{font-size:12px;color:var(--mute)}
.ovgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:12px 0}
.ovc{margin:0;border:1px solid var(--line);border-radius:10px;padding:8px}.ovc figcaption{font-size:13px;font-weight:600;margin-bottom:4px}
.ovc svg{width:100%;height:auto;display:block}
.ovl{font-size:11px;fill:var(--ink)}.ovv{font-size:11px;fill:var(--ink);font-variant-numeric:tabular-nums}
.ovb{fill:var(--acc2)}.ovb.neg{fill:var(--neg)}.ovb.eu{fill:var(--mute)}.ovb.pl{fill:var(--acc)}
.ovt{overflow-x:auto}.ovt table{border-collapse:collapse;font-size:12px;min-width:640px}.ovt th,.ovt td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:right}.ovt th[scope=row]{text-align:left}
.ovt tr.na td{color:var(--mute)}.ovt tr.sel{font-weight:700}
@media(max-width:420px){.ovgrid{grid-template-columns:1fr}}
