/* ── WhipCount Global Theme ── */

:root {
  --bg:#09090e;--surface:#111118;--surface2:#18181f;--charcoal:#1e1e28;
  --gold:#c9a84c;--gold-dim:#8a6830;--gold-glow:rgba(201,168,76,0.12);
  --text:#e6e4dc;--muted:#6a6860;--border:rgba(255,255,255,0.07);
  --red:#c0392b;--red-bg:rgba(192,57,43,0.1);
  --accent:#c9a84c;
  --dem:#3b6fd4;--dem-bg:rgba(59,111,212,0.1);
  --rep:#d43b3b;--rep-bg:rgba(212,59,59,0.1);
  --blue:#2d6fe0;--blue-dim:#1a4fa8;
  --green:#2e7d52;--green-glow:rgba(46,125,82,0.15);
  --font-display:'Playfair Display',serif;
  --font-body:'IBM Plex Sans',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}

[data-theme="light"] {
  --bg:#eef1f7;
  --surface:#f8f9fc;
  --surface2:#e8ecf4;
  --charcoal:#f8f9fc;
  --gold:#a07830;
  --gold-dim:rgba(160,120,48,0.5);
  --gold-glow:rgba(160,120,48,0.1);
  --text:#1a1e2e;
  --muted:#6b7280;
  --border:rgba(26,39,68,0.12);
  --red:#b03020;
  --red-bg:rgba(176,48,32,0.08);
  --accent:#1a2744;
  --dem:#2d5fc4;--dem-bg:rgba(45,95,196,0.1);
  --rep:#c03030;--rep-bg:rgba(192,48,48,0.08);
  --blue:#1a4fa8;--blue-dim:#0f3070;
  --green:#256b42;--green-glow:rgba(37,107,66,0.12);
}

[data-theme="light"] body { background:var(--bg); color:var(--text); }
[data-theme="light"] .page { background:var(--bg); }
[data-theme="light"] * { scrollbar-color:rgba(26,39,68,0.15) transparent; }

[data-theme="light"] .legisim-masthead { background:var(--surface); border-bottom-color:var(--border); }
[data-theme="light"] .legisim-masthead::before { background:linear-gradient(90deg,transparent,var(--accent),transparent); }
[data-theme="light"] .masthead-wordmark { color:var(--text); }
[data-theme="light"] .masthead-wordmark em { color:var(--gold); }
[data-theme="light"] .mast-back { border-color:rgba(26,39,68,0.35); color:var(--accent); }
[data-theme="light"] .mast-back:hover { background:rgba(26,39,68,0.07); border-color:var(--accent); }
[data-theme="light"] .mast-btn-sm { color:var(--muted); border-color:var(--border); }
[data-theme="light"] .mast-btn-sm:hover { color:var(--accent); border-color:rgba(26,39,68,0.3); }

[data-theme="light"] .banner-stat { background:var(--surface); border-color:var(--border); box-shadow:0 1px 3px rgba(26,39,68,0.08); }
[data-theme="light"] .widget { background:var(--surface); border-color:var(--border); box-shadow:0 1px 3px rgba(26,39,68,0.08); }
[data-theme="light"] .news-widget { background:var(--surface); border-color:var(--border); box-shadow:0 1px 3px rgba(26,39,68,0.08); }
[data-theme="light"] .news-col { background:var(--surface); }

