/* ==========================================================================
   Course Student — Contemporary Manuscript
   Shared dark-mode skin.

   Contract:
   - loaded after every page's existing styles
   - affects dark mode only
   - changes palette and paint, never document geometry
   ========================================================================== */

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

  --bg: #090b0b;
  --bg-2: #0d0f0f;
  --surface: #121413;
  --surface-1: #121413;
  --surface-2: #181a19;
  --card: #181a19;

  --text: #f3eee4;
  --ink: #f3eee4;
  --ink-strong: #fffaf0;
  --muted: rgba(230, 222, 207, .68);
  --hint: rgba(230, 222, 207, .48);

  --crimson: #741823;
  --crimson-deep: #4d0f17;
  --crimson-action: #a82a3a;
  --crimson-soft: rgba(168, 42, 58, .14);

  --gold: #aa8a4b;
  --gold-light: #d5b971;
  --gold-text: #d5b971;
  --gold-soft: rgba(170, 138, 75, .09);
  --gold-on-gold: #16130d;

  --badge-bg: #eadfc9;
  --linen: #d9ccb3;
  --linen-soft: rgba(217, 204, 179, .065);
  --ink-deep: #080a0a;
  --crimson-ink: #2b0a10;

  --line: rgba(190, 159, 96, .16);
  --line-strong: rgba(197, 165, 99, .32);

  --green: #70cc91;
  --green-soft: rgba(72, 176, 112, .13);
  --danger: #ff8796;
  --danger-soft: rgba(168, 42, 58, .17);
  --success: #70cc91;
  --warning: #d5b971;
  --info: #83aee8;

  --field-bg: rgba(243, 238, 228, .035);
  --field-bg-focus: rgba(243, 238, 228, .06);
  --field-text: #f3eee4;
  --field-placeholder: rgba(230, 222, 207, .36);
  --field-border: rgba(190, 159, 96, .18);
  --field-border-focus: #b99a59;
  --field-ring: rgba(185, 154, 89, .12);

  --scrim: rgba(5, 7, 7, .8);
  --scrim-blur: 7px;

  --ambient-1:
    radial-gradient(900px 600px at 88% -8%, rgba(116, 24, 35, .17), transparent 64%);
  --ambient-2:
    radial-gradient(760px 580px at 4% 24%, rgba(170, 138, 75, .075), transparent 68%);

  --shadow-card:
    0 1px 0 rgba(255, 255, 255, .025) inset,
    0 10px 26px rgba(0, 0, 0, .28);
  --shadow-elevated:
    0 1px 0 rgba(255, 255, 255, .035) inset,
    0 28px 70px rgba(0, 0, 0, .5);
  --shadow-gold:
    0 12px 28px rgba(78, 61, 29, .2),
    inset 0 1px 0 rgba(255, 255, 255, .11);
  --shadow-crimson:
    0 14px 32px rgba(75, 11, 22, .28),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

/* ===== Basalt atmosphere ===== */
:root[data-theme="dark"] body {
  color: var(--text);
  background:
    linear-gradient(180deg, #090b0b 0%, #0b0d0d 48%, #090a0a 100%);
}

:root[data-theme="dark"] body::before {
  background:
    radial-gradient(900px 620px at 88% -8%, rgba(116, 24, 35, .17), transparent 64%),
    radial-gradient(760px 560px at 5% 18%, rgba(170, 138, 75, .075), transparent 68%),
    radial-gradient(850px 720px at 48% 105%, rgba(105, 27, 37, .075), transparent 66%),
    repeating-linear-gradient(
      118deg,
      rgba(255, 255, 255, .007) 0,
      rgba(255, 255, 255, .007) 1px,
      transparent 1px,
      transparent 7px
    );
  opacity: .94;
  animation: manuscript-ambient-drift 28s ease-in-out infinite alternate;
}

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

:root[data-theme="dark"] .cs-mesh {
  background:
    radial-gradient(60% 50% at 20% 30%, rgba(116, 24, 35, .15), transparent 62%),
    radial-gradient(50% 45% at 85% 20%, rgba(170, 138, 75, .095), transparent 68%),
    radial-gradient(55% 50% at 70% 90%, rgba(116, 24, 35, .1), transparent 64%),
    radial-gradient(45% 40% at 10% 85%, rgba(213, 185, 113, .055), transparent 68%);
  opacity: .48;
  filter: blur(24px) saturate(.78);
}

:root[data-theme="dark"] .cs-mesh::after {
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 40%,
    rgba(170, 138, 75, .045) 47%,
    rgba(213, 185, 113, .075) 50%,
    rgba(116, 24, 35, .055) 54%,
    transparent 61%,
    transparent 100%
  );
}

