/* ================= Font Inter (self-host) ================= */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('vendor/inter/inter-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('vendor/inter/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('vendor/inter/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ================= Design tokens (P1) ================= */
:root {
    /* Bảng màu thương hiệu "Quách Hiếu Chef" */
    --qh-black: #121212;
    --qh-surface: #1a1a1a;
    --qh-card: #222222;
    --qh-elev: #242424;
    --qh-elev2: #2e2e2e;
    --qh-border: #333333;
    --qh-gold: #D4AF37;
    --qh-gold-strong: #b8952e;
    --qh-green: #48A14D;
    --qh-green-strong: #3a8a40;
    --qh-white: #FFFFFF;
    --qh-muted: #b3b3b3;
    --qh-dim: #9a9a9a;

    --bg: #121212;
    --surface: #1a1a1a;
    --card: #222222;
    --primary: #D4AF37;
    --accent: #48A14D;
    --success: #48A14D;
    --warning: #F59E0B;
    --radius: 16px;
    --radius-sm: 12px;
    --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
}
html, body { font-family: var(--font-sans); }

/* Cắt dòng */
.clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ================= Trang tuyển sinh: bố cục lai ================= */
#authFab {
    display: none; position: fixed; right: 16px; bottom: 16px; z-index: 58;
    align-items: center; gap: 8px; color: #fff; font-weight: 700; font-size: 14px;
    padding: 12px 18px; border-radius: 9999px;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    box-shadow: 0 10px 30px rgba(212, 175, 55, .45);
}
#authBackdrop {
    position: fixed; inset: 0; background: rgba(2, 6, 23, .65); z-index: 55;
    opacity: 0; pointer-events: none; transition: opacity .28s ease;
}
#authBackdrop.show { opacity: 1; pointer-events: auto; }
@media (min-width: 1024px) {
    #authAside { position: sticky; top: 5rem; height: fit-content; }
    #authFab, #authBackdrop { display: none !important; }
}
@media (max-width: 1023.98px) {
    #authAside {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; max-height: 88vh; overflow-y: auto;
        padding: 0 12px 12px; transform: translateY(110%); transition: transform .28s ease; visibility: hidden;
    }
    #authAside.sheet-open { transform: translateY(0); visibility: visible; }
    #authFab { display: inline-flex; }
}

/* ================= Theme: Sáng / Tối / Hệ thống ================= */
:root { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="light"] body {
    background: #eef2f7 !important;
    background-image: none !important;
    color: #0f172a !important;
}

