/* ==========================================================================
   Course Student — Ivory Manuscript
   Shared light-mode skin for public pages and all three dashboard apps.

   Contract:
   - loaded after each page's legacy light and geometry layers
   - affects light mode only
   - changes palette and paint, never document geometry
   ========================================================================== */

:root[data-theme="light"] {
  color-scheme: light;

  --bg: #f4efe6;
  --bg-2: #eee6d9;
  --surface: #faf7f0;
  --surface-1: #faf7f0;
  --surface-2: #f5eee2;
  --card: #fcf9f2;

  --text: #1A0608;
  --ink: #1A0608;
  --ink-strong: #100305;
  --muted: #443032;
  --hint: #5E4648;

  --crimson: #76212e;
  --crimson-deep: #541620;
  --crimson-action: #8b2b39;
  --crimson-soft: rgba(118, 33, 46, .09);

  --gold: #a9823a;
  --gold-light: #c1a05e;
  --gold-text: #78350F;
  --gold-soft: rgba(169, 130, 58, .1);
  --gold-on-gold: #1A0608;

  --badge-bg: #76212e;
  --linen: #5e4c3d;
  --linen-soft: rgba(114, 98, 80, .075);
  --ink-deep: #100305;
  --crimson-ink: #541620;

  --line: rgba(123, 13, 30, .14);
  --line-strong: rgba(180, 83, 9, .45);

  --green: #047857;
  --green-soft: rgba(16, 185, 129, .14);
  --danger: #991b1b;
  --danger-soft: rgba(220, 38, 38, .12);
  --success: #047857;
  --warning: #78350f;
  --info: #1d4ed8;

  --field-bg: rgba(255, 253, 248, .78);
  --field-bg-focus: #fffdf8;
  --field-text: #211b17;
  --field-placeholder: #9a8a7d;
  --field-border: rgba(91, 68, 42, .18);
  --field-border-focus: #8b2b39;
  --field-ring: rgba(118, 33, 46, .1);

  --scrim: rgba(35, 27, 22, .36);
  --scrim-blur: 8px;

  --ambient-1:
    radial-gradient(880px 580px at 88% -8%, rgba(169, 130, 58, .13), transparent 64%);
  --ambient-2:
    radial-gradient(760px 560px at 5% 18%, rgba(118, 33, 46, .065), transparent 68%);

  --shadow-card:
    0 1px 0 rgba(255, 255, 255, .78) inset,
    0 10px 26px rgba(69, 48, 29, .075);
  --shadow-elevated:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 26px 64px rgba(69, 48, 29, .16);
  --shadow-gold:
    0 12px 28px rgba(126, 92, 39, .14),
    inset 0 1px 0 rgba(255, 255, 255, .62);
  --shadow-crimson:
    0 14px 32px rgba(89, 24, 34, .2),
    inset 0 1px 0 rgba(255, 255, 255, .14);
}

/* ===== Ivory atmosphere ===== */
:root[data-theme="light"] body {
  color: var(--text);
  background:
    linear-gradient(180deg, #f7f2e9 0%, #f3ede3 52%, #eee5d7 100%);
}

:root[data-theme="light"] body::before {
  background:
    radial-gradient(880px 580px at 88% -8%, rgba(169, 130, 58, .13), transparent 64%),
    radial-gradient(760px 560px at 5% 18%, rgba(118, 33, 46, .065), transparent 68%),
    radial-gradient(820px 660px at 48% 105%, rgba(144, 107, 57, .075), transparent 66%),
    repeating-linear-gradient(
      116deg,
      rgba(76, 55, 34, .012) 0,
      rgba(76, 55, 34, .012) 1px,
      transparent 1px,
      transparent 8px
    );
  opacity: .96;
  animation: ivory-manuscript-drift 30s ease-in-out infinite alternate;
}

:root[data-theme="light"] body::after {
  opacity: .04;
  mix-blend-mode: multiply;
}

:root[data-theme="light"] .cs-mesh {
  background:
    radial-gradient(60% 50% at 20% 30%, rgba(118, 33, 46, .075), transparent 62%),
    radial-gradient(50% 45% at 85% 20%, rgba(169, 130, 58, .12), transparent 68%),
    radial-gradient(55% 50% at 70% 90%, rgba(118, 33, 46, .045), transparent 64%),
    radial-gradient(45% 40% at 10% 85%, rgba(193, 160, 94, .085), transparent 68%);
  opacity: .42;
  filter: blur(24px) saturate(.72);
}

:root[data-theme="light"] .cs-mesh::after {
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 40%,
    rgba(169, 130, 58, .05) 47%,
    rgba(193, 160, 94, .08) 50%,
    rgba(118, 33, 46, .045) 54%,
    transparent 61%,
    transparent 100%
  );
}