:root[data-theme="dark"] .cs-stardust i {
  background: var(--gold-light);
  box-shadow:
    0 0 7px rgba(213, 185, 113, .36),
    0 0 13px rgba(170, 138, 75, .22);
}

:root[data-theme="dark"] .cs-stardust i.crimson {
  background: #d89aa3;
  box-shadow:
    0 0 7px rgba(168, 42, 58, .34),
    0 0 13px rgba(116, 24, 35, .2);
}

@keyframes manuscript-ambient-drift {
  0% { transform: translate3d(-1%, -.5%, 0) scale(1.01); opacity: .87; }
  55% { transform: translate3d(.7%, .6%, 0) scale(1.025); opacity: 1; }
  100% { transform: translate3d(1.1%, -.35%, 0) scale(1.012); opacity: .91; }
}

/* ===== Shared navigation and app chrome ===== */
:root[data-theme="dark"] .nav,
:root[data-theme="dark"] .topbar {
  background:
    linear-gradient(180deg, rgba(12, 14, 14, .94), rgba(9, 11, 11, .88));
  border-color: var(--line);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .18);
}

:root[data-theme="dark"] .sidebar {
  background:
    linear-gradient(180deg, rgba(18, 20, 19, .98), rgba(10, 12, 12, .98));
  border-color: var(--line);
  box-shadow: -18px 0 48px rgba(0, 0, 0, .12);
}

:root[data-theme="dark"] .nav-dropdown-menu,
:root[data-theme="dark"] .nav-submenu,
:root[data-theme="dark"] .mnav-drawer,
:root[data-theme="dark"] .user-menu,
:root[data-theme="dark"] .qa-menu,
:root[data-theme="dark"] .country-dropdown,
:root[data-theme="dark"] .book-currency-menu {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(25, 27, 26, .99), rgba(14, 16, 16, .99));
  border-color: var(--line);
  box-shadow: var(--shadow-elevated);
}

:root[data-theme="dark"] .nav-links a,
:root[data-theme="dark"] .nav-item,
:root[data-theme="dark"] .mnav-links a,
:root[data-theme="dark"] .user-menu-item {
  color: rgba(243, 238, 228, .73);
}

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

:root[data-theme="dark"] .nav-dropdown-menu a,
:root[data-theme="dark"] .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="dark"] .nav-item:hover,
:root[data-theme="dark"] .nav-dropdown-menu a:hover,
:root[data-theme="dark"] .nav-submenu a:hover,
:root[data-theme="dark"] .mnav-links a:hover,
:root[data-theme="dark"] .user-menu-item:hover {
  background: rgba(170, 138, 75, .12);
  color: var(--gold-light);
}

:root[data-theme="dark"] .nav-item.active {
  color: var(--text);
  background: linear-gradient(90deg, rgba(168, 42, 58, .13), rgba(170, 138, 75, .035), transparent);
}

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

:root[data-theme="dark"] .nav-item.active::before,
:root[data-theme="dark"] .nav-links a.active::after {
  background: linear-gradient(180deg, var(--crimson-action), var(--crimson));
  box-shadow: 0 0 12px rgba(168, 42, 58, .28);
}

:root[data-theme="dark"] .role-pill,
:root[data-theme="dark"] .sidebar-foot {
  background:
    linear-gradient(135deg, rgba(168, 42, 58, .105), rgba(170, 138, 75, .05));
  border-color: var(--line-strong);
}

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

