/* Root fix: no timeline overlay; one navy-blue palette with semantic states only. */
:root {
  --bg: #edf2f8;
  --surface: #ffffff;
  --surface-2: #f4f7fb;
  --surface-3: #e7edf5;
  --text: #536174;
  --text-strong: #172334;
  --text-muted: #8491a1;
  --border: #d9e2ed;
  --border-strong: #b8c7d9;
  --input-bg: #fbfcfe;
  --input-text: #182638;
  --accent: #3d6fc4;
  --accent-dark: #2a559c;
  --accent-soft: rgba(61, 111, 196, .11);
  --on-primary: #f8fbff;
  --focus-ring: rgba(61, 111, 196, .22);
  --bullish: #c95c68;
  --bullish-bg: rgba(201, 92, 104, .11);
  --bearish: #3c9073;
  --bearish-bg: rgba(60, 144, 115, .11);
  --uncertain: #a88043;
  --uncertain-bg: rgba(168, 128, 67, .11);
  --neutral: #7b8796;
  --neutral-bg: rgba(123, 135, 150, .1);
}

[data-theme="dark"] {
  --bg: #09111d;
  --surface: #111b2a;
  --surface-2: #172337;
  --surface-3: #202e44;
  --text: #c8d1dc;
  --text-strong: #f4f7fb;
  --text-muted: #8997a9;
  --border: #28384f;
  --border-strong: #3a4c66;
  --input-bg: #0e1725;
  --input-text: #f0f5fb;
  --accent: #83adff;
  --accent-dark: #b5ceff;
  --accent-soft: rgba(131, 173, 255, .13);
  --on-primary: #0b1422;
  --focus-ring: rgba(131, 173, 255, .24);
  --bullish: #f17c86;
  --bullish-bg: rgba(241, 124, 134, .13);
  --bearish: #62d0a3;
  --bearish-bg: rgba(98, 208, 163, .12);
  --uncertain: #e0b65f;
  --uncertain-bg: rgba(224, 182, 95, .13);
  --neutral: #a8b2c0;
  --neutral-bg: rgba(168, 178, 192, .12);
}

body { background: var(--bg); color: var(--text); }
.site-header { background: color-mix(in srgb, var(--bg) 86%, transparent); border-color: var(--border); backdrop-filter: blur(20px) saturate(125%); }
.workbench-sidebar--news { border-color: var(--border); }
.event-workspace--panel { border-color: var(--border); background: var(--surface); }
.event-grid { background: var(--surface-2); }
.event-row--terminal, .event-row--featured { border-color: var(--border); background: var(--surface); box-shadow: none !important; padding-left: 28px !important; padding-right: 18px !important; }
.event-row--terminal:hover, .event-row--featured:hover { background: var(--surface-2); border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); }
.event-row--terminal .event-time::before,
.event-row--terminal .event-time::after { display: none !important; content: none !important; }
.event-row--terminal .event-time { padding-right: 0; }
.status-rail--terminal .rail-panel, .status-rail--terminal .rail-panel:first-child { border-color: var(--border); background: var(--surface); box-shadow: none; }
.status-rail--terminal .rail-panel,
.status-rail--terminal .rail-panel:first-child {
  padding: 16px !important;
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 16px;
}
.status-rail--terminal .rail-title { margin-bottom: 12px; }
.status-rail--terminal .provider-list li,
.status-rail--terminal .health-stack div,
.status-rail--terminal .alert-list li,
.status-rail--terminal .upcoming-list a { min-width: 0; }
.metric-strip--terminal { border-color: var(--border); background: var(--surface); box-shadow: none; }
.metric-strip--terminal article { border-color: var(--border); }
.source-badge,
.source-badge[data-provider-source="alpaca_news"],
.source-badge[data-provider-source="finnhub"],
.source-badge[data-provider-source="sec_edgar"],
.source-badge[data-provider-source="marketaux"],
.source-badge[data-provider-source="alphavantage"],
.source-badge[data-provider-source="newsapi"],
.source-badge[data-provider-source="gdelt"],
.source-badge[data-provider-source="yfinance"] { background: var(--surface-3) !important; color: var(--text-muted); box-shadow: none; }
.impact-pill { background: transparent !important; }
.ticker-chip, .source-link--text { border-color: var(--border-strong); background: transparent; }
.login-panel { border-color: var(--border); background: var(--surface); }

@media (max-width: 900px) {
  .event-grid { background: var(--surface); }
  .event-row--terminal, .event-row--featured { background: var(--surface); padding-left: 20px !important; padding-right: 20px !important; }
}

@media (max-width: 640px) {
  .event-row--terminal, .event-row--featured { padding-left: 14px !important; padding-right: 14px !important; }
  .status-rail--terminal { padding: 0 12px; }
  .status-rail--terminal .rail-panel,
  .status-rail--terminal .rail-panel:first-child { padding: 16px !important; }
}