:root[data-theme="light"] .cs-stardust i {
  background: var(--gold);
  box-shadow:
    0 0 7px rgba(169, 130, 58, .24),
    0 0 13px rgba(169, 130, 58, .12);
}

:root[data-theme="light"] .cs-stardust i.crimson {
  background: #a95762;
  box-shadow:
    0 0 7px rgba(118, 33, 46, .22),
    0 0 13px rgba(118, 33, 46, .12);
}

@keyframes ivory-manuscript-drift {
  from { transform: translate3d(-5px, 3px, 0) scale(1.005); }
  to { transform: translate3d(6px, -4px, 0) scale(1.012); }
}

/* ===== Shared navigation and app chrome ===== */
:root[data-theme="light"] .nav,
:root[data-theme="light"] .topbar {
  background:
    linear-gradient(180deg, rgba(250, 247, 240, .94), rgba(244, 238, 228, .9));
  border-color: var(--line);
  box-shadow: 0 14px 36px rgba(69, 48, 29, .065);
}

:root[data-theme="light"] .sidebar {
  background:
    linear-gradient(180deg, rgba(250, 247, 240, .985), rgba(239, 231, 218, .985));
  border-color: var(--line);
  box-shadow: -18px 0 48px rgba(69, 48, 29, .07);
}

:root[data-theme="light"] .nav-dropdown-menu,
:root[data-theme="light"] .nav-submenu,
:root[data-theme="light"] .mnav-drawer,
:root[data-theme="light"] .user-menu,
:root[data-theme="light"] .qa-menu,
:root[data-theme="light"] .country-dropdown,
:root[data-theme="light"] .book-currency-menu {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(253, 250, 244, .99), rgba(244, 237, 226, .99));
  border-color: var(--line);
  box-shadow: var(--shadow-elevated);
}

:root[data-theme="light"] .nav-links a,
:root[data-theme="light"] .nav-item,
:root[data-theme="light"] .mnav-links a,
:root[data-theme="light"] .user-menu-item {
  color: #65584f;
}

:root[data-theme="light"] .nav-links a:hover,
:root[data-theme="light"] .nav-links a.active,
:root[data-theme="light"] .nav-item:hover,
:root[data-theme="light"] .mnav-links a:hover,
:root[data-theme="light"] .user-menu-item:hover {
  color: var(--crimson);
}

:root[data-theme="light"] .nav-dropdown-menu a,
:root[data-theme="light"] .nav-submenu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  box-sizing: border-box;
  width: 100%;
}

:root[data-theme="light"] .nav-item:hover,
:root[data-theme="light"] .nav-dropdown-menu a:hover,
:root[data-theme="light"] .nav-submenu a:hover,
:root[data-theme="light"] .mnav-links a:hover,
:root[data-theme="light"] .user-menu-item:hover {
  background: rgba(118, 33, 46, .08);
  color: var(--crimson);
}

