:root,.viz-root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--other:#b5b3ac;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--accent:var(--series-1)}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])),:root:where(:not([data-theme=light])) .viz-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--other:#6e6c66;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}}:root[data-theme=dark],:root[data-theme=dark] .viz-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--other:#6e6c66;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}*{box-sizing:border-box}html,body{background:var(--page);color:var(--text-primary);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}.wrap{max-width:1080px;margin:0 auto;padding:28px 24px 64px}.masthead{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px;display:flex}.masthead h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650}.masthead .sub{color:var(--text-muted);font-size:12.5px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 20px;display:flex}.seg{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{appearance:none;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:12.5px}.seg button:hover{color:var(--text-primary)}.seg button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.filters label{color:var(--text-muted);font-size:12.5px}.filters select{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12.5px}.filters .spacer{flex:1}.theme-toggle{appearance:none;border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12.5px}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tile .label{color:var(--text-muted);margin-bottom:4px;font-size:12.5px}.tile .value{letter-spacing:-.01em;font-size:28px;font-weight:600}.tile .hint{color:var(--text-muted);margin-top:2px;font-size:12px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:16px;position:relative}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.card-head h2{margin:0;font-size:14px;font-weight:650}.card-head .meta{color:var(--text-muted);font-size:12px}.view-toggle{appearance:none;border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:11.5px}.view-toggle:hover{color:var(--text-primary)}.link-btn{appearance:none;font:inherit;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0}.link-btn:hover{color:var(--text-primary);text-decoration:underline}.hoverable-row:hover{background:var(--surface-2,#7f7f7f0f)}.modal-backdrop{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;width:100%;max-width:440px;max-height:84vh;padding:18px 20px;overflow:auto;box-shadow:0 18px 50px #00000059}.modal-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px}.legend{flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.legend .item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.legend .swatch{border-radius:3px;flex:none;width:10px;height:10px}.tip{pointer-events:none;background:var(--surface-1);border:1px solid var(--border);z-index:10;border-radius:8px;min-width:150px;padding:8px 10px;font-size:12px;position:absolute;box-shadow:0 4px 16px #0000001f}.tip .tip-title{color:var(--text-muted);margin-bottom:5px}.tip .row{align-items:center;gap:7px;margin:2px 0;display:flex}.tip .key{border-top:3px solid;border-radius:2px;flex:none;width:12px;height:0}.tip .name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:160px;overflow:hidden}.tip .val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:650}.tip .total{border-top:1px solid var(--grid);margin-top:5px;padding-top:5px}table.data{border-collapse:collapse;width:100%;font-size:12.5px}table.data th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--grid);white-space:nowrap;padding:6px 10px;font-size:11.5px;font-weight:500}table.data td{border-bottom:1px solid var(--grid);color:var(--text-secondary);white-space:nowrap;padding:6px 10px}table.data tr:last-child td{border-bottom:0}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data td.strong{color:var(--text-primary);font-weight:600}.proj-key{vertical-align:0;border-radius:3px;width:9px;height:9px;margin-right:7px;display:inline-block}.scroll-x{overflow-x:auto}.empty{color:var(--text-muted);text-align:center;padding:24px 8px}footer.credits{color:var(--text-muted);margin-top:20px;font-size:12px}footer.credits a{color:var(--text-secondary)}
