:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:#121212;--surface-1:#181818;--surface-2:#242424;--border:#2a2a2a;--text-primary:#fff;--text-secondary:#b3b3b3;--text-muted:#7a7a7a;--series-1:#1ed760;--series-1-soft:#1f3d2b;--grid:#2a2a2a;--accent:#1ed760;--good:#1ed760;--warn:#ffa42b;--bad:#f15e6c}*{box-sizing:border-box}body{color:var(--text-primary);background:linear-gradient(#1f3d2b 0,#121212 340px) no-repeat,#121212;margin:0;font:14px/1.5 Circular,Helvetica Neue,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}.wrap{max-width:1180px;margin:0 auto;padding:20px 16px 60px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}h1{margin:0;font-size:22px}h2{margin:0 0 10px;font-size:16px}h3{margin:0 0 6px;font-size:14px}.sub{color:var(--text-secondary);font-size:13px}.muted{color:var(--text-muted);font-size:12px}.grid{gap:12px;display:grid}.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:900px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.two{grid-template-columns:1.25fr 1fr}@media (max-width:900px){.two{grid-template-columns:1fr}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px}.kpi .v{font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.kpi .l{color:var(--text-secondary);font-size:12px}.rec{border-left:4px solid var(--accent)}.badge{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;margin:0 4px 4px 0;padding:1px 8px;font-size:12px;display:inline-block}.chip{background:var(--series-1-soft);color:var(--text-primary);cursor:pointer;border:0;border-radius:6px;margin:0 1px;padding:0 6px;font-size:11.5px;font-weight:600;display:inline-block}.memo p{margin:.5em 0}.memo h2,.memo h3{margin:1em 0 .3em;font-size:15px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:6px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--grid);vertical-align:middle;padding:6px}tr.click{cursor:pointer}tr.click:hover td,tr.sel td{background:var(--surface-0)}.num{text-align:right}.barcell{width:34%}.bar{background:var(--series-1);border-radius:0 4px 4px 0;height:10px}.scroll{overflow-x:auto}select,input{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);font:inherit;border-radius:8px;padding:6px 8px}.quote{border-left:3px solid var(--border);color:var(--text-primary);margin:8px 0;padding:2px 10px}.quote .muted{display:block}.ok{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.tip{pointer-events:none;background:var(--surface-1);border:1px solid var(--border);z-index:10;border-radius:8px;padding:6px 8px;font-size:12px;position:fixed;box-shadow:0 4px 16px #0000001f}svg text{fill:var(--text-secondary);font-size:11px}.tabs button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 10px}.tabs button.on{border-color:var(--accent);color:var(--text-primary)}details summary{cursor:pointer;color:var(--text-secondary)}:root{--s1:#3f8ae8;--s2:#e8552a;--s3:#a971f0;--s4:#bb8a00;--s5:#5e5e5e;--q0:#242424;--q1:#104281;--q2:#1c5cab;--q3:#2a78d6;--q4:#5598e7;--q5:#9ec5f4}.legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;font-size:12px;display:flex}.sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}table.heat{border-collapse:separate;border-spacing:2px;width:100%}table.heat td,table.heat th{border:0;padding:3px 5px;font-size:12px}table.heat th.hc{color:var(--text-muted);writing-mode:vertical-rl;height:56px;padding:2px;font-size:10.5px;font-weight:500;transform:rotate(180deg)}td.hcell{border-radius:3px;min-width:18px;height:20px;padding:0}.alert{border-left:4px solid var(--bad)}.alert.watch{border-left-color:var(--warn)}.pill{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;margin-right:4px;padding:0 7px;font-size:11px;display:inline-block}.pill.bad{border-color:var(--bad)}.pill.ok{border-color:var(--good)}.pill.warn{border-color:var(--warn)}.kpi .d{margin-top:2px;font-size:12px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.three{grid-template-columns:1fr}}.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.four{grid-template-columns:1fr}}.seg button{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);font:inherit;cursor:pointer;padding:4px 10px;font-size:12px}.seg button:first-child{border-radius:8px 0 0 8px}.seg button:last-child{border-radius:0 8px 8px 0}.seg button.on{background:var(--surface-0);color:var(--text-primary);font-weight:600}.decision{margin:4px 0 8px;font-size:20px;font-weight:650}.card{background:var(--surface-1);border-color:var(--border)}.card:hover{background:#1c1c1c}.bar{background:var(--accent)}.chip{color:#d7ffe5;background:#1f3d2b}.tabs button.on{border-color:var(--accent)}.brand{background:var(--accent);vertical-align:1px;border-radius:50%;width:14px;height:14px;margin-right:8px;display:inline-block}.monthpick{align-items:center;gap:6px;display:flex}.monthpick button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:999px;width:30px;height:30px;font-size:15px}.monthpick select{background:var(--surface-2);border-radius:999px;padding:6px 12px;font-weight:600}.strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:10px 0 6px;display:grid}@media (max-width:1000px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.strip .card{padding:12px}.strip .v{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.strip .l{color:var(--text-secondary);font-size:12px}.strip .d{font-size:12px}.badge.partial{border-color:var(--warn);color:var(--warn)}select,input,button{accent-color:var(--accent)}