:root[data-theme="light"] .pill-ic {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  color: #fff8ed !important;
  background: linear-gradient(145deg, #8a2a38, #5f1824) !important;
  border: 1px solid rgba(118, 33, 46, .2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
}
:root[data-theme="light"] .pill-ic i,
:root[data-theme="light"] .pill-ic svg {
  color: #fff8ed !important;
  -webkit-text-fill-color: #fff8ed;
}

:root[data-theme="light"] .nav-item.active {
  color: var(--crimson);
  background: linear-gradient(90deg, rgba(118, 33, 46, .075), rgba(169, 130, 58, .035), transparent);
}

:root[data-theme="light"] .nav-item.active i,
:root[data-theme="light"] .nav-links a.active,
:root[data-theme="light"] .nav-links a:hover {
  color: var(--crimson);
}

:root[data-theme="light"] .nav-item.active::before,
:root[data-theme="light"] .nav-links a.active::after {
  background: linear-gradient(180deg, var(--crimson-action), var(--gold));
  box-shadow: 0 0 12px rgba(118, 33, 46, .16);
}

:root[data-theme="light"] .role-pill,
:root[data-theme="light"] .sidebar-foot {
  background:
    linear-gradient(135deg, rgba(118, 33, 46, .065), rgba(169, 130, 58, .055));
  border-color: var(--line-strong);
}

:root[data-theme="light"] .role-pill strong,
:root[data-theme="light"] .role-pill i,
:root[data-theme="light"] .sidebar-foot strong,
:root[data-theme="light"] .sidebar-foot i,
:root[data-theme="light"] .nav-label {
  color: var(--crimson);
}

:root[data-theme="light"] .nav-theme-btn,
:root[data-theme="light"] .mnav-theme,
:root[data-theme="light"] .mnav-burger,
:root[data-theme="light"] .icon-btn {
  color: var(--gold-text);
  background: rgba(255, 253, 248, .7);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

:root[data-theme="light"] .nav-theme-btn:hover,
:root[data-theme="light"] .mnav-theme:hover,
:root[data-theme="light"] .mnav-burger:hover,
:root[data-theme="light"] .icon-btn:hover {
  color: var(--crimson);
  background: rgba(255, 253, 248, .95);
  border-color: var(--line-strong);
}

:root[data-theme="light"] .lang-switch {
  background: rgba(255, 253, 248, .64);
  border-color: var(--line);
}

:root[data-theme="light"] .lang-switch button {
  color: var(--muted);
}

:root[data-theme="light"] .lang-switch button:hover {
  color: var(--crimson);
  background: rgba(118, 33, 46, .045);
}

:root[data-theme="light"] .lang-switch button.is-active,
:root[data-theme="light"] .lang-switch button.active,
:root[data-theme="light"] .mnav-lang button.is-active {
  color: #fff8ed;
  background: linear-gradient(135deg, #76212e, #912f3e);
  box-shadow:
    0 8px 18px rgba(89, 24, 34, .18),
    inset 0 1px 0 rgba(255, 255, 255, .13);
}

/* ===== Buttons and focus ===== */
:root[data-theme="light"] .btn-gold,
:root[data-theme="light"] .btn-primary,
:root[data-theme="light"] .qa-gold,
:root[data-theme="light"] .register-submit,
:root[data-theme="light"] .pkg-cta-gold,
:root[data-theme="light"] .tm-btn-primary,
:root[data-theme="light"] .td-btn-primary,
:root[data-theme="light"] .chat-send,
:root[data-theme="light"] .svc-btn--gold,
:root[data-theme="light"] .resume-btn:hover,
:root[data-theme="light"] .upload-btn:hover {
  color: #fff8ed;
  background: linear-gradient(135deg, #76212e, #912f3e);
  border-color: rgba(151, 112, 52, .34);
  box-shadow: var(--shadow-crimson);
}

:root[data-theme="light"] .btn-gold:hover,
:root[data-theme="light"] .btn-primary:hover,
:root[data-theme="light"] .qa-gold:hover,
:root[data-theme="light"] .register-submit:hover:not(:disabled),
:root[data-theme="light"] .pkg-cta-gold:hover,
:root[data-theme="light"] .tm-btn-primary:hover,
:root[data-theme="light"] .td-btn-primary:hover,
:root[data-theme="light"] .chat-send:hover {
  color: #fffaf2;
  background: linear-gradient(135deg, #842a39, #a23a49);
  border-color: rgba(151, 112, 52, .46);
  box-shadow:
    0 18px 40px rgba(89, 24, 34, .25),
    inset 0 1px 0 rgba(255, 255, 255, .16);
}

:root[data-theme="light"] .btn-ghost,
:root[data-theme="light"] .qa-ghost,
:root[data-theme="light"] .btn-secondary,
:root[data-theme="light"] .tm-btn-ghost,
:root[data-theme="light"] .pkg-cta-ghost,
:root[data-theme="light"] .legal-btn,
:root[data-theme="light"] .contact-card-btn {
  color: var(--ink);
  background: rgba(255, 253, 248, .66);
  border-color: var(--line-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

:root[data-theme="light"] .btn-ghost:hover,
:root[data-theme="light"] .qa-ghost:hover,
:root[data-theme="light"] .btn-secondary:hover,
:root[data-theme="light"] .tm-btn-ghost:hover,
:root[data-theme="light"] .pkg-cta-ghost:hover,
:root[data-theme="light"] .legal-btn:hover,
:root[data-theme="light"] .contact-card-btn:hover {
  color: var(--crimson);
  background: #fffdf8;
  border-color: rgba(118, 33, 46, .27);
}

:root[data-theme="light"] .btn-danger,
:root[data-theme="light"] .is-danger {
  color: #7a1f2d;
  background: rgba(157, 48, 64, .08);
  border-color: rgba(157, 48, 64, .22);
}

:root[data-theme="light"] :where(
  a,
  button,
  input,
  textarea,
  select,
  [role="button"],
  [tabindex]
):focus-visible {
  outline: 2px solid var(--crimson-action);
  outline-offset: 3px;
}

/* ===== Form controls and search ===== */
:root[data-theme="light"] :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea,
  select
) {
  color: var(--field-text);
  background-color: var(--field-bg);
  border-color: var(--field-border);
}

:root[data-theme="light"] :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea,
  select
):focus {
  color: var(--field-text);
  background-color: var(--field-bg-focus);
  border-color: var(--field-border-focus);
  box-shadow: 0 0 0 3px var(--field-ring);
}

:root[data-theme="light"] :where(input, textarea)::placeholder {
  color: var(--field-placeholder);
  opacity: 1;
}

:root[data-theme="light"] .search input,
:root[data-theme="light"] .inbox-input,
:root[data-theme="light"] .comp-input,
:root[data-theme="light"] .country-search,
:root[data-theme="light"] .teacher-pick-control,
:root[data-theme="light"] .book-currency-toggle {
  color: var(--field-text);
  background: rgba(255, 253, 248, .72);
  border-color: var(--field-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76);
}

:root[data-theme="light"] input[type="checkbox"],
:root[data-theme="light"] input[type="radio"] {
  accent-color: var(--crimson-action);
}

/* ===== Parchment surfaces (Elevated Luxury Cards) ===== */
:root[data-theme="light"] .panel,
:root[data-theme="light"] .kpi,
:root[data-theme="light"] .stat,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .traffic-card,
:root[data-theme="light"] .payment-kpi,
:root[data-theme="light"] .course,
:root[data-theme="light"] .course-card,
:root[data-theme="light"] .crm-card,
:root[data-theme="light"] .teacher-card,
:root[data-theme="light"] .book-card,
:root[data-theme="light"] .contact-card,
:root[data-theme="light"] .sys-card,
:root[data-theme="light"] .sp-card,
:root[data-theme="light"] .sp-sub,
:root[data-theme="light"] .svc-chip-3d,
:root[data-theme="light"] .pkg-card,
:root[data-theme="light"] .set-card,
:root[data-theme="light"] .mset-card,
:root[data-theme="light"] .assign-pane,
:root[data-theme="light"] .info-strip {
  color: #1A0608;
  background: linear-gradient(180deg, #FFFFFF 0%, #FCF9F5 100%);
  border: 1px solid rgba(123, 13, 30, .13);
  border-radius: 18px;
  box-shadow: 0 2px 4px rgba(26,6,8,.03), 0 8px 24px rgba(123,13,30,.06), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

:root[data-theme="light"] .panel:hover,
:root[data-theme="light"] .kpi:hover,
:root[data-theme="light"] .stat:hover,
:root[data-theme="light"] .stat-card:hover,
:root[data-theme="light"] .traffic-card:hover,
:root[data-theme="light"] .course-card:hover,
:root[data-theme="light"] .course:hover,
:root[data-theme="light"] .crm-card:hover,
:root[data-theme="light"] .teacher-card:hover,
:root[data-theme="light"] .book-card:hover,
:root[data-theme="light"] .contact-card:hover,
:root[data-theme="light"] .sys-card:hover {
  border-color: rgba(212, 160, 23, .50);
  box-shadow: 0 14px 34px rgba(123, 13, 30, .12), 0 2px 8px rgba(212, 160, 23, .20);
  transform: translateY(-3px);
}

:root[data-theme="light"] .cs-glass {
  background: rgba(250, 247, 240, .76);
  border-color: var(--line);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .82),
    0 24px 60px rgba(69, 48, 29, .11);
}

:root[data-theme="light"] .course-thumb,
:root[data-theme="light"] .tv-thumb,
:root[data-theme="light"] .tc-photo-side,
:root[data-theme="light"] .book-cover-preview {
  background:
    radial-gradient(110% 120% at 18% 0, rgba(118, 33, 46, .12), transparent 58%),
    linear-gradient(145deg, #eee1d1 0%, #f7f1e7 54%, #e8dece 100%);
}

:root[data-theme="light"] .kpi::before,
:root[data-theme="light"] .stat::before,
:root[data-theme="light"] .panel::before,
:root[data-theme="light"] .course-card::before,
:root[data-theme="light"] .sys-card::before {
  background: linear-gradient(90deg, transparent, var(--crimson-action), var(--gold), transparent);
  opacity: .46;
}

:root[data-theme="light"] .kpi-icon,
:root[data-theme="light"] .stat-icon,
:root[data-theme="light"] .traffic-icon,
:root[data-theme="light"] .payment-kpi-ico,
:root[data-theme="light"] .sp-icon,
:root[data-theme="light"] .sys-icon,
:root[data-theme="light"] .contact-card-icon,
:root[data-theme="light"] .info-icon,
:root[data-theme="light"] .qa-mi-icon {
  color: #fff8ed;
  background: linear-gradient(145deg, #842938, #651a26);
  border-color: rgba(151, 112, 52, .34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

/* Course cards keep their own light-theme icon rules in courses.html / index-light.css */
:root[data-theme="light"] .courses-page .course-card .card-icon {
  color: #fff8ed !important;
  background: linear-gradient(145deg, #8a2a38, #5f1824) !important;
  border-color: rgba(123, 13, 30, .35) !important;
}

:root[data-theme="light"] .icon-gold {
  color: var(--gold-text);
  background: var(--gold-soft);
  border-color: var(--line-strong);
}

:root[data-theme="light"] .icon-crimson {
  color: var(--crimson);
  background: var(--crimson-soft);
  border-color: rgba(118, 33, 46, .19);
}

/* ===== Tables, filters, tabs, and selection ===== */
:root[data-theme="light"] .table-wrap,
:root[data-theme="light"] .filters,
:root[data-theme="light"] .sub-tier-pills,
:root[data-theme="light"] .tl-tabs,
:root[data-theme="light"] .chat-tabs,
:root[data-theme="light"] .tabs {
  background: rgba(255, 253, 248, .55);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

:root[data-theme="light"] :where(table, .tbl) thead,
:root[data-theme="light"] :where(table, .tbl) th {
  color: #1A0608;
  font-weight: 800;
  background: rgba(123, 13, 30, .04);
  border-bottom: 1px solid rgba(123, 13, 30, .14);
}

:root[data-theme="light"] :where(table, .tbl) td,
:root[data-theme="light"] :where(table, .tbl) tbody tr {
  color: #1A0608;
  border-bottom: 1px solid rgba(123, 13, 30, .08);
}

:root[data-theme="light"] :where(table, .tbl) tbody tr:hover td {
  background: rgba(212, 160, 23, .06);
}

:root[data-theme="light"] .filter-pill,
:root[data-theme="light"] .inbox-pill,
:root[data-theme="light"] .tl-tab,
:root[data-theme="light"] .tab,
:root[data-theme="light"] .chat-tab,
:root[data-theme="light"] .f-pill,
:root[data-theme="light"] .tf-chip,
:root[data-theme="light"] .subject-pill,
:root[data-theme="light"] .sys-check,
:root[data-theme="light"] .plan-pill,
:root[data-theme="light"] .book-format-choice,
:root[data-theme="light"] .book-curriculum-choice {
  color: var(--muted);
  background: rgba(255, 253, 248, .58);
  border-color: var(--line);
  box-shadow: none;
}

:root[data-theme="light"] .filter-pill:hover,
:root[data-theme="light"] .inbox-pill:hover,
:root[data-theme="light"] .tl-tab:hover,
:root[data-theme="light"] .tab:hover,
:root[data-theme="light"] .chat-tab:hover,
:root[data-theme="light"] .f-pill:hover,
:root[data-theme="light"] .tf-chip:hover,
:root[data-theme="light"] .subject-pill:hover,
:root[data-theme="light"] .sys-check:hover,
:root[data-theme="light"] .plan-pill:hover,
:root[data-theme="light"] .book-format-choice:hover,
:root[data-theme="light"] .book-curriculum-choice:hover {
  color: var(--crimson);
  background: rgba(169, 130, 58, .075);
  border-color: var(--line-strong);
}

:root[data-theme="light"] .filter-pill.is-active,
:root[data-theme="light"] .filter-pill.active,
:root[data-theme="light"] .inbox-pill.is-active,
:root[data-theme="light"] .tl-tab.is-active,
:root[data-theme="light"] .tab.active,
:root[data-theme="light"] .chat-tab.is-active,
:root[data-theme="light"] .f-pill.active,
:root[data-theme="light"] .f-pill.is-active,
:root[data-theme="light"] .tf-chip.is-active,
:root[data-theme="light"] .subject-pill.selected,
:root[data-theme="light"] .sys-check:has(input:checked),
:root[data-theme="light"] .plan-pill.is-active,
:root[data-theme="light"] .book-format-choice.is-selected,
:root[data-theme="light"] .book-curriculum-choice.is-selected {
  color: #ffffff !important;
  background: linear-gradient(135deg, #8a2a38, #6d1b27) !important;
  border-color: rgba(151, 112, 52, .5) !important;
  box-shadow: 0 6px 18px rgba(138, 42, 56, 0.25) !important;
}

:root[data-theme="light"] .plan-pill.is-active strong,
:root[data-theme="light"] .plan-pill.is-active b,
:root[data-theme="light"] .plan-pill.is-active h3,
:root[data-theme="light"] .plan-pill.is-active h4,
:root[data-theme="light"] .plan-pill.is-active span,
:root[data-theme="light"] .book-format-choice.is-selected strong,
:root[data-theme="light"] .book-format-choice.is-selected b,
:root[data-theme="light"] .book-format-choice.is-selected h3,
:root[data-theme="light"] .book-format-choice.is-selected h4,
:root[data-theme="light"] .book-format-choice.is-selected span,
:root[data-theme="light"] .book-curriculum-choice.is-selected strong,
:root[data-theme="light"] .book-curriculum-choice.is-selected b,
:root[data-theme="light"] .book-curriculum-choice.is-selected h3,
:root[data-theme="light"] .book-curriculum-choice.is-selected h4,
:root[data-theme="light"] .book-curriculum-choice.is-selected span {
  color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

:root[data-theme="light"] .plan-pill.is-active small,
:root[data-theme="light"] .plan-pill.is-active p,
:root[data-theme="light"] .plan-pill.is-active .pp-dur,
:root[data-theme="light"] .plan-pill.is-active .pp-price,
:root[data-theme="light"] .book-format-choice.is-selected small,
:root[data-theme="light"] .book-format-choice.is-selected p,
:root[data-theme="light"] .book-curriculum-choice.is-selected small,
:root[data-theme="light"] .book-curriculum-choice.is-selected p {
  color: rgba(255, 255, 255, 0.88) !important;
}

:root[data-theme="light"] .plan-pill.is-active i,
:root[data-theme="light"] .book-format-choice.is-selected i,
:root[data-theme="light"] .book-curriculum-choice.is-selected i {
  color: #ffd76d !important;
}

/* ===== Badges and semantic states ===== */
:root[data-theme="light"] .badge,
:root[data-theme="light"] .pill,
:root[data-theme="light"] .grade-tag,
:root[data-theme="light"] .duration-pill,
:root[data-theme="light"] .timer-chip,
:root[data-theme="light"] .sys-status,
:root[data-theme="light"] .t-courses-count,
:root[data-theme="light"] .ir-role {
  color: var(--gold-text);
  background: var(--gold-soft);
  border-color: var(--line-strong);
}

:root[data-theme="light"] .status-pill.online,
:root[data-theme="light"] .stat-trend,
:root[data-theme="light"] .kpi-trend.up,
:root[data-theme="light"] .timer-chip {
  color: #047857;
  background: linear-gradient(135deg, rgba(16,185,129,.16), rgba(5,150,105,.20));
  border: 1px solid rgba(5,150,105,.40);
  font-weight: 800;
  box-shadow: 0 1px 3px rgba(5,150,105,.12), inset 0 1px 0 rgba(255,255,255,.65);
}

:root[data-theme="light"] .status-pill.idle,
:root[data-theme="light"] .timer-chip.is-soon,
:root[data-theme="light"] .duration-pill.is-live {
  color: #78350f;
  background: linear-gradient(135deg, rgba(245,158,11,.16), rgba(217,119,6,.20));
  border: 1px solid rgba(180,83,9,.40);
  font-weight: 800;
  box-shadow: 0 1px 3px rgba(180,83,9,.10), inset 0 1px 0 rgba(255,255,255,.65);
}

:root[data-theme="light"] .status-pill.offline,
:root[data-theme="light"] .timer-chip.is-expired,
:root[data-theme="light"] .stat-trend.down {
  color: #443032;
  background: rgba(26,6,8,.06);
  border: 1px solid rgba(26,6,8,.15);
  font-weight: 700;
}

:root[data-theme="light"] .timer-chip.is-urgent,
:root[data-theme="light"] .access-expired-banner,
:root[data-theme="light"] .auth-error,
:root[data-theme="light"] .register-error {
  color: #991b1b;
  background: linear-gradient(135deg, rgba(239,68,68,.14), rgba(220,38,38,.18));
  border: 1px solid rgba(220,38,38,.38);
  font-weight: 800;
}

:root[data-theme="light"] .duration-pill.is-recorded {
  color: #1d4ed8;
  background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(29,78,216,.18));
  border: 1px solid rgba(29,78,216,.38);
  font-weight: 800;
}

/* ===== Modals, dialogs, menus, and messages ===== */
:root[data-theme="light"] .welcome-overlay,
:root[data-theme="light"] .modal-overlay,
:root[data-theme="light"] .tm-overlay,
:root[data-theme="light"] .crm-modal-overlay,
:root[data-theme="light"] .tc-modal-overlay,
:root[data-theme="light"] .dx-modal-overlay,
:root[data-theme="light"] .test-modal-overlay,
:root[data-theme="light"] .video-demo-overlay,
:root[data-theme="light"] .cs-confirm-overlay {
  background: var(--scrim);
}

:root[data-theme="light"] .welcome-dialog,
:root[data-theme="light"] .modal-dialog,
:root[data-theme="light"] .tm-dialog,
:root[data-theme="light"] .crm-modal-dialog,
:root[data-theme="light"] .tc-modal,
:root[data-theme="light"] .dx-modal-card,
:root[data-theme="light"] .test-modal-card,
:root[data-theme="light"] .video-demo-panel {
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .66), transparent 36%),
    repeating-linear-gradient(
      0deg,
      rgba(90, 65, 37, .011) 0,
      rgba(90, 65, 37, .011) 1px,
      transparent 1px,
      transparent 5px
    ),
    linear-gradient(180deg, #fdfaf4, #f1e8da);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-elevated);
}

:root[data-theme="light"] .modal-head,
:root[data-theme="light"] .modal-foot,
:root[data-theme="light"] .tm-head,
:root[data-theme="light"] .tm-foot,
:root[data-theme="light"] .chat-head,
:root[data-theme="light"] .chat-composer {
  border-color: var(--line);
}

:root[data-theme="light"] .modal-close,
:root[data-theme="light"] .tm-close,
:root[data-theme="light"] .auth-close,
:root[data-theme="light"] .crm-modal-close,
:root[data-theme="light"] .dx-modal-close,
:root[data-theme="light"] .test-modal-close,
:root[data-theme="light"] .chat-close {
  color: var(--muted);
  background: rgba(255, 253, 248, .68);
  border-color: var(--line);
}

:root[data-theme="light"] .modal-close:hover,
:root[data-theme="light"] .tm-close:hover,
:root[data-theme="light"] .auth-close:hover,
:root[data-theme="light"] .crm-modal-close:hover,
:root[data-theme="light"] .dx-modal-close:hover,
:root[data-theme="light"] .test-modal-close:hover,
:root[data-theme="light"] .chat-close:hover {
  color: var(--crimson);
  background: rgba(118, 33, 46, .075);
  border-color: rgba(118, 33, 46, .22);
}

/* Video modal close buttons: always high-contrast dark circular pill regardless of theme */
:root[data-theme="light"] .tc-modal-close,
:root[data-theme="light"] .video-demo-close {
  color: #ffffff !important;
  background: rgba(18, 20, 24, .88) !important;
  border-color: rgba(255, 255, 255, .25) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .45);
}
:root[data-theme="light"] .tc-modal-close i,
:root[data-theme="light"] .video-demo-close i {
  color: #ffffff !important;
}
:root[data-theme="light"] .tc-modal-close:hover,
:root[data-theme="light"] .video-demo-close:hover {
  color: #ffffff !important;
  background: rgba(168, 42, 58, .95) !important;
  border-color: rgba(255, 255, 255, .4) !important;
}

:root[data-theme="light"] .chat-dock,
:root[data-theme="light"] .chat-pane,
:root[data-theme="light"] .chat-peer-head,
:root[data-theme="light"] .inbox-list-col,
:root[data-theme="light"] .inbox-thread-col {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(252, 249, 242, .98), rgba(241, 233, 220, .98));
  border-color: var(--line);
  box-shadow: var(--shadow-card);
}

:root[data-theme="light"] .ith-msg.in,
:root[data-theme="light"] .msg-bubble,
:root[data-theme="light"] .chat-msg.in {
  color: var(--text);
  background: rgba(255, 253, 248, .78);
  border-color: var(--line);
}

:root[data-theme="light"] .ith-msg.out,
:root[data-theme="light"] .chat-msg.out {
  color: #fff8ed;
  background: linear-gradient(135deg, #76212e, #963544);
  border-color: rgba(151, 112, 52, .28);
  box-shadow: 0 8px 20px rgba(89, 24, 34, .16);
}

/* ===== Public-page details ===== */
:root[data-theme="light"] .courses-head .accent,
:root[data-theme="light"] .crm-head .accent,
:root[data-theme="light"] .teachers-head .accent,
:root[data-theme="light"] .contact-hero .accent,
:root[data-theme="light"] .page-head .accent,
:root[data-theme="light"] .section-head .accent,
:root[data-theme="light"] .welcome .accent,
:root[data-theme="light"] .page-title .accent {
  color: var(--crimson);
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

:root[data-theme="light"] .eyebrow,
:root[data-theme="light"] .contact-hero-badge,
:root[data-theme="light"] .welcome-badge,
:root[data-theme="light"] .welcome-pills span {
  color: var(--crimson);
  background: rgba(255, 253, 248, .68);
  border-color: var(--line-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

:root[data-theme="light"] .crm-stage,
:root[data-theme="light"] .crm-grade,
:root[data-theme="light"] .crm-back,
:root[data-theme="light"] .card-arrow,
:root[data-theme="light"] .social-pill {
  color: var(--muted);
  background: rgba(255, 253, 248, .58);
  border-color: var(--line);
}

:root[data-theme="light"] .crm-stage:hover,
:root[data-theme="light"] .crm-stage.active,
:root[data-theme="light"] .crm-stage.is-active,
:root[data-theme="light"] .crm-grade:hover,
:root[data-theme="light"] .crm-grade.active,
:root[data-theme="light"] .crm-grade.is-active,
:root[data-theme="light"] .social-pill:hover {
  color: var(--crimson);
  background: rgba(169, 130, 58, .075);
  border-color: var(--line-strong);
  box-shadow: 0 0 0 1px rgba(169, 130, 58, .13);
}

:root[data-theme="light"] .crm-grade.active .tr-sub,
:root[data-theme="light"] .crm-grade.is-active .tr-sub,
:root[data-theme="light"] .crm-stage.active .tr-sub,
:root[data-theme="light"] .crm-stage.is-active .tr-sub {
  color: #66584d;
  opacity: 1;
}

:root[data-theme="light"] .book-tags span,
:root[data-theme="light"] .b-tag-cat,
:root[data-theme="light"] .b-tag-pdf,
:root[data-theme="light"] .b-tag-print,
:root[data-theme="light"] .tc-subj {
  color: var(--gold-text);
  background: var(--gold-soft);
  border-color: var(--line-strong);
}

:root[data-theme="light"] .social-strip,
:root[data-theme="light"] .priv {
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .5), transparent 42%),
    linear-gradient(180deg, #faf7f0, #f1e8da);
  border-color: var(--line);
  box-shadow: var(--shadow-card);
}

/* ===== Footer and branded utility controls ===== */
:root[data-theme="light"] footer {
  background:
    linear-gradient(180deg, transparent 0%, rgba(238, 230, 217, .72) 35%, #e9dfd0 100%);
  border-color: var(--line);
}

:root[data-theme="light"] .foot-col h4,
:root[data-theme="light"] .dev-brand,
:root[data-theme="light"] .foot-bottom .gold {
  color: var(--crimson);
}

:root[data-theme="light"] .socials a {
  color: var(--gold-text);
  background: rgba(255, 253, 248, .58);
  border-color: var(--line);
}

:root[data-theme="light"] .socials a:hover {
  color: #fff8ed;
  background: linear-gradient(145deg, #842938, #651a26);
  border-color: rgba(151, 112, 52, .34);
}

:root[data-theme="light"] .whatsapp-float,
:root[data-theme="light"] .legal-btn--wa,
:root[data-theme="light"] .contact-card--wa .contact-card-btn {
  color: #f4fff8;
  background: linear-gradient(145deg, #1b824b, #105f37);
  border-color: rgba(151, 112, 52, .38);
  box-shadow:
    0 16px 34px rgba(28, 83, 51, .18),
    inset 0 1px 0 rgba(255, 255, 255, .16);
}

:root[data-theme="light"] .legal-btn--mail,
:root[data-theme="light"] .contact-card--mail .contact-card-btn {
  color: #fff8ed !important;
  background: linear-gradient(135deg, #76212e, #912f3e);
  border-color: rgba(151, 112, 52, .38);
  box-shadow:
    0 12px 28px rgba(89, 24, 34, .16),
    inset 0 1px 0 rgba(255, 255, 255, .13);
}

:root[data-theme="light"] .legal-btn--mail:hover,
:root[data-theme="light"] .contact-card--mail .contact-card-btn:hover {
  color: #fffaf2 !important;
  background: linear-gradient(135deg, #842a39, #a23a49);
  border-color: rgba(151, 112, 52, .48);
}

:root[data-theme="light"] .legal-btn--mail i,
:root[data-theme="light"] .contact-card--mail .contact-card-btn i {
  color: #fff8ed !important;
}

@media (prefers-reduced-motion: reduce) {
  :root[data-theme="light"] body::before {
    animation: none;
  }
}

/* الشريحة الفاتحة تحتاج أيقونة داكنة — الطبقة القديمة ما زالت تلوّنها gold-light.
   يُحمَّل هذا الملف بعد curriculum-light.css في curriculum.html فيفوز عند تساوي الأولوية. */
:root[data-theme="light"] .crm-stage.active i,
:root[data-theme="light"] .crm-stage.is-active i {
  color: var(--gold-text);
}
