/* =========================================================
   PyDep — Light theme  (подключается после app.css)
   ========================================================= */

/* ── Токены ──────────────────────────────────────────────── */
[data-theme="light"] {
    color-scheme: light;

    --navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2822, 20, 15, 0.72%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

    --grad-1: #E8A020;
    --grad-2: #C98500;
    --grad-3: #FF9D2E;
    --brand: #C98500;
    --brand-strong: #A86F00;
    --link-hover: #8A5A00;
    --on-brand: #1A1407;

    --bg:            #F4F1EA;
    --bg-2:          #EEEAE0;
    --surface:       #FFFFFF;
    --surface-2:     #F3EFE6;
    --surface-solid: #FFFFFF;
    --surface-muted: #EAE4D6;
    --border:        rgba(22, 20, 15, 0.10);
    --border-strong: rgba(22, 20, 15, 0.16);

    --text:       #2B2720;
    --text-muted: #6E685B;
    --text-dim:   #9A9384;
    --heading:    #16140F;
    --nav-active: #16140F;

    --shadow:      0 1px 3px rgba(22,20,15,.06), 0 8px 24px -8px rgba(22,20,15,.10);
    --shadow-glow: 0 0 0 1px rgba(201,133,0,.10), 0 16px 48px -12px rgba(201,133,0,.18);
    --ring:        0 0 0 3px rgba(201,133,0,.20);

    --navbar-bg: rgba(244, 241, 234, 0.88);
    --grad-brand: linear-gradient(100deg, #E8A020, #C98500 55%, #FF9D2E);
    --platform-icon-fill: var(--grad-brand);

    --brand-glow: rgba(201, 133, 0, 0.12);
    --brand-glow-strong: rgba(201, 133, 0, 0.18);
    --brand-glow-soft: rgba(201, 133, 0, 0.07);
    --brand-shadow: rgba(168, 111, 0, 0.28);
}

/* ── Фон страницы ────────────────────────────────────────── */
[data-theme="light"] body {
    background-color: var(--bg);
    color: var(--text);
}

/* Акцентная полоска наверху окна */
[data-theme="light"] html::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #E8A020 0%, #C98500 50%, #FF9D2E 100%);
    z-index: 9999;
    pointer-events: none;
}

[data-theme="light"] body::before {
    background:
        radial-gradient(60rem 40rem at -5% -5%,  rgba(201,133,0,.09), transparent 60%),
        radial-gradient(50rem 36rem at 108% 5%,  rgba(232,160,32,.08), transparent 58%),
        radial-gradient(50rem 40rem at 50%  115%, rgba(255,157,46,.06),  transparent 60%),
        var(--bg);
    opacity: 1;
}

