:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e2e5ea;--grid: #eceef2;--text: #1c2430;--muted: #6b7482;--actual: #1f6feb;--forecast: #e8590c;--error: #c92a2a;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #11151b;--surface: #1a2029;--border: #2c3440;--grid: #232a34;--text: #e6e9ee;--muted: #8b95a3;--actual: #58a6ff;--forecast: #ff8c42;--error: #ff6b6b}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}main{max-width:1100px;margin:0 auto;padding:32px 16px;display:grid;gap:16px}h1{margin:0 0 4px;font-size:1.6rem}h2{margin:0 0 4px;font-size:1.05rem}.subtitle{margin:0 0 12px;color:var(--muted);font-size:.9rem}.error{color:var(--error)}.card,.controls{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.controls{display:flex;flex-wrap:wrap;gap:20px;align-items:end}.controls label{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.controls input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}.controls .horizon{flex:1;min-width:220px}.controls strong{color:var(--text)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metric{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:8px}.metric-label,.metric-hint{font-size:.8rem;color:var(--muted)}.metric-value{font-size:1.3rem;font-weight:600;font-variant-numeric:tabular-nums}