:root[data-theme="dark"] .nav-theme-btn,
:root[data-theme="dark"] .mnav-theme,
:root[data-theme="dark"] .mnav-burger,
:root[data-theme="dark"] .icon-btn {
  color: var(--gold-light);
  background: rgba(243, 238, 228, .025);
  border-color: var(--line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

:root[data-theme="dark"] .nav-theme-btn:hover,
:root[data-theme="dark"] .mnav-theme:hover,
:root[data-theme="dark"] .mnav-burger:hover,
:root[data-theme="dark"] .icon-btn:hover {
  color: var(--text);
  background: rgba(170, 138, 75, .075);
  border-color: var(--line-strong);
}

:root[data-theme="dark"] .lang-switch {
  background: rgba(243, 238, 228, .022);
  border-color: var(--line);
}

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

:root[data-theme="dark"] .lang-switch button:hover {
  color: var(--text);
  background: rgba(170, 138, 75, .065);
}

:root[data-theme="dark"] .lang-switch button.is-active,
:root[data-theme="dark"] .mnav-lang button.is-active {
  color: #fff8ed;
  background: linear-gradient(135deg, #771a28, #a82a3a);
  box-shadow:
    0 8px 18px rgba(75, 11, 22, .27),
    inset 0 1px 0 rgba(255, 255, 255, .13);
}

/* ===== Buttons and focus ===== */
:root[data-theme="dark"] .btn-gold,
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .qa-gold,
:root[data-theme="dark"] .register-submit,
:root[data-theme="dark"] .pkg-cta-gold,
:root[data-theme="dark"] .tm-btn-primary,
:root[data-theme="dark"] .td-btn-primary,
:root[data-theme="dark"] .chat-send,
:root[data-theme="dark"] .svc-btn--gold,
:root[data-theme="dark"] .resume-btn:hover,
:root[data-theme="dark"] .upload-btn:hover {
  color: #fff8ed;
  background: linear-gradient(135deg, #771a28, #a82a3a);
  border-color: rgba(213, 185, 113, .25);
  box-shadow: var(--shadow-crimson);
}

:root[data-theme="dark"] .btn-gold:hover,
:root[data-theme="dark"] .btn-primary:hover,
:root[data-theme="dark"] .qa-gold:hover,
:root[data-theme="dark"] .register-submit:hover:not(:disabled),
:root[data-theme="dark"] .pkg-cta-gold:hover,
:root[data-theme="dark"] .tm-btn-primary:hover,
:root[data-theme="dark"] .td-btn-primary:hover,
:root[data-theme="dark"] .chat-send:hover {
  color: #fffaf2;
  background: linear-gradient(135deg, #862032, #b83245);
  border-color: rgba(213, 185, 113, .34);
  box-shadow:
    0 18px 40px rgba(75, 11, 22, .36),
    inset 0 1px 0 rgba(255, 255, 255, .13);
}

:root[data-theme="dark"] .btn-ghost,
:root[data-theme="dark"] .qa-ghost,
:root[data-theme="dark"] .btn-secondary,
:root[data-theme="dark"] .tm-btn-ghost,
:root[data-theme="dark"] .pkg-cta-ghost,
:root[data-theme="dark"] .legal-btn,
:root[data-theme="dark"] .contact-card-btn {
  color: var(--text);
  background: rgba(243, 238, 228, .018);
  border-color: var(--line-strong);
  box-shadow: none;
}

:root[data-theme="dark"] .btn-ghost:hover,
:root[data-theme="dark"] .qa-ghost:hover,
:root[data-theme="dark"] .btn-secondary:hover,
:root[data-theme="dark"] .tm-btn-ghost:hover,
:root[data-theme="dark"] .pkg-cta-ghost:hover,
:root[data-theme="dark"] .legal-btn:hover,
:root[data-theme="dark"] .contact-card-btn:hover {
  color: var(--gold-light);
  background: rgba(170, 138, 75, .075);
  border-color: rgba(213, 185, 113, .52);
}

:root[data-theme="dark"] .btn-danger,
:root[data-theme="dark"] .is-danger {
  color: #ffeef0;
  background: rgba(168, 42, 58, .18);
  border-color: rgba(255, 135, 150, .34);
}

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

/* ===== Form controls and search ===== */
:root[data-theme="dark"] :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="dark"] :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="dark"] :where(input, textarea)::placeholder {
  color: var(--field-placeholder);
  opacity: 1;
}

:root[data-theme="dark"] .search input,
:root[data-theme="dark"] .inbox-input,
:root[data-theme="dark"] .comp-input,
:root[data-theme="dark"] .country-search,
:root[data-theme="dark"] .teacher-pick-control,
:root[data-theme="dark"] .book-currency-toggle {
  color: var(--field-text);
  background: rgba(243, 238, 228, .03);
  border-color: var(--field-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
}

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

/* ===== Shared surfaces ===== */
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .kpi,
:root[data-theme="dark"] .stat,
:root[data-theme="dark"] .stat-card,
:root[data-theme="dark"] .traffic-card,
:root[data-theme="dark"] .payment-kpi,
:root[data-theme="dark"] .course,
:root[data-theme="dark"] .course-card,
:root[data-theme="dark"] .crm-card,
:root[data-theme="dark"] .teacher-card,
:root[data-theme="dark"] .book-card,
:root[data-theme="dark"] .contact-card,
:root[data-theme="dark"] .sys-card,
:root[data-theme="dark"] .sp-card,
:root[data-theme="dark"] .sp-sub,
:root[data-theme="dark"] .svc-chip-3d,
:root[data-theme="dark"] .pkg-card,
:root[data-theme="dark"] .set-card,
:root[data-theme="dark"] .mset-card,
:root[data-theme="dark"] .assign-pane,
:root[data-theme="dark"] .next-session,
:root[data-theme="dark"] .info-strip {
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .02), transparent 42%),
    linear-gradient(180deg, #181a19, #111313);
  border-color: var(--line);
  box-shadow: var(--shadow-card);
}

:root[data-theme="dark"] .panel:hover,
:root[data-theme="dark"] .kpi:hover,
:root[data-theme="dark"] .stat:hover,
:root[data-theme="dark"] .stat-card:hover,
:root[data-theme="dark"] .traffic-card:hover,
:root[data-theme="dark"] .course-card:hover,
:root[data-theme="dark"] .crm-card:hover,
:root[data-theme="dark"] .teacher-card:hover,
:root[data-theme="dark"] .book-card:hover,
:root[data-theme="dark"] .contact-card:hover,
:root[data-theme="dark"] .sys-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-elevated);
}

:root[data-theme="dark"] .cs-glass {
  background: rgba(18, 20, 19, .72);
  border-color: var(--line);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .025),
    0 24px 60px rgba(0, 0, 0, .4);
}