[data-theme="light"] .widget-header { background:#1a2744; border-bottom-color:rgba(255,255,255,0.1); }
[data-theme="light"] .widget-title { color:#e6e4dc; letter-spacing:0.1em; }
[data-theme="light"] .widget-action { color:rgba(255,255,255,0.55); border-color:rgba(255,255,255,0.15); }
[data-theme="light"] .widget-action:hover { color:#c9a84c; border-color:rgba(201,168,76,0.4); }
[data-theme="light"] .news-widget-header { background:#1a2744; border-bottom-color:rgba(255,255,255,0.1); }
[data-theme="light"] .news-widget-title { color:#e6e4dc; }
[data-theme="light"] .news-widget-meta { color:rgba(255,255,255,0.4); }
[data-theme="light"] .col-hdr { background:rgba(26,39,68,0.05); }

[data-theme="light"] .banner-value { color:var(--accent); }
[data-theme="light"] .bill-number { color:var(--accent); }
[data-theme="light"] .weekly-number { color:var(--accent); }
[data-theme="light"] .bt-bill-number { color:var(--accent); }
[data-theme="light"] .tl-bill-number { color:var(--accent); }

[data-theme="light"] .banner-btn { background:rgba(160,120,48,0.08); border-color:rgba(160,120,48,0.4); color:var(--gold); }
[data-theme="light"] .banner-btn:hover { background:rgba(160,120,48,0.14); border-color:var(--gold); }

[data-theme="light"] .dash-topbar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .theme-toggle { background:var(--surface2); border-color:var(--border); color:var(--muted); }
[data-theme="light"] .theme-toggle:hover { border-color:rgba(26,39,68,0.3); color:var(--text); }

[data-theme="light"] .col-hdr-title.michigan { color:#1a2744; }
[data-theme="light"] .col-hdr-title.national { color:#1a2744; }
[data-theme="light"] .story-link:hover { color:var(--accent); }

[data-theme="light"] .vh-filter-btn.active { background:rgba(26,39,68,0.1); color:var(--accent); border-color:rgba(26,39,68,0.3); }
[data-theme="light"] .bt-bill-item.selected { border-left-color:var(--accent); }
[data-theme="light"] .tl-add-btn { background:rgba(26,39,68,0.08); border-color:rgba(26,39,68,0.2); color:var(--accent); }
[data-theme="light"] .cf-leg-item.active { border-left-color:var(--accent); }
[data-theme="light"] .meeting-name:hover { color:var(--accent); }
[data-theme="light"] .badge.House { background:rgba(26,39,68,0.08); color:var(--accent); }
[data-theme="light"] .badge.Senate { background:rgba(26,39,68,0.08); color:var(--accent); }

/* ── Light mode: Platform ── */
[data-theme="light"] .vh-bill-number { color:var(--accent); }
[data-theme="light"] .profile-section-label { color:var(--accent); }
[data-theme="light"] .vote-history-btn { color:var(--gold); border-color:var(--gold-dim); }
[data-theme="light"] .vh-filter-btn.active { background:rgba(26,39,68,0.1); color:var(--accent); border-color:rgba(26,39,68,0.3); }
[data-theme="light"] .vh-header { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .vh-filters { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .sidebar { background:var(--surface); border-color:var(--border); }

/* ── Light mode: Bill Studio ── */
[data-theme="light"] .form-label { color:var(--accent); }
[data-theme="light"] .panel-title { color:var(--accent); }
[data-theme="light"] .output-label { color:var(--accent); }
[data-theme="light"] .whip-btn { border-color:var(--gold-dim); color:var(--gold); }
[data-theme="light"] .toggle-bar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .input-panel { background:var(--surface); border-color:var(--border); }

/* ── Light mode: Bill Tracker ── */
[data-theme="light"] .bt-bill-number { color:var(--accent); }
[data-theme="light"] .bt-detail-number { color:var(--accent); }
[data-theme="light"] .section-label { color:var(--accent); }
[data-theme="light"] .watchlist-btn-small { border-color:var(--gold-dim); color:var(--gold); }
[data-theme="light"] .watch-btn { border-color:var(--gold-dim); color:var(--gold); }
[data-theme="light"] .bt-left { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .bt-detail-header { background:var(--surface); border-color:var(--border); }

/* ── Light mode: Tracked Legislation ── */
[data-theme="light"] .tl-bill-number { color:var(--accent); }
[data-theme="light"] .tl-refresh-btn { color:var(--muted); border-color:var(--border); }
[data-theme="light"] .tl-add-btn { background:rgba(26,39,68,0.08); border-color:rgba(26,39,68,0.2); color:var(--accent); }
[data-theme="light"] .tl-view-btn { color:var(--gold); border-color:var(--gold-dim); }
[data-theme="light"] .tl-updated-badge { background:rgba(26,39,68,0.08); color:var(--accent); }
[data-theme="light"] .tl-table-head { background:var(--surface2); }

/* ── Light mode: Calendar ── */
[data-theme="light"] .bill-number { color:var(--accent); }
[data-theme="light"] .cal-sidebar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .filter-btn.active { background:rgba(26,39,68,0.1); color:var(--accent); border-color:rgba(26,39,68,0.3); }
[data-theme="light"] .detail-header { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .date-group-header { color:var(--accent); border-color:var(--border); }

/* ── Light mode: Campaign Finance ── */
[data-theme="light"] .cf-sidebar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .profile-header { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .donors-section { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .cf-amount { color:var(--accent); }
[data-theme="light"] .donor-bar-fill { background:linear-gradient(90deg,var(--accent),#2d4a80); }
[data-theme="light"] .cf-total { color:var(--accent); }

/* ── Light mode: Floor Vote ── */
[data-theme="light"] .floor-title { color:var(--accent); }
[data-theme="light"] .panel-title { color:var(--accent); }
[data-theme="light"] .detail-title { color:var(--accent); }
[data-theme="light"] .chamber-bar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .chamber-btn.active { background:rgba(26,39,68,0.1); color:var(--accent); border-color:rgba(26,39,68,0.3); }
[data-theme="light"] .input-panel { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .swing-chip { background:rgba(26,39,68,0.1); color:var(--accent); }

/* ── Light mode: District Map ── */
[data-theme="light"] .map-left { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .search-section-label { color:var(--accent); }
[data-theme="light"] .district-num { color:var(--accent); }
[data-theme="light"] .map-tooltip-district { color:var(--accent); }

/* ── Light mode: News ── */
[data-theme="light"] .news-topbar { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .news-tabs { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .news-tab.active { color:var(--accent); border-color:var(--accent); }
[data-theme="light"] .story-link { color:var(--text); }
[data-theme="light"] .story-link:hover { color:var(--accent); }

/* ── Light mode: Account ── */
[data-theme="light"] .acct-card { background:var(--surface); border-color:var(--border); }
[data-theme="light"] .plan-badge { background:rgba(26,39,68,0.1); color:var(--accent); }
[data-theme="light"] .admin { color:var(--accent); }

/* ── Light mode: Login ── */
[data-theme="light"] .login-card { background:var(--surface); border-color:var(--border); box-shadow:0 4px 24px rgba(26,39,68,0.1); }
