/* ══════════════════════════════════════════════════════════════
   SeatSniper — LIGHT THEME  (app only)
   Loads LAST. Activates only under [data-theme="light"]. Every selector
   is prefixed with [data-theme="light"] so its specificity (0,2,0) beats
   the committed-dark skin's bare `.x !important` (0,1,0) rules.
   Default remains dark; users opt in via the navbar sun/moon toggle.
   ══════════════════════════════════════════════════════════════ */

/* ── Light tokens (feed every var()-based rule in the dark skin) ── */
:root[data-theme="light"] {
  --bg: #f5f6f8;
  --bg-alt: #eceef1;
  --card-bg: #ffffff;
  --text: #16171b;
  --text-muted: #5e636e;
  --border: rgba(0,0,0,0.10);
  --gray-50: rgba(0,0,0,0.025);
  --gray-100: rgba(0,0,0,0.05);
  --red: #c0392f;
  --red-subtle: rgba(214,69,61,0.10);
  --ember: #d6453d;
  --ember-soft: #e0564f;
  --green: #16a34a;
  --green-bg: rgba(22,163,74,0.12);
  --error-bg: rgba(214,69,61,0.10);
}

/* ── Base ── */
[data-theme="light"] html, [data-theme="light"] body { background: var(--bg) !important; color: var(--text) !important; }
[data-theme="light"] * { scrollbar-color: rgba(0,0,0,0.22) transparent; }
[data-theme="light"] *::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); }

