/*
 * theme.css — Lamb Insurance Sales Hub
 * Light / Dark mode theme system
 * Loaded AFTER each page's own <style> block.
 * Uses CSS variables to override every hardcoded color.
 */

/* ─── LIGHT MODE (default) ─────────────────────────────────── */
:root {
  --bg:           #f4f4f2;
  --bg-2:         #ffffff;
  --bg-3:         #f9f9f7;
  --bg-input:     #ffffff;
  --surface:      #ffffff;
  --surface-2:    #f5f5f3;
  --border:       #e4e4e2;
  --border-2:     #d0d0ce;
  --text:         #1a1a18;
  --text-2:       #5a5a58;
  --text-3:       #9a9a98;
  --nav-bg:       rgba(244,244,242,0.97);
  --sidebar-bg:   #ffffff;
  --toggle-bg:    #ffffff;
  --shadow:       0 1px 8px rgba(0,0,0,0.08);
  --shadow-md:    0 4px 16px rgba(0,0,0,0.1);
  --theme-icon:   "☀️";
  /* accent stays same in both modes */
  --red:     #ef4444; --red-bg:    #fff5f5; --red-border: #fca5a5; --red-text: #7f1d1d;
  --amber:   #f59e0b; --amber-bg:  #fffbf0; --amber-border:#fcd34d; --amber-text:#78350f;
  --green:   #2d6a4f; --green-bg:  #f0fdf4; --green-border:#86efac; --green-text:#166534;
  --blue:    #1e40af; --blue-bg:   #eff6ff; --blue-border: #93c5fd; --blue-text: #1e40af;
  --purple:  #6366f1; --purple-bg: #eef2ff; --purple-border:#c7d2fe; --purple-text:#4338ca;
}

/* ─── DARK MODE ─────────────────────────────────────────────── */
[data-theme="dark"] {
  --bg:           #0f1923;
  --bg-2:         #162030;
  --bg-3:         #1a2535;
  --bg-input:     rgba(255,255,255,0.07);
  --surface:      rgba(255,255,255,0.07);
  --surface-2:    rgba(255,255,255,0.04);
  --border:       rgba(255,255,255,0.12);
  --border-2:     rgba(255,255,255,0.2);
  --text:         rgba(255,255,255,0.93);
  --text-2:       rgba(255,255,255,0.52);
  --text-3:       rgba(255,255,255,0.28);
  --nav-bg:       rgba(10,18,28,0.82);
  --sidebar-bg:   rgba(10,18,28,0.7);
  --toggle-bg:    rgba(255,255,255,0.1);
  --shadow:       0 2px 12px rgba(0,0,0,0.4);
  --shadow-md:    0 6px 24px rgba(0,0,0,0.5);
  /* urgency in dark mode — brighter for legibility */
  --red-bg:    rgba(239,68,68,0.12);  --red-border: rgba(239,68,68,0.3);   --red-text:  #fca5a5;
  --amber-bg:  rgba(245,158,11,0.12); --amber-border:rgba(245,158,11,0.3); --amber-text:#fcd34d;
  --green-bg:  rgba(16,185,129,0.1);  --green-border:rgba(16,185,129,0.3); --green-text:#6ee7b7;
  --blue-bg:   rgba(59,130,246,0.12); --blue-border: rgba(59,130,246,0.3); --blue-text: #93c5fd;
  --purple-bg: rgba(99,102,241,0.12); --purple-border:rgba(99,102,241,0.3);--purple-text:#c4b5fd;
}

/* ─── DARK MODE — AMBIENT ORBS ──────────────────────────────── */
[data-theme="dark"] body::before,
[data-theme="dark"] body::after {
  content: '';
  position: fixed; border-radius: 50%; pointer-events: none; z-index: 0;
}
[data-theme="dark"] body::before {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(30,64,175,0.16) 0%, transparent 70%);
  top: -250px; left: -200px;
}
[data-theme="dark"] body::after {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(16,185,129,0.09) 0%, transparent 70%);
  bottom: -150px; right: -100px;
}

