:root { color-scheme: dark; }
body { margin: 0; background: #070c1a; color: #e5e7eb; font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; }
a { color: #93c5fd; text-decoration: none; }
.signals-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid rgba(148,163,184,.18); background: #0b1224; position:sticky; top:0; z-index:20; }
.signals-topbar h1 { margin:0; font-size:24px; }
.signals-topbar p { margin:6px 0 0; color:#94a3b8; }
.signals-nav { display:flex; gap:10px; flex-wrap:wrap; }
.signals-nav a { padding:8px 11px; border:1px solid rgba(148,163,184,.25); border-radius:10px; background:#111a31; color:#dbeafe; }
.signals-controls { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; padding:14px 20px; border-bottom:1px solid rgba(148,163,184,.14); background:#091124; }
.signals-controls label { display:flex; flex-direction:column; gap:5px; color:#9fb0cf; font-size:12px; }
.signals-controls label.auto { flex-direction:row; align-items:center; color:#dbeafe; padding-bottom:10px; }
.signals-controls select, .signals-controls input { min-width:110px; background:#0f172a; color:#e5e7eb; border:1px solid rgba(148,163,184,.25); border-radius:10px; padding:9px 10px; }
.signals-controls button { background:#14345a; border:1px solid #2563eb; color:#e0f2fe; border-radius:10px; padding:10px 14px; cursor:pointer; }
.signals-summary { display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap:10px; padding:14px 20px; }
.summary-card { background:#0b1224; border:1px solid rgba(148,163,184,.18); border-radius:14px; padding:12px; }
.summary-card span { display:block; color:#94a3b8; font-size:12px; }
.summary-card strong { display:block; font-size:22px; margin-top:4px; }
.signals-layout { display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:14px; padding:0 20px 20px; }
.signals-table-card, .signal-inspector { background:#0b1224; border:1px solid rgba(148,163,184,.18); border-radius:16px; overflow:hidden; }
.table-note { color:#94a3b8; padding:10px 14px; border-bottom:1px solid rgba(148,163,184,.12); font-size:13px; }
.signals-table-scroller { overflow:auto; max-width:100%; }
.signals-table { width:max-content; min-width:1320px; border-collapse:separate; border-spacing:0; font-size:13px; }
.signals-table th, .signals-table td { padding:10px 12px; border-bottom:1px solid rgba(148,163,184,.12); white-space:nowrap; text-align:left; }
.signals-table th { color:#b6c5df; background:#111a31; position:sticky; top:0; z-index:3; }
.signals-table tr:hover td { background:rgba(37,99,235,.08); }
.signals-table tr.selected td { background:rgba(56,189,248,.12); }
.sticky-left { position:sticky !important; left:0; z-index:5 !important; background:#111a31 !important; }
td.sticky-left { background:#0b1224 !important; font-weight:700; color:#f8fafc; }
.sticky-right { position:sticky !important; right:0; z-index:5 !important; background:#111a31 !important; }
td.sticky-right { background:#0b1224 !important; }
.status-cell { color:#fecaca; text-align:center; padding:24px !important; }
.badge { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:999px; border:1px solid rgba(148,163,184,.25); background:#111827; margin:1px 3px 1px 0; }
.badge.buy, .pos { color:#86efac; }
.badge.sell, .neg { color:#fca5a5; }
.badge.working { color:#67e8f9; }
.badge.faded { color:#fda4af; }
.badge.quality-a { color:#fde68a; border-color:rgba(250,204,21,.4); }
.badge.quality-b { color:#bfdbfe; }
.tag-list { max-width:260px; white-space:normal; }
.open-links { display:flex; gap:8px; }
.signal-inspector { padding:16px; position:sticky; top:156px; align-self:start; max-height:calc(100vh - 180px); overflow:auto; }
.signal-inspector h2 { margin:0 0 10px; }
.muted { color:#94a3b8; }
.kv { display:grid; grid-template-columns: 1fr auto; gap:8px; padding:7px 0; border-bottom:1px solid rgba(148,163,184,.10); }
.kv span { color:#94a3b8; }
.reason-list { padding-left:18px; color:#cbd5e1; }
.event-box { border:1px solid rgba(148,163,184,.16); border-radius:12px; padding:10px; margin:10px 0; background:#0f172a; }
@media (max-width: 1100px) { .signals-layout { grid-template-columns: 1fr; } .signal-inspector { position:static; max-height:none; } }