/* ── Navbar ── */
[data-theme="light"] .navbar { background: rgba(255,255,255,0.85) !important; border-bottom-color: var(--border) !important; }
[data-theme="light"] .navbar-logo { filter: none !important; }
[data-theme="light"] .navbar-link { color: var(--text-muted) !important; }
[data-theme="light"] .navbar-link:not(.active):hover { color: #16171b !important; background: rgba(0,0,0,0.04) !important; }
[data-theme="light"] .dark-mode-toggle { background: rgba(0,0,0,0.04) !important; border-color: var(--border) !important; color: var(--text-muted) !important; }
[data-theme="light"] .dark-mode-toggle:hover { background: rgba(0,0,0,0.07) !important; color: #16171b !important; }

/* ── Hero ── */
[data-theme="light"] .brand { color: #16171b !important; }
[data-theme="light"] .brand-icon { filter: none !important; }
[data-theme="light"] .tagline { background: #fff !important; color: var(--text-muted) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 0 0 1px rgba(214,69,61,0.12) !important; }

/* ── Search console ── */
[data-theme="light"] .search-bar { background: #fff !important; box-shadow: 0 8px 24px -10px rgba(0,0,0,0.18) !important; }
[data-theme="light"] .search-bar:focus-within { border-color: var(--ember) !important; box-shadow: 0 0 0 3px rgba(214,69,61,0.15), 0 8px 24px -10px rgba(214,69,61,0.22) !important; }
[data-theme="light"] #course-search { color: var(--text) !important; }
[data-theme="light"] #course-search::placeholder { color: #99a0ab !important; }
[data-theme="light"] .term-pill, [data-theme="light"] .term-segment { background: var(--bg-alt) !important; border-color: var(--border) !important; color: var(--text) !important; }
[data-theme="light"] .term-seg { color: var(--text-muted) !important; }
[data-theme="light"] .term-seg.selected { background: #fff !important; color: #16171b !important; box-shadow: 0 1px 2px rgba(0,0,0,0.12); }
[data-theme="light"] .term-dropdown, [data-theme="light"] .custom-select-dropdown, [data-theme="light"] .autocomplete-list { background: #fff !important; border-color: var(--border) !important; box-shadow: 0 24px 50px -16px rgba(0,0,0,0.25) !important; }
[data-theme="light"] .autocomplete-list li, [data-theme="light"] .term-dropdown li, [data-theme="light"] .custom-select-dropdown li { color: var(--text) !important; }
[data-theme="light"] .autocomplete-list li:hover, [data-theme="light"] .autocomplete-list li.active, [data-theme="light"] .term-dropdown li:hover, [data-theme="light"] .custom-select-dropdown li:hover { background: rgba(214,69,61,0.08) !important; color: #16171b !important; }
[data-theme="light"] .ac-title { color: var(--text-muted) !important; }

/* ── Trust line ── */
[data-theme="light"] .trust-item { color: var(--text-muted) !important; }
[data-theme="light"] .trust-sep { color: #c2c6cd !important; }

/* ── Cards / headings / results ── */
[data-theme="light"] .card, [data-theme="light"] .sub-card { background: #fff !important; border-color: var(--border) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important; }
[data-theme="light"] h1, [data-theme="light"] h2, [data-theme="light"] h3, [data-theme="light"] .section-title, [data-theme="light"] .card-title, [data-theme="light"] .results-title { color: #16171b !important; }
[data-theme="light"] .section-table th, [data-theme="light"] .section-table td { color: var(--text) !important; }
[data-theme="light"] .empty-state, [data-theme="light"] .muted, [data-theme="light"] .hint { color: var(--text-muted) !important; }

/* ── Mobile bottom tab bar ── */
[data-theme="light"] .navbar-links { background: #ffffff !important; border-top-color: var(--border) !important; }

/* ── Modal / bottom sheet ── */
[data-theme="light"] .modal-content { background: #fff !important; color: var(--text) !important; }
[data-theme="light"] .modal-overlay, [data-theme="light"] .modal-backdrop { background: rgba(0,0,0,0.45) !important; }

/* ── ScheduleSniper ── */
[data-theme="light"] .ss-schedule-card { background: #fff !important; }
[data-theme="light"] .ss-calendar { background: #fff !important; }
[data-theme="light"] .ss-cal-header { color: #16171b !important; background: rgba(0,0,0,0.03) !important; border-bottom-color: var(--border) !important; }
[data-theme="light"] .ss-cal-time-label { color: var(--text-muted) !important; border-right-color: var(--border) !important; }
[data-theme="light"] .ss-cal-cell { border-bottom-color: rgba(0,0,0,0.07) !important; border-right-color: rgba(0,0,0,0.05) !important; }
[data-theme="light"] .ss-cal-block-course { color: #16171b !important; }
[data-theme="light"] .ss-cal-block-teacher { color: var(--text-muted) !important; }
[data-theme="light"] .ss-block-tooltip { background: #fff !important; color: #16171b !important; }
[data-theme="light"] .ss-block-tooltip strong { color: #16171b !important; }
[data-theme="light"] .ss-section-card { background: #f7f7f9 !important; }
[data-theme="light"] .ss-section-card strong, [data-theme="light"] .ss-card-title, [data-theme="light"] .ss-results-header { color: #16171b !important; }
[data-theme="light"] .ss-course-chip, [data-theme="light"] .ss-section-pill, [data-theme="light"] .ss-day-pill { background: #fff !important; }
[data-theme="light"] .ss-mobile-day-header { color: #16171b !important; }

/* ── CourseSniper ── */
[data-theme="light"] .cs-card, [data-theme="light"] .cs-result, [data-theme="light"] .cs-review { background: #fff !important; border-color: var(--border) !important; }
[data-theme="light"] .cs-course-code, [data-theme="light"] .cs-course-title, [data-theme="light"] .cs-review-author { color: #16171b !important; }
[data-theme="light"] .cs-filter, [data-theme="light"] .custom-select-trigger { background: var(--bg-alt) !important; color: var(--text) !important; }

/* ══════════════════════════════════════════════════════════════
   Light-mode legibility sweep — text that was hard-coded #fff/white
   in the dark skin and would otherwise vanish on the light page.
   ══════════════════════════════════════════════════════════════ */

/* Active tool tab — black text reads better than white on the red pill */
[data-theme="light"] .navbar-link.active,
[data-theme="light"] .navbar-link.active svg { color: #16171b !important; }

/* ScheduleSniper — prof names, section/time strong text */
[data-theme="light"] .ss-section-card-prof .ss-prof-name,
[data-theme="light"] .ss-mobile-block strong,
[data-theme="light"] .ss-time-bound strong,
[data-theme="light"] .ss-no-results h3 { color: #16171b !important; }

/* CourseSniper — code, stat values, names, section heads, browse titles */
[data-theme="light"] .cs-section-h,
[data-theme="light"] .cs-code,
[data-theme="light"] .cs-stat-val,
[data-theme="light"] .cs-instr-name,
[data-theme="light"] .cs-prof-name,
[data-theme="light"] .cs-rm b,
[data-theme="light"] .cs-composer-title,
[data-theme="light"] .cs-browse-title,
[data-theme="light"] .cs-sched-sec { color: #16171b !important; }

/* CourseSniper browse-filter dropdowns ("All subjects"/"All levels") — the dark
   skin forces a near-black select bg with !important; flip it light + dark text
   + a dark chevron so it's legible on the light page. */
[data-theme="light"] .cs-browse-filters select {
  background-color: #fff !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM1ZTYzNmUiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPg==") !important;
}

/* SeatSniper action-button hover stays readable on the light tint */
[data-theme="light"] .ss-action-btn:hover { color: #16171b !important; }

/* SeatSniper — sub-info + results title */
[data-theme="light"] .sub-info,
[data-theme="light"] .sub-info strong,
[data-theme="light"] #results-title,
[data-theme="light"] footer strong { color: #16171b !important; }

/* App footer — the dark skin paints it near-black; flip it light so the
   footer text + keyboard-shortcut chips (kbd) are visible on the light page. */
[data-theme="light"] footer { background: #fff !important; border-top-color: var(--border) !important; color: var(--text-muted) !important; }
[data-theme="light"] kbd { background: rgba(0,0,0,0.05) !important; color: #16171b !important; border-color: var(--border) !important; }

/* Plan badge — gold text needs to darken to read on the light page */
[data-theme="light"] .acct-unlimited { color: #8a6d12 !important; background: rgba(243,201,105,0.22) !important; border-color: rgba(160,125,30,0.45) !important; }
[data-theme="light"] .acct-unlimited svg { color: #b8902a !important; }
[data-theme="light"] .acct-free { background: rgba(0,0,0,0.05) !important; }

/* Empty rating stars — hollow outline so they're visible on white */
[data-theme="light"] .ss-stars-bg,
[data-theme="light"] .cs-stars-bg {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(0,0,0,0.42);
}

/* Upgrade modal — light theme */
[data-theme="light"] .upgrade-card { background: #fff !important; border-color: var(--border) !important; box-shadow: 0 30px 80px -20px rgba(0,0,0,0.25) !important; }
[data-theme="light"] .upgrade-title { color: #16171b !important; }
[data-theme="light"] .upgrade-perks li { color: #16171b !important; }