/* Nền */
:root[data-theme="light"] .bg-black\/60,
:root[data-theme="light"] .bg-black\/70,
:root[data-theme="light"] .bg-black\/80 { background-color: rgba(15, 23, 42, .5) !important; }
:root[data-theme="light"] .bg-slate-950,
:root[data-theme="light"] .bg-slate-950\/70,
:root[data-theme="light"] .bg-slate-950\/75,
:root[data-theme="light"] .bg-slate-950\/80,
:root[data-theme="light"] .bg-slate-950\/90,
:root[data-theme="light"] .bg-slate-950\/95,
:root[data-theme="light"] .bg-slate-900,
:root[data-theme="light"] .bg-slate-900\/50,
:root[data-theme="light"] .bg-slate-900\/60,
:root[data-theme="light"] .bg-slate-900\/70,
:root[data-theme="light"] .bg-slate-900\/80,
:root[data-theme="light"] .bg-slate-900\/90,
:root[data-theme="light"] .bg-slate-900\/95 { background-color: #e2e8f0 !important; }
:root[data-theme="light"] .bg-slate-800,
:root[data-theme="light"] .bg-slate-800\/90,
:root[data-theme="light"] .bg-slate-800\/60 { background-color: #ffffff !important; }
:root[data-theme="light"] .bg-slate-700,
:root[data-theme="light"] .bg-slate-700\/40,
:root[data-theme="light"] .bg-slate-700\/50,
:root[data-theme="light"] .bg-slate-700\/60 { background-color: #f1f5f9 !important; }
:root[data-theme="light"] .bg-slate-600,
:root[data-theme="light"] .bg-slate-600\/40,
:root[data-theme="light"] .bg-slate-600\/70 { background-color: #e2e8f0 !important; }
:root[data-theme="light"] .bg-slate-500,
:root[data-theme="light"] .bg-slate-500\/20 { background-color: #cbd5e1 !important; }
:root[data-theme="light"] .bg-white\/5 { background-color: rgba(15, 23, 42, .04) !important; }
:root[data-theme="light"] .bg-white\/10 { background-color: rgba(15, 23, 42, .06) !important; }
:root[data-theme="light"] .bg-white\/20 { background-color: rgba(15, 23, 42, .12) !important; }
:root[data-theme="light"] .bg-slate-900\/60,
:root[data-theme="light"] .bg-slate-800\/40 { background-color: #eef2f7 !important; }

/* Hover nền */
:root[data-theme="light"] .hover\:bg-slate-600:hover,
:root[data-theme="light"] .hover\:bg-slate-700:hover,
:root[data-theme="light"] .hover\:bg-slate-700\/60:hover,
:root[data-theme="light"] .hover\:bg-slate-500:hover { background-color: #dbe3ec !important; }
:root[data-theme="light"] .hover\:bg-white\/10:hover,
:root[data-theme="light"] .hover\:bg-white\/20:hover { background-color: rgba(15, 23, 42, .08) !important; }

/* Chữ */
:root[data-theme="light"] .text-white { color: #0f172a !important; }
:root[data-theme="light"] .text-slate-100,
:root[data-theme="light"] .text-slate-200 { color: #1e293b !important; }
:root[data-theme="light"] .text-slate-300 { color: #334155 !important; }
:root[data-theme="light"] .text-slate-400 { color: #475569 !important; }
:root[data-theme="light"] .text-slate-500 { color: #64748b !important; }
:root[data-theme="light"] .text-slate-600 { color: #475569 !important; }
:root[data-theme="light"] .text-slate-900 { color: #0f172a !important; }
:root[data-theme="light"] .text-indigo-300,
:root[data-theme="light"] .text-indigo-400 { color: #4f46e5 !important; }
:root[data-theme="light"] .text-indigo-200 { color: #4338ca !important; }
:root[data-theme="light"] .text-indigo-100 { color: #3730a3 !important; }

/* Giữ chữ trắng trên nền màu */
:root[data-theme="light"] [class*="bg-indigo-"].text-white,
:root[data-theme="light"] [class*="bg-violet-"].text-white,
:root[data-theme="light"] [class*="bg-blue-"].text-white,
:root[data-theme="light"] [class*="bg-sky-"].text-white,
:root[data-theme="light"] [class*="bg-cyan-"].text-white,
:root[data-theme="light"] [class*="bg-teal-"].text-white,
:root[data-theme="light"] [class*="bg-emerald-"].text-white,
:root[data-theme="light"] [class*="bg-green-"].text-white,
:root[data-theme="light"] [class*="bg-amber-"].text-white,
:root[data-theme="light"] [class*="bg-orange-"].text-white,
:root[data-theme="light"] [class*="bg-red-"].text-white,
:root[data-theme="light"] [class*="bg-rose-"].text-white,
:root[data-theme="light"] [class*="bg-pink-"].text-white,
:root[data-theme="light"] [class*="bg-fuchsia-"].text-white { color: #ffffff !important; }

/* Viền */
:root[data-theme="light"] .border-white\/10,
:root[data-theme="light"] .border-white\/15,
:root[data-theme="light"] .border-white\/20 { border-color: rgba(15, 23, 42, .12) !important; }
:root[data-theme="light"] .border-slate-700,
:root[data-theme="light"] .border-slate-700\/60,
:root[data-theme="light"] .border-slate-600 { border-color: rgba(15, 23, 42, .16) !important; }

/* Input */
:root[data-theme="light"] select,
:root[data-theme="light"] input,
:root[data-theme="light"] textarea { color: #0f172a !important; }
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder { color: #94a3b8 !important; }

/* Nội dung HTML bài giảng */
:root[data-theme="light"] .rich-html,
:root[data-theme="light"] .class-html-content,
:root[data-theme="light"] .cls-post.ql-editor { color: #1e293b !important; }
:root[data-theme="light"] .rich-html h1,
:root[data-theme="light"] .rich-html h2,
:root[data-theme="light"] .rich-html h3,
:root[data-theme="light"] .rich-html h4 { color: #0f172a !important; }
:root[data-theme="light"] .rich-html pre,
:root[data-theme="light"] .rich-html code { background: #e2e8f0 !important; color: #0f172a !important; }
:root[data-theme="light"] .rich-html blockquote { color: #475569 !important; border-color: #818cf8 !important; background: rgba(99, 102, 241, .06) !important; }
:root[data-theme="light"] .rich-html td,
:root[data-theme="light"] .rich-html th { border-color: #cbd5e1 !important; }

/* Con của nội dung HTML (ghi đè `.class-html-content *` màu sáng trong student.css) */
:root[data-theme="light"] .rich-html *,
:root[data-theme="light"] .class-html-content *,
:root[data-theme="light"] .cls-post.ql-editor * { color: #1e293b !important; border-color: #cbd5e1 !important; }
:root[data-theme="light"] .rich-html a,
:root[data-theme="light"] .class-html-content a,
:root[data-theme="light"] .cls-post.ql-editor a { color: #2563eb !important; }
:root[data-theme="light"] .rich-html code,
:root[data-theme="light"] .rich-html pre,
:root[data-theme="light"] .class-html-content code,
:root[data-theme="light"] .class-html-content pre,
:root[data-theme="light"] .cls-post.ql-editor code,
:root[data-theme="light"] .cls-post.ql-editor pre,
:root[data-theme="light"] .cls-post.ql-editor .ql-code-block-container { background: #e2e8f0 !important; color: #0f172a !important; border-color: #cbd5e1 !important; }
:root[data-theme="light"] .rich-html blockquote,
:root[data-theme="light"] .class-html-content blockquote { color: #475569 !important; border-left-color: #818cf8 !important; }

/* Trình chiếu toàn màn hình */
:root[data-theme="light"] .lop-fullscreen { background: #eef2f7 !important; }

/* ================= Hài hòa tương phản (dark) =================
   Nâng độ sáng chữ mờ + viền để đạt tối thiểu ~4.5:1 trên nền slate-800/700. */
:root:not([data-theme="light"]) .text-slate-600 { color: #8b98ab !important; }
:root:not([data-theme="light"]) .text-slate-500 { color: #a4b1c4 !important; }
:root:not([data-theme="light"]) .text-slate-400 { color: #b3bfcf !important; }
:root:not([data-theme="light"]) .text-slate-300 { color: #cbd5e1 !important; }
:root:not([data-theme="light"]) .text-indigo-300 { color: #a5b4fc !important; }
:root:not([data-theme="light"]) .text-indigo-400 { color: #93a4f8 !important; }
:root:not([data-theme="light"]) .text-emerald-400 { color: #34d399 !important; }
:root:not([data-theme="light"]) .text-amber-400 { color: #fbbf24 !important; }
:root:not([data-theme="light"]) .text-red-400 { color: #f87171 !important; }
:root:not([data-theme="light"]) input::placeholder,
:root:not([data-theme="light"]) textarea::placeholder { color: #a0adc0 !important; }
:root:not([data-theme="light"]) .border-slate-700,
:root:not([data-theme="light"]) .border-slate-700\/60 { border-color: #3a4a61 !important; }
:root:not([data-theme="light"]) .border-slate-600 { border-color: #4a5a72 !important; }
:root:not([data-theme="light"]) .border-white\/10 { border-color: rgba(148, 163, 184, .18) !important; }
:root:not([data-theme="light"]) .border-white\/20 { border-color: rgba(148, 163, 184, .28) !important; }
/* Nút màu đậm hơn để chữ trắng đủ tương phản */
:root:not([data-theme="light"]) .bg-emerald-600 { background-color: #047857 !important; }
:root:not([data-theme="light"]) .bg-indigo-500 { background-color: #4f46e5 !important; }
:root:not([data-theme="light"]) .bg-amber-600 { background-color: #b45309 !important; }

/* ================= Hài hòa tương phản (light) =================
   Hạ tông các màu nhấn để đủ tương phản trên nền sáng. */
:root[data-theme="light"] .text-emerald-100,
:root[data-theme="light"] .text-emerald-200,
:root[data-theme="light"] .text-emerald-300,
:root[data-theme="light"] .text-emerald-400 { color: #047857 !important; }
:root[data-theme="light"] .text-amber-100,
:root[data-theme="light"] .text-amber-200,
:root[data-theme="light"] .text-amber-300,
:root[data-theme="light"] .text-amber-400 { color: #b45309 !important; }
:root[data-theme="light"] .text-red-100,
:root[data-theme="light"] .text-red-200,
:root[data-theme="light"] .text-red-300,
:root[data-theme="light"] .text-red-400 { color: #b91c1c !important; }
:root[data-theme="light"] .text-sky-300,
:root[data-theme="light"] .text-sky-400 { color: #0369a1 !important; }
:root[data-theme="light"] .text-fuchsia-200,
:root[data-theme="light"] .text-fuchsia-300 { color: #a21caf !important; }
:root[data-theme="light"] .text-violet-300,
:root[data-theme="light"] .text-violet-400 { color: #6d28d9 !important; }
:root[data-theme="light"] .text-cyan-300,
:root[data-theme="light"] .text-cyan-400 { color: #0e7490 !important; }
:root[data-theme="light"] .text-slate-100,
:root[data-theme="light"] .text-slate-200 { color: #1e293b !important; }
:root[data-theme="light"] .text-sky-100,
:root[data-theme="light"] .text-sky-200 { color: #0369a1 !important; }
:root[data-theme="light"] .text-violet-100,
:root[data-theme="light"] .text-violet-200 { color: #6d28d9 !important; }
:root[data-theme="light"] .text-rose-100,
:root[data-theme="light"] .text-rose-200 { color: #be123c !important; }
:root[data-theme="light"] .text-indigo-100,
:root[data-theme="light"] .text-indigo-200,
:root[data-theme="light"] .text-indigo-200\/70 { color: #4338ca !important; }
:root[data-theme="light"] .border-slate-700,
:root[data-theme="light"] .border-slate-600 { border-color: #cbd5e1 !important; }


/* ============ Bảng trong nội dung: MẶC ĐỊNH CÓ VIỀN ============
   Chỉ bỏ viền khi đánh dấu rõ: class "no-border" / "borderless" hoặc border="0" / data-border="none". */
.rich-html table, .class-html-content table, .cls-post.ql-editor table,
.markdown table, .prose table, #stuLessonBody table, #classLessonBody table {
    border-collapse: collapse; max-width: 100%; margin: .5em 0;
}
.rich-html th, .rich-html td,
.class-html-content th, .class-html-content td,
.cls-post.ql-editor th, .cls-post.ql-editor td,
.markdown th, .markdown td, .prose th, .prose td,
#stuLessonBody th, #stuLessonBody td, #classLessonBody th, #classLessonBody td {
    border: 1px solid #475569 !important; padding: 4px 8px;
}
.rich-html th, .class-html-content th, .cls-post.ql-editor th,
.markdown th, .prose th, #stuLessonBody th, #classLessonBody th { font-weight: 600; }

/* Bỏ viền khi được chỉ định rõ ràng */
table.no-border, table.no-border th, table.no-border td,
table.borderless, table.borderless th, table.borderless td,
table[data-border="none"] th, table[data-border="none"] td,
.rich-html table[border="0"] th, .rich-html table[border="0"] td,
.class-html-content table[border="0"] th, .class-html-content table[border="0"] td,
.cls-post.ql-editor table[border="0"] th, .cls-post.ql-editor table[border="0"] td,
#stuLessonBody table[border="0"] th, #stuLessonBody table[border="0"] td,
#classLessonBody table[border="0"] th, #classLessonBody table[border="0"] td { border: 0 !important; }

:root[data-theme="light"] .rich-html th, :root[data-theme="light"] .rich-html td,
:root[data-theme="light"] .class-html-content th, :root[data-theme="light"] .class-html-content td,
:root[data-theme="light"] .cls-post.ql-editor th, :root[data-theme="light"] .cls-post.ql-editor td,
:root[data-theme="light"] .markdown th, :root[data-theme="light"] .markdown td,
:root[data-theme="light"] .prose th, :root[data-theme="light"] .prose td,
:root[data-theme="light"] #stuLessonBody th, :root[data-theme="light"] #stuLessonBody td,
:root[data-theme="light"] #classLessonBody th, :root[data-theme="light"] #classLessonBody td { border-color: #cbd5e1 !important; }

/* =====================================================================
   BẢNG MÀU THƯƠNG HIỆU "QUÁCH HIẾU CHEF"
   Đen #121212 · Vàng ánh kim #D4AF37 · Xanh lá #48A14D · Trắng #FFFFFF
   Lớp override toàn cục: đặt sau cùng để thắng các CSS trang (kể cả !important).
   ===================================================================== */

/* ---------------- DARK (mặc định) ---------------- */

/* Nền trang */
:root:not([data-theme="light"]) body.bg-slate-900,
:root:not([data-theme="light"]) body.bg-slate-950,
:root:not([data-theme="light"]) body.bg-slate-800 { background-color: #121212 !important; }
:root:not([data-theme="light"]) body.from-indigo-950,
:root:not([data-theme="light"]) body.from-slate-900,
:root:not([data-theme="light"]) body.from-slate-950 {
    background-image: linear-gradient(135deg, #121212 0%, #0d0d0d 55%, #1a1a1a 100%) !important;
}

/* Bề mặt */
:root:not([data-theme="light"]) .bg-slate-950,
:root:not([data-theme="light"]) .bg-slate-900 { background-color: #121212 !important; }
:root:not([data-theme="light"]) .bg-slate-900\/40,
:root:not([data-theme="light"]) .bg-slate-900\/50,
:root:not([data-theme="light"]) .bg-slate-900\/60 { background-color: rgba(18,18,18,.72) !important; }
:root:not([data-theme="light"]) .bg-slate-900\/85,
:root:not([data-theme="light"]) .bg-slate-900\/95,
:root:not([data-theme="light"]) .bg-slate-950\/70,
:root:not([data-theme="light"]) .bg-slate-950\/75,
:root:not([data-theme="light"]) .bg-slate-950\/80,
:root:not([data-theme="light"]) .bg-slate-950\/90,
:root:not([data-theme="light"]) .bg-slate-950\/95 { background-color: rgba(10,10,10,.92) !important; }
:root:not([data-theme="light"]) .bg-slate-800 { background-color: #1a1a1a !important; }
:root:not([data-theme="light"]) .bg-slate-800\/40,
:root:not([data-theme="light"]) .bg-slate-800\/50,
:root:not([data-theme="light"]) .bg-slate-800\/60,
:root:not([data-theme="light"]) .bg-slate-800\/70,
:root:not([data-theme="light"]) .bg-slate-800\/90 { background-color: rgba(26,26,26,.72) !important; }
:root:not([data-theme="light"]) .bg-slate-700 { background-color: #242424 !important; }
:root:not([data-theme="light"]) .bg-slate-700\/30,
:root:not([data-theme="light"]) .bg-slate-700\/40,
:root:not([data-theme="light"]) .bg-slate-700\/50,
:root:not([data-theme="light"]) .bg-slate-700\/60,
:root:not([data-theme="light"]) .bg-slate-700\/70 { background-color: rgba(36,36,36,.55) !important; }
:root:not([data-theme="light"]) .bg-slate-600 { background-color: #2e2e2e !important; }
:root:not([data-theme="light"]) .bg-slate-600\/40,
:root:not([data-theme="light"]) .bg-slate-600\/60,
:root:not([data-theme="light"]) .bg-slate-600\/70,
:root:not([data-theme="light"]) .bg-slate-600\/80 { background-color: rgba(46,46,46,.6) !important; }
:root:not([data-theme="light"]) .bg-slate-500 { background-color: #3a3a3a !important; }
:root:not([data-theme="light"]) .bg-slate-500\/20 { background-color: rgba(255,255,255,.06) !important; }

/* Hover bề mặt */
:root:not([data-theme="light"]) .hover\:bg-slate-600:hover { background-color: #2e2e2e !important; }
:root:not([data-theme="light"]) .hover\:bg-slate-500:hover { background-color: #3a3a3a !important; }
:root:not([data-theme="light"]) .hover\:bg-slate-700:hover,
:root:not([data-theme="light"]) .hover\:bg-slate-700\/60:hover { background-color: #242424 !important; }

/* Viền */
:root:not([data-theme="light"]) .border-slate-800 { border-color: #1e1e1e !important; }
:root:not([data-theme="light"]) .border-slate-700,
:root:not([data-theme="light"]) .border-slate-700\/50,
:root:not([data-theme="light"]) .border-slate-700\/60 { border-color: #333333 !important; }
:root:not([data-theme="light"]) .border-slate-600 { border-color: #3d3d3d !important; }

/* Chữ */
:root:not([data-theme="light"]) .text-slate-100,
:root:not([data-theme="light"]) .text-slate-200 { color: #f0f0f0 !important; }
:root:not([data-theme="light"]) .text-slate-300 { color: #d6d6d6 !important; }
:root:not([data-theme="light"]) .text-slate-400 { color: #b3b3b3 !important; }
:root:not([data-theme="light"]) .text-slate-500 { color: #9a9a9a !important; }
:root:not([data-theme="light"]) .text-slate-600 { color: #808080 !important; }

/* Nhấn VÀNG ÁNH KIM (indigo/violet -> vàng) */
:root:not([data-theme="light"]) .bg-indigo-500,
:root:not([data-theme="light"]) .bg-indigo-600,
:root:not([data-theme="light"]) .bg-indigo-700,
:root:not([data-theme="light"]) .bg-violet-500,
:root:not([data-theme="light"]) .bg-violet-600,
:root:not([data-theme="light"]) .bg-violet-700 { background-color: #D4AF37 !important; color: #121212 !important; }
:root:not([data-theme="light"]) .hover\:bg-indigo-500:hover,
:root:not([data-theme="light"]) .hover\:bg-indigo-600:hover,
:root:not([data-theme="light"]) .hover\:bg-indigo-700:hover,
:root:not([data-theme="light"]) .hover\:bg-violet-500:hover,
:root:not([data-theme="light"]) .hover\:bg-violet-600:hover,
:root:not([data-theme="light"]) .hover\:bg-violet-700:hover { background-color: #b8952e !important; }
:root:not([data-theme="light"]) .bg-indigo-600\/30,
:root:not([data-theme="light"]) .bg-indigo-500\/15,
:root:not([data-theme="light"]) .bg-indigo-500\/20,
:root:not([data-theme="light"]) .bg-violet-500\/20 { background-color: rgba(212,175,55,.18) !important; }
:root:not([data-theme="light"]) .text-indigo-100,
:root:not([data-theme="light"]) .text-indigo-200 { color: #ebd9a3 !important; }
:root:not([data-theme="light"]) .text-indigo-300,
:root:not([data-theme="light"]) .text-indigo-400,
:root:not([data-theme="light"]) .text-violet-300,
:root:not([data-theme="light"]) .text-violet-400 { color: #D4AF37 !important; }
:root:not([data-theme="light"]) .border-indigo-400,
:root:not([data-theme="light"]) .border-indigo-500,
:root:not([data-theme="light"]) .border-indigo-500\/40 { border-color: #D4AF37 !important; }
:root:not([data-theme="light"]) .ring-indigo-500,
:root:not([data-theme="light"]) .focus\:ring-indigo-500:focus { --tw-ring-color: #D4AF37 !important; }
:root:not([data-theme="light"]) .from-indigo-500 { background-image: linear-gradient(135deg, #D4AF37 0%, #48A14D 100%) !important; color: #121212 !important; }

/* Nhấn XANH LÁ (emerald/green -> xanh lá) */
:root:not([data-theme="light"]) .bg-emerald-500,
:root:not([data-theme="light"]) .bg-emerald-600,
:root:not([data-theme="light"]) .bg-emerald-700,
:root:not([data-theme="light"]) .bg-green-500,
:root:not([data-theme="light"]) .bg-green-600,
:root:not([data-theme="light"]) .bg-green-700 { background-color: #3a8a40 !important; color: #ffffff !important; }
:root:not([data-theme="light"]) .hover\:bg-emerald-500:hover,
:root:not([data-theme="light"]) .hover\:bg-emerald-600:hover,
:root:not([data-theme="light"]) .hover\:bg-emerald-700:hover,
:root:not([data-theme="light"]) .hover\:bg-green-600:hover { background-color: #2f7a36 !important; }
:root:not([data-theme="light"]) .bg-emerald-500\/10,
:root:not([data-theme="light"]) .bg-emerald-500\/15,
:root:not([data-theme="light"]) .bg-emerald-500\/20,
:root:not([data-theme="light"]) .bg-emerald-600\/30 { background-color: rgba(72,161,77,.18) !important; }
:root:not([data-theme="light"]) .text-emerald-300,
:root:not([data-theme="light"]) .text-emerald-400,
:root:not([data-theme="light"]) .text-green-300,
:root:not([data-theme="light"]) .text-green-400 { color: #7cc47f !important; }
:root:not([data-theme="light"]) .border-emerald-500,
:root:not([data-theme="light"]) .border-emerald-500\/40 { border-color: #48A14D !important; }

/* Nội dung HTML bài giảng */
:root:not([data-theme="light"]) .rich-html,
:root:not([data-theme="light"]) .class-html-content,
:root:not([data-theme="light"]) .cls-post.ql-editor { color: #e8e8e8 !important; }
:root:not([data-theme="light"]) .rich-html h1,
:root:not([data-theme="light"]) .rich-html h2,
:root:not([data-theme="light"]) .rich-html h3,
:root:not([data-theme="light"]) .rich-html h4,
:root:not([data-theme="light"]) .class-html-content h1,
:root:not([data-theme="light"]) .class-html-content h2,
:root:not([data-theme="light"]) .class-html-content h3,
:root:not([data-theme="light"]) .cls-post.ql-editor h1,
:root:not([data-theme="light"]) .cls-post.ql-editor h2,
:root:not([data-theme="light"]) .cls-post.ql-editor h3 { color: #ffffff !important; }
:root:not([data-theme="light"]) .rich-html a,
:root:not([data-theme="light"]) .class-html-content a,
:root:not([data-theme="light"]) .cls-post.ql-editor a { color: #D4AF37 !important; }
:root:not([data-theme="light"]) .rich-html blockquote,
:root:not([data-theme="light"]) .class-html-content blockquote,
:root:not([data-theme="light"]) .cls-post.ql-editor blockquote { color: #c9c9c9 !important; border-left-color: #D4AF37 !important; background: rgba(212,175,55,.06) !important; }
:root:not([data-theme="light"]) .rich-html code,
:root:not([data-theme="light"]) .rich-html pre,
:root:not([data-theme="light"]) .class-html-content code,
:root:not([data-theme="light"]) .class-html-content pre,
:root:not([data-theme="light"]) .cls-post.ql-editor code,
:root:not([data-theme="light"]) .cls-post.ql-editor pre,
:root:not([data-theme="light"]) .cls-post.ql-editor .ql-code-block-container { background-color: #1a1a1a !important; border-color: #333333 !important; color: #f0f0f0 !important; }
:root:not([data-theme="light"]) .cls-post.ql-editor *,
:root:not([data-theme="light"]) .class-html-content * { color: #e8e8e8 !important; border-color: #333333 !important; }
:root:not([data-theme="light"]) .cls-post.ql-editor li > .ql-ui:before { color: #9a9a9a !important; }

/* Lịch (FullCalendar) + cây bài giảng */
:root:not([data-theme="light"]) .fc { --fc-border-color: #333333; --fc-today-bg-color: rgba(212,175,55,.12); }
:root:not([data-theme="light"]) .fc .fc-button-primary:not(:disabled).fc-button-active,
:root:not([data-theme="light"]) .fc .fc-button-primary:not(:disabled):active { background: #D4AF37 !important; border-color: #D4AF37 !important; color: #121212 !important; }
:root:not([data-theme="light"]) .toc-active { background: rgba(212,175,55,.22) !important; }
:root:not([data-theme="light"]) .tree-row.drop-before { box-shadow: inset 0 3px 0 0 #D4AF37 !important; }
:root:not([data-theme="light"]) .tree-row.drop-after { box-shadow: inset 0 -3px 0 0 #D4AF37 !important; }
:root:not([data-theme="light"]) .tree-row.drop-child { background: rgba(212,175,55,.18) !important; outline: 1px dashed #D4AF37 !important; }

/* Trình chiếu toàn màn hình */
:root:not([data-theme="light"]) #classCommunity.lop-fullscreen,
:root:not([data-theme="light"]) #tab-lop.lop-fullscreen { background: #121212 !important; }

/* Input/option */
:root:not([data-theme="light"]) select option,
:root:not([data-theme="light"]) datalist option { background-color: #1a1a1a !important; color: #e8e8e8 !important; }
:root:not([data-theme="light"]) select option:checked,
:root:not([data-theme="light"]) select option:hover { background-color: #D4AF37 !important; color: #121212 !important; }
:root:not([data-theme="light"]) input::placeholder,
:root:not([data-theme="light"]) textarea::placeholder { color: #8f8f8f !important; }

/* Panel trượt (trang module) */
:root:not([data-theme="light"]) .sheet { background: #1a1a1a !important; border-color: #333333 !important; }
:root:not([data-theme="light"]) .overlay { background: rgba(0,0,0,.7) !important; }

/* ---------------- LIGHT (tông kem ấm) ---------------- */
:root[data-theme="light"] body { background: #faf7ef !important; background-image: none !important; }
:root[data-theme="light"] .bg-slate-950,
:root[data-theme="light"] .bg-slate-900,
:root[data-theme="light"] .bg-slate-900\/50,
:root[data-theme="light"] .bg-slate-900\/60 { background-color: #f0ead9 !important; }
:root[data-theme="light"] .bg-slate-800,
:root[data-theme="light"] .bg-slate-800\/90,
:root[data-theme="light"] .bg-slate-800\/60 { background-color: #ffffff !important; }
:root[data-theme="light"] .bg-slate-700,
:root[data-theme="light"] .bg-slate-700\/40,
:root[data-theme="light"] .bg-slate-700\/50,
:root[data-theme="light"] .bg-slate-700\/60 { background-color: #f5f0e3 !important; }
:root[data-theme="light"] .bg-slate-600,
:root[data-theme="light"] .bg-slate-600\/40,
:root[data-theme="light"] .bg-slate-600\/70 { background-color: #e7e0cd !important; }
:root[data-theme="light"] .bg-slate-500,
:root[data-theme="light"] .bg-slate-500\/20 { background-color: #d8cfb6 !important; }

:root[data-theme="light"] .bg-indigo-500,
:root[data-theme="light"] .bg-indigo-600,
:root[data-theme="light"] .bg-indigo-700,
:root[data-theme="light"] .bg-violet-500,
:root[data-theme="light"] .bg-violet-600,
:root[data-theme="light"] .bg-violet-700 { background-color: #D4AF37 !important; color: #3a2f00 !important; }
:root[data-theme="light"] [class*="bg-indigo-"].text-white,
:root[data-theme="light"] [class*="bg-violet-"].text-white { color: #3a2f00 !important; }
:root[data-theme="light"] .text-indigo-100,
:root[data-theme="light"] .text-indigo-200,
:root[data-theme="light"] .text-indigo-300,
:root[data-theme="light"] .text-indigo-400,
:root[data-theme="light"] .text-violet-100,
:root[data-theme="light"] .text-violet-200,
:root[data-theme="light"] .text-violet-300,
:root[data-theme="light"] .text-violet-400 { color: #8a6d1f !important; }
:root[data-theme="light"] .border-indigo-400,
:root[data-theme="light"] .border-indigo-500 { border-color: #a8862a !important; }

:root[data-theme="light"] .bg-emerald-500,
:root[data-theme="light"] .bg-emerald-600,
:root[data-theme="light"] .bg-emerald-700,
:root[data-theme="light"] .bg-green-500,
:root[data-theme="light"] .bg-green-600 { background-color: #3a8a40 !important; color: #ffffff !important; }
:root[data-theme="light"] .text-emerald-100,
:root[data-theme="light"] .text-emerald-200,
:root[data-theme="light"] .text-emerald-300,
:root[data-theme="light"] .text-emerald-400,
:root[data-theme="light"] .text-green-300,
:root[data-theme="light"] .text-green-400 { color: #2f7a36 !important; }
:root[data-theme="light"] .border-emerald-500 { border-color: #3a8a40 !important; }
:root[data-theme="light"] .from-indigo-500 { background-image: linear-gradient(135deg, #D4AF37 0%, #48A14D 100%) !important; color: #3a2f00 !important; }
