:root{color-scheme:dark;--bg: #000000;--panel: #0d0d0d;--border: rgba(255, 255, 255, .09);--text: #f0f0f0;--text-dim: rgba(255, 255, 255, .8);--accent: #2979c8;--warn: #c47a35;--good: #4a9e62;--input-bg: #000;--chart-bg: var(--panel);--btn-secondary-border: rgba(255, 255, 255, .35);font-family:ui-sans-serif,system-ui,sans-serif}[data-theme=light]{color-scheme:light;--bg: #ffffff;--panel: #d4d4d4;--border: rgba(0, 0, 0, .14);--text: #111111;--text-dim: rgba(0, 0, 0, .8);--input-bg: #f0f0f0;--chart-bg: #ffffff;--btn-secondary-border: rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px;height:100%}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.panel h2{margin:0 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim)}.sidebar{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.main{display:flex;flex-direction:column;gap:16px;min-width:0}.row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.row label{flex:1;font-size:13px;color:var(--text-dim)}.row input[type=number]{width:96px}.row select,.row input[type=number]{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-family:inherit;font-size:13px}button{background:var(--text);color:var(--bg);border:0;border-radius:4px;padding:6px 12px;font-weight:600;cursor:pointer;font-family:inherit;font-size:13px;letter-spacing:.02em}button.secondary{background:var(--text);color:var(--bg);border:0;opacity:.55}button:hover{filter:brightness(1.12)}button:disabled{opacity:.28;cursor:not-allowed;filter:none}.timeline{display:flex;gap:8px;align-items:center}.timeline input[type=range]{flex:1}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kpi{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px}.kpi .label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.kpi .value{font-size:20px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.tour-target{position:relative;z-index:101;outline:2px solid var(--accent);outline-offset:3px;border-radius:8px;transition:outline-color .2s}@keyframes flash-in{0%{background:#8080801f;transform:translateY(-2px)}to{background:var(--bg);transform:translateY(0)}}