/* ─── BODY ──────────────────────────────────────────────────── */
body {
  background: var(--bg) !important;
  color: var(--text) !important;
}
[data-theme="dark"] body {
  background: linear-gradient(145deg, #0d1b2a 0%, #182638 50%, #0f2033 100%) !important;
  background-attachment: fixed !important;
}

/* ─── TOPNAV ────────────────────────────────────────────────── */
.topnav {
  background: var(--nav-bg) !important;
  border-bottom-color: var(--border) !important;
}
[data-theme="dark"] .topnav {
  backdrop-filter: blur(40px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(160%) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 4px 24px rgba(0,0,0,0.3) !important;
}
.topnav a { color: var(--text-2) !important; }
.topnav a:hover { color: var(--text) !important; }
.topnav a.active { color: var(--text) !important; }

/* ─── SIDEBAR ───────────────────────────────────────────────── */
.sidebar {
  background: var(--sidebar-bg) !important;
  border-right-color: var(--border) !important;
}
[data-theme="dark"] .sidebar {
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
}
.sidebar-label { color: var(--text-3) !important; border-bottom-color: var(--border) !important; }
.sidebar a { color: var(--text-2) !important; }
.sidebar a:hover { background: var(--surface-2) !important; color: var(--text) !important; }
.sidebar a.active { background: var(--text) !important; color: var(--bg) !important; }
[data-theme="dark"] .sidebar a.active { background: rgba(255,255,255,0.14) !important; color: var(--text) !important; border: 1px solid var(--border) !important; }
.sidebar-home {
  background: var(--surface-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.sidebar-home:hover { background: var(--border) !important; }

/* ─── TOGGLE BUTTON ─────────────────────────────────────────── */
.toggle-btn {
  background: var(--toggle-bg) !important;
  border-color: var(--border) !important;
  color: var(--text-2) !important;
  box-shadow: var(--shadow) !important;
}
[data-theme="dark"] .toggle-btn { backdrop-filter: blur(12px) !important; }

/* ─── PAGE HEADER ───────────────────────────────────────────── */
.pg-header { border-bottom-color: var(--border) !important; }
.pg-header h1 { color: var(--text) !important; }
.pg-header p  { color: var(--text-2) !important; }

/* ─── CARDS & SURFACES ──────────────────────────────────────── */
.card, .result-section, .principles, .industry, .hist-card,
.prospect-card, .pipeline-card, .stat-card, .urgency-card,
.carrier-card, .intel-item, .tip-box, .why-card, .process-step,
.nav-card, .objection-row, .email-card, .quote-form, .callprep-card {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  box-shadow: var(--shadow) !important;
  color: var(--text) !important;
}
[data-theme="dark"] .card,
[data-theme="dark"] .result-section,
[data-theme="dark"] .principles,
[data-theme="dark"] .industry,
[data-theme="dark"] .hist-card,
[data-theme="dark"] .prospect-card,
[data-theme="dark"] .pipeline-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .urgency-card,
[data-theme="dark"] .carrier-card,
[data-theme="dark"] .intel-item,
[data-theme="dark"] .tip-box,
[data-theme="dark"] .why-card,
[data-theme="dark"] .process-step,
[data-theme="dark"] .nav-card {
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border-top-color: rgba(255,255,255,0.22) !important;
}
.card-header { border-bottom-color: var(--border) !important; color: var(--text) !important; background: transparent !important; }
.card-body  { color: var(--text) !important; background: transparent !important; }
.section-head { border-bottom-color: var(--border) !important; background: transparent !important; }
.section-head h3 { color: var(--text) !important; }
.section-body { background: transparent !important; color: var(--text) !important; }
.section-divider, .section-label, .section-lbl, .sidebar-label {
  color: var(--text-3) !important;
  border-bottom-color: var(--border) !important;
  border-color: var(--border) !important;
}
h1,h2,h3,h4,h5,h6 { color: var(--text) !important; }
p { color: var(--text) !important; }
strong { color: var(--text) !important; }
li { color: var(--text) !important; }

/* ─── BUTTONS ───────────────────────────────────────────────── */
.hdr-btn {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text-2) !important;
}
.hdr-btn:hover { border-color: var(--text) !important; color: var(--text) !important; background: var(--surface-2) !important; }
.hdr-btn.primary {
  background: var(--text) !important;
  border-color: var(--text) !important;
  color: var(--bg) !important;
}
.hdr-btn.primary:hover { opacity: 0.85 !important; }
[data-theme="dark"] .hdr-btn.primary {
  background: rgba(59,130,246,0.65) !important;
  border-color: rgba(99,160,255,0.4) !important;
  color: #fff !important;
  box-shadow: 0 2px 14px rgba(59,130,246,0.3) !important;
}
[data-theme="dark"] .hdr-btn.primary:hover { background: rgba(59,130,246,0.85) !important; opacity: 1 !important; }

.add-btn, .detail-save, .analyze-btn {
  background: var(--text) !important;
  border-color: var(--text) !important;
  color: var(--bg) !important;
}
.add-btn:hover, .detail-save:hover, .analyze-btn:hover { opacity: 0.82 !important; }
.analyze-btn:disabled { background: var(--border) !important; color: var(--text-3) !important; cursor: not-allowed !important; opacity: 1 !important; }
[data-theme="dark"] .add-btn,
[data-theme="dark"] .detail-save,
[data-theme="dark"] .analyze-btn {
  background: rgba(59,130,246,0.65) !important;
  border: 1px solid rgba(99,160,255,0.4) !important;
  color: #fff !important;
  box-shadow: 0 2px 14px rgba(59,130,246,0.3) !important;
}
[data-theme="dark"] .add-btn:hover,
[data-theme="dark"] .detail-save:hover,
[data-theme="dark"] .analyze-btn:hover { background: rgba(59,130,246,0.85) !important; opacity: 1 !important; }
[data-theme="dark"] .analyze-btn:disabled { background: rgba(255,255,255,0.08) !important; color: var(--text-3) !important; box-shadow: none !important; }

.detail-delete { background: var(--red-bg) !important; border-color: var(--red-border) !important; color: var(--red-text) !important; }
.detail-delete:hover { opacity: 0.8 !important; }

/* ─── FORM INPUTS ───────────────────────────────────────────── */
input[type=text], input[type=email], input[type=password],
input[type=date], input[type=number], input[type=url],
textarea, select, .search-input {
  background: var(--bg-input) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
input::placeholder, textarea::placeholder, .search-input::placeholder { color: var(--text-3) !important; }
input:focus, textarea:focus, select:focus, .search-input:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
  background: var(--bg-input) !important;
}
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus { background: rgba(255,255,255,0.1) !important; }
select option { background: var(--bg-2); color: var(--text); }
label { color: var(--text-2) !important; }

/* ─── FIELD VALUES (analyzer) ───────────────────────────────── */
.field-label { color: var(--text-3) !important; }
.field-value {
  background: var(--bg-3) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.field-value.empty { color: var(--text-3) !important; }
.field-value.flag  { background: var(--red-bg) !important; border-color: var(--red-border) !important; color: var(--red-text) !important; }
.field-value.good  { background: var(--green-bg) !important; border-color: var(--green-border) !important; color: var(--green-text) !important; }

/* ─── TABS ──────────────────────────────────────────────────── */
.tab-bar { background: var(--surface-2) !important; }
.tab-btn { background: transparent !important; color: var(--text-2) !important; border: none !important; }
.tab-btn.active { background: var(--surface) !important; color: var(--text) !important; box-shadow: var(--shadow) !important; }

/* ─── UPLOAD ZONE ───────────────────────────────────────────── */
.upload-zone { background: var(--surface) !important; border-color: var(--border-2) !important; }
.upload-zone:hover, .upload-zone.dragover { border-color: var(--text) !important; background: var(--bg-3) !important; }
.upload-zone.has-file { border-color: var(--green) !important; background: var(--green-bg) !important; }
.upload-title { color: var(--text) !important; }
.upload-sub   { color: var(--text-2) !important; }
.file-name    { color: var(--green-text) !important; }
[data-theme="dark"] .upload-zone { border-color: rgba(255,255,255,0.18) !important; }
[data-theme="dark"] .upload-zone:hover { border-color: rgba(59,130,246,0.5) !important; }

/* ─── RESULT HEADER (analyzer) ─────────────────────────────── */
.result-header { background: var(--text) !important; color: var(--bg) !important; }
.result-header h2, .result-header p { color: var(--bg) !important; }
[data-theme="dark"] .result-header {
  background: rgba(59,130,246,0.2) !important;
  border: 1px solid rgba(59,130,246,0.3) !important;
}
[data-theme="dark"] .result-header h2,
[data-theme="dark"] .result-header p { color: var(--text) !important; }
.btn-print { background: rgba(255,255,255,0.15) !important; color: #fff !important; border: none !important; }
.btn-new   { background: #fff !important; color: #1a1a18 !important; border: none !important; }

/* ─── ANALYZER FLAG ITEMS ───────────────────────────────────── */
.flag-item.warn    { background: var(--red-bg) !important; border-left-color: var(--red) !important; }
.flag-item.caution { background: var(--amber-bg) !important; border-left-color: var(--amber) !important; }
.flag-item.ok      { background: var(--green-bg) !important; border-left-color: var(--green) !important; }
.flag-text         { color: var(--text) !important; }
.flag-text strong  { color: var(--text) !important; }
.error-box { background: var(--red-bg) !important; border-color: var(--red-border) !important; color: var(--red-text) !important; }

/* ─── INLINE HARDCODED TEXT COLORS (analyzer output divs) ─── */
[data-theme="dark"] [style*="color:#aaa"],
[data-theme="dark"] [style*="color: #aaa"] { color: var(--text-3) !important; }
[data-theme="dark"] [style*="color:#bbb"],
[data-theme="dark"] [style*="color: #bbb"] { color: var(--text-3) !important; }
[data-theme="dark"] [style*="color:#888"],
[data-theme="dark"] [style*="color: #888"] { color: var(--text-2) !important; }
[data-theme="dark"] [style*="color:#1a1a18"],
[data-theme="dark"] [style*="color: #1a1a18"] { color: var(--text) !important; }
[data-theme="dark"] [style*="color:#7f1d1d"] { color: var(--red-text) !important; }
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"] { background: var(--surface) !important; }
[data-theme="dark"] [style*="background:#fafaf8"],
[data-theme="dark"] [style*="background: #fafaf8"] { background: var(--bg-3) !important; }
[data-theme="dark"] [style*="background:#f7f7f5"] { background: var(--bg) !important; }
[data-theme="dark"] [style*="background:#fff5f5"] { background: var(--red-bg) !important; }
[data-theme="dark"] [style*="background:#fffbf0"] { background: var(--amber-bg) !important; }
[data-theme="dark"] [style*="background:#f6fbf8"] { background: var(--green-bg) !important; }
[data-theme="dark"] [style*="background:#eef2ff"] { background: var(--purple-bg) !important; }
[data-theme="dark"] [style*="background:#fef2f2"] { background: var(--red-bg) !important; }
[data-theme="dark"] [style*="background:#dbeafe"],
[data-theme="dark"] [style*="background:#d8f3dc"],
[data-theme="dark"] [style*="background:#fef3c7"],
[data-theme="dark"] [style*="background:#f3e8ff"],
[data-theme="dark"] [style*="background:#e8f5ec"],
[data-theme="dark"] [style*="background:#ede9fe"],
[data-theme="dark"] [style*="background:#f0f9ff"],
[data-theme="dark"] [style*="background:#ffedd5"] { background: var(--surface-2) !important; }

/* ─── TABLES ────────────────────────────────────────────────── */
.pipeline-table, .cov-table, .loss-table, .quotes-table {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
.pipeline-table th, .cov-table th, .loss-table th { color: var(--text-3) !important; border-bottom-color: var(--border) !important; }
.pipeline-table td, .cov-table td, .loss-table td { color: var(--text) !important; border-top-color: var(--border) !important; border-bottom-color: var(--border) !important; }
.pipeline-table tr:hover td { background: var(--bg-3) !important; }
[data-theme="dark"] .pipeline-table thead tr { background: rgba(255,255,255,0.05) !important; }
[data-theme="dark"] [style*="background:#1a1a18"] { background: rgba(255,255,255,0.08) !important; }

/* Inline thead dark background (analyzer coverage table) */
[data-theme="dark"] thead tr[style] { background: rgba(255,255,255,0.1) !important; }
.cov-row-excluded td { color: var(--red) !important; }
.cov-row-included td:last-child { color: var(--green-text) !important; }
.sub-label { color: var(--text-3) !important; border-bottom-color: var(--border) !important; }

/* ─── KANBAN ────────────────────────────────────────────────── */
.column { background: var(--bg-3) !important; border-color: var(--border) !important; }
.column.drag-over { background: var(--blue-bg) !important; outline: 2px dashed var(--blue) !important; }
.col-header { color: var(--text-2) !important; }
.col-count  { background: var(--bg-2) !important; color: var(--text) !important; border-color: var(--border) !important; }
.col-red .col-header    { color: var(--red) !important; }
.col-amber .col-header  { color: var(--amber) !important; }
.col-green .col-header  { color: var(--green) !important; }
.col-won .col-header    { color: var(--purple) !important; }
[data-theme="dark"] .col-red .col-header   { color: #fca5a5 !important; }
[data-theme="dark"] .col-amber .col-header { color: #fcd34d !important; }
[data-theme="dark"] .col-green .col-header { color: #6ee7b7 !important; }
[data-theme="dark"] .col-won .col-header   { color: #c4b5fd !important; }
.pc-org     { color: var(--text) !important; }
.pc-meta    { color: var(--text-2) !important; }
.pc-premium { color: var(--text) !important; }
.days-red   { color: var(--red) !important; }
.days-amber { color: var(--amber) !important; }
.days-green { color: var(--green) !important; }
.empty-col  { color: var(--text-3) !important; }
.pc-act { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
.pc-act:hover { border-color: var(--text) !important; color: var(--text) !important; }

/* ─── URGENCY CARDS (x-dates) ───────────────────────────────── */
.urgency-card { position: relative; overflow: hidden; }
.urgency-card::before { height: 3px !important; top: 0 !important; left: 0 !important; right: 0 !important; border-radius: 0 !important; }
.urgency-card.red::before    { background: var(--red) !important; }
.urgency-card.amber::before  { background: var(--amber) !important; }
.urgency-card.green::before  { background: var(--green) !important; }
.urgency-card.total::before  { background: var(--text) !important; }
.urgency-card .num  { }
.urgency-card.red .num    { color: var(--red) !important; }
.urgency-card.amber .num  { color: var(--amber) !important; }
.urgency-card.green .num  { color: var(--green) !important; }
.urgency-card.total .num  { color: var(--text) !important; }
.urgency-card .lbl        { color: var(--text-3) !important; }
[data-theme="dark"] .urgency-card.red .num   { color: #fca5a5 !important; }
[data-theme="dark"] .urgency-card.amber .num { color: #fcd34d !important; }
[data-theme="dark"] .urgency-card.green .num { color: #6ee7b7 !important; }

/* ─── PROSPECT CARDS (x-dates) ──────────────────────────────── */
.prospect-name { color: var(--text) !important; }
.prospect-meta, .prospect-meta span { color: var(--text-2) !important; }
.renewal-date  { color: var(--text) !important; }
.renewal-label { color: var(--text-3) !important; }
.prospect-detail { background: var(--bg-3) !important; border-top-color: var(--border) !important; }
.badge-red    { background: var(--red-bg) !important; }
.badge-amber  { background: var(--amber-bg) !important; }
.badge-green  { background: var(--green-bg) !important; }
.badge-grey   { background: var(--surface-2) !important; }
.badge-red .badge-days    { color: var(--red) !important; }
.badge-amber .badge-days  { color: var(--amber) !important; }
.badge-green .badge-days  { color: var(--green) !important; }
.badge-grey .badge-days   { color: var(--text-2) !important; }
[data-theme="dark"] .badge-red .badge-days   { color: #fca5a5 !important; }
[data-theme="dark"] .badge-amber .badge-days { color: #fcd34d !important; }
[data-theme="dark"] .badge-green .badge-days { color: #6ee7b7 !important; }
.badge-label  { color: var(--text-3) !important; }
.act-btn { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
.act-btn:hover { border-color: var(--text) !important; color: var(--text) !important; }
.act-btn.danger:hover { border-color: var(--red) !important; color: var(--red-text) !important; }
.filter-btn { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
.filter-btn:hover { color: var(--text) !important; }
.filter-btn.active { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }
.filter-btn.red.active    { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; }
.filter-btn.amber.active  { background: var(--amber) !important; border-color: var(--amber) !important; color: #fff !important; }
.filter-btn.green.active  { background: var(--green) !important; border-color: var(--green) !important; color: #fff !important; }

/* ─── PIPELINE STAT CARDS ───────────────────────────────────── */
.stat-card .snum { color: var(--text) !important; }
.stat-card .slbl { color: var(--text-3) !important; }
.stat-card .ssub { color: var(--text-2) !important; }
/* Inline urgency snum colors */
#ps-red   { color: var(--red) !important; }
#ps-amber { color: var(--amber) !important; }
#ps-green { color: var(--green) !important; }
#ps-won   { color: var(--purple) !important; }
[data-theme="dark"] #ps-red   { color: #fca5a5 !important; }
[data-theme="dark"] #ps-amber { color: #fcd34d !important; }
[data-theme="dark"] #ps-green { color: #6ee7b7 !important; }
[data-theme="dark"] #ps-won   { color: #c4b5fd !important; }

/* ─── NAV USER CHIP ─────────────────────────────────────────── */
.nav-user-inner { background: var(--surface-2) !important; border-radius: 20px !important; }
.nav-user-inner:hover { background: var(--border) !important; }
.nav-avatar-initials { background: var(--text) !important; color: var(--bg) !important; }
[data-theme="dark"] .nav-avatar-initials { background: rgba(59,130,246,0.7) !important; color: #fff !important; }
.nav-user-name  { color: var(--text) !important; }
.nav-user-caret { color: var(--text-3) !important; }
.nav-user-menu {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  box-shadow: var(--shadow-md) !important;
}
[data-theme="dark"] .nav-user-menu {
  background: rgba(10,18,28,0.96) !important;
  backdrop-filter: blur(24px) !important;
}
.num-email   { color: var(--text-2) !important; border-bottom-color: var(--border) !important; }
.num-signout { background: var(--red-bg) !important; border-color: var(--red-border) !important; color: var(--red-text) !important; }

/* ─── SCRIPTS ───────────────────────────────────────────────── */
.you  { background: var(--green-bg) !important; border-left-color: var(--green) !important; }
.them { background: var(--surface-2) !important; border-left-color: var(--border-2) !important; }
.you .speaker  { color: var(--green) !important; }
[data-theme="dark"] .you .speaker { color: #6ee7b7 !important; }
.them .speaker { color: var(--text-3) !important; }
.line-text     { color: var(--text) !important; }
.note { background: var(--amber-bg) !important; border-left-color: var(--amber) !important; color: var(--amber-text) !important; }
[data-theme="dark"] .note { color: #fcd34d !important; }
.obj-q { background: var(--amber-bg) !important; color: var(--amber-text) !important; }
.obj-a { background: var(--green-bg) !important; color: var(--green-text) !important; }
[data-theme="dark"] .obj-q { color: #fcd34d !important; }
[data-theme="dark"] .obj-a { color: #6ee7b7 !important; }
.objection-row { border-color: var(--border) !important; }
.obj-question  { color: var(--text) !important; }
.response-text { color: var(--text) !important; }
.response-note { color: var(--text-2) !important; }

/* ─── INTEL ─────────────────────────────────────────────────── */
.intel-col-title  { color: var(--text) !important; }
.intel-col-header { border-bottom-color: var(--border) !important; }
.intel-item-title { color: var(--text) !important; }
.intel-item-body  { color: var(--text-2) !important; }
.intel-item-meta  { color: var(--text-3) !important; }
.intel-refresh-btn { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
.intel-refresh-btn:hover { color: var(--text) !important; }

/* ─── EMAILS ────────────────────────────────────────────────── */
.email-type-btn { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text) !important; }
.email-type-btn:hover { background: var(--border) !important; }
.email-type-btn.active { background: var(--blue-bg) !important; border-color: var(--blue-border) !important; }
.email-output { background: var(--bg-3) !important; border-color: var(--border) !important; color: var(--text) !important; }
.copy-btn { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text) !important; }
.copy-btn:hover { background: var(--border) !important; }

/* ─── CARRIERS ──────────────────────────────────────────────── */
.carrier-name { color: var(--text) !important; }
.carrier-card p, .carrier-notes { color: var(--text-2) !important; }
.carrier-logo { filter: none !important; }
[data-theme="dark"] .carrier-logo { background: rgba(255,255,255,0.08) !important; }

/* ─── HISTORY ───────────────────────────────────────────────── */
.hist-name { color: var(--text) !important; }
.hist-meta { color: var(--text-2) !important; }
.hist-date { color: var(--text-3) !important; }
.hist-icon { background: var(--surface-2) !important; }
.hist-act  { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
.hist-act.del:hover { border-color: var(--red) !important; color: var(--red) !important; }

/* ─── QUOTES ────────────────────────────────────────────────── */
.form-label { color: var(--text-3) !important; }
/* inline quote status chip in pipeline */
[data-theme="dark"] [style*="background:#eef2ff"][style*="color:#6366f1"] {
  background: var(--purple-bg) !important; color: var(--purple-text) !important;
}

/* ─── EMPTY STATES ──────────────────────────────────────────── */
.empty-state p { color: var(--text-2) !important; }
.empty-state a { color: var(--blue) !important; }

/* ─── SPINNER ───────────────────────────────────────────────── */
.spinner { border-color: var(--border) !important; border-top-color: var(--text) !important; }
.loading-text  { color: var(--text-2) !important; }
.loading-steps { color: var(--text-3) !important; }
[data-theme="dark"] .spinner { border-top-color: rgba(59,130,246,0.9) !important; }

/* ─── MODAL ─────────────────────────────────────────────────── */
.modal-backdrop { background: rgba(0,0,0,0.5) !important; }
.modal { background: var(--surface) !important; border-color: var(--border) !important; color: var(--text) !important; }
[data-theme="dark"] .modal { background: rgba(12,22,38,0.96) !important; backdrop-filter: blur(32px) !important; box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important; }

/* ─── INDEX PAGE ────────────────────────────────────────────── */
.nav-card, .tool-card { text-decoration: none !important; }
.nav-card-arrow { color: var(--text-3) !important; }
.nav-card:hover, .tool-card:hover { box-shadow: var(--shadow-md) !important; transform: translateY(-2px); }
.why-card .icon { background: var(--surface-2) !important; }
.step-num { color: var(--blue) !important; background: var(--blue-bg) !important; border-color: var(--blue-border) !important; }
.step-tag { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text-2) !important; }

/* ─── LOGIN PAGE ────────────────────────────────────────────── */
.login-card { background: var(--surface) !important; border-color: var(--border) !important; box-shadow: var(--shadow-md) !important; }
.login-logo h1 { color: var(--text) !important; }
.login-logo p  { color: var(--text-2) !important; }
.login-btn { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }
.login-btn:hover:not(:disabled) { opacity: 0.85 !important; }
.login-btn:disabled { background: var(--border) !important; color: var(--text-3) !important; }
[data-theme="dark"] .login-btn { background: rgba(59,130,246,0.65) !important; border-color: rgba(99,160,255,0.4) !important; color: #fff !important; }
[data-theme="dark"] .login-btn:hover:not(:disabled) { background: rgba(59,130,246,0.85) !important; opacity: 1 !important; }
.step-heading { color: var(--text) !important; }
.step-sub { color: var(--text-2) !important; }
.back-link { color: var(--text-2) !important; }
.back-link:hover { color: var(--text) !important; }
.error-msg { background: var(--red-bg) !important; border-color: var(--red-border) !important; color: var(--red-text) !important; }
.login-footer { color: var(--text-3) !important; }
[data-theme="dark"] .login-card { backdrop-filter: blur(32px) !important; background: rgba(255,255,255,0.07) !important; border-top-color: rgba(255,255,255,0.28) !important; }

/* ─── SCROLLBAR ─────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 3px; }

/* ─── THEME TOGGLE BUTTON ───────────────────────────────────── */
.theme-toggle {
  position: fixed; bottom: 20px; right: 20px; z-index: 500;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--surface); border: 1px solid var(--border);
  box-shadow: var(--shadow-md); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; transition: all 0.2s; user-select: none;
}
.theme-toggle:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(0,0,0,0.2); }
[data-theme="dark"] .theme-toggle {
  background: rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(12px);
  border-color: rgba(255,255,255,0.2) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
}

/* ─── PRINT ─────────────────────────────────────────────────── */
@media print {
  .topnav, .sidebar, .toggle-btn, .theme-toggle { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  .main { margin-left: 0 !important; }
  * { color: #000 !important; background: #fff !important; box-shadow: none !important; }
}

/* ─── OBJECTION BANK CARDS ──────────────────────────────────── */
.objection-card {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
.obj-header { background: transparent !important; }
.obj-question { color: var(--text) !important; }
.obj-chevron  { color: var(--text-3) !important; }
.obj-responses {
  background: transparent !important;
  border-top-color: var(--border) !important;
}
.response-item {
  background: var(--green-bg) !important;
  border-left-color: var(--green) !important;
}
[data-theme="dark"] .response-item {
  background: rgba(16,185,129,0.08) !important;
}
.response-num  { color: var(--green-text) !important; }
[data-theme="dark"] .response-num { color: #6ee7b7 !important; }
.response-text { color: var(--text) !important; }
.response-note { color: var(--text-2) !important; }

/* tag pill colors — keep colorful, just fix dark bg */
[data-theme="dark"] .tag-agent   { background: rgba(253,231,243,0.12) !important; color: #f9a8d4 !important; }
[data-theme="dark"] .tag-timing  { background: rgba(254,243,199,0.1)  !important; color: #fcd34d !important; }
[data-theme="dark"] .tag-coverage{ background: rgba(209,250,229,0.1)  !important; color: #6ee7b7 !important; }
[data-theme="dark"] .tag-price   { background: rgba(219,234,254,0.1)  !important; color: #93c5fd !important; }
[data-theme="dark"] .tag-stalling{ background: rgba(237,233,254,0.1)  !important; color: #c4b5fd !important; }
[data-theme="dark"] .obj-tag     { background: rgba(255,255,255,0.08) !important; color: var(--text-2) !important; }

/* search bar */
.search-bar, #obj-search, [id*="search"] {
  background: var(--bg-input) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* ─── .them SCRIPT LINES ────────────────────────────────────── */
[data-theme="dark"] .them {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
[data-theme="dark"] .you {
  background: rgba(45,106,79,0.12) !important;
  border-color: #2d6a4f !important;
}

/* ─── CATCH-ALL: any element with inline background:#fff ─────
   Covers cards/rows not hit by class selectors               */
[data-theme="dark"] .objection-card *[style*="background: #fff"],
[data-theme="dark"] .objection-card *[style*="background:#fff"],
[data-theme="dark"] .card *[style*="background: #fff"],
[data-theme="dark"] .card *[style*="background:#fff"] {
  background: var(--surface) !important;
  color: var(--text) !important;
}

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE WHITE-CARD FIX — covers every remaining class
   ═══════════════════════════════════════════════════════════════ */

/* Core pattern: anything with explicit white bg */
.prep-card, .brief-section, .ai-tool-card, .ai-tool-header,
.quote-card, .calc-section, .form-row, .field-item,
.history-card, .hist-item, .note-row, .notes-area,
.process-steps, .modal-box, .lost-reason,
.search-box, .flag-chip, .hf-value,
.obj-q, .obj-q-inner {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* Brief section top-border fix */
.brief-section { border-top-color: var(--border) !important; }

/* Callprep specific */
.prep-card h3, .prep-card h4, .prep-card label { color: var(--text) !important; }
.prep-card p, .prep-card span { color: var(--text) !important; }

/* Quotes */
.quote-card * { color: var(--text) !important; }
.calc-section * { color: var(--text) !important; }

/* .obj-q pill (inside objection cards) */
.obj-q { color: var(--amber-text) !important; background: var(--amber-bg) !important; }
[data-theme="dark"] .obj-q { color: #fcd34d !important; background: rgba(245,158,11,0.1) !important; }

/* notes / text areas inside cards */
.notes-area { background: var(--bg-3) !important; }

/* History items */
.hist-item { background: var(--surface) !important; border-color: var(--border) !important; }
.hist-item:hover { box-shadow: var(--shadow-md) !important; }

/* flag chips */
.flag-chip { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text-2) !important; }

/* ── NUCLEAR OPTION: any element that's a direct child of .main
   with a white background in dark mode ── */
[data-theme="dark"] * {
  --forced-bg: transparent;
}
[data-theme="dark"] [class][style*="background: #fff"]:not(.topnav):not(button),
[data-theme="dark"] [class][style*="background:#fff"]:not(.topnav):not(button) {
  background: var(--surface) !important;
  color: var(--text) !important;
}
[data-theme="dark"] [class][style*="background: white"]:not(.topnav):not(button) {
  background: var(--surface) !important;
  color: var(--text) !important;
}

/* ── WILDCARD: class-less divs that are white ── */
[data-theme="dark"] .main div[style*="background: #fff"],
[data-theme="dark"] .main div[style*="background:#fff"],
[data-theme="dark"] .main div[style*="background:#fafaf8"],
[data-theme="dark"] .main div[style*="background: #fafaf8"],
[data-theme="dark"] .main div[style*="background:#f7f7f5"],
[data-theme="dark"] .main div[style*="background:#fffff"],
[data-theme="dark"] .main td[style*="background: #fff"],
[data-theme="dark"] .main td[style*="background:#fff"] {
  background: var(--surface) !important;
  color: var(--text) !important;
}

/* ─── PAGE TRANSITION ANIMATION ──────────────────────────────
   Cards float up on page load. Nav links trigger the animation
   by adding .page-exit to body before navigating.
   ─────────────────────────────────────────────────────────── */

/* Cards animate in on load */
@keyframes cardFloat {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Page exit — cards float up and fade out */
@keyframes cardExit {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-18px);
  }
}

/* Apply float-in to the main content area */
.main, .main-inner, .login-card {
  animation: cardFloat 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Stagger cards within main for a cascade effect */
.main > *,
.main-inner > * {
  animation: cardFloat 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.main > *:nth-child(1), .main-inner > *:nth-child(1) { animation-delay: 0.03s; }
.main > *:nth-child(2), .main-inner > *:nth-child(2) { animation-delay: 0.07s; }
.main > *:nth-child(3), .main-inner > *:nth-child(3) { animation-delay: 0.11s; }
.main > *:nth-child(4), .main-inner > *:nth-child(4) { animation-delay: 0.14s; }
.main > *:nth-child(5), .main-inner > *:nth-child(5) { animation-delay: 0.17s; }
.main > *:nth-child(n+6), .main-inner > *:nth-child(n+6) { animation-delay: 0.19s; }

/* Exit animation class — added by JS before nav */
body.page-exit .main,
body.page-exit .main-inner {
  animation: cardExit 0.2s ease-in forwards !important;
  pointer-events: none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .main, .main-inner, .main > *, .main-inner > *, .login-card {
    animation: none !important;
  }
}
