:root{--bg: #0f1419;--panel: #1a2029;--panel-2: #222b36;--border: #2c3742;--text: #e6edf3;--muted: #8b98a5;--accent: #4c8bf5;--good: #2ecc71;--bad: #e74c3c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}.app{max-width:1200px;margin:0 auto;padding:24px}.header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}h1{font-size:22px;margin:0}.muted{color:var(--muted);font-size:13px}.toolbar{display:flex;gap:8px;align-items:center;margin:16px 0;flex-wrap:wrap}select,button,input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:hover{filter:brightness(1.1)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:24px;font-weight:600;margin-top:6px}.kpi .delta{font-size:12px;margin-top:4px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 800px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:16px}.panel h2{font-size:15px;margin:0 0 12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:right;padding:8px 10px;border-bottom:1px solid var(--border)}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:500}.badge{padding:2px 8px;border-radius:999px;font-size:12px}.badge.spike{background:#e74c3c26;color:var(--bad)}.badge.drop{background:#2ecc711f;color:var(--good)}.center{min-height:60vh;display:flex;align-items:center;justify-content:center}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;width:320px}.card h1{margin-bottom:16px;font-size:20px}.card label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}.card input{width:100%}.card button{width:100%;margin-top:18px}.error{color:var(--bad);font-size:13px;margin-top:12px}.stack{display:flex;flex-direction:column;gap:0}