:root[data-theme="dark"] .course-thumb,
:root[data-theme="dark"] .tv-thumb,
:root[data-theme="dark"] .tc-photo-side,
:root[data-theme="dark"] .book-cover-preview {
  background:
    radial-gradient(110% 120% at 18% 0, rgba(168, 42, 58, .22), transparent 58%),
    linear-gradient(145deg, #251014 0%, #130f10 54%, #0d0f0f 100%);
}

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

:root[data-theme="dark"] .kpi-icon,
:root[data-theme="dark"] .stat-icon,
:root[data-theme="dark"] .traffic-icon,
:root[data-theme="dark"] .payment-kpi-ico,
:root[data-theme="dark"] .sp-icon,
:root[data-theme="dark"] .sys-icon,
:root[data-theme="dark"] .contact-card-icon,
:root[data-theme="dark"] .card-icon,
:root[data-theme="dark"] .info-icon,
:root[data-theme="dark"] .qa-mi-icon {
  color: #f4e9d6;
  background: linear-gradient(145deg, #7b1b29, #551019);
  border-color: rgba(185, 154, 89, .25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

:root[data-theme="dark"] .pill-ic {
  color: #fff8ed !important;
  background: linear-gradient(145deg, #7b1b29, #551019) !important;
  border: 1px solid rgba(185, 154, 89, .28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
:root[data-theme="dark"] .pill-ic i,
:root[data-theme="dark"] .pill-ic svg {
  color: #fff8ed !important;
  -webkit-text-fill-color: #fff8ed;
}

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

:root[data-theme="dark"] .icon-crimson {
  color: #e59ba5;
  background: var(--crimson-soft);
  border-color: rgba(168, 42, 58, .28);
}

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

:root[data-theme="dark"] :where(table, .tbl) thead,
:root[data-theme="dark"] :where(table, .tbl) th {
  color: var(--gold-light);
  background: rgba(170, 138, 75, .055);
  border-color: var(--line);
}

:root[data-theme="dark"] :where(table, .tbl) td,
:root[data-theme="dark"] :where(table, .tbl) tbody tr {
  color: var(--text);
  border-color: var(--line);
}

:root[data-theme="dark"] :where(table, .tbl) tbody tr:hover {
  background: rgba(170, 138, 75, .04);
}

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

:root[data-theme="dark"] .filter-pill:hover,
:root[data-theme="dark"] .inbox-pill:hover,
:root[data-theme="dark"] .tl-tab:hover,
:root[data-theme="dark"] .tab:hover,
:root[data-theme="dark"] .chat-tab:hover,
:root[data-theme="dark"] .f-pill:hover,
:root[data-theme="dark"] .tf-chip:hover,
:root[data-theme="dark"] .subject-pill:hover,
:root[data-theme="dark"] .sys-check:hover,
:root[data-theme="dark"] .plan-pill:hover,
:root[data-theme="dark"] .book-format-choice:hover,
:root[data-theme="dark"] .book-curriculum-choice:hover {
  color: var(--text);
  background: rgba(170, 138, 75, .065);
  border-color: var(--line-strong);
}

:root[data-theme="dark"] .filter-pill.is-active,
:root[data-theme="dark"] .filter-pill.active,
:root[data-theme="dark"] .inbox-pill.is-active,
:root[data-theme="dark"] .tl-tab.is-active,
:root[data-theme="dark"] .tab.active,
:root[data-theme="dark"] .chat-tab.is-active,
:root[data-theme="dark"] .f-pill.active,
:root[data-theme="dark"] .f-pill.is-active,
:root[data-theme="dark"] .tf-chip.is-active,
:root[data-theme="dark"] .subject-pill.selected,
:root[data-theme="dark"] .sys-check:has(input:checked),
:root[data-theme="dark"] .plan-pill.is-active,
:root[data-theme="dark"] .book-format-choice.is-selected,
:root[data-theme="dark"] .book-curriculum-choice.is-selected {
  color: #fff7e9;
  background: linear-gradient(135deg, rgba(116, 24, 35, .92), rgba(168, 42, 58, .88));
  border-color: rgba(213, 185, 113, .4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
}

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

:root[data-theme="dark"] .status-pill.online,
:root[data-theme="dark"] .stat-trend,
:root[data-theme="dark"] .kpi-trend.up,
:root[data-theme="dark"] .timer-chip {
  color: #8cdda8;
  background: var(--green-soft);
  border-color: rgba(112, 204, 145, .26);
}

:root[data-theme="dark"] .status-pill.idle,
:root[data-theme="dark"] .timer-chip.is-soon,
:root[data-theme="dark"] .duration-pill.is-live {
  color: var(--gold-light);
  background: var(--gold-soft);
  border-color: var(--line-strong);
}

:root[data-theme="dark"] .status-pill.offline,
:root[data-theme="dark"] .timer-chip.is-expired,
:root[data-theme="dark"] .stat-trend.down {
  color: var(--muted);
  background: rgba(243, 238, 228, .04);
  border-color: var(--line);
}

:root[data-theme="dark"] .timer-chip.is-urgent,
:root[data-theme="dark"] .access-expired-banner,
:root[data-theme="dark"] .auth-error,
:root[data-theme="dark"] .register-error {
  color: #ffb1bc;
  background: rgba(168, 42, 58, .14);
  border-color: rgba(255, 135, 150, .3);
}

:root[data-theme="dark"] .duration-pill.is-recorded {
  color: #9ec4ff;
  background: rgba(70, 117, 190, .13);
  border-color: rgba(131, 174, 232, .3);
}

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

:root[data-theme="dark"] .welcome-dialog,
:root[data-theme="dark"] .modal-dialog,
:root[data-theme="dark"] .tm-dialog,
:root[data-theme="dark"] .crm-modal-dialog,
:root[data-theme="dark"] .tc-modal,
:root[data-theme="dark"] .dx-modal-card,
:root[data-theme="dark"] .test-modal-card,
:root[data-theme="dark"] .video-demo-panel,
:root[data-theme="dark"] .cs-confirm-box {
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .025), transparent 36%),
    linear-gradient(180deg, #191b1a, #101212);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-elevated);
}

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

:root[data-theme="dark"] .modal-close,
:root[data-theme="dark"] .tm-close,
:root[data-theme="dark"] .auth-close,
:root[data-theme="dark"] .crm-modal-close,
:root[data-theme="dark"] .dx-modal-close,
:root[data-theme="dark"] .test-modal-close,
:root[data-theme="dark"] .chat-close {
  color: var(--muted);
  background: rgba(243, 238, 228, .035);
  border-color: var(--line);
}

:root[data-theme="dark"] .modal-close:hover,
:root[data-theme="dark"] .tm-close:hover,
:root[data-theme="dark"] .auth-close:hover,
:root[data-theme="dark"] .crm-modal-close:hover,
:root[data-theme="dark"] .dx-modal-close:hover,
:root[data-theme="dark"] .test-modal-close:hover,
:root[data-theme="dark"] .chat-close:hover {
  color: #ffbdc5;
  background: rgba(168, 42, 58, .14);
  border-color: rgba(255, 135, 150, .28);
}

/* Video modal close buttons: always high-contrast dark circular pill regardless of theme */
:root[data-theme="dark"] .tc-modal-close,
:root[data-theme="dark"] .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="dark"] .tc-modal-close i,
:root[data-theme="dark"] .video-demo-close i {
  color: #ffffff !important;
}
:root[data-theme="dark"] .tc-modal-close:hover,
:root[data-theme="dark"] .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="dark"] .chat-dock,
:root[data-theme="dark"] .chat-pane,
:root[data-theme="dark"] .chat-peer-head,
:root[data-theme="dark"] .inbox-list-col,
:root[data-theme="dark"] .inbox-thread-col {
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(24, 26, 25, .98), rgba(14, 16, 16, .98));
  border-color: var(--line);
  box-shadow: var(--shadow-card);
}

:root[data-theme="dark"] .ith-msg.in,
:root[data-theme="dark"] .msg-bubble,
:root[data-theme="dark"] .chat-msg.in {
  color: var(--text);
  background: rgba(243, 238, 228, .045);
  border-color: var(--line);
}

:root[data-theme="dark"] .ith-msg.out,
:root[data-theme="dark"] .chat-msg.out {
  color: #fff7e8;
  background: linear-gradient(135deg, #741823, #9b2636);
  border-color: rgba(213, 185, 113, .24);
  box-shadow: 0 8px 20px rgba(60, 10, 18, .24);
}

/* ===== Public-page details ===== */
:root[data-theme="dark"] .courses-head .accent,
:root[data-theme="dark"] .crm-head .accent,
:root[data-theme="dark"] .teachers-head .accent,
:root[data-theme="dark"] .contact-hero .accent,
:root[data-theme="dark"] .page-head .accent,
:root[data-theme="dark"] .section-head .accent,
:root[data-theme="dark"] .welcome .accent,
:root[data-theme="dark"] .page-title .accent {
  color: var(--gold-light);
  background: linear-gradient(135deg, #e1ca8f, #b4914e);
  -webkit-background-clip: text;
  background-clip: text;
}

:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .contact-hero-badge,
:root[data-theme="dark"] .welcome-badge,
:root[data-theme="dark"] .welcome-pills span {
  color: var(--gold-light);
  background: rgba(170, 138, 75, .055);
  border-color: var(--line-strong);
  box-shadow: none;
}

:root[data-theme="dark"] .crm-stage,
:root[data-theme="dark"] .crm-grade,
:root[data-theme="dark"] .crm-back,
:root[data-theme="dark"] .card-arrow,
:root[data-theme="dark"] .social-pill {
  color: var(--muted);
  background: rgba(243, 238, 228, .02);
  border-color: var(--line);
}

:root[data-theme="dark"] .crm-stage:hover,
:root[data-theme="dark"] .crm-stage.active,
:root[data-theme="dark"] .crm-stage.is-active,
:root[data-theme="dark"] .crm-grade:hover,
:root[data-theme="dark"] .crm-grade.active,
:root[data-theme="dark"] .crm-grade.is-active,
:root[data-theme="dark"] .social-pill:hover {
  color: var(--gold-light);
  background: rgba(170, 138, 75, .075);
  border-color: var(--line-strong);
  box-shadow: 0 0 0 1px rgba(212, 160, 23, .22);
}

/* Active grade/stage Turkish subtitle must stay readable on dark surfaces */
:root[data-theme="dark"] .crm-grade.active .tr-sub,
:root[data-theme="dark"] .crm-grade.is-active .tr-sub,
:root[data-theme="dark"] .crm-stage.active .tr-sub,
:root[data-theme="dark"] .crm-stage.is-active .tr-sub {
  color: rgba(244, 233, 214, .82);
  opacity: 1;
}

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

:root[data-theme="dark"] .social-strip,
:root[data-theme="dark"] .priv {
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .018), transparent 42%),
    linear-gradient(180deg, #161817, #101212);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-card);
}

/* ===== Footer and branded utility controls ===== */
:root[data-theme="dark"] footer {
  background:
    linear-gradient(180deg, transparent 0%, rgba(17, 19, 19, .74) 35%, #0c0e0e 100%);
  border-color: var(--line);
}

:root[data-theme="dark"] .brand-logo--dark,
:root[data-theme="dark"] .brand-mark--dark {
  display: block !important;
}

:root[data-theme="dark"] .brand-logo--light,
:root[data-theme="dark"] .brand-mark--light {
  display: none !important;
}

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

:root[data-theme="dark"] .socials a {
  color: var(--gold-light);
  background: rgba(243, 238, 228, .018);
  border-color: var(--line);
}

:root[data-theme="dark"] .socials a:hover {
  color: #fff5e5;
  background: linear-gradient(145deg, #7c1d2b, #55101a);
  border-color: rgba(185, 154, 89, .25);
}

:root[data-theme="dark"] .whatsapp-float,
:root[data-theme="dark"] .legal-btn--wa,
:root[data-theme="dark"] .contact-card--wa .contact-card-btn {
  color: #f3fff7;
  background: linear-gradient(145deg, #177c46, #0e5631);
  border-color: rgba(213, 185, 113, .42);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, .3),
    inset 0 1px 0 rgba(255, 255, 255, .14);
}

:root[data-theme="dark"] .legal-btn--mail,
:root[data-theme="dark"] .contact-card--mail .contact-card-btn {
  color: #1a0608 !important;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border: 1px solid rgba(213, 185, 113, .55);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, .28),
    0 8px 20px rgba(212, 160, 23, .22),
    inset 0 1px 0 rgba(255, 255, 255, .28);
}

:root[data-theme="dark"] .legal-btn--mail:hover,
:root[data-theme="dark"] .contact-card--mail .contact-card-btn:hover {
  color: #1a0608 !important;
  background: linear-gradient(135deg, var(--gold-light), #f5d56a);
  border-color: rgba(240, 192, 64, .7);
  box-shadow:
    0 16px 32px rgba(0, 0, 0, .32),
    0 10px 24px rgba(212, 160, 23, .35);
}

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

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