:root { color-scheme: dark; font-family: Inter, system-ui, sans-serif; --bg:#0b1020; --panel:#121a30; --line:#23304f; --text:#ecf2ff; --muted:#8ea0c7; --accent:#6ca8ff; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at top, #141d37, var(--bg)); color: var(--text); }
a { color: var(--accent); text-decoration: none; }
button, input { font: inherit; }
#app { min-height: 100vh; }
.shell { padding: 24px; max-width: 1400px; margin: 0 auto; }
.topbar, .grid, .table, .tabs, .card-row { display: grid; gap: 12px; }
.topbar { grid-template-columns: 1fr auto auto; align-items: center; margin-bottom: 20px; }
.card-row { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.panel, .card, .table, .tab, .drawer { background: rgba(18,26,48,0.92); border: 1px solid var(--line); border-radius: 14px; }
.panel, .card, .drawer { padding: 16px; }
.card h3, .panel h2, .drawer h3 { margin: 0 0 8px; }
.muted { color: var(--muted); font-size: 12px; }
.kpi { font-size: 28px; font-weight: 700; }
.input, .search { background: #0d1428; color: var(--text); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; width: 100%; }
.row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.table { overflow: hidden; }
.table-head, .table-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); }
.table-head { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); border-top: 0; }
.table-row:hover { background: rgba(255,255,255,0.03); }
.tabs { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.tab { padding: 10px 12px; text-align: center; cursor: pointer; }
.tab.active { border-color: var(--accent); }
pre { white-space: pre-wrap; word-break: break-word; }
.chart { height: 160px; background: linear-gradient(180deg, rgba(108,168,255,.18), transparent); border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
