/* ============================================================
   Course Student — Light-mode overrides
   Generic warm cream / white palette for pages without a
   dedicated scoped light CSS (teacher, admin, library).
   Loaded AFTER each page's inline <style> so cascade wins.
   ============================================================ */

:root[data-theme="light"] body::before{
  background:
    radial-gradient(800px 500px at 90% -10%, rgba(212,160,23,.18), transparent 60%),
    radial-gradient(700px 600px at -10% 110%, rgba(123,13,30,.06), transparent 65%);
}

/* ===== SIDEBAR (teacher / admin) ===== */
:root[data-theme="light"] .sidebar{
  background:#fff;
  border-left:1px solid var(--line);
  box-shadow:0 0 30px rgba(123,13,30,.04);
}
:root[data-theme="light"] .brand-text{
  color:var(--ink);
  background:none;
  -webkit-background-clip:initial;background-clip:initial;
  -webkit-text-fill-color:initial;
}
:root[data-theme="light"] .brand-text small{
  color:var(--gold);
  -webkit-text-fill-color:var(--gold);
  font-weight:700;
}
:root[data-theme="light"] .nav-item{ color:#5a4244; font-weight:600; }
:root[data-theme="light"] .nav-item i{ color:#a08688; }
:root[data-theme="light"] .nav-item:hover{ background:var(--gold-soft); color:var(--ink); }
:root[data-theme="light"] .nav-item:hover i{ color:var(--crimson); }
:root[data-theme="light"] .nav-item.active{
  background:linear-gradient(90deg,var(--gold-soft),transparent);
  color:var(--crimson); font-weight:800;
}
:root[data-theme="light"] .nav-item.active i{ color:var(--crimson); }

/* Role pill — keep gradient but recolor for readability */
:root[data-theme="light"] .role-pill{
  background:linear-gradient(135deg, var(--gold-soft), var(--crimson-soft));
  border:1px solid var(--line-strong);
}
:root[data-theme="light"] .role-pill i,
:root[data-theme="light"] .role-pill strong{ color:var(--crimson); }
:root[data-theme="light"] .role-pill small{ color:var(--muted); }

/* Sidebar footer */
:root[data-theme="light"] .sidebar-foot{
  background:linear-gradient(135deg, var(--crimson-soft), var(--gold-soft));
  border:1px solid var(--line-strong);
}
:root[data-theme="light"] .sidebar-foot i{ color:var(--crimson); }
:root[data-theme="light"] .sidebar-foot p,
:root[data-theme="light"] .sidebar-foot strong{ color:var(--ink); }
:root[data-theme="light"] .sf-icon{
  background:var(--gold-soft); color:var(--crimson);
}

/* ===== TOPBAR (teacher / admin) ===== */
:root[data-theme="light"] .topbar{
  background:linear-gradient(180deg, rgba(255,249,245,.94), rgba(255,249,245,.78));
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 28px -22px rgba(123,13,30,.30);
}
:root[data-theme="light"] .topbar.is-scrolled{
  box-shadow:0 18px 36px -22px rgba(123,13,30,.42), 0 0 0 1px rgba(212,160,23,.22);
}

/* Quick-actions trigger keeps its gold gradient — already legible in light */
:root[data-theme="light"] .qa-trigger{
  color:var(--gold-on-gold);
  box-shadow:0 8px 22px rgba(212,160,23,.30);
}

/* Quick-actions dropdown menu */
:root[data-theme="light"] .qa-menu{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line-strong);
  box-shadow:0 28px 60px rgba(123,13,30,.18), 0 0 0 1px rgba(212,160,23,.18) inset;
}
:root[data-theme="light"] .qa-menu::before{
  background:#fff;
  border-left:1px solid var(--line-strong);
  border-top:1px solid var(--line-strong);
}
:root[data-theme="light"] .qa-menu-head h3{ color:var(--ink); }
:root[data-theme="light"] .qa-menu-head p{ color:var(--muted); }
/* Quick-action menu items keep their crimson gradient — premium contrast against light bg */
:root[data-theme="light"] .qa-menu-item{
  border:1px solid rgba(212,160,23,.45);
  box-shadow:0 10px 26px rgba(123,13,30,.18);
}
:root[data-theme="light"] .qa-menu-item:hover{
  box-shadow:0 16px 34px rgba(123,13,30,.28);
}

/* ===== TOPNAV (library / live) ===== */
:root[data-theme="light"] .topnav{
  background:rgba(255,249,245,.92);
  border-bottom:1px solid var(--line);
}
:root[data-theme="light"] .live-bar,
:root[data-theme="light"] .topbar-live{
  background:linear-gradient(180deg, var(--surface), rgba(255,255,255,.7));
}

/* Search input */
:root[data-theme="light"] .search input{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .search input::placeholder{ color:var(--muted); }
:root[data-theme="light"] .search i{ color:var(--crimson); }

/* Icon buttons + user chip */
:root[data-theme="light"] .icon-btn{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .icon-btn:hover{
  border-color:var(--gold); color:var(--crimson);
  background:var(--gold-soft);
}
:root[data-theme="light"] .icon-btn .dot{ border:2px solid #fff; }
:root[data-theme="light"] .user{
  background:#fff; border:1px solid var(--line);
}
:root[data-theme="light"] .user strong,
:root[data-theme="light"] .user-info strong{ color:var(--ink); }
:root[data-theme="light"] .user small,
:root[data-theme="light"] .user-info small,
:root[data-theme="light"] .user > i{ color:var(--muted); }

/* Greeting / quick action ghost */
:root[data-theme="light"] .qa-ghost{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .qa-ghost:hover{
  background:var(--gold-soft); color:var(--crimson); border-color:var(--gold);
}

/* Filter pills */
:root[data-theme="light"] .filter-pill{
  background:#fff; border:1px solid var(--line); color:var(--muted);
}
:root[data-theme="light"] .filter-pill.active,
:root[data-theme="light"] .filter-pill:hover{
  background:var(--gold-soft); border-color:var(--line-strong); color:var(--crimson);
}

/* Tables — neutralize white-on-white hover */
:root[data-theme="light"] table.tbl tbody tr:hover{ background:var(--gold-soft); }
:root[data-theme="light"] table.tbl thead th{ background:var(--gold-soft); color:var(--crimson); }

/* Status / badge surfaces that used rgba(255,255,255,X) */
:root[data-theme="light"] .s-done,
:root[data-theme="light"] .sub-expired,
:root[data-theme="light"] .btn-disabled,
:root[data-theme="light"] .grade-cell,
:root[data-theme="light"] .icon-action,
:root[data-theme="light"] .kpi-trend.flat,
:root[data-theme="light"] .lessons-bar{
  background:#F4ECE6; border:1px solid var(--line); color:var(--muted);
}
:root[data-theme="light"] .icon-action:hover{
  background:var(--gold-soft); color:var(--crimson); border-color:var(--gold);
}

/* KPI / panel surfaces — make sure top accent line stays gold */
:root[data-theme="light"] .kpi,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .qa-panel,
:root[data-theme="light"] .kpi-card,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .metric-card{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(123,13,30,.05);
}
:root[data-theme="light"] .kpi-trend{
  background:var(--green-soft); color:#1a7a3a;
}
:root[data-theme="light"] .kpi-trend.warn{ background:var(--crimson-soft); color:var(--crimson); }
:root[data-theme="light"] .kpi-num{ color:var(--ink); }
:root[data-theme="light"] .kpi-label,
:root[data-theme="light"] .kpi-foot{ color:var(--muted); }

/* Section headings inside panels */
:root[data-theme="light"] .panel-head h2,
:root[data-theme="light"] .qa-panel h2,
:root[data-theme="light"] .greet h2{ color:var(--ink); }
:root[data-theme="light"] .greet p,
:root[data-theme="light"] .qa-panel > p{ color:var(--muted); }

/* Quick-action crimson cards stay dark crimson — keep white text */
:root[data-theme="light"] .qa-action{
  border:1px solid rgba(212,160,23,.4);
  box-shadow:0 10px 26px rgba(123,13,30,.18);
}

/* ===== LIVE PAGE ===== */
:root[data-theme="light"] .live-bar,
:root[data-theme="light"] .timer{
  background:#fff; border:1px solid var(--line-strong); color:var(--crimson);
}
:root[data-theme="light"] .timer i{ color:var(--gold); }
:root[data-theme="light"] .stage{ background:#0D0305; } /* keep video stage dark for contrast */
:root[data-theme="light"] .lessons-panel,
:root[data-theme="light"] .side-panel,
:root[data-theme="light"] .info-panel,
:root[data-theme="light"] .tabs-panel{
  background:#fff; border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(123,13,30,.05);
}
:root[data-theme="light"] .lesson-row,
:root[data-theme="light"] .lesson-item{
  background:var(--surface); border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .lesson-row.active,
:root[data-theme="light"] .lesson-item.active{
  background:var(--gold-soft); border-color:var(--line-strong);
}
:root[data-theme="light"] .tab-btn{
  color:var(--muted); background:transparent;
}
:root[data-theme="light"] .tab-btn.active{
  color:var(--crimson); background:var(--gold-soft);
}

/* ===== LIBRARY PAGE ===== */
:root[data-theme="light"] .topnav{
  background:rgba(255,249,245,.92);
}
:root[data-theme="light"] .breadcrumb{ color:var(--muted); }
:root[data-theme="light"] .breadcrumb .current{ color:var(--crimson); }
:root[data-theme="light"] .f-pill,
:root[data-theme="light"] .pill{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .f-pill .count{
  background:var(--gold-soft); color:var(--crimson);
}
:root[data-theme="light"] .f-pill.active,
:root[data-theme="light"] .pill.active{
  background:linear-gradient(135deg, var(--crimson), var(--crimson-action));
  color:#fff; border-color:transparent;
}
:root[data-theme="light"] .f-pill.active .count,
:root[data-theme="light"] .pill.active .count{
  background:rgba(255,255,255,.25); color:#fff;
}
:root[data-theme="light"] .hero-book,
:root[data-theme="light"] .book-card,
:root[data-theme="light"] .scroller-section .scroll-card,
:root[data-theme="light"] .cart-panel,
:root[data-theme="light"] .owned-panel,
:root[data-theme="light"] .side-card{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(123,13,30,.06);
}
:root[data-theme="light"] .sort-select{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .cart-item{
  background:var(--surface); border:1px solid var(--line);
}
:root[data-theme="light"] .checkout-btn{
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  color:var(--ink);
}

/* Misc text-on-card adjustments */
:root[data-theme="light"] .session-cell strong,
:root[data-theme="light"] .student-cell strong,
:root[data-theme="light"] h1, :root[data-theme="light"] h2,
:root[data-theme="light"] h3, :root[data-theme="light"] h4{ color:var(--ink); }
:root[data-theme="light"] .session-cell small,
:root[data-theme="light"] .student-cell small,
:root[data-theme="light"] .last-active{ color:var(--muted); }

/* ============================================================
   ADMIN — Profile switcher dropdown
   ============================================================ */
:root[data-theme="light"] .user-menu{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line-strong);
}
:root[data-theme="light"] .user-menu-head{ color:var(--muted); }
:root[data-theme="light"] .user-menu-item{ color:var(--ink); }
:root[data-theme="light"] .user-menu-item:hover{
  background:var(--gold-soft); border-color:var(--line);
}
:root[data-theme="light"] .user-menu-item.is-active{
  background:linear-gradient(135deg, var(--gold-soft), var(--crimson-soft));
  border-color:var(--line-strong);
}
:root[data-theme="light"] .user-menu-item strong{ color:var(--ink); }
:root[data-theme="light"] .user-menu-item small{ color:var(--muted); }
:root[data-theme="light"] .user-menu-item .umi-check{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold); border-color:var(--gold);
}
:root[data-theme="light"] .user-menu-foot{ border-top-color:var(--line); }
:root[data-theme="light"] .user-menu-foot small{ color:var(--muted); }
:root[data-theme="light"] .user-info small{ color:var(--gold-text); }

/* ============================================================
   ADMIN — Greeting accent (gold gradient text legibility)
   ============================================================ */
:root[data-theme="light"] .greet h2 .accent{
  background:linear-gradient(135deg,var(--crimson),var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
:root[data-theme="light"] .greet p i{ color:var(--gold-text); }

/* ============================================================
   ADMIN — Subscription management (table + chips + buttons)
   ============================================================ */
:root[data-theme="light"] .sub-tier-pills{
  background:#fff; border:1px solid var(--line);
}
:root[data-theme="light"] .sub-tier-pills button{ color:var(--muted); }
:root[data-theme="light"] .sub-tier-pills button:hover:not(.is-active){
  color:var(--crimson); background:var(--gold-soft);
}
:root[data-theme="light"] .sub-tier-pills button.is-active{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold);
}
:root[data-theme="light"] .duration-pill{
  background:var(--gold-soft); border:1px solid var(--line); color:var(--muted);
}
:root[data-theme="light"] .timer-chip{
  background:var(--green-soft); color:var(--green); border-color:rgba(46,176,90,.32);
}
:root[data-theme="light"] .timer-chip.is-soon{
  background:var(--gold-soft); color:var(--gold-text); border-color:var(--line-strong);
}
:root[data-theme="light"] .timer-chip.is-urgent{
  background:var(--crimson-soft); color:var(--crimson); border-color:rgba(176,32,53,.32);
}
:root[data-theme="light"] .timer-chip.is-expired{
  background:#F4ECE6; color:var(--muted); border-color:var(--line);
}
:root[data-theme="light"] .timer-sub{ color:var(--muted); }
:root[data-theme="light"] .btn-renew{
  background:linear-gradient(135deg,var(--gold-soft),#fff);
  border:1px solid var(--line-strong); color:var(--gold-text);
}
:root[data-theme="light"] .btn-renew:hover{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold); border-color:var(--gold);
}
:root[data-theme="light"] table.tbl tbody td{ color:var(--ink); }
:root[data-theme="light"] table.tbl tbody td small{ color:var(--muted); }

/* ============================================================
   ADMIN — Teacher assignment cards + course rows
   ============================================================ */
:root[data-theme="light"] .teacher-card{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
:root[data-theme="light"] .teacher-card:hover{
  border-color:var(--line-strong);
  box-shadow:var(--shadow-elevated);
}
:root[data-theme="light"] .teacher-card.is-selected{
  background:linear-gradient(180deg,var(--gold-soft),#fff);
  border-color:var(--line-strong);
  box-shadow:0 0 0 1px var(--line-strong) inset, var(--shadow-elevated);
}
:root[data-theme="light"] .t-info strong{ color:var(--ink); }
:root[data-theme="light"] .t-info small{ color:var(--muted); }
:root[data-theme="light"] .t-courses-count{
  background:var(--gold-soft); color:var(--gold-text); border-color:var(--line-strong);
}
:root[data-theme="light"] .t-students-count{ color:var(--muted); }
:root[data-theme="light"] .teacher-avatar .pres{ border-color:#fff; }
:root[data-theme="light"] .teacher-avatar .pres.offline{ background:var(--muted); }
:root[data-theme="light"] .assign-pane{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
:root[data-theme="light"] .assign-pane-head h3{ color:var(--ink); }
:root[data-theme="light"] .assign-pane-head h3 .badge-mini{
  background:var(--gold-soft); color:var(--gold-text); border-color:var(--line-strong);
}
:root[data-theme="light"] .course-row{
  background:#fff; border:1px solid var(--line);
}
:root[data-theme="light"] .course-row:hover{
  border-color:var(--line-strong); background:var(--gold-soft);
}
:root[data-theme="light"] .course-icon{
  background:linear-gradient(135deg,var(--gold-soft),var(--crimson-soft));
  color:var(--gold-text); border-color:var(--line-strong);
}
:root[data-theme="light"] .course-meta strong{ color:var(--ink); }
:root[data-theme="light"] .course-meta small{ color:var(--muted); }
:root[data-theme="light"] .course-bind{ color:var(--muted); }
:root[data-theme="light"] .tc-remove{
  background:#fff; border-color:var(--line-strong);
}
:root[data-theme="light"] .tc-remove:hover{
  background:var(--crimson-soft); border-color:rgba(176,32,53,.40); color:var(--crimson);
}

/* ============================================================
   ADMIN — Management modals (teacher / student / course / book)
   ============================================================ */
:root[data-theme="light"] .modal-overlay{
  background:var(--scrim);
}
:root[data-theme="light"] .modal-dialog{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow-elevated);
}
:root[data-theme="light"] .modal-dialog::before{ opacity:.85; }
:root[data-theme="light"] .modal-head{ border-bottom-color:var(--line); }
:root[data-theme="light"] .modal-head h3{
  background:linear-gradient(90deg,var(--crimson),var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
:root[data-theme="light"] .modal-head p{ color:var(--muted); }
:root[data-theme="light"] .modal-close{
  background:#fff; border:1px solid var(--line); color:var(--muted);
}
:root[data-theme="light"] .modal-close:hover{
  background:var(--crimson-soft); border-color:rgba(176,32,53,.40); color:var(--crimson);
}
:root[data-theme="light"] .modal-foot{ border-top-color:var(--line); }

/* Form fields inside modals — Linen tertiary background, ink text */
:root[data-theme="light"] .fld label{ color:var(--gold-text); }
:root[data-theme="light"] .fld small.hint{ color:var(--hint); }
:root[data-theme="light"] .fld input[type="text"],
:root[data-theme="light"] .fld input[type="email"],
:root[data-theme="light"] .fld input[type="number"],
:root[data-theme="light"] .fld textarea,
:root[data-theme="light"] .fld select{
  background:var(--field-bg);
  border:1px solid var(--field-border);
  color:var(--field-text);
  box-shadow:0 1px 2px rgba(123,13,30,.04);
}
:root[data-theme="light"] .fld input:focus,
:root[data-theme="light"] .fld textarea:focus,
:root[data-theme="light"] .fld select:focus{
  border-color:var(--field-border-focus);
  background:var(--field-bg-focus);
  box-shadow:0 0 0 3px var(--field-ring), 0 1px 2px rgba(123,13,30,.06);
}
:root[data-theme="light"] .fld select{
  background-image:linear-gradient(45deg,transparent 50%,var(--gold-text) 50%),
                   linear-gradient(135deg,var(--gold-text) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  appearance:none; -webkit-appearance:none;
}

/* Upload zone */
:root[data-theme="light"] .upload-zone{
  background:#fff; border:1px dashed var(--line-strong);
  box-shadow:0 4px 12px rgba(123,13,30,.05);
}
:root[data-theme="light"] .upload-zone strong{ color:var(--ink); }
:root[data-theme="light"] .upload-zone small{ color:var(--muted); }
:root[data-theme="light"] .upload-btn{
  background:var(--gold-soft); border:1px solid var(--line-strong); color:var(--gold-text);
}
:root[data-theme="light"] .upload-btn:hover{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold); border-color:var(--gold);
}

/* Plan pill selector */
:root[data-theme="light"] .plan-pill{
  background:#fff; border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(123,13,30,.04);
}
:root[data-theme="light"] .plan-pill:hover{
  border-color:var(--line-strong);
  box-shadow:0 8px 22px rgba(123,13,30,.08);
}
:root[data-theme="light"] .plan-pill strong{ color:var(--ink); }
:root[data-theme="light"] .plan-pill .pp-price{ color:var(--gold-text); }
:root[data-theme="light"] .plan-pill .pp-dur{ color:var(--muted); }
:root[data-theme="light"] .plan-pill.is-active{
  background:linear-gradient(135deg, var(--gold-soft), var(--crimson-soft));
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold) inset, 0 10px 24px rgba(212,160,23,.18);
}
:root[data-theme="light"] .plan-pill.is-active strong{
  background:linear-gradient(90deg,var(--crimson),var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Modal buttons */
:root[data-theme="light"] .btn-primary{
  border:1px solid var(--gold);
  box-shadow:var(--shadow-crimson);
}
:root[data-theme="light"] .btn-primary:hover{
  box-shadow:0 14px 30px rgba(123,13,30,.30), inset 0 1px 0 rgba(255,255,255,.25);
}
:root[data-theme="light"] .btn-ghost{
  background:#fff; border:1px solid var(--line-strong); color:var(--muted);
}
:root[data-theme="light"] .btn-ghost:hover{
  background:var(--gold-soft); border-color:var(--gold); color:var(--gold-text);
}
:root[data-theme="light"] .btn-danger{
  border:1px solid var(--crimson-action);
  box-shadow:var(--shadow-crimson);
}

/* Confirmation scene */
:root[data-theme="light"] .confirm-icon{
  background:var(--crimson-soft); border-color:rgba(176,32,53,.30); color:var(--crimson);
}
:root[data-theme="light"] .confirm-card h4{ color:var(--ink); }
:root[data-theme="light"] .confirm-card .target{
  background:var(--gold-soft); border-color:var(--line-strong); color:var(--gold-text);
}
:root[data-theme="light"] .confirm-card p{ color:var(--muted); }

/* Success toast */
:root[data-theme="light"] .cs-toast{
  background:linear-gradient(135deg,#fff,var(--surface));
  border:1px solid rgba(46,176,90,.40); color:var(--ink);
  box-shadow:var(--shadow-elevated);
}
:root[data-theme="light"] .cs-toast .ti{
  background:var(--green-soft); color:var(--green);
}

/* ============================================================
   ADMIN — Inbox (messages from students & parents)
   ============================================================ */
:root[data-theme="light"] .inbox-list-col{ background:var(--surface); border-left:1px solid var(--line); }
:root[data-theme="light"] .inbox-pill{ background:#fff; border:1px solid var(--line); color:var(--muted); }
:root[data-theme="light"] .inbox-pill:hover{ color:var(--gold-text); border-color:var(--line-strong); background:var(--gold-soft); }
:root[data-theme="light"] .inbox-pill.is-active{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold); border-color:var(--gold);
}
:root[data-theme="light"] .inbox-row{ border-bottom-color:var(--line); }
:root[data-theme="light"] .inbox-row:hover{ background:var(--gold-soft); }
:root[data-theme="light"] .inbox-row.is-active{ background:linear-gradient(90deg,var(--gold-soft),transparent); }
:root[data-theme="light"] .inbox-row.is-unread .ir-name strong{ color:var(--crimson); }
:root[data-theme="light"] .inbox-row.is-unread .ir-preview{ color:var(--ink); }
:root[data-theme="light"] .ir-name strong{ color:var(--ink); }
:root[data-theme="light"] .ir-preview{ color:var(--muted); }
:root[data-theme="light"] .ir-time{ color:var(--muted); }
:root[data-theme="light"] .ir-role{ background:#fff; color:var(--muted); border-color:var(--line); }
:root[data-theme="light"] .ir-role.is-parent{ background:var(--crimson-soft); color:var(--crimson); border-color:rgba(176,32,53,.30); }
:root[data-theme="light"] .ir-role.is-student{ background:var(--gold-soft); color:var(--gold-text); border-color:var(--line-strong); }

:root[data-theme="light"] .inbox-thread-col{ background:linear-gradient(180deg,#fff,var(--surface)); }
:root[data-theme="light"] .ith-info h4{ color:var(--ink); }
:root[data-theme="light"] .ith-info small{ color:var(--muted); }
:root[data-theme="light"] .ith-act{ background:#fff; border:1px solid var(--line); color:var(--muted); }
:root[data-theme="light"] .ith-act:hover{ background:var(--gold-soft); border-color:var(--gold); color:var(--gold-text); }
:root[data-theme="light"] .ith-day{ background:#fff; border:1px solid var(--line); color:var(--muted); }
:root[data-theme="light"] .ith-msg{ box-shadow:0 4px 10px rgba(123,13,30,.06); }
:root[data-theme="light"] .ith-msg.in{
  background:#fff; border:1px solid var(--line); color:var(--ink);
}
:root[data-theme="light"] .ith-msg.in time{ color:var(--muted); }
:root[data-theme="light"] .ith-msg.out{
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--gold-on-gold); border-color:var(--gold);
  box-shadow:0 6px 14px rgba(212,160,23,.30);
}

:root[data-theme="light"] .inbox-composer{ background:linear-gradient(180deg,transparent,var(--surface)); }
:root[data-theme="light"] .inbox-attach{ background:#fff; border:1px solid var(--line); color:var(--muted); }
:root[data-theme="light"] .inbox-attach:hover{ background:var(--gold-soft); border-color:var(--gold); color:var(--gold-text); }
:root[data-theme="light"] .inbox-input{
  background:var(--field-bg); border:1px solid var(--field-border); color:var(--field-text);
  box-shadow:0 1px 2px rgba(123,13,30,.04);
}
:root[data-theme="light"] .inbox-input::placeholder{ color:var(--field-placeholder); }
:root[data-theme="light"] .inbox-input:focus{
  border-color:var(--field-border-focus); box-shadow:0 0 0 3px var(--field-ring);
}
:root[data-theme="light"] .inbox-quick button{
  background:#fff; border:1px dashed var(--line-strong); color:var(--muted);
}
:root[data-theme="light"] .inbox-quick button:hover{
  background:var(--gold-soft); border-style:solid; border-color:var(--gold); color:var(--gold-text);
}


/* ============================================================
   TEACHER — Zoom-paste session scheduler modal
   ============================================================ */
:root[data-theme="light"] .tm-overlay{
  background:var(--scrim);
  backdrop-filter:blur(var(--scrim-blur));-webkit-backdrop-filter:blur(var(--scrim-blur));
}
:root[data-theme="light"] .tm-dialog{
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--line-strong);
  box-shadow:0 32px 80px rgba(123,13,30,.22), 0 0 0 1px rgba(212,160,23,.18) inset;
}
:root[data-theme="light"] .tm-head{ border-bottom-color:var(--line); }
:root[data-theme="light"] .tm-head h3{ color:var(--ink); }
:root[data-theme="light"] .tm-head p{ color:var(--muted); }
:root[data-theme="light"] .tm-close{ background:#fff; border-color:var(--line); color:var(--muted); }
:root[data-theme="light"] .tm-close:hover{ border-color:var(--danger); color:var(--danger); background:var(--danger-soft); }

:root[data-theme="light"] .tm-paste{ border-color:var(--line-strong); background:var(--gold-soft); }
:root[data-theme="light"] .tm-paste:focus-within{ border-color:var(--gold); background:rgba(212,160,23,.12); box-shadow:0 0 0 4px rgba(212,160,23,.16); }
:root[data-theme="light"] .tm-paste-label{ color:var(--gold-text); }
:root[data-theme="light"] .tm-paste textarea{
  background:var(--field-bg); border:1px solid var(--field-border); color:var(--field-text);
}
:root[data-theme="light"] .tm-paste textarea::placeholder{ color:var(--field-placeholder); }
:root[data-theme="light"] .tm-paste textarea:focus{ border-color:var(--field-border-focus); box-shadow:0 0 0 3px var(--field-ring); }
:root[data-theme="light"] .tm-paste-btn{ background:#fff; border-color:var(--line-strong); color:var(--ink); }
:root[data-theme="light"] .tm-paste-btn:hover{ border-color:var(--gold); color:var(--gold-text); background:var(--gold-soft); }
:root[data-theme="light"] .tm-paste-status{ color:var(--muted); }
:root[data-theme="light"] .tm-paste-status.ok{ color:var(--green); }
:root[data-theme="light"] .tm-paste-status.warn{ color:#a05a00; }

:root[data-theme="light"] .tm-divider{ color:var(--muted); }
:root[data-theme="light"] .tm-divider::before,
:root[data-theme="light"] .tm-divider::after{ background:var(--line); }

:root[data-theme="light"] .tm-fld label{ color:var(--muted); }
:root[data-theme="light"] .tm-fld.is-filled label{ color:var(--green); }
:root[data-theme="light"] .tm-fld.is-filled label .tm-check{
  background:var(--green-soft); color:var(--green); border-color:rgba(46,204,113,.35);
}
:root[data-theme="light"] .tm-fld input,
:root[data-theme="light"] .tm-fld select{
  background:var(--field-bg); border:1px solid var(--field-border); color:var(--field-text);
}
:root[data-theme="light"] .tm-fld input:focus,
:root[data-theme="light"] .tm-fld select:focus{ border-color:var(--field-border-focus); box-shadow:0 0 0 3px var(--field-ring); }
:root[data-theme="light"] .tm-fld.is-filled input,
:root[data-theme="light"] .tm-fld.is-filled select{ border-color:rgba(46,204,113,.45); }

:root[data-theme="light"] .tm-foot{
  border-top-color:var(--line);
  background:linear-gradient(180deg,transparent,rgba(255,249,245,.6));
}
:root[data-theme="light"] .tm-btn-ghost{ color:var(--muted); border-color:var(--line-strong); }
:root[data-theme="light"] .tm-btn-ghost:hover{ border-color:var(--gold); color:var(--gold-text); background:var(--gold-soft); }
:root[data-theme="light"] .tm-btn-primary{ color:var(--gold-on-gold); }