[data-theme="light"] body::after {
    background-image:
        linear-gradient(to right, rgba(22,20,15,.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(22,20,15,.03) 1px, transparent 1px);
}

/* ── Navbar ──────────────────────────────────────────────── */
[data-theme="light"] header .navbar {
    background: var(--navbar-bg) !important;
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
    border-bottom: 1px solid var(--border);
    box-shadow: none;
}

[data-theme="light"] .navbar-brand .brand-dot:has(.platform-icon) {
    box-shadow: none;
    background: transparent;
}

[data-theme="light"] .navbar-brand--icon .platform-icon {
    box-shadow: none;
    --platform-icon-fill: linear-gradient(145deg, #B86E00 0%, #8F5600 52%, #C98500 100%);
}

[data-theme="light"] .navbar-brand .brand-dot:not(:has(.platform-icon)) {
    box-shadow: 0 6px 18px -4px var(--brand-shadow);
}

[data-theme="light"] .navbar-brand .brand-text {
    color: var(--heading);
}

[data-theme="light"] header .navbar-collapse {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

[data-theme="light"] header .navbar-nav .nav-link {
    color: var(--text-muted) !important;
    background: transparent !important;
}

[data-theme="light"] header .navbar-nav .nav-link:hover,
[data-theme="light"] header .navbar-nav .nav-link.active {
    color: var(--heading) !important;
    background: transparent !important;
}

[data-theme="light"] header .navbar-nav .nav-link.platform-switch {
    color: var(--text) !important;
    background: transparent !important;
    border-color: var(--border-strong);
}

[data-theme="light"] header .navbar-nav .nav-link.platform-switch:hover {
    color: var(--brand-strong) !important;
    background: transparent !important;
    border-color: var(--brand);
}

[data-theme="light"] header .theme-toggle {
    background: transparent;
    border-color: transparent;
}

[data-theme="light"] header .theme-toggle:hover {
    background: transparent;
    border-color: transparent;
    color: var(--heading);
}

[data-theme="light"] header .navbar-toggler {
    background: transparent;
    border-color: var(--border-strong);
}

/* ── Кнопки ──────────────────────────────────────────────── */
[data-theme="light"] .btn-ghost,
[data-theme="light"] .btn-outline-primary,
[data-theme="light"] .btn-outline-dark,
[data-theme="light"] .btn-outline-secondary,
[data-theme="light"] .btn-secondary {
    background: var(--surface);
    color: var(--text-muted) !important;
    border-color: var(--border-strong);
    box-shadow: 0 1px 3px rgba(22,20,15,.06);
}
[data-theme="light"] .btn-ghost:hover,
[data-theme="light"] .btn-outline-primary:hover,
[data-theme="light"] .btn-outline-dark:hover,
[data-theme="light"] .btn-outline-secondary:hover,
[data-theme="light"] .btn-secondary:hover {
    background: var(--surface-2) !important;
    color: var(--heading) !important;
    border-color: var(--border-strong);
}

[data-theme="light"] .btn-outline-danger {
    color: #dc2626 !important;
    border-color: rgba(220,38,38,.28);
    background: rgba(254,226,226,.4);
    box-shadow: none;
}
[data-theme="light"] .btn-outline-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: transparent;
}

/* ── Карточки / поверхности ──────────────────────────────── */
[data-theme="light"] .card,
[data-theme="light"] .glass-card,
[data-theme="light"] .content-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
    backdrop-filter: none;
    color: var(--text);
}
[data-theme="light"] .card-title,
[data-theme="light"] .card-header {
    color: var(--heading);
}

/* Tutor-card: правильная тень + заголовок */
[data-theme="light"] .tutor-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .tutor-card__head {
    background: var(--surface-2);
    border-bottom-color: var(--border);
}

/* tutor-row */
[data-theme="light"] a.tutor-row:hover {
    background: var(--surface-2);
}
[data-theme="light"] .tutor-row {
    border-bottom-color: var(--border);
}

/* tutor-metric */
[data-theme="light"] .tutor-metric {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .tutor-metric.is-income .v { color: #059669; }
[data-theme="light"] .tutor-metric.is-debt .v   { color: #dc2626; }

/* tutor-quick (иконки-ссылки на dashboard) */
[data-theme="light"] .tutor-quick a {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .tutor-quick a:hover {
    border-color: var(--brand);
    box-shadow: 0 0 0 1px rgba(201,133,0,.18), 0 8px 24px -8px rgba(201,133,0,.18);
}

/* profile-card */
[data-theme="light"] .profile-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .profile-card__cover {
    background:
        radial-gradient(20rem 12rem at 15% 0%,  rgba(201,133,0,.22), transparent 60%),
        radial-gradient(20rem 12rem at 100% 100%, rgba(255,157,46,.16), transparent 60%),
        linear-gradient(135deg, #dde8d4 0%, #eae6d8 100%);
}

/* PyDep cabinet cover (lesson/profile) — warm light, чтобы тёмное ФИО читалось */
[data-theme="light"] .cab-head { background: var(--surface); }
[data-theme="light"] .cab-cover {
    background:
        radial-gradient(22rem 13rem at 12% 0%, rgba(255,176,32,.30), transparent 60%),
        radial-gradient(22rem 13rem at 100% 100%, rgba(84,214,180,.18), transparent 60%),
        linear-gradient(135deg, #F1E7D0 0%, #F7F1E3 100%);
}
[data-theme="light"] .cab-pic { border-color: #fff; }

/* chip */
[data-theme="light"] .chip {
    background: rgba(201,133,0,.08);
    border-color: rgba(201,133,0,.16);
    color: var(--brand-strong);
}
[data-theme="light"] .chip .dot {
    background: var(--brand-strong);
    box-shadow: 0 0 0 3px rgba(201,133,0,.18);
}

/* ── Формы ───────────────────────────────────────────────── */
[data-theme="light"] .form-control,
[data-theme="light"] .form-select,
[data-theme="light"] input[type="text"],
[data-theme="light"] input[type="email"],
[data-theme="light"] input[type="password"],
[data-theme="light"] input[type="number"],
[data-theme="light"] input[type="search"],
[data-theme="light"] input[type="date"],
[data-theme="light"] input[type="time"],
[data-theme="light"] input[type="datetime-local"],
[data-theme="light"] textarea {
    background: var(--surface) !important;
    border-color: var(--border-strong) !important;
    color: var(--text) !important;
    box-shadow: 0 1px 2px rgba(22,20,15,.04);
}
[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus,
[data-theme="light"] input:focus,
[data-theme="light"] textarea:focus {
    background: #fff !important;
    border-color: var(--brand) !important;
    box-shadow: var(--ring) !important;
}
[data-theme="light"] .form-control::placeholder,
[data-theme="light"] textarea::placeholder {
    color: #B0A998;
}
[data-theme="light"] .form-label,
[data-theme="light"] label {
    color: var(--text-muted);
}
[data-theme="light"] .form-text {
    color: var(--text-dim);
}

[data-theme="light"] input[type="file"]::file-selector-button {
    background: var(--surface-muted);
    color: var(--text-muted);
    border-color: var(--border-strong);
}
[data-theme="light"] input[type="file"]::file-selector-button:hover {
    background: rgba(201,133,0,.1);
    color: var(--brand-strong);
}

/* select option в dropdown */
[data-theme="light"] select option {
    background: #fff;
    color: var(--text);
}

/* ── Platform-picker ─────────────────────────────────────── */
[data-theme="light"] .platform-picker {
    background: #fff;
    border-color: var(--border-strong);
    box-shadow: var(--shadow-glow), var(--shadow);
}
[data-theme="light"] .platform-picker__title { color: var(--heading); }
[data-theme="light"] .platform-picker__nav:hover {
    color: var(--heading);
    background: var(--surface-muted);
    border-color: var(--border-strong);
}
[data-theme="light"] .platform-picker__day.is-today {
    color: var(--brand-strong);
    background: rgba(201,133,0,.08);
    border-color: rgba(201,133,0,.25);
}
[data-theme="light"] .platform-picker__foot-btn:hover {
    color: var(--heading);
    background: var(--surface-muted);
}
[data-theme="light"] .platform-picker__foot-btn--primary {
    color: var(--brand-strong);
    background: rgba(201,133,0,.10);
    border-color: rgba(201,133,0,.22);
}
[data-theme="light"] .platform-picker__foot-btn--primary:hover {
    color: #fff;
    background: var(--brand);
    border-color: transparent;
}
[data-theme="light"] .platform-picker__time-list {
    background: var(--surface-muted);
    border-color: var(--border);
}
[data-theme="light"] .platform-picker__time-item:hover {
    background: var(--surface-2);
    color: var(--heading);
}

/* ── Calendario / Расписание ─────────────────────────────── */
[data-theme="light"] .tutor-calendar {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .tutor-cal__title { color: var(--heading); }
[data-theme="light"] .tutor-cal__day {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .tutor-cal__day:hover {
    background: #fff;
    border-color: rgba(201,133,0,.25);
    box-shadow: 0 2px 8px rgba(201,133,0,.12);
}
[data-theme="light"] .tutor-cal__day.is-today {
    border-color: rgba(201,133,0,.45);
    background: rgba(201,133,0,.06);
}
[data-theme="light"] .tutor-cal__day.is-selected {
    background: rgba(201,133,0,.12);
    border-color: var(--brand);
}
[data-theme="light"] .tutor-cal__detail-title { color: var(--heading); }
[data-theme="light"] .tutor-cal__card-title   { color: var(--heading); }
[data-theme="light"] .tutor-cal__card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] a.tutor-cal__card:hover {
    border-color: var(--brand);
    box-shadow: 0 0 0 1px rgba(201,133,0,.18), var(--shadow);
}
[data-theme="light"] .status-canceled {
    background: rgba(148,163,184,.14) !important;
    color: #64748b !important;
}

/* ── Modals / поиск ──────────────────────────────────────── */
[data-theme="light"] .modal-content {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: 0 0 0 1px rgba(22,20,15,.08), 0 32px 80px -20px rgba(22,20,15,.22);
}
[data-theme="light"] .modal-header,
[data-theme="light"] .modal-footer {
    border-color: var(--border);
}
[data-theme="light"] .modal-title { color: var(--heading); }

[data-theme="light"] .student-picker-card {
    border-color: var(--border);
}
[data-theme="light"] .student-picker-card:hover,
[data-theme="light"] .student-picker-card:focus-visible {
    background: rgba(201,133,0,.06);
    border-color: rgba(201,133,0,.28);
}
[data-theme="light"] .student-picker-card--selected {
    background: rgba(201,133,0,.10) !important;
    border-color: var(--brand) !important;
}
[data-theme="light"] .file-access-chip {
    background: rgba(201,133,0,.10);
    color: var(--brand-strong);
}
[data-theme="light"] .file-access-badge {
    background: rgba(201,133,0,.10);
    color: var(--brand-strong);
}

/* ── Алерты / бейджи ─────────────────────────────────────── */
[data-theme="light"] .alert-success {
    background: rgba(5,150,105,.08);
    border-color: rgba(5,150,105,.22);
    color: #065f46;
}
[data-theme="light"] .alert-danger {
    background: rgba(220,38,38,.07);
    border-color: rgba(220,38,38,.22);
    color: #991b1b;
}
[data-theme="light"] .alert-info {
    background: rgba(255,157,46,.08);
    border-color: rgba(255,157,46,.22);
    color: #0e7490;
}
[data-theme="light"] .alert-warning {
    background: rgba(217,119,6,.08);
    border-color: rgba(217,119,6,.22);
    color: #92400e;
}

[data-theme="light"] .badge.text-bg-success,
[data-theme="light"] .badge.bg-success { background: rgba(5,150,105,.12) !important; color: #065f46 !important; border-color: rgba(5,150,105,.25) !important; }
[data-theme="light"] .badge.text-bg-warning,
[data-theme="light"] .badge.bg-warning { background: rgba(217,119,6,.12) !important; color: #92400e !important; border-color: rgba(217,119,6,.25) !important; }
[data-theme="light"] .badge.text-bg-danger,
[data-theme="light"] .badge.bg-danger  { background: rgba(220,38,38,.10) !important; color: #991b1b !important; border-color: rgba(220,38,38,.22) !important; }

[data-theme="light"] .tutor-alert-strip a {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-muted);
    box-shadow: var(--shadow);
}
[data-theme="light"] .tutor-alert-strip a:hover { border-color: var(--brand); color: var(--heading); }
[data-theme="light"] .tutor-alert-strip a.is-warn  { background: rgba(217,119,6,.07); border-color: rgba(217,119,6,.22); color: #92400e; }
[data-theme="light"] .tutor-alert-strip a.is-danger { background: rgba(220,38,38,.07); border-color: rgba(220,38,38,.20); color: #991b1b; }

[data-theme="light"] .status-published { color: #065f46 !important; background: rgba(5,150,105,.10) !important; border-color: rgba(5,150,105,.22) !important; }
[data-theme="light"] .status-draft     { color: #991b1b !important; background: rgba(220,38,38,.08) !important; border-color: rgba(220,38,38,.20) !important; }

/* ── Lists / Tables ──────────────────────────────────────── */
[data-theme="light"] .list-group-item {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .list-group-item-action:hover {
    background: var(--surface-2) !important;
    color: var(--heading) !important;
}
[data-theme="light"] .list-group-item.active {
    background: rgba(201,133,0,.10) !important;
    border-color: rgba(201,133,0,.24) !important;
    color: var(--heading) !important;
}
[data-theme="light"] .list-group-item .text-muted { color: var(--text-muted) !important; }

[data-theme="light"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text);
    --bs-table-striped-bg: rgba(22,20,15,.025);
    --bs-table-hover-bg: rgba(201,133,0,.05);
    --bs-table-hover-color: var(--heading);
    --bs-table-border-color: var(--border);
}
[data-theme="light"] .table th { color: var(--text-muted); }

[data-theme="light"] .accordion-item {
    background: var(--surface);
    border-color: var(--border);
}
[data-theme="light"] .accordion-button { background: var(--surface); color: var(--text); }
[data-theme="light"] .accordion-button:not(.collapsed) {
    background: var(--surface-2);
    color: var(--heading);
}
[data-theme="light"] .accordion-button::after { filter: none; opacity: .6; }

[data-theme="light"] .page-link {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-muted);
    box-shadow: 0 1px 2px rgba(22,20,15,.04);
}
[data-theme="light"] .page-link:hover  { background: var(--surface-2); color: var(--heading); }
[data-theme="light"] .page-item.active .page-link { color: #fff; box-shadow: none; }

/* ── Nav tabs ────────────────────────────────────────────── */
[data-theme="light"] .nav-tabs {
    border-color: var(--border);
}
[data-theme="light"] .nav-tabs .nav-link {
    color: var(--text-muted);
}
[data-theme="light"] .nav-tabs .nav-link:hover {
    color: var(--heading);
    background: var(--surface-2);
    border-color: transparent;
}
[data-theme="light"] .nav-tabs .nav-link.active {
    color: var(--heading);
    background: var(--surface);
    border-color: var(--border) var(--border) var(--surface);
}

/* ── Role pills / toolbar ────────────────────────────────── */
[data-theme="light"] .tutor-role-pills {
    background: rgba(201,133,0,.07);
    border-color: rgba(201,133,0,.14);
}
[data-theme="light"] .tutor-role-pills a { color: var(--text-muted); }
[data-theme="light"] .tutor-role-pills a:hover { color: var(--heading); }
[data-theme="light"] .tutor-role-pills a.is-active { background: var(--grad-brand); color: #fff; }

/* ── ProjectBox ──────────────────────────────────────────── */
[data-theme="light"] .file-upload-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .file-preview-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .file-list-item {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}
[data-theme="light"] .file-list-item:hover,
[data-theme="light"] .file-list-item.active {
    background: #fff !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 1px rgba(201,133,0,.15), var(--shadow);
    color: var(--heading) !important;
}
[data-theme="light"] .file-list-item__name { color: var(--heading); }
[data-theme="light"] .file-preview-head    { color: var(--heading); }
[data-theme="light"] .file-upload-card h2  { color: var(--heading); }
[data-theme="light"] .file-preview-code {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}
[data-theme="light"] .file-access-trigger {
    background: var(--surface-2);
    border-color: var(--border-strong);
    color: var(--text-muted);
}
[data-theme="light"] .file-access-trigger:hover {
    background: rgba(201,133,0,.08);
    color: var(--brand-strong);
    border-color: rgba(201,133,0,.22);
}

/* ── Dropdown ────────────────────────────────────────────── */
[data-theme="light"] .dropdown-menu {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-glow), var(--shadow);
}
[data-theme="light"] .dropdown-item { color: var(--text); }
[data-theme="light"] .dropdown-item:hover { background: var(--surface-2); color: var(--heading); }

/* ── Footer ──────────────────────────────────────────────── */
[data-theme="light"] footer.site-footer {
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(16px);
    border-top: 1px solid var(--border);
    color: var(--text-muted);
}

/* ── Misc ────────────────────────────────────────────────── */
[data-theme="light"] ::selection {
    background: rgba(201,133,0,.18);
    color: var(--heading);
}

[data-theme="light"] hr { border-color: var(--border); }

[data-theme="light"] .back-button {
    background: var(--surface);
    border-color: var(--border-strong);
    color: var(--text-muted) !important;
    box-shadow: 0 1px 3px rgba(22,20,15,.06);
}
[data-theme="light"] .back-button:hover {
    border-color: var(--brand);
    color: var(--brand) !important;
    box-shadow: 0 0 0 1px rgba(201,133,0,.15), var(--shadow);
}

[data-theme="light"] ::-webkit-scrollbar-thumb { border-color: var(--bg); }

[data-theme="light"] .theme-toggle {
    background: var(--surface);
    border-color: var(--border-strong);
    box-shadow: 0 1px 3px rgba(22,20,15,.06);
}
[data-theme="light"] .theme-toggle:hover {
    background: var(--surface-2);
    border-color: var(--border-strong);
    color: var(--heading);
}

/* Confirm modal */
[data-theme="light"] .confirm-modal__message { color: var(--text-muted); }

/* fin-row */
[data-theme="light"] .fin-row { border-bottom-color: var(--border); }

/* tutor-empty */
[data-theme="light"] .tutor-empty { color: var(--text-dim); }

/* scrollbar */
[data-theme="light"] ::-webkit-scrollbar-track { background: var(--surface-2); }

/* ── index.html: feature cards / CTA ────────────────────── */
[data-theme="light"] .feature-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
    color: var(--text);
}
[data-theme="light"] .feature-card h5 { color: var(--heading); }
[data-theme="light"] .feature-card::before {
    background: radial-gradient(40rem 18rem at 0% 0%, rgba(201,133,0,.08), transparent 50%);
}
[data-theme="light"] .feature-card:hover {
    border-color: rgba(201,133,0,.22);
    box-shadow: var(--shadow-glow), var(--shadow);
}

[data-theme="light"] .cta {
    background:
        radial-gradient(30rem 18rem at 20% 0%,  rgba(201,133,0,.10), transparent 60%),
        radial-gradient(30rem 18rem at 100% 100%, rgba(232,160,32,.09), transparent 60%),
        var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

/* ── lesson / course templates ───────────────────────────── */
[data-theme="light"] .module-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
    color: var(--text);
}
[data-theme="light"] .module-card h5 { color: var(--heading); }

[data-theme="light"] .course-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .course-image-wrapper,
[data-theme="light"] .studio-course-card__img,
[data-theme="light"] .module-thumb {
    background: var(--surface-solid) !important;
}
[data-theme="light"] .course-image-wrapper::after {
    background: linear-gradient(180deg, transparent 60%, rgba(22,20,15,.08) 100%);
}
[data-theme="light"] .course-header {
    background:
        radial-gradient(34rem 20rem at 12% -20%, var(--brand-glow-strong), transparent 60%),
        radial-gradient(30rem 20rem at 100% 120%, var(--brand-glow), transparent 60%),
        var(--surface-solid) !important;
}
[data-theme="light"] .filters-section {
    backdrop-filter: none;
}
[data-theme="light"] .course-title  { color: var(--heading) !important; }
[data-theme="light"] .course-price .main { color: var(--heading); }

[data-theme="light"] .lesson-title { color: var(--heading) !important; }
[data-theme="light"] .hw-title     { color: var(--heading) !important; }

[data-theme="light"] .circle-progress-text { color: var(--heading); }
[data-theme="light"] .circle-progress-ring {
    background: conic-gradient(
        from -90deg,
        var(--brand) 0deg,
        #FF9D2E calc(var(--progress, 0) * 3.6deg),
        rgba(0, 0, 0, .08) calc(var(--progress, 0) * 3.6deg),
        rgba(0, 0, 0, .08) 360deg
    );
}
[data-theme="light"] .progress-stats-value { color: var(--heading); }
[data-theme="light"] .module-completed-badge { color: #fff; }

/* course_detail: category buttons */
[data-theme="light"] .category-filter-label {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text-muted);
    box-shadow: 0 1px 3px rgba(22,20,15,.05);
}
[data-theme="light"] .category-filter-label:hover { color: var(--heading); border-color: var(--brand); }
[data-theme="light"] .category-filter-label.is-active { color: #fff; border-color: transparent; }
[data-theme="light"] .reset-filters-btn:hover { color: var(--heading); border-color: var(--brand); }

/* ── profile ─────────────────────────────────────────────── */
[data-theme="light"] .stat-box { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); }
[data-theme="light"] .stat-box .v   { color: var(--heading); }
[data-theme="light"] .quick .ic     { box-shadow: 0 8px 20px -8px rgba(201,133,0,.45); }
[data-theme="light"] .quick b       { color: var(--heading); }
[data-theme="light"] .sec-title     { color: var(--heading); }
[data-theme="light"] .cab-name      { color: var(--heading); }
[data-theme="light"] .course-info b { color: var(--heading); }
[data-theme="light"] .course-pct    { color: var(--heading); }

[data-theme="light"] .student-link-row {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow);
}
[data-theme="light"] .student-link-row__name { color: var(--heading); }

/* studio */
[data-theme="light"] .studio-card { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); }
[data-theme="light"] .studio-card h5 { color: var(--heading); }
[data-theme="light"] .studio-ic      { box-shadow: 0 8px 20px -8px rgba(201,133,0,.45); }
[data-theme="light"] body.studio-page::before {
    background:
        radial-gradient(76rem 40rem at 14% -6%, var(--brand-glow-soft), transparent 72%),
        radial-gradient(66rem 36rem at 88% 2%, rgba(255, 157, 46, .04), transparent 68%),
        radial-gradient(60rem 34rem at 50% 108%, rgba(84, 214, 180, .03), transparent 70%),
        var(--bg);
}
[data-theme="light"] body.studio-page header .navbar {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* my_courses editor */
[data-theme="light"] .course-title { color: var(--heading); }

/* ── CKEditor ────────────────────────────────────────────── */
[data-theme="light"] .cke,
[data-theme="light"] .ck.ck-editor__main > .ck-editor__editable {
    background: #fff !important;
    color: var(--text) !important;
}
[data-theme="light"] .ck.ck-toolbar { background: var(--surface-2) !important; border-color: var(--border) !important; }

/* bg-light override */
[data-theme="light"] .bg-light,
[data-theme="light"] pre.bg-light {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

/* ── Platform transition & intro (respect current theme) ── */
[data-theme="light"] #fx-transition[data-platform="pydep"] {
    background:
        radial-gradient(40rem 30rem at 30% 20%, rgba(201,133,0,.20), transparent 60%),
        radial-gradient(40rem 30rem at 80% 90%, rgba(255,157,46,.16), transparent 60%),
        var(--bg);
}

[data-theme="light"] #fx-transition[data-platform="tutor"] {
    background:
        radial-gradient(40rem 30rem at 30% 20%, rgba(201,133,0,.20), transparent 60%),
        radial-gradient(40rem 30rem at 80% 90%, rgba(255,157,46,.16), transparent 60%),
        var(--bg);
}
[data-theme="light"] #fx-transition[data-platform="studio"] {
    background:
        radial-gradient(40rem 30rem at 30% 20%, rgba(201,133,0,.20), transparent 60%),
        radial-gradient(40rem 30rem at 80% 90%, rgba(255,157,46,.16), transparent 60%),
        var(--bg);
}
[data-theme="light"] #fx-transition[data-platform="pydep"].is-active .fx-tr-letter {
    text-shadow: 0 0 14px rgba(255, 176, 32, .35), 0 0 26px rgba(84, 214, 180, .22);
}
[data-theme="light"] #fx-transition[data-platform="tutor"].is-active .fx-tr-letter {
    text-shadow: 0 0 14px rgba(255, 176, 32, .35), 0 0 26px rgba(84, 214, 180, .22);
}
[data-theme="light"] #fx-transition[data-platform="studio"].is-active .fx-tr-letter {
    text-shadow: 0 0 14px rgba(255, 176, 32, .35), 0 0 26px rgba(84, 214, 180, .22);
}

[data-theme="light"] #fx-transition .fx-tr-name {
    color: var(--heading);
}

[data-theme="light"] #fx-transition .fx-tr-sub {
    color: var(--text-muted);
}

[data-theme="light"] #fx-transition .fx-tr-sub .fx-dots i {
    background: var(--brand);
    opacity: .45;
}

html.intro[data-theme="light"] #fx-intro {
    background:
        radial-gradient(40rem 40rem at 50% 30%, rgba(201,133,0,.14), transparent 60%),
        var(--bg);
}

html.intro[data-theme="light"] #fx-intro[data-platform="tutor"] {
    background:
        radial-gradient(40rem 40rem at 50% 30%, rgba(201,133,0,.14), transparent 60%),
        var(--bg);
}
html.intro[data-theme="light"] #fx-intro[data-platform="studio"] {
    background:
        radial-gradient(40rem 40rem at 50% 30%, rgba(201,133,0,.14), transparent 60%),
        var(--bg);
}

html.intro[data-theme="light"] #fx-intro::after {
    background-image:
        linear-gradient(to right, rgba(22,20,15,.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(22,20,15,.03) 1px, transparent 1px);
}

html.intro[data-theme="light"] #fx-intro .fx-word {
    color: var(--heading);
}

html.intro[data-theme="light"] #fx-intro .fx-tag {
    color: var(--text-muted);
}

html.intro[data-theme="light"] #fx-intro .fx-logo-glow,
[data-theme="light"] #fx-transition.is-active .fx-logo-glow {
    background: radial-gradient(circle, rgba(232, 160, 32, .34) 0%, rgba(201, 133, 0, .12) 45%, transparent 72%);
}
