/* ════════════════════════════════════════════════════════════════
ТЁМНАЯ ТЕМА — Lectier CRM  v11
Bone + Warm Dark — абсолютный люкс-минимализм
#0B0B0C · #131211 · #1E1C1A · #252220 · #F2EDE8 · #D4BFA8

Подключить ПОСЛЕ base.css. Лендинг/вход — не подключать.
════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
1. ПЕРЕМЕННЫЕ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] {
--bg:           #1d1d1c;
--surface:      #1d1d1c;
--surface-2:    #131211;
--surface-3:    #1a1a19;
--border:       #4A443B;
--border-light: #4A4238;
--text:         #F2EDE8;
--text-2:       #C9C3BC;
--text-3:       #948E86;
--accent:       #D4BFA8;
--accent-dark:  #B5A08A;
--accent-mid:   #C4AF98;
--accent-light: rgba(212,191,168,0.18);
--accent-pale:  rgba(212,191,168,0.08);
--gold:         #D4C9BB;
--gold-subtle:  rgba(212,201,187,0.13);
--gold-faint:   rgba(212,201,187,0.07);
--shadow:       0 4px 20px rgba(0,0,0,0.48);
--shadow-sm:    0 2px 10px rgba(0,0,0,0.35);
--shadow-lg:    0 8px 36px rgba(0,0,0,0.62);
--chart-grid-color:    rgba(242,237,232,0.05);
--chart-actual-bg:     rgba(107,40,40,0.38);
--chart-actual-border: rgba(125,50,50,0.92);
--chart-plan-bg:       rgba(212,201,187,0.12);
--chart-plan-border:   rgba(212,201,187,0.30);
--chart-actual-bg-c:   rgba(107,40,40,0.82);
--chart-plan-bg-c:     rgba(212,201,187,0.18);
--chart-plan-border-c: rgba(212,201,187,0.38);
--ht-chart-grid: rgba(242,237,232,0.05);
--popup-bg:     #26231F;
--popup-border: #302C28;
/* Цвет фокуса инпутов — тёплый бежевый */
--input-focus-color: #C4AF98;
--input-border:      rgba(212,201,187,0.35);
--input-border-hover: rgba(212,201,187,0.65);
--input-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23D4C9BB' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
--input-chevron-dim: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23726D68' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ── Выровненные цифры Cormorant Garamond в тёмной теме ── */
[data-theme="dark"] {
font-variant-numeric: lining-nums;
}
[data-theme="dark"] * {
font-variant-numeric: inherit;
}

/* ══════════════════════════════════════════════════════════════
2. БАЗОВЫЕ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] body { background: var(--surface); color: var(--text); }

[data-theme="dark"] .main-content,
[data-theme="dark"] .content-section { background: var(--surface); }

[data-theme="dark"] .page-header {
    background: var(--surface);
    border-bottom-color: var(--border-light);
}

/* ══════════════════════════════════════════════════════════════
3. ЛОГОТИП
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .logo h1      { color: #A8A29C; }
[data-theme="dark"] .logo h1 span { color: #D4BFA8 !important; }
[data-theme="dark"] .logo .logo-sub span    { color: #8C8680; }
[data-theme="dark"] .logo .logo-sub::before,
[data-theme="dark"] .logo .logo-sub::after  { background: var(--border); }
[data-theme="dark"] .logo:hover             { background: var(--surface); }
[data-theme="dark"] .mobile-title           { color: var(--text); }

/* ══════════════════════════════════════════════════════════════
4. САЙДБАР И НАВИГАЦИЯ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .sidebar          { background: var(--surface-3); border-right-color: var(--border); }
[data-theme="dark"] .logo             { border-bottom-color: var(--border-light); }
[data-theme="dark"] .menu-divider     { background: var(--border-light); }
[data-theme="dark"] .menu-item        { color: var(--text-2); transition: color 0.18s, background 0.18s; }
[data-theme="dark"] .menu-item:hover  { color: var(--text); background: var(--surface-2); }
[data-theme="dark"] .menu-item.active { color: var(--gold); }
[data-theme="dark"] .menu-item::before { background: var(--accent); }
[data-theme="dark"] .mobile-topbar    { background: var(--surface); border-bottom-color: var(--border); }
[data-theme="dark"] .hamburger-btn span { background: var(--text); }

/* ══════════════════════════════════════════════════════════════
5. НАСТРОЙКИ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .settings-group-label { color: var(--text-3); }
[data-theme="dark"] .settings-group-label::before,
[data-theme="dark"] .settings-group-label::after { background: var(--border); }
[data-theme="dark"] .settings-section h3 { color: var(--text); }
[data-theme="dark"] .settings-section p.settings-hint { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
6. KPI ПЛИТКИ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .dash-kpi-tile       { background: var(--surface); border-right-color: var(--border); transition: background 0.18s; }
[data-theme="dark"] .dash-kpi-tile:hover { background: var(--surface-2); }
[data-theme="dark"] .dash-kpi-icon--lessons,
[data-theme="dark"] .dash-kpi-icon--students,
[data-theme="dark"] .dash-kpi-icon--income,
[data-theme="dark"] .dash-kpi-icon--cards  { background: var(--gold-faint); color: var(--gold); }
[data-theme="dark"] .dash-kpi-label { color: var(--text-2); }
[data-theme="dark"] .dash-kpi-val   { color: var(--text);}
[data-theme="dark"] .dash-kpi-sub   { color: var(--text-3); }
[data-theme="dark"] .dash-kpi-arrow { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
7. ВИДЖЕТЫ ДАШБОРДА
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .stat-card,
[data-theme="dark"] .dash-sched-card,
[data-theme="dark"] .dash-msg-card,
[data-theme="dark"] .dash-habits-unified {
    background: var(--surface);
    border-color: var(--border);
    transition: border-color 0.2s, box-shadow 0.2s;
}
[data-theme="dark"] .stat-card:hover,
[data-theme="dark"] .stat-card-debt:hover,
[data-theme="dark"] .dash-sched-card:hover,
[data-theme="dark"] .dash-msg-card:hover,
[data-theme="dark"] .dash-habits-unified:hover { border-color: var(--border); box-shadow: var(--shadow); }
[data-theme="dark"] .stat-card-debt:hover { background: var(--accent-pale); }

[data-theme="dark"] .dash-habits-unified-left,
[data-theme="dark"] .dash-habits-unified-right,
[data-theme="dark"] .dash-habits-unified-hd,
[data-theme="dark"] .dash-habits-today-list   { background: var(--surface); }
[data-theme="dark"] .dash-habits-unified-hd   { border-bottom-color: var(--border-light); }
[data-theme="dark"] .dash-habit-today-row:hover { background: var(--surface-2); }
[data-theme="dark"] .dash-week-hd             { background: var(--surface); border-bottom-color: var(--border-light); }
[data-theme="dark"] .dash-week-range-lbl      { color: var(--text); }
[data-theme="dark"] .dash-week-btn            { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
8. ДАШБОРД — активный день
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .dash-tl-day--active::before      { background: var(--accent-mid); }
[data-theme="dark"] .dash-tl-day--active .dash-tl-day-num   { color: var(--text); }
[data-theme="dark"] .dash-tl-day--active .dash-tl-day-month { color: var(--text-2); }
[data-theme="dark"] .dash-tl-day--active .dash-tl-day-name,
[data-theme="dark"] .dash-tl-day--active .dash-tl-day-today-word { color: var(--text-3); }
[data-theme="dark"] .dash-tl-day--active .dash-tl-day-earn  { color: var(--text-2); }

/* Сегодняшний день — белый текст, максимальный приоритет */
[data-theme="dark"] .dash-tl-day--today .dash-tl-day-num,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--active .dash-tl-day-num,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--empty .dash-tl-day-num         { color: #FFFFFF !important; }
[data-theme="dark"] .dash-tl-day--today .dash-tl-day-month,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--active .dash-tl-day-month,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--empty .dash-tl-day-month       { color: #FFFFFF !important; }
[data-theme="dark"] .dash-tl-day--today .dash-tl-day-name,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--active .dash-tl-day-name,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--empty .dash-tl-day-name        { color: #FFFFFF !important; }
[data-theme="dark"] .dash-tl-day--today .dash-tl-day-today-word,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--active .dash-tl-day-today-word { color: #FFFFFF !important; }
[data-theme="dark"] .dash-tl-day--today::before,
[data-theme="dark"] .dash-tl-day--today.dash-tl-day--active::before                 { background: var(--accent) !important; }

[data-theme="dark"] .dash-tl-lesson-time       { color: var(--gold); }
[data-theme="dark"] .dash-tl-right-earn        { color: var(--gold); }
[data-theme="dark"] .dash-tl-right-today       { color: var(--accent); }
[data-theme="dark"] .dash-day-col--active .dash-day-col-num  { color: var(--text); }
[data-theme="dark"] .dash-day-col--active .dash-day-col-name { color: var(--text-3); }
[data-theme="dark"] .dash-earn-col--active .dash-earn-val    { color: var(--text-2); }

/* ══════════════════════════════════════════════════════════════
9. КНОПКИ ДАШБОРДА
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .dash-quick-btn             { background: none; border: none; box-shadow: none; }
[data-theme="dark"] .dash-quick-secondary       { color: var(--text-3); }
[data-theme="dark"] .dash-quick-secondary:hover { color: var(--text-2); }
[data-theme="dark"] .dash-quick-primary         { color: var(--text-2); }
[data-theme="dark"] .dash-quick-primary:hover   { color: var(--text); box-shadow: none; }

/* ══════════════════════════════════════════════════════════════
10. МЕСЯЧНОЕ РАСПИСАНИЕ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .month-day        { background: var(--surface); border-top-color: #302C28; }
[data-theme="dark"] .month-day:hover  { background: var(--surface-2); }
[data-theme="dark"] .month-day.other-month,
[data-theme="dark"] .month-day.other-month:hover { background: var(--bg); border-top-color: transparent; }
[data-theme="dark"] .month-day.other-month .month-day-num,
[data-theme="dark"] .month-day.other-month .month-day-header { color: var(--text-3); opacity: 0.3; }
[data-theme="dark"] .month-day.today  { background: #252220 !important; border-top-color: var(--accent); }
[data-theme="dark"] .month-day.today .month-day-num,
[data-theme="dark"] .month-day.today .month-day-header { color: var(--gold); }
[data-theme="dark"] .month-day-num             { color: var(--text-2); }
[data-theme="dark"] .month-day-header.weekday  { color: var(--text-3); }
[data-theme="dark"] .month-lesson.individual,
[data-theme="dark"] .month-lesson.group        { background: rgba(245,245,247,0.07); border-color: rgba(245,245,247,0.22); color: var(--text-2); }
[data-theme="dark"] .month-lesson.completed    { background: transparent; border-color: var(--border); color: var(--text-3); opacity: 0.7; }
[data-theme="dark"] .month-lesson.cancelled    { background: transparent; border-color: rgba(242,237,232,0.12); color: var(--text-3); text-decoration: line-through; opacity: 0.6; }

/* ══════════════════════════════════════════════════════════════
11. НЕДЕЛЬНОЕ РАСПИСАНИЕ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .time-slot  { background: var(--bg); color: var(--text-3); border-right-color: var(--border-light); border-bottom-color: var(--border-light); }
[data-theme="dark"] .day-slot   { background: var(--surface); border-right-color: var(--border-light); border-bottom-color: var(--border-light); }
[data-theme="dark"] .day-slot.slot-free-clickable { background: var(--surface-3); }
[data-theme="dark"] .day-slot.slot-free-clickable:hover { background: rgba(115,34,18,0.12); }
[data-theme="dark"] .compact-week-grid  { background: var(--bg); }
[data-theme="dark"] .day-header.today .date     { color: #FFFFFF; }
[data-theme="dark"] .day-header.today .day-name { color: #FFFFFF; }
[data-theme="dark"] .sched-hour-line   { border-color: var(--border-light); }
[data-theme="dark"] .sched-time-label  { color: var(--text-3);  }
[data-theme="dark"] .lesson-block.individual,
[data-theme="dark"] .lesson-block.group { background: rgba(245,245,247,0.08); border-color: rgba(245,245,247,0.25); color: var(--text); }
[data-theme="dark"] .lesson-block.individual:hover,
[data-theme="dark"] .lesson-block.group:hover { background: rgba(245,245,247,0.13); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .lesson-block.completed { background: transparent; border-color: var(--border); color: var(--text-3); opacity: 0.55; }
[data-theme="dark"] .lesson-block.cancelled { background: transparent; border-color: rgba(242,237,232,0.12); color: var(--text-3); }
[data-theme="dark"] .schedule-tabs
{ border-color: var(--border); background: transparent; }
[data-theme="dark"] .schedule-tab        { color: var(--text-3); border-bottom-color: transparent; }
[data-theme="dark"] .schedule-tab:hover  { color: var(--text-2); }
[data-theme="dark"] .schedule-tab.active { color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .stats-period-tab        { color: var(--text-3); border-bottom-color: transparent; }
[data-theme="dark"] .stats-period-tab:hover  { color: var(--text-2); }
[data-theme="dark"] .stats-period-tab.active { color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .mob-sched-tab        { color: var(--text-3); }
[data-theme="dark"] .mob-sched-tab.active { color: var(--text); border-bottom-color: var(--accent); }

/* Переключатель «на неделю / на месяц» */
[data-theme="dark"] .desk-sched-period-trigger              { color: var(--accent); border-bottom-color: rgba(211,191,168,0.35); }
[data-theme="dark"] .desk-sched-period-trigger:hover        { border-bottom-color: var(--accent); }
[data-theme="dark"] .desk-sched-on                          { color: var(--accent); }
[data-theme="dark"] .desk-sched-period-opt:hover            { color: var(--accent); }

/* ══════════════════════════════════════════════════════════════
12. СВОБОДНОЕ РАСПИСАНИЕ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] #freeScheduleModal  { background: var(--surface); box-shadow: var(--shadow-lg), 0 0 0 1px var(--border); }
[data-theme="dark"] .fs-header          { background: var(--surface); border-bottom-color: var(--border); }
[data-theme="dark"] .fs-body            { background: var(--bg); }
[data-theme="dark"] .fs-title           { color: var(--text); }
[data-theme="dark"] .fs-eyebrow         { color: var(--text-3); }
[data-theme="dark"] .fs-close           { color: var(--text-3); }
[data-theme="dark"] .fs-close:hover     { color: var(--text); background: var(--surface-2); }
[data-theme="dark"] .fs-week-grid       { border-left-color: var(--border-light); }
[data-theme="dark"] .fs-time-cell       { background: var(--bg); color: var(--text-3); border-right-color: var(--border-light); border-bottom-color: var(--border-light); }
[data-theme="dark"] .fs-slot            { border-right-color: var(--border-light); border-bottom-color: var(--border-light); }
[data-theme="dark"] .fs-slot.fs-free       { background: var(--gold-faint); }
[data-theme="dark"] .fs-slot.fs-free:hover { background: var(--gold-subtle); }
[data-theme="dark"] .fs-slot.fs-busy    { background: repeating-linear-gradient(-45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1.5px, transparent 1.5px, transparent 5px); }
[data-theme="dark"] .fs-hour-divider    { border-top-color: var(--border); }
[data-theme="dark"] .fs-date-num        { color: var(--text); }
[data-theme="dark"] .fs-date-dow        { color: var(--text-3); }
[data-theme="dark"] .fs-date-col.fs-today .fs-date-num,
[data-theme="dark"] .fs-date-col.fs-today .fs-date-dow { color: var(--text); }
[data-theme="dark"] .fs-date-arrow-left,
[data-theme="dark"] .fs-date-arrow-right { border-bottom-color: var(--border); }
[data-theme="dark"] .fs-date-col        { border-bottom-color: var(--border); }
[data-theme="dark"] .fs-legend          { border-top-color: var(--border); }
[data-theme="dark"] .fs-legend-item     { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
13. ЧАТ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] #crm-chat-panel         { background: var(--surface); }
[data-theme="dark"] #crm-chat-sidebar       { background: var(--bg); border-right-color: var(--border); }
[data-theme="dark"] .crm-chat-sidebar-head  { background: var(--bg); border-bottom-color: var(--border-light); }
[data-theme="dark"] .crm-chat-sidebar-title { color: var(--text); }
[data-theme="dark"] .crm-chat-search-icon   { color: var(--text-3); flex-shrink: 0; position: static; }
[data-theme="dark"] .crm-chat-header        { background: var(--surface); border-bottom-color: var(--border-light); box-shadow: none; }
[data-theme="dark"] .crm-chat-header-name   { color: var(--text); }
[data-theme="dark"] .crm-chat-header-sub    { color: var(--text-3); }
[data-theme="dark"] .crm-chat-header-badge--student,
[data-theme="dark"] .crm-chat-header-badge--teacher { background: var(--surface-2); color: var(--text-2); }
[data-theme="dark"] .crm-conv-item          { border-left-color: transparent; transition: background 0.1s; }
[data-theme="dark"] .crm-conv-item:hover    { background: var(--surface-2); }
[data-theme="dark"] .crm-conv-item--active  { background: rgba(242,240,238,0.04); border-left-color: var(--accent-mid); }
[data-theme="dark"] .crm-conv-item--unread  { background: var(--surface-2); }
[data-theme="dark"] .crm-conv-item--unread:hover { background: rgba(26,26,28,0.9); }
[data-theme="dark"] .crm-conv-name          { color: var(--text); }
[data-theme="dark"] .crm-conv-time,
[data-theme="dark"] .crm-conv-preview       { color: var(--text-3); }
[data-theme="dark"] .crm-conv-item--unread .crm-conv-name    { color: var(--text); }
[data-theme="dark"] .crm-conv-item--unread .crm-conv-preview { color: var(--text-2); }
[data-theme="dark"] .crm-chat-placeholder       { background: var(--surface); color: var(--text-3); }
[data-theme="dark"] .crm-chat-placeholder-icon  { background: var(--surface-2); color: var(--text-3); box-shadow: none; }
[data-theme="dark"] .crm-chat-placeholder-title { color: var(--text-2); }
[data-theme="dark"] .crm-chat-placeholder-sub   { color: var(--text-3); }
[data-theme="dark"] .crm-chat-input-bar     { background: var(--bg); border-top-color: var(--border); }
[data-theme="dark"] .crm-msg--theirs .crm-msg-bubble { background: var(--surface-2); color: var(--text); border-color: var(--border); box-shadow: none; }
[data-theme="dark"] .crm-msg--mine   .crm-msg-bubble { background: rgba(212,191,168,0.10); color: var(--text); }
[data-theme="dark"] .crm-chat-thread-item:hover,
[data-theme="dark"] .crm-chat-thread-item.active { background: var(--surface-2); }
[data-theme="dark"] .crm-chat-modal-card    { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); }
[data-theme="dark"] .crm-msg-datesep::before,
[data-theme="dark"] .crm-msg-datesep::after { background: var(--border); }
[data-theme="dark"] .crm-msg-datesep span   { color: var(--text-3); }
[data-theme="dark"] .crm-compose-btn        { border-color: var(--border); color: var(--text-3); }
[data-theme="dark"] .crm-compose-btn:hover  { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .crm-compose-menu       { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); }
[data-theme="dark"] .crm-compose-item       { color: var(--text-2); }
[data-theme="dark"] .crm-compose-item:hover { background: var(--surface-2); color: var(--text); }

/* ══════════════════════════════════════════════════════════════
14. МОДАЛЬНЫЕ ОКНА
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .gc-overlay { background: rgba(0,0,0,0.72); }
[data-theme="dark"] .gc-modal-card,
[data-theme="dark"] .modal-card,
[data-theme="dark"] .t-modal-card,
[data-theme="dark"] .modal { background: var(--surface); border-color: var(--border); color: var(--text); box-shadow: var(--shadow-lg); }
[data-theme="dark"] .gc-modal-head,
[data-theme="dark"] .modal-header    { background: var(--surface); border-bottom-color: var(--border-light); }
[data-theme="dark"] .modal-header h3 { color: var(--text); }
[data-theme="dark"] .gc-modal-foot,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .modal-body      { background: var(--surface); color: var(--text); }
[data-theme="dark"] .modal-footer    { border-top-color: var(--border-light); }

/* ══════════════════════════════════════════════════════════════
15. КНОПКИ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .btn-secondary       { background: var(--surface-2); border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .btn-secondary:hover { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .btn.btn-primary,
[data-theme="dark"] .btn-primary         { background: var(--surface-2); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .btn.btn-primary:hover,
[data-theme="dark"] .btn-primary:hover   { background: var(--surface); border-color: rgba(245,245,247,0.25); }
[data-theme="dark"] .btn-add-topic       { color: var(--text-2); background: none; opacity: 0.85; }
[data-theme="dark"] .btn-add-topic:hover { color: var(--text); opacity: 1; }

/* ══════════════════════════════════════════════════════════════
РАБОЧИЕ ЧАСЫ
══════════════════════════════════════════════════════════════ */
/* wh-tp-sel — select без chevron, иначе зиг-заг */
[data-theme="dark"] .wh-tp-sel {
    background: transparent;
    background-image: none;
    color: var(--text);
    border: none;
    padding-right: 3px;
}
[data-theme="dark"] .wh-tp-sel:hover { color: var(--gold); background: transparent; background-image: none; }
[data-theme="dark"] .wh-timepicker   { border-bottom-color: var(--input-border); }
[data-theme="dark"] .wh-timepicker:focus-within { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .wh-tp-colon     { color: var(--text-3); }
[data-theme="dark"] .wh-dash         { color: var(--text-3); }
[data-theme="dark"] .wh-del          { color: var(--border); }
[data-theme="dark"] .wh-del:hover    { color: var(--text-2); }
[data-theme="dark"] .wh-plus         { color: var(--text-3); }
[data-theme="dark"] .wh-plus:hover   { color: var(--text); }
[data-theme="dark"] .wh-week-row.wh-on::before { background: var(--accent-mid); }
[data-theme="dark"] .wh-off-label    { color: var(--text-3); }
[data-theme="dark"] .wh-tab          { color: var(--text-3); border-bottom-color: transparent; }
[data-theme="dark"] .wh-tab:hover    { color: var(--text-2); }
[data-theme="dark"] .wh-tab.active   { color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .wh-ov-nav-btn   { color: var(--text-3); background: transparent; border-color: var(--border); }
[data-theme="dark"] .wh-ov-nav-btn:hover { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .wh-ov-day       { border-right-color: var(--border-light); }
[data-theme="dark"] .wh-ov-day:hover { background: var(--surface-2); }
[data-theme="dark"] .wh-ov-day.wh-ov-today    { background: var(--gold-faint); }
[data-theme="dark"] .wh-ov-day.wh-ov-today:hover { background: var(--gold-subtle); }
[data-theme="dark"] .wh-ov-day.wh-ov-selected { background: var(--accent-light); }
[data-theme="dark"] .wh-ov-day.wh-ov-today .wh-ov-day-dow { color: var(--gold); }
[data-theme="dark"] .wh-ov-day.wh-ov-selected .wh-ov-day-dow { color: var(--text-2); }
[data-theme="dark"] .wh-ov-today .wh-ov-day-num { color: var(--gold); }
[data-theme="dark"] .wh-hint         { color: var(--text-3); }

/* Кнопки в настройках — та же заполненная кнопка, что и .btn-primary в остальном приложении
   (.profile-save-btn используется только в профиле/настройках). */
[data-theme="dark"] .profile-save-btn         { background: var(--surface-2); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .profile-save-btn:hover   { background: var(--surface); border-color: rgba(245,245,247,0.25); }
[data-theme="dark"] .profile-save-btn.btn-secondary       { background: transparent; color: var(--text-2); border-color: var(--border); }
[data-theme="dark"] .profile-save-btn.btn-secondary:hover { background: var(--surface-2); color: var(--text); border-color: var(--border); }

/* ══════════════════════════════════════════════════════════════
16. ТАБЛИЦЫ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] table             { color: var(--text); background: transparent; }
[data-theme="dark"] thead tr,
[data-theme="dark"] th                { background: var(--bg); color: var(--text-3); border-color: var(--border); }
[data-theme="dark"] td                { border-color: var(--border-light); background: transparent; }
[data-theme="dark"] tbody tr:hover td { background: #131211; }
[data-theme="dark"] tbody tr.active td,
[data-theme="dark"] tbody tr.selected td { background: #131211; }
[data-theme="dark"] #cancelledAccordion .table-container,
[data-theme="dark"] #payments .table-container { background: #1d1d1c; }
[data-theme="dark"] .student-row,
[data-theme="dark"] .pay-row,
[data-theme="dark"] .stu-card,
[data-theme="dark"] .prepay-card      { background: var(--surface); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .student-row:hover,
[data-theme="dark"] .pay-row:hover    { background: #131211; border-color: var(--border); }
[data-theme="dark"] .student-row.active,
[data-theme="dark"] .student-row.selected,
[data-theme="dark"] .student-row.open { background: #131211; border-color: var(--border); }
[data-theme="dark"] .student-card          { background: none; border-left: none; }

/* ══════════════════════════════════════════════════════════════
17. ДРОПДАУНЫ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .eleg-menu,
[data-theme="dark"] .lt-dropdown     { background: var(--popup-bg) !important; border-color: var(--popup-border); box-shadow: 0 8px 32px rgba(0,0,0,0.64), 0 2px 8px rgba(0,0,0,0.40); }
[data-theme="dark"] .eleg-item:hover,
[data-theme="dark"] .lt-item:hover   { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .eleg-trigger    { background: transparent; border-color: var(--border); color: var(--text); }
[data-theme="dark"] .eleg-option     { color: var(--text-2); }
[data-theme="dark"] .eleg-option:hover { background: #302C28; color: var(--text); }
[data-theme="dark"] .lt-search-wrap  { border-bottom-color: var(--border-light); }
[data-theme="dark"] .lt-list         { background: var(--surface); }
[data-theme="dark"] .lt-item.suggested { background: var(--surface-2); }

/* lt-selected-box: подчёркивание вместо рамки */
[data-theme="dark"] .lt-selected-box {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--input-border);
    border-radius: 0;
    box-shadow: none;
    padding: 8px 0 10px;
}
[data-theme="dark"] .lt-selected-box:hover    { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .lt-selected-box.has-topic { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .lt-selected-title        { color: var(--text); }
[data-theme="dark"] .lt-selected-placeholder  { color: var(--text-3); font-style: italic; }
[data-theme="dark"] .lt-clear-btn             { color: var(--text-3); }
[data-theme="dark"] .lt-clear-btn:hover       { color: var(--text-2); }

/* ══════════════════════════════════════════════════════════════
18. ОПЛАТЫ — ПРЕДОПЛАТЫ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .prepay-student-card          { background: #1d1d1c; border-left: none; border-color: var(--border); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .prepay-student-card.open,
[data-theme="dark"] .prepay-student-card.active   { background: #131211; }
[data-theme="dark"] .prepay-card-btn              { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .prepay-card-btn:hover        { background: #131211; }
[data-theme="dark"] .prepay-card-btn.open         { background: #131211; border-bottom-color: var(--border-light); }
[data-theme="dark"] .prepay-card-detail    { background: #1d1d1c; }
[data-theme="dark"] .prepay-card-row       { border-bottom-color: var(--border-light); color: var(--text); }
[data-theme="dark"] .prepay-card-name      { color: var(--text); }
[data-theme="dark"] .prepay-card-lessons,
[data-theme="dark"] .prepay-card-stat-label,
[data-theme="dark"] .prepay-card-date,
[data-theme="dark"] .prepay-card-arrow     { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
19. СТАТИСТИКА
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] #statistics            { background: var(--bg); }
[data-theme="dark"] #studentsStatsList     { background: transparent; }
[data-theme="dark"] .student-stat-card     { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .student-stat-header   { border-bottom-color: var(--border-light); }
[data-theme="dark"] .student-stat-name     { color: var(--text); }
[data-theme="dark"] .student-stat-num-label { color: var(--text-3); }
[data-theme="dark"] .student-stat-num-val  { color: var(--text); }
[data-theme="dark"] .students-stats-toggle { border-top-color: var(--border); border-bottom-color: var(--border); color: var(--text); }
[data-theme="dark"] .students-stats-toggle:hover { background: var(--surface-2); }
[data-theme="dark"] .sstab-item            { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .sstab-item:hover      { box-shadow: var(--shadow); border-color: rgba(245,245,247,0.12); }
[data-theme="dark"] .sstab-btn             { background: var(--surface); color: var(--text); }
[data-theme="dark"] .sstab-btn:hover       { background: var(--surface-2); }
[data-theme="dark"] .sstab-btn.open        { border-bottom-color: var(--border-light); }
[data-theme="dark"] .sstab-name            { color: var(--text); }
[data-theme="dark"] .sstab-stat-label,
[data-theme="dark"] .sstab-stat-sub,
[data-theme="dark"] .sstab-arrow           { color: var(--text-3); }
[data-theme="dark"] .sstab-detail          { background: var(--surface); border-top-color: var(--border-light); }
[data-theme="dark"] .sstab-row             { border-bottom-color: var(--border-light); color: var(--text-2); }
[data-theme="dark"] .sstab-debt-badge      { background: rgba(212,191,168,0.07); color: var(--text-2); border-color: rgba(212,191,168,0.18); }
[data-theme="dark"] .student-debt,
[data-theme="dark"] .sstab-debt-badge,
[data-theme="dark"] .text-accent           { color: var(--text-2); }
[data-theme="dark"] .sstab-stat-val        { color: var(--text); }
[data-theme="dark"] .stat-value,
[data-theme="dark"] .stat-card .stat-value { color: var(--text); }
[data-theme="dark"] .stat-card-debt .stat-value,
[data-theme="dark"] #unpaidEarnings        { color: var(--accent-mid); }

/* ══════════════════════════════════════════════════════════════
20. ПРИВЫЧКИ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .ht-habit-row        { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .ht-habit-row:hover  { background: var(--surface-2); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .ht-habit-name       { color: var(--text); }
[data-theme="dark"] .ht-habit-freq,
[data-theme="dark"] .ht-streak-label     { color: var(--text-3); }
[data-theme="dark"] .ht-streak-num       { color: var(--text-2); }
[data-theme="dark"] .ht-check-area       { background: transparent; border-left-color: var(--border); }
[data-theme="dark"] .ht-check-btn        { background: var(--surface-2); border-color: var(--border); color: var(--text-3); }
[data-theme="dark"] .ht-check-btn.done   { background: var(--gold-faint); border-color: rgba(212,201,187,0.4); color: var(--gold); }
[data-theme="dark"] .ht-check-box        { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .ht-check-wrap:hover .ht-check-box            { border-color: var(--text-3); background: var(--surface-2); outline: none; box-shadow: none; }
[data-theme="dark"] .ht-check-wrap input:checked ~ .ht-check-box  { background: var(--gold-faint); border-color: var(--gold); }
[data-theme="dark"] .ht-check-mark svg path,
[data-theme="dark"] .ht-check-mark svg polyline                    { stroke: var(--gold); }
[data-theme="dark"] .ht-action-btn       { color: var(--text-3); }
[data-theme="dark"] .ht-action-btn:hover { color: var(--text-2); }
[data-theme="dark"] .ht-chart-card       { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .ht-chart-name       { color: var(--text); }
[data-theme="dark"] .ht-chart-rate,
[data-theme="dark"] .ht-chart-success    { color: var(--text-3); }
[data-theme="dark"] .ht-period-tab        { color: var(--text-3); background: none; }
[data-theme="dark"] .ht-period-tab:hover  { background: none; color: var(--text-2); }
[data-theme="dark"] .ht-period-tab.active { background: none; color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .ht-stats-section    { background: var(--bg); border: none; box-shadow: none; }
[data-theme="dark"] .ht-stats-title      { color: var(--text); }
[data-theme="dark"] .ht-charts-container { background: var(--bg); }
[data-theme="dark"] .ht-heatmap-wrap     { background: transparent; border: none; box-shadow: none; }
[data-theme="dark"] .ht-chart-card       { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .ht-heatmap-year-label { color: var(--text-2); }
[data-theme="dark"] .ht-legend-label     { color: var(--text-3); }
/* Тепловая карта: тёмный фон → светлый бежевый при максимуме */
/* Пустые клетки — заметнее на тёмном фоне */
[data-theme="dark"] .ht-heatmap-cell     { background: #252220; }
[data-theme="dark"] .ht-hm-blank         { background: transparent; }
[data-theme="dark"] .ht-hm-future        { background: #1D1B19; opacity: 1; }
[data-theme="dark"] .ht-hm-1  { background: #3A3028; opacity: 1; }
[data-theme="dark"] .ht-hm-2  { background: #5C4E3E; opacity: 1; }
[data-theme="dark"] .ht-hm-3  { background: #8C7560; opacity: 1; }
[data-theme="dark"] .ht-hm-4  { background: #B89E84; opacity: 1; }
[data-theme="dark"] .ht-hm-5  { background: #D4BFA8; opacity: 1; }
/* Легенда — тот же градиент */
/* Светлая тема — дефолт */
[data-theme="dark"] .ht-legend-cell--1 { background: #252220; }
[data-theme="dark"] .ht-legend-cell--2 { background: #3A3028; }
[data-theme="dark"] .ht-legend-cell--3 { background: #5C4E3E; }
[data-theme="dark"] .ht-legend-cell--4 { background: #8C7560; }
[data-theme="dark"] .ht-legend-cell--5 { background: #D4BFA8; }
/* Инлайн-стили из JS — переопределяем (резервный слой, теперь JS сам отдаёт правильные цвета) */
[data-theme="dark"] .ht-heatmap-cell[style*="background:#e5dfdc"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #e5dfdc"] { background: #252220 !important; }
[data-theme="dark"] [style*="background:#f0ebe8"],
[data-theme="dark"] [style*="background: #f0ebe8"]                  { background: #1D1B19 !important; }
[data-theme="dark"] .ht-heatmap-cell[style*="background:#f0c4ba"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #f0c4ba"]  { background: #3A3028 !important; }
[data-theme="dark"] .ht-heatmap-cell[style*="background:#df9080"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #df9080"]  { background: #5C4E3E !important; }
[data-theme="dark"] .ht-heatmap-cell[style*="background:#c06348"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #c06348"]  { background: #8C7560 !important; }
[data-theme="dark"] .ht-heatmap-cell[style*="background:#9a3f2e"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #9a3f2e"]  { background: #B89E84 !important; }
[data-theme="dark"] .ht-heatmap-cell[style*="background:#732212"],
[data-theme="dark"] .ht-heatmap-cell[style*="background: #732212"]  { background: #D4BFA8 !important; }
[data-theme="dark"] .ht-tooltip,
[data-theme="dark"] .ht-chart-tooltip { background: var(--surface-2); border-color: var(--border); color: var(--text); box-shadow: var(--shadow); }
[data-theme="dark"] .ht-chart-tooltip-title { color: var(--text-2); }
[data-theme="dark"] .ht-chart-tooltip-row   { color: var(--text-3); }
[data-theme="dark"] .ht-check-wrap          { outline: none; background: transparent !important; }
[data-theme="dark"] .ht-check-wrap:focus-within { outline: none; box-shadow: none; }
[data-theme="dark"] .ht-check-wrap:hover    { background: transparent !important; outline: none; }

/* Таблица групп — hover и выбранные ячейки */
[data-theme="dark"] .gc-student-cell:hover       { background: #131211; }
[data-theme="dark"] .gc-student-cell.sel         { background: #131211; }
[data-theme="dark"] .gc-cell-correct:hover       { background: #131211; }
[data-theme="dark"] .gc-cell-correct.active      { background: #131211; }
[data-theme="dark"] .gc-student-table th         { background: var(--bg); color: var(--text-3); border-color: var(--border); }
[data-theme="dark"] .gc-student-table td         { border-color: var(--border-light); }
[data-theme="dark"] .gc-student-table td.row-label { color: var(--text-2); }
[data-theme="dark"] .gc-add-btn                  { color: var(--text-3); border-color: var(--border); background: transparent; }
[data-theme="dark"] .gc-add-btn:hover            { border-color: var(--accent-mid); color: var(--text-2); background: #131211; }

/* ══════════════════════════════════════════════════════════════
23. ПЛАТФОРМА / ОНБОРДИНГ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .ob-banner             { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-sm); }
[data-theme="dark"] .ob-banner h4          { color: var(--text); }
[data-theme="dark"] .ob-banner p           { color: var(--text-2); }
[data-theme="dark"] .ob-banner strong      { color: var(--text); }
[data-theme="dark"] .ob-banner-step        { color: var(--text-3); }
[data-theme="dark"] .ob-banner-line        { background: var(--border); }
[data-theme="dark"] .ob-banner-actions     { border-top-color: var(--border-light); }
[data-theme="dark"] .ob-banner-done        { background: var(--surface-2); color: var(--text); border: 1px solid var(--border); }
[data-theme="dark"] .ob-banner-done:hover  { background: var(--bg); border-color: rgba(245,245,247,0.2); }
[data-theme="dark"] .ob-banner-skip        { color: var(--text-3); }
[data-theme="dark"] .ob-banner-skip:hover  { color: var(--text-2); }
[data-theme="dark"] .ob-banner-close       { color: var(--text-3); }
[data-theme="dark"] .ob-banner-close:hover { color: var(--text-2); }
[data-theme="dark"] #obChecklist           { border-top-color: var(--border-light); }

/* ══════════════════════════════════════════════════════════════
24. CALENDAR PICKER
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] .cp-wrap         { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); color: var(--text); }
[data-theme="dark"] .cp-time         { background: var(--bg); border-bottom-color: var(--border); }
[data-theme="dark"] .cp-header       { background: var(--surface); border-bottom-color: var(--border-light); }
[data-theme="dark"] .cp-month-label  { color: var(--text); }
[data-theme="dark"] .cp-month-label span { color: var(--text-3); }
[data-theme="dark"] .cp-nav          { color: var(--text-3); background: none; border: none; }
[data-theme="dark"] .cp-nav:hover    { color: var(--gold); }
[data-theme="dark"] .cp-weekdays     { background: var(--surface); border-bottom-color: var(--border-light); }
[data-theme="dark"] .cp-wd           { color: var(--text-3); }
[data-theme="dark"] .cp-days         { background: var(--surface); }
[data-theme="dark"] .cp-day          { background: var(--surface); color: var(--text-2); border: none; }
[data-theme="dark"] .cp-day:hover    { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .cp-day.other    { color: var(--text-3); background: var(--surface); }
[data-theme="dark"] .cp-day.other:hover { background: var(--surface-2); color: var(--text-2); }
[data-theme="dark"] .cp-day.today    { color: var(--gold); background: var(--gold-faint); border-radius: 2px; }
[data-theme="dark"] .cp-day.today:hover { background: var(--gold-subtle); }
[data-theme="dark"] .cp-day.selected { background: var(--accent); color: #1a1714; }
[data-theme="dark"] .cp-day:disabled { color: var(--border); background: transparent; }
[data-theme="dark"] .cp-time-sep     { color: var(--text-3); }

/* ══════════════════════════════════════════════════════════════
25. МОБИЛЬНЫЕ КОМПОНЕНТЫ
══════════════════════════════════════════════════════════════ */

/* Прочие мобильные блоки расписания */
[data-theme="dark"] .mob-sched-day-lessons,
[data-theme="dark"] .mob-sched-month-grid,
[data-theme="dark"] .mob-sched-tabs,
[data-theme="dark"] .mob-sched-week-dots { background: var(--surface); border-color: var(--border); }

/* ── Мобильный дашборд — тёмная тема (цвета из mobile-design.html) ── */
[data-theme="dark"] .mob-dash { background: var(--bg); }

[data-theme="dark"] .mob-dash-eyebrow { color: var(--text-3); }
[data-theme="dark"] .mob-dash-title { color: #F2EDE8; }
[data-theme="dark"] .mob-dash-title em { color: #D4C9BB; }

[data-theme="dark"] .mob-dash-stat-num { color: #F2EDE8; }
[data-theme="dark"] .mob-dash-stat-lbl { color: var(--text-3); }
[data-theme="dark"] .mob-dash-stat-divider { background: var(--border-light); }

[data-theme="dark"] .mob-dash-section-lbl { color: var(--text-3); }
[data-theme="dark"] .mob-dash-section-link { color: #D4C9BB; }

[data-theme="dark"] .mob-week-dot-day { color: var(--text-3); }
[data-theme="dark"] .mob-week-dot-circle { color: #726D68; border-color: transparent; }
[data-theme="dark"] .mob-week-dot-col.today-col .mob-week-dot-circle {
    border-color: var(--accent); color: var(--accent);
}
[data-theme="dark"] .mob-week-dot-col.selected-col .mob-week-dot-circle {
    background: #F2EDE8; color: var(--bg); border-color: transparent;
}
[data-theme="dark"] .mob-week-dot-col.today-col.selected-col .mob-week-dot-circle {
    background: var(--accent); color: #1a1714; border-color: transparent;
}
[data-theme="dark"] .mob-week-dot-col.load-0::after { background: transparent; }
[data-theme="dark"] .mob-week-dot-col.load-1::after { background: #2A2826; opacity: 1; }
[data-theme="dark"] .mob-week-dot-col.load-2::after { background: #7A7068; opacity: .7; }
[data-theme="dark"] .mob-week-dot-col.load-3::after { background: #B0A898; opacity: .7; }
[data-theme="dark"] .mob-week-dot-col.load-4::after { background: #D4BFA8; opacity: 1; }

[data-theme="dark"] .mob-lesson-row { border-bottom-color: var(--border-light); background: transparent; }
[data-theme="dark"] .mob-lesson-row:first-child { border-top-color: var(--border-light); }
[data-theme="dark"] .mob-lesson-row:active { background: rgba(242,237,232,.03); }
[data-theme="dark"] .mob-lesson-time { color: #726D68; }
[data-theme="dark"] .mob-lesson-name { color: #F2EDE8; }
[data-theme="dark"] .mob-lesson-subj { color: var(--text-3); }
[data-theme="dark"] .mob-lesson-status { color: #726D68; }
[data-theme="dark"] .mob-lesson-status--unpaid { color: #A09080; }

[data-theme="dark"] .mob-habit-today-row { border-bottom-color: var(--border-light); background: transparent; }
[data-theme="dark"] .mob-habit-today-row:first-child { border-top-color: var(--border-light); }
[data-theme="dark"] .mob-habit-today-check { border-color: var(--border); background: transparent; }
[data-theme="dark"] .mob-habit-today-row.done .mob-habit-today-check {
    background: var(--surface-3); border-color: var(--text-3);
}
[data-theme="dark"] .mob-habit-today-name { color: #F2EDE8; }
[data-theme="dark"] .mob-habit-today-row.done .mob-habit-today-name { color: var(--text-3); }
[data-theme="dark"] .mob-habit-hq.done  { background: #8A8078; }
[data-theme="dark"] .mob-habit-hq.empty { border-color: var(--border); }
[data-theme="dark"] .mob-habit-streak { color: var(--text-3); }

[data-theme="dark"] .mob-dash-empty { color: var(--text-3); }
/* ══════════════════════════════════════════════════════════════
26. СКРОЛЛБАР И ТОСТ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] ::-webkit-scrollbar-track       { background: var(--bg); }
[data-theme="dark"] ::-webkit-scrollbar-thumb       { background: var(--border); border-radius: 2px; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: var(--text-3); }
[data-theme="dark"] .toast { background: var(--surface); border-color: var(--border); color: var(--text); box-shadow: var(--shadow); }

/* ══════════════════════════════════════════════════════════════
27. ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ
══════════════════════════════════════════════════════════════ */
.theme-switcher {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 3px;
    overflow: hidden;
    width: fit-content;
}
.theme-btn {
    all: unset;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--text-3);
    cursor: pointer;
    transition: color 0.18s, background 0.18s;
    white-space: nowrap;
    border-right: 1px solid var(--border);
    user-select: none;
}
.theme-btn:last-child         { border-right: none; }
.theme-btn:hover              { color: var(--text-2); background: rgba(255,255,255,0.04); }
.theme-btn.active             { color: var(--text); background: rgba(255,255,255,0.06); font-weight: 500; }
.theme-btn.active .theme-icon { color: var(--accent-mid); }
.theme-icon {
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; color: var(--text-3); transition: color 0.18s;
}
.theme-icon svg {
    width: 13px; height: 13px; stroke: currentColor; fill: none;
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}

/* ══════════════════════════════════════════════════════════════
28. ВСЕ ПОЛЯ ВВОДА — только цвета, геометрия из base.css
Принцип: не трогаем font-size, padding, border-width, border-radius,
font-family, appearance — всё это задано в base.css и одинаково
для обеих тем. Меняем только цвет фона, текста и линии.
══════════════════════════════════════════════════════════════ */

/* Все инпуты, textarea, select — только цвета */
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]),
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background: transparent;
    color: var(--text);
    border-bottom-color: var(--input-border);
    box-shadow: none;
    outline: none;
}

[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]):hover,
[data-theme="dark"] textarea:hover,
[data-theme="dark"] select:hover {
    border-bottom-color: var(--input-border-hover);
}

[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    border-bottom-color: var(--input-focus-color);
    background: transparent;
    box-shadow: none;
    outline: none;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: var(--text-3);
}

/* Select — только цвет chevron */
[data-theme="dark"] select {
    background-image: var(--input-chevron);
    color: var(--text);
}
[data-theme="dark"] select option {
    background: var(--surface);
    color: var(--text);
}

/* profile-input — только цвета */
[data-theme="dark"] .profile-input              { background: transparent; color: var(--text); border-bottom-color: var(--input-border); }
[data-theme="dark"] .profile-input:hover        { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .profile-input:focus        { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .profile-input::placeholder { color: var(--text-3); }

/* profile-date-select — только цвета + chevron */
[data-theme="dark"] .profile-date-select        { background: transparent; color: var(--text); border-bottom-color: var(--input-border); background-image: var(--input-chevron); background-repeat: no-repeat; background-position: right 4px center; }
[data-theme="dark"] .profile-date-select:hover  { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .profile-date-select:focus  { border-bottom-color: var(--input-focus-color); }

/* Поиск */
[data-theme="dark"] .search-wrap                { background: transparent; border-bottom-color: var(--input-border); }
[data-theme="dark"] .search-wrap:focus-within   { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .search-wrap input,
[data-theme="dark"] .search-wrap .form-control,
[data-theme="dark"] .search-input               { background: transparent; color: var(--text); border: none; }
[data-theme="dark"] .search-input::placeholder  { color: var(--text-3); }
[data-theme="dark"] .search-icon                { color: var(--text-3); position: static; transform: none; }
.search-icon                                    { position: static; transform: none; }

/* Чат */
[data-theme="dark"] .crm-chat-textarea              { background: transparent; color: var(--text); border-bottom-color: var(--input-border); }
[data-theme="dark"] .crm-chat-textarea:hover        { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .crm-chat-textarea:focus        { border-bottom-color: var(--input-focus-color); background: transparent; }
[data-theme="dark"] .crm-chat-textarea::placeholder { color: var(--text-3); }

[data-theme="dark"] .crm-chat-search-wrap             { border-bottom-color: var(--border); }
[data-theme="dark"] .crm-chat-search-field            { border-bottom-color: var(--input-border); }
[data-theme="dark"] .crm-chat-search-field:focus-within { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .crm-chat-search-icon             { color: var(--text-3); flex-shrink: 0; position: static; }
[data-theme="dark"] .crm-chat-search-input            { background: transparent; color: var(--text); border: none; box-shadow: none; outline: none; }
[data-theme="dark"] .crm-chat-search-input::placeholder { color: var(--text-3); }
[data-theme="dark"] .crm-chat-modal-search-input      { color: var(--text); caret-color: var(--input-focus-color); }
[data-theme="dark"] .crm-chat-modal-search-input::placeholder { color: var(--text-3); }

/* t-modal-input / t-modal-select */
[data-theme="dark"] .t-modal-input              { background: transparent; color: var(--text); border-bottom-color: var(--input-border); }
[data-theme="dark"] .t-modal-input:hover        { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .t-modal-input:focus        { border-bottom-color: var(--input-focus-color); background: transparent; }
[data-theme="dark"] .t-modal-input::placeholder { color: var(--text-3); }
[data-theme="dark"] .t-modal-select             { background: transparent; color: var(--text); border-bottom-color: var(--input-border); background-image: var(--input-chevron); background-repeat: no-repeat; background-position: right 4px center; }
[data-theme="dark"] .t-modal-select:hover       { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .t-modal-select:focus       { border-bottom-color: var(--input-focus-color); }

/* cp-time-input */
[data-theme="dark"] .cp-time-input       { color: var(--text); border-bottom-color: transparent; background: transparent; }
[data-theme="dark"] .cp-time-input:hover { color: var(--gold); border-bottom-color: rgba(212,201,187,0.4); }
[data-theme="dark"] .cp-time-input:focus { border-bottom-color: var(--input-focus-color); }

/* ex-blank-input */
[data-theme="dark"] .ex-blank-input       { background: rgba(212,191,168,0.05); color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .ex-blank-input:focus { background: rgba(212,191,168,0.09); border-bottom-color: var(--input-focus-color); }

/* fs-tz-select */
[data-theme="dark"] .fs-tz-select       { background: transparent; color: var(--text); border-bottom-color: var(--input-border); background-image: var(--input-chevron); background-repeat: no-repeat; background-position: right 4px center; }
[data-theme="dark"] .fs-tz-select:hover { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .fs-tz-select:focus { border-bottom-color: var(--input-focus-color); box-shadow: none; }

/* pm-amount-input */
[data-theme="dark"] .pm-amount-input       { background: transparent; color: var(--text); border-bottom-color: var(--input-border); }
[data-theme="dark"] .pm-amount-input:hover { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .pm-amount-input:focus { border-bottom-color: var(--input-focus-color); }

/* t-subject-picker */
[data-theme="dark"] .t-subject-picker       { color: var(--text-2); border-bottom-color: var(--input-border); background-image: var(--input-chevron-dim); }
[data-theme="dark"] .t-subject-picker:hover { color: var(--text); border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .t-subject-picker:focus { color: var(--text); border-bottom-color: var(--input-focus-color); }

/* mat-section-name-input */
[data-theme="dark"] #settingsTopicsGroup .mat-section-name-input,
[data-theme="dark"] #settingsTopicsGroup [id^="tsubjn-"],
[data-theme="dark"] #settingsTopicsGroup [id^="tscn-"],
[data-theme="dark"] #settingsTopicsGroup [id^="tlvn-"]        { border-bottom-color: var(--input-border); color: var(--text-2); }
[data-theme="dark"] #settingsTopicsGroup .mat-section-name-input:focus,
[data-theme="dark"] #settingsTopicsGroup [id^="tsubjn-"]:focus,
[data-theme="dark"] #settingsTopicsGroup [id^="tscn-"]:focus,
[data-theme="dark"] #settingsTopicsGroup [id^="tlvn-"]:focus  { border-bottom-color: var(--input-focus-color); color: var(--text); }
[data-theme="dark"] #settingsTopicsGroup .mat-section-name-input::placeholder,
[data-theme="dark"] #settingsTopicsGroup [id^="tsubjn-"]::placeholder,
[data-theme="dark"] #settingsTopicsGroup [id^="tscn-"]::placeholder,
[data-theme="dark"] #settingsTopicsGroup [id^="tlvn-"]::placeholder { color: var(--text-3); }

/* Модальные окна */
[data-theme="dark"] .modal-body input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] .modal-body select,
[data-theme="dark"] .modal-body textarea        { background: transparent; border-bottom-color: var(--input-border); box-shadow: none; }
[data-theme="dark"] .modal-body input:not([type="checkbox"]):not([type="radio"]):hover,
[data-theme="dark"] .modal-body select:hover,
[data-theme="dark"] .modal-body textarea:hover  { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .modal-body input:not([type="checkbox"]):not([type="radio"]):focus,
[data-theme="dark"] .modal-body select:focus,
[data-theme="dark"] .modal-body textarea:focus  { border-bottom-color: var(--input-focus-color); background: transparent; box-shadow: none; outline: none; }

/* lt-selected-box */
[data-theme="dark"] .lt-selected-box            { background: transparent; border-bottom-color: var(--input-border); }
[data-theme="dark"] .lt-selected-box:hover      { border-bottom-color: var(--input-border-hover); }
[data-theme="dark"] .lt-selected-box.has-topic  { border-bottom-color: var(--input-focus-color); }
[data-theme="dark"] .lt-selected-title          { color: var(--text); }
[data-theme="dark"] .lt-selected-placeholder    { color: var(--text-3); }
[data-theme="dark"] .lt-clear-btn               { color: var(--text-3); }
[data-theme="dark"] .lt-clear-btn:hover         { color: var(--text-2); }



/* Темы/топики: нейтральный hover вместо красноватого */
[data-theme="dark"] .t-topic-row:hover,
[data-theme="dark"] .t-topic-row-wrap.t-row-expanded .t-topic-row:hover { background: var(--border); }
[data-theme="dark"] .t-topic-row:hover .t-row-num { color: var(--text-2); }
[data-theme="dark"] .t-topic-row-wrap.t-row-expanded .t-topic-row:hover .t-row-num { color: var(--text-2); }
[data-theme="dark"] .t-mini-topic-row:hover { background: var(--border); }
[data-theme="dark"] .lsm-topic-card:hover { border-color: var(--border); background: var(--surface-2); }

/* Карточка ученика: Предоплата — нейтральный в тёмной теме */
[data-theme="dark"] .sc-stats-cell--prepay         { background: rgba(212,191,168,0.07); }
[data-theme="dark"] .sc-stats-cell--prepay .sc-stats-label,
[data-theme="dark"] .sc-stats-cell--prepay .sc-stats-num,
[data-theme="dark"] .sc-stats-cell--prepay .sc-stats-unit { color: var(--gold); }

/* Долг — тёплый красный в тёмной теме */
[data-theme="dark"] .sc-stats-cell--debt           { background: rgba(224,112,96,0.08); }
[data-theme="dark"] .sc-stats-cell--debt:hover     { background: rgba(224,112,96,0.14); }
[data-theme="dark"] .sc-stats-label--debt,
[data-theme="dark"] .sc-stats-num--debt,
[data-theme="dark"] .sc-stats-unit--debt,
[data-theme="dark"] .sc-stats-sub--debt            { color: #e07060; }

/* CSS-переменная для цвета долга в модалке */
[data-theme="dark"] { --sc-debt-clr: #e07060; }


/* Hover на пройденных темах в тёмной теме */
[data-theme="dark"] .t-info-stu-row:hover          { background: rgba(212,191,168,0.06); }

/* Overscroll / zoom-out backdrop — бордовый виден за краем страницы
   на мобиле (pinch-zoom) и на десктопе (elastic-скролл трекпадом).
   Тот же цвет, что и в светлой теме — не завязан на тему. */
[data-theme="dark"] html {
    background-color: #732212;
}



/* ── Тёмная тема из ДАШБОРТ ВИДЖЕТС── */
[data-theme="dark"] .student-card                   { background: none !important; border-left: none !important; }
[data-theme="dark"] .prepay-student-card            { background: #1d1d1c !important; border-left: none !important; box-shadow: none !important; }
[data-theme="dark"] .prepay-student-card:hover,
[data-theme="dark"] .prepay-student-card.open,
[data-theme="dark"] .prepay-student-card.active     { background: #131211 !important; box-shadow: none !important; }
[data-theme="dark"] .prepay-card-detail             { background: #1d1d1c !important; }
[data-theme="dark"] #cancelledAccordion .table-container,
[data-theme="dark"] #payments .table-container { background: #1d1d1c !important; }
[data-theme="dark"] .month-day             { background: #1d1d1c !important; }
[data-theme="dark"] .month-day.other-month { background: #1d1d1c !important; }
[data-theme="dark"] .month-day.today       { background: rgba(115,34,18,0.18) !important; }
[data-theme="dark"] {
    --workspace-bg: #1d1d1c;
    --divider:      var(--popup-border);
    --hl-grad:      linear-gradient(to bottom, transparent 55%, var(--surface-3) 55%);
}
[data-theme="dark"] body           { background: #1d1d1c !important; }
[data-theme="dark"] .main-content  { background: var(--workspace-bg) !important; }
[data-theme="dark"] .sidebar       { border-right-color: var(--popup-border) !important; }


/* ══════════════════════════════════════════════════════════════
29. ТЕМЫ — РАЗДЕЛ TOPICS
   Все захардкоженные #fff / #ffffff в topics.css
   перекрываются здесь через переменные системы.
══════════════════════════════════════════════════════════════ */

/* Полоса уровней — фон совпадает с фоном страницы.
   Разделители — var(--text-3) чтобы полосы сегментов чётко читались. */
[data-theme="dark"] .t-level-strip              { background: var(--bg); }
[data-theme="dark"] .t-strip-seg                { border-bottom-color: var(--text-3); }
[data-theme="dark"] .t-strip-sublevel-seg        { border-bottom-color: var(--text-3); }

/* Кнопка «···» (вернуться к обзору) и «+» (добавить подуровень) */
[data-theme="dark"] .t-strip-zoom-btn           { background: var(--bg); color: var(--text-2); }
[data-theme="dark"] .t-strip-zoom-btn:hover     { background: var(--border); color: var(--gold); }

/* Hover и активный сегмент уровня */
[data-theme="dark"] .t-strip-seg:hover::before               { background: rgba(212,201,187,0.08); }
[data-theme="dark"] .t-strip-seg.t-strip-seg--active::before { background: rgba(212,201,187,0.07); }

/* Hover и активный сегмент подуровня */
[data-theme="dark"] .t-strip-sublevel-seg:hover::before            { background: rgba(212,201,187,0.08); }
[data-theme="dark"] .t-strip-sublevel-seg.t-sublevel-active::before { background: rgba(212,201,187,0.07); }

/* Заливка сегментов подуровней — базовый фон полосы */
[data-theme="dark"] .t-strip-sublevel-seg-fill  { background: var(--bg); }

/* Пустые сегменты — диагональная штриховка ярче чем в topics.css */
[data-theme="dark"] .t-strip-seg--empty .t-strip-seg-fill,
[data-theme="dark"] .t-sublevel-empty .t-strip-sublevel-seg-fill {
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 7px,
    rgba(160,148,140,0.28) 7px,
    rgba(160,148,140,0.28) 8px
  );
}

[data-theme="dark"] .t-sublevel-screen          { background: var(--surface); }
[data-theme="dark"] .t-sublevel-topbar          { background: var(--surface); }
[data-theme="dark"] .t-sublevel-body            { background: var(--surface); color: var(--text); }

/* Заголовок раздела — маркер подчёркивания: --gold-subtle из системы */
[data-theme="dark"] .t-section-heading-name {
  color: var(--text);
  background: linear-gradient(
    to bottom,
    transparent 60%,
    var(--surface-3) 60%
  );
}
[data-theme="dark"] .t-section-heading-count    { color: var(--text-3); }

/* Строки мини-тем */
[data-theme="dark"] .t-mini-topic-row           { border-bottom-color: var(--border); }
[data-theme="dark"] .t-mini-title               { color: var(--text); }
[data-theme="dark"] .t-mini-num                 { color: var(--text-3); }

/* Бейджи ДЗ и ресурсов — светлые в светлой теме, нейтральные в тёмной */
[data-theme="dark"] .t-mini-hw,
[data-theme="dark"] .t-mini-res-cnt             { background: var(--surface-2); color: var(--text-3); }

/* Карточка выбора темы урока (lsm) */
[data-theme="dark"] .lsm-topic-card             { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .lsm-topic-card:hover       { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .lsm-topic-card.selected    { background: var(--surface-2); border-color: var(--accent-mid); }
[data-theme="dark"] .lsm-topic-title            { color: var(--text); }
[data-theme="dark"] .lsm-search                 { background: var(--surface); color: var(--text); }

/* Попап подтверждения создания подуровня */
[data-theme="dark"] .t-strip-add-popup          { background: var(--surface-2); box-shadow: var(--shadow-lg); }
[data-theme="dark"] .t-strip-add-popup-text     { color: var(--text); }
[data-theme="dark"] .t-strip-add-confirm,
[data-theme="dark"] .t-strip-add-cancel         { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .t-strip-add-confirm:hover  { background: var(--accent); color: var(--text); }
[data-theme="dark"] .t-strip-add-cancel:hover   { background: var(--surface-3); }

/* Модал темы */
[data-theme="dark"] .t-modal-card               { background: var(--surface); }
[data-theme="dark"] #tTopicModal .gc-card,
[data-theme="dark"] #tTopicModal .gc-cbody      { background: var(--surface); }

/* Dropdown раздела */
[data-theme="dark"] .t-section-dropdown         { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .t-section-dropdown-item    { color: var(--text-2); }
[data-theme="dark"] .t-section-dropdown-item:hover { background: var(--surface-3); color: var(--text); }

/* Dropdown предмета */
[data-theme="dark"] .t-subj-dropdown            { background: var(--surface-2); }
[data-theme="dark"] .t-subj-dropdown-item       { color: var(--text-3); }
[data-theme="dark"] .t-subj-dropdown-item:hover { color: var(--accent-mid); }

/* Студент — выбор предмета */
[data-theme="dark"] .student-subject-select     { background: var(--surface); color: var(--text); }

/* Инфо-модал темы */
[data-theme="dark"] .t-info-modal-card {
  background: var(--surface-2);
  border-color: var(--border);
  border-top-color: var(--accent-mid);
  box-shadow: var(--shadow-lg);
}
[data-theme="dark"] #tInfoTitle                          { color: var(--text); }
[data-theme="dark"] .t-info-text                         { color: var(--text-2); }
[data-theme="dark"] .t-info-text--notes                  { color: var(--text-3); }
[data-theme="dark"] .t-info-next-title                   { color: var(--text); }
[data-theme="dark"] .t-info-stu-name                     { color: var(--text-2); }
[data-theme="dark"] .t-info-next:hover                   { background: var(--accent-pale); border-color: var(--accent-light); }
[data-theme="dark"] #tInfoEditBtn.t-modal-btn-save       { color: var(--accent-mid); border-color: var(--accent-mid); }
[data-theme="dark"] #tInfoEditBtn.t-modal-btn-save:hover { background: var(--accent-mid); color: var(--surface); }

/* Модал создания/редактирования темы — тёмная тема */
[data-theme="dark"] #tTopicModal .modal.t-modal-card    { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .t-modal-hd                         { border-bottom-color: var(--border-light); }
[data-theme="dark"] .t-modal-eyebrow                    { color: var(--text-3); }
[data-theme="dark"] .t-modal-x                          { color: var(--text-3); }
[data-theme="dark"] .t-modal-x:hover                    { color: var(--text); }
[data-theme="dark"] .t-modal-title-input                { color: var(--text) !important; border-bottom-color: var(--border) !important; }
[data-theme="dark"] .t-modal-title-input:hover          { border-bottom-color: var(--text-3) !important; }
[data-theme="dark"] .t-modal-title-input:focus          { border-bottom-color: var(--gold) !important; }
[data-theme="dark"] .t-modal-title-input::placeholder   { color: var(--text-3) !important; }
[data-theme="dark"] .t-modal-meta-label                 { color: var(--text-3); }
[data-theme="dark"] .t-mdd-trigger                      { color: var(--text-2); }
[data-theme="dark"] .t-mdd-chevron                      { color: var(--text-3); }
[data-theme="dark"] .t-mdd-list                         { background: var(--surface-2); border-color: var(--border); box-shadow: 0 8px 28px rgba(0,0,0,0.36), 0 2px 8px rgba(0,0,0,0.20); }
[data-theme="dark"] .t-mdd-item                         { color: var(--text-2); }
[data-theme="dark"] .t-mdd-item:hover                   { background: var(--accent-pale); color: var(--text); }
[data-theme="dark"] .t-mdd-item--sel                    { color: var(--text); }
[data-theme="dark"] .t-modal-details-label              { color: var(--text-3); }
[data-theme="dark"] .t-modal-details-chevron            { color: var(--text-3); }
[data-theme="dark"] .t-modal-details-toggle:hover .t-modal-details-label,
[data-theme="dark"] .t-modal-details-toggle:hover .t-modal-details-chevron { color: var(--text-2); }
[data-theme="dark"] .t-modal-field-label                { color: var(--text-3); }
[data-theme="dark"] .t-modal-field-hint                 { color: var(--text-3); }
[data-theme="dark"] .t-modal-textarea                   { color: var(--text) !important; border-bottom-color: var(--border-light) !important; }
[data-theme="dark"] .t-modal-textarea:hover             { border-bottom-color: var(--border) !important; }
[data-theme="dark"] .t-modal-textarea:focus             { border-bottom-color: var(--gold) !important; }
[data-theme="dark"] .t-modal-textarea::placeholder      { color: var(--text-3) !important; }
[data-theme="dark"] .t-modal-ft                         { border-top-color: var(--border-light); }
[data-theme="dark"] .t-modal-del-btn                    { color: var(--text-3); }
[data-theme="dark"] .t-modal-del-btn:hover              { color: var(--text-2); }
[data-theme="dark"] .t-modal-cancel-btn                 { color: var(--text-3); }
[data-theme="dark"] .t-modal-cancel-btn:hover           { color: var(--text); }
[data-theme="dark"] .t-modal-save-btn                   { border-color: var(--gold); color: var(--gold); }
[data-theme="dark"] .t-modal-save-btn:hover             { background: var(--gold-faint); border-color: var(--gold); color: var(--gold); }

/* Flatpickr — календарь */
[data-theme="dark"] .flatpickr-calendar         { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .flatpickr-day              { color: var(--text-2); }
[data-theme="dark"] .flatpickr-day:hover        { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .flatpickr-day.selected,
[data-theme="dark"] .flatpickr-day.selected:hover { background: var(--accent-mid); border-color: var(--accent-mid); color: var(--surface); }
[data-theme="dark"] .flatpickr-day.today        { border-color: var(--accent-mid); color: var(--accent-mid); }
[data-theme="dark"] .flatpickr-day.today.selected { color: var(--surface); }
[data-theme="dark"] .flatpickr-day.flatpickr-disabled,
[data-theme="dark"] .flatpickr-day.flatpickr-disabled:hover { color: var(--border); }
[data-theme="dark"] .flatpickr-month,
[data-theme="dark"] .flatpickr-current-month    { color: var(--text); }
[data-theme="dark"] .flatpickr-monthDropdown-months { color: var(--text); background: var(--surface); }
[data-theme="dark"] .flatpickr-weekday          { color: var(--text-3); }
[data-theme="dark"] .flatpickr-time input,
[data-theme="dark"] .flatpickr-time .flatpickr-time-separator { color: var(--text); background: var(--surface); }
[data-theme="dark"] .flatpickr-prev-month svg,
[data-theme="dark"] .flatpickr-next-month svg   { fill: var(--text-3); }
[data-theme="dark"] .flatpickr-prev-month:hover svg,
[data-theme="dark"] .flatpickr-next-month:hover svg { fill: var(--accent-mid); }

/* ══════════════════════════════════════════════════════════════
30. ЛОАДЕР СТРАНИЦЫ
══════════════════════════════════════════════════════════════ */
[data-theme="dark"] #content-loader {
    background: var(--bg);
}

/* ══════════════════════════════════════════════════════════════
31. ИЕРОГЛИФЫ (kanji)
══════════════════════════════════════════════════════════════ */

/* ── Раздел целиком: без лишних фонов ── */
[data-theme="dark"] .kj-detail,
[data-theme="dark"] .kj-section,
[data-theme="dark"] .kj-section--main,
[data-theme="dark"] .kj-section--words,
[data-theme="dark"] .kj-section--sentences,
[data-theme="dark"] .kj-section--theory,
[data-theme="dark"] .kj-section--skill-diamond { background: transparent; }

/* ── Streak-виджет (app-streak.js инжектирует surface-2 → transparent) ── */
[data-theme="dark"] .kj-streak-inner {
    background: transparent !important;
    border-color: transparent !important;
}
[data-theme="dark"] .kj-streak-inner:hover { border-color: transparent !important; }

/* ── Кнопки правой панели (колокольчик, список, фильтр, поиск) ── */
[data-theme="dark"] .notif-bell-btn,
[data-theme="dark"] #kjHeaderToolbarRight button,
[data-theme="dark"] #kjHeaderBtns button:not(.kj-lang-btn) { background: transparent !important; }
[data-theme="dark"] .notif-bell-btn:hover,
[data-theme="dark"] #kjHeaderToolbarRight button:hover { background: transparent !important; }

/* ── Плавающая кнопка поиска в панели ресурсов (kanji_resources.js инжект) ── */
[data-theme="dark"] .kj-res-search-float-wrap { background: transparent !important; }
[data-theme="dark"] .kj-res-search-float-wrap.open { background: var(--surface-3) !important; }

/* ── Тулбар и хедер ── */
[data-theme="dark"] #kjPageHeader { background: var(--surface); }
[data-theme="dark"] .kj-filter-menu {
    background: var(--popup-bg);
    border-color: var(--popup-border);
    box-shadow: 0 8px 32px rgba(0,0,0,0.48), 0 2px 8px rgba(0,0,0,0.32);
}
[data-theme="dark"] .kj-filter-option { color: var(--text-3); }
[data-theme="dark"] .kj-filter-option:hover { color: var(--text); }
[data-theme="dark"] .kj-filter-option.active { color: var(--gold); }
[data-theme="dark"] .kj-filter-current,
[data-theme="dark"] .kj-filter-arrow { color: var(--text-3); }
[data-theme="dark"] .kj-filter-select-wrap:hover .kj-filter-current,
[data-theme="dark"] .kj-filter-select-wrap:hover .kj-filter-arrow { color: var(--text-2); }
[data-theme="dark"] .kj-toolbar-divider { background: var(--border); }
[data-theme="dark"] .kj-res-filter-sep { background: var(--border); }

/* ── Кнопки тулбара (студент, выбрать, язык) ── */
[data-theme="dark"] .kj-lang-btn { color: var(--text-3); }
[data-theme="dark"] .kj-lang-btn:hover { color: var(--text-2); }
[data-theme="dark"] .kj-lang-btn.active { color: var(--text); }
[data-theme="dark"] .kj-student-select { color: var(--text-2); }
[data-theme="dark"] .kj-pick-btn { color: var(--text-3); }
[data-theme="dark"] .kj-pick-btn:hover { color: var(--text-2); }
[data-theme="dark"] .kj-pick-btn.active { color: var(--text); }
[data-theme="dark"] .kj-toolbar-toggle-btn { color: var(--text-3); }
[data-theme="dark"] .kj-toolbar-toggle-btn:hover { color: var(--text-2); }
[data-theme="dark"] .kj-toolbar-toggle-btn.active { color: var(--text); }
[data-theme="dark"] #kjFilterToggleBtn { color: var(--text-3); }
[data-theme="dark"] #kjFilterToggleBtn.active { color: var(--text); }
[data-theme="dark"] #kjToolbarDrawer { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-level-label { color: var(--text-3); }
[data-theme="dark"] .kj-level-label::after { background: var(--border-light); }
[data-theme="dark"] .kj-search-btn { color: var(--text-3); }
[data-theme="dark"] .kj-search-btn:hover,
[data-theme="dark"] .kj-search-header.open .kj-search-btn { color: var(--accent-mid); }
[data-theme="dark"] .kj-search-header.open { box-shadow: 0 1.5px 0 0 var(--accent-mid); }
[data-theme="dark"] .kj-search-slide { color: var(--text); }
[data-theme="dark"] .kj-search-slide::placeholder { color: var(--text-3); }

/* ── Мини-сетка иероглифов ── */
[data-theme="dark"] .kj-mini-card { background: transparent; }
[data-theme="dark"] .kj-mini-card:hover { background: var(--surface-2); box-shadow: 0 4px 20px rgba(0,0,0,0.22); }
[data-theme="dark"] .kj-mini-char { color: #6b6560; }
[data-theme="dark"] .kj-mini-mean { color: var(--text-3); }
[data-theme="dark"] .kj-mini-read { color: var(--text-3); }
/* Изученные — полный цвет текста */
[data-theme="dark"] .kj-mini--familiar .kj-mini-char,
[data-theme="dark"] .kj-mini--studied   .kj-mini-char,
[data-theme="dark"] .kj-mini--reviewing .kj-mini-char,
[data-theme="dark"] .kj-mini--review    .kj-mini-char { color: var(--text); }
/* Иконки пометки */
[data-theme="dark"] .kj-mini-note--covered { background: rgba(74,124,89,0.70); color: var(--text); }
[data-theme="dark"] .kj-mini-note--review  { background: var(--accent); color: #fff; }

/* ── Режим выбора ── */
[data-theme="dark"] .kj-mini-card.kj-selected {
    background: var(--accent-pale) !important;
    border-color: var(--accent-mid) !important;
    box-shadow: 0 0 0 2px var(--accent-light);
}
[data-theme="dark"] .kj-mini-card.kj-selected:hover {
    background: var(--accent-light) !important;
}
[data-theme="dark"] .kj-sel-check {
    background: var(--surface-2);
    border-color: var(--border);
}
[data-theme="dark"] .kj-select-all-btn { color: var(--text-3); }
[data-theme="dark"] .kj-select-all-btn:hover { color: var(--accent); background: var(--accent-pale); }

/* ── Панель действий при выборе ── */
[data-theme="dark"] .kj-sel-panel {
    background: var(--popup-bg);
    box-shadow: 0 4px 24px rgba(0,0,0,0.48), 0 0 0 1px var(--popup-border);
}
[data-theme="dark"] .kj-sel-count { color: var(--text-2); }
[data-theme="dark"] .kj-sel-familiar { background: var(--surface-2); color: var(--text); }
[data-theme="dark"] .kj-sel-review   { background: var(--accent-pale); color: var(--accent-mid); }
[data-theme="dark"] .kj-sel-studied  { background: var(--text); color: var(--bg); }

/* ── Детальный вид — герой ── */
[data-theme="dark"] .kj-det-char { color: var(--text); }
[data-theme="dark"] .kj-det-meta-tag { color: var(--text-3); }
[data-theme="dark"] .kj-tag { color: var(--text-3); border-color: var(--border); }
[data-theme="dark"] .kj-tag--meaning { color: var(--text); }
[data-theme="dark"] .kj-tag--meaning:hover { background: var(--surface-2); }
[data-theme="dark"] .kj-badge { background: var(--surface-2); border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .kj-det-char-meta .kj-badge { color: var(--text-3); }
[data-theme="dark"] .kj-det-badge-level { color: var(--accent-mid); }
[data-theme="dark"] .kj-det-badge-strokes { color: var(--text-3); }
[data-theme="dark"] .kj-back-btn { color: var(--text-3); }
[data-theme="dark"] .kj-back-btn:hover { color: var(--text); }

/* ── Чтения ── */
[data-theme="dark"] .kj-read-label { color: var(--text-3); }
[data-theme="dark"] .kj-read-val { color: var(--text) !important; }
[data-theme="dark"] .kj-read-val:hover { background: var(--surface-2); }

/* ── Теория ── */
[data-theme="dark"] .kj-theory {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text-2);
}

/* ── Заголовки секций ── */
[data-theme="dark"] .kj-section-title { color: var(--text-3); }

/* ── Примеры слов ── */
[data-theme="dark"] .kj-examples,
[data-theme="dark"] .kj-example,
[data-theme="dark"] .kj-examples--rest .kj-example,
[data-theme="dark"] .kj-examples--rest .kj-example:hover { background: transparent; }
[data-theme="dark"] .kj-example { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-example:last-child { border-bottom: none; }
[data-theme="dark"] .kj-ex-word { color: var(--text); }
[data-theme="dark"] .kj-ex-reading { color: var(--text-3) !important; }
[data-theme="dark"] .kj-ex-mean { color: var(--text-2); }
[data-theme="dark"] .kj-ex-sent {
    border-left-color: rgba(212,191,168,0.28);
    color: var(--text-2);
}
[data-theme="dark"] .kj-ex-sent-r { color: var(--text-3) !important; }
[data-theme="dark"] .kj-ex-level-badge { color: var(--text-3); }

/* ── Попап значений примера ── */
[data-theme="dark"] .kj-ex-meanings-popup {
    background: var(--popup-bg);
    border-color: var(--popup-border);
    box-shadow: 0 4px 20px rgba(0,0,0,0.48);
}
[data-theme="dark"] .kj-ex-meanings-popup-row {
    color: var(--text-2);
    border-bottom-color: var(--border-light);
}
[data-theme="dark"] .kj-ex-more { color: var(--text-3); }

/* ── Примеры предложений ── */
[data-theme="dark"] .kj-sentences,
[data-theme="dark"] .kj-sentences .kj-example--sentence {
    background: transparent;
}
[data-theme="dark"] .kj-sentences .kj-example--sentence {
    border-bottom-color: var(--border-light);
}
[data-theme="dark"] .kj-sent-line { color: var(--text); }
[data-theme="dark"] .kj-sent-pinyin { color: var(--text-3); }
[data-theme="dark"] .kj-sent-meaning { color: var(--text-2); }
[data-theme="dark"] .kj-sent-word { border-bottom-color: var(--text-3); }
[data-theme="dark"] .kj-sent-word:hover { color: var(--accent-mid); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .kj-word-tip {
    background: var(--popup-bg);
    border-color: var(--popup-border);
    color: var(--text);
    box-shadow: 0 4px 16px rgba(0,0,0,0.48);
}
[data-theme="dark"] .kj-example--jp ruby rt { color: var(--text-3); }

/* ── Кнопка «показать ещё» ── */
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary { color: var(--text-3); }
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary::before,
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary::after { background: var(--border); }
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary:hover { color: var(--accent-mid); }
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary:hover::before,
[data-theme="dark"] .kj-rest-details > summary.kj-rest-summary:hover::after { background: rgba(212,191,168,0.30); }

/* ── JLPT-бейдж ── */
[data-theme="dark"] .kj-badge--jlpt { color: var(--text-3); }

/* ── Кнопки режима (Повторить / Изучить / Написать) ── */
[data-theme="dark"] .kj-mode-btn { color: var(--text); }
[data-theme="dark"] .kj-mode-btn em { color: var(--accent-mid); }
[data-theme="dark"] .kj-mode-btn:hover,
[data-theme="dark"] .kj-mode-btn:hover em { color: var(--accent-mid); }
[data-theme="dark"] .kj-learn-banner-modes::before { color: var(--border); }
[data-theme="dark"] .kj-learn-banner-hint { color: var(--text-3); }
[data-theme="dark"] .kj-repeat-btn {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}
[data-theme="dark"] .kj-repeat-btn:hover { background: var(--accent-dark); border-color: var(--accent-dark); }

/* ── Прогресс сессии ── */
[data-theme="dark"] .kj-study-topbar { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-study-progress-wrap { background: var(--border); }
[data-theme="dark"] .kj-study-progress-bar { background: var(--accent-mid); }
[data-theme="dark"] .kj-study-count { color: var(--text-3); }
[data-theme="dark"] .kj-prev-btn { color: var(--text-3); }
[data-theme="dark"] .kj-prev-btn:hover { color: var(--text-2); }

/* ── Задания: общий фон ── */
[data-theme="dark"] .kj-stask,
[data-theme="dark"] .kj-pattern-right,
[data-theme="dark"] .kj-stask-reveal,
[data-theme="dark"] .kj-stask-reveal-wrap { background: transparent; }
[data-theme="dark"] .kj-stask-intro { color: var(--text-3); }
[data-theme="dark"] .kj-stask-prompt { color: var(--text); }
[data-theme="dark"] .kj-stask-sentence { color: var(--text); }
[data-theme="dark"] .kj-stask-sentence ruby rt { color: var(--text-3); }
[data-theme="dark"] .kj-stask-translation { color: var(--text-2); }
[data-theme="dark"] .kj-stask-translation--top { color: var(--text-2); }
[data-theme="dark"] .kj-stask-char { color: var(--text); }
[data-theme="dark"] .kj-stask-char-small { color: var(--text); }
[data-theme="dark"] .kj-stask-prompt-meaning { color: var(--text); }
[data-theme="dark"] .kj-stask-sentence--blank { color: var(--text); }
[data-theme="dark"] .kj-stask-kanji-meaning .kj-stask-char-small { color: var(--text); }
[data-theme="dark"] .kj-stask-kanji-meaning > span:last-child { color: var(--text-2); }
[data-theme="dark"] .kj-stask-feedback { color: var(--text-2); }

/* ── Варианты ответа (список) ── */
[data-theme="dark"] .kj-stask-btn { color: var(--text-2); }
[data-theme="dark"] .kj-stask-btn::before { color: var(--text-3); }
[data-theme="dark"] .kj-stask-btn:hover:not(:disabled) { color: var(--text); }
[data-theme="dark"] .kj-stask-btn:hover:not(:disabled)::before { color: var(--accent-mid); }
[data-theme="dark"] .kj-stask-btn--correct { color: #6ab87e !important; }
[data-theme="dark"] .kj-stask-btn--correct::before { color: #6ab87e !important; }
[data-theme="dark"] .kj-stask-btn--wrong { color: var(--text-3) !important; }
[data-theme="dark"] .kj-stask-btn--kanji:hover:not(:disabled) { color: var(--accent-mid) !important; }
[data-theme="dark"] .kj-stask-reveal-btn { color: var(--text-3); }
[data-theme="dark"] .kj-stask-reveal-btn:hover { color: var(--text-2); }
[data-theme="dark"] .kj-fb-ok  { color: #6ab87e; }
[data-theme="dark"] .kj-fb-err { color: var(--accent-mid); }
[data-theme="dark"] .kj-meaning-kanji-btn--correct .kj-mkb-char { color: #6ab87e; }
[data-theme="dark"] .kj-mkb-char { color: var(--text); }
[data-theme="dark"] .kj-stask--kanji-choice .kj-stask-readings { color: var(--text-2); }

/* ── Кнопка «Далее» ── */
[data-theme="dark"] .kj-next-btn { background: var(--accent); color: #fff; }
[data-theme="dark"] .kj-next-btn:hover { opacity: 0.85; }

/* ── Кнопки выбора иероглифа (2×2) ── */
[data-theme="dark"] .kj-kanji-choice-grid .kj-kanji-choice-btn { border-color: var(--border); }
[data-theme="dark"] .kj-meaning-kanji-btn { border-color: var(--border); }

/* ── Паттерн задание — слова + перевод ── */
[data-theme="dark"] .kj-pattern-w-jp { color: var(--text); }
[data-theme="dark"] .kj-pattern-w-jp ruby rt { color: var(--text-3); }
[data-theme="dark"] .kj-pattern-w-meaning { color: var(--text-2); }
[data-theme="dark"] .kj-pattern-w-dash { color: var(--text-3); }
[data-theme="dark"] .kj-pattern-trans-jp { color: var(--text); }
[data-theme="dark"] .kj-pattern-trans-r { color: var(--text-3); }
[data-theme="dark"] .kj-pattern-trans-m { color: var(--text-2); }
[data-theme="dark"] .kj-pattern-right .kj-stask-prompt { color: var(--text); text-align: left; }

/* ── Анки задание ── */
[data-theme="dark"] .kj-anki-question { color: var(--text-2); }
[data-theme="dark"] .kj-anki-btn { border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .kj-anki-btn:hover { color: var(--text); border-color: var(--border); }
[data-theme="dark"] .kj-anki-btn--yes:hover { color: #6ab87e; border-color: #4a7c59; }
[data-theme="dark"] .kj-anki-btn--no:hover  { color: var(--accent-mid); border-color: var(--accent-mid); }

/* ── Reveal подсказка после ответа ── */
[data-theme="dark"] .kj-choice-reveal { color: var(--text-2); }
[data-theme="dark"] .kj-anki-reveal   { color: var(--text-2); }
[data-theme="dark"] .kj-reveal-label  { color: var(--text-3); }
[data-theme="dark"] .kj-choice-feedback { color: var(--text-3); }

/* ── Задание с выбором из сетки иероглифов ── */
[data-theme="dark"] .kj-choice-task .kj-choice-prompt  { color: var(--text-3); }
[data-theme="dark"] .kj-choice-task .kj-choice-word    { color: var(--text); }
[data-theme="dark"] .kj-choice-task .kj-choice-sent    { color: var(--text); }
[data-theme="dark"] .kj-choice-task .kj-choice-target  { color: var(--text); border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .kj-choice-btn {
    color: var(--text-2);
}
[data-theme="dark"] .kj-choice-btn:hover:not(:disabled) { color: var(--text); background: rgba(212,191,168,0.04); }
[data-theme="dark"] .kj-choice-btn--correct { color: #6ab87e !important; }
[data-theme="dark"] .kj-choice-btn--wrong   { color: var(--text-3) !important; opacity: 0.45 !important; }

/* ── Задание на написание ── */
[data-theme="dark"] .kj-study-char-label { color: var(--text); }
[data-theme="dark"] .kj-write-hint-label { color: var(--text-3); }
[data-theme="dark"] .kj-canvas-wrap   { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] #kj-writer-container { outline-color: var(--border); }
[data-theme="dark"] #kj-writer-container::before { border-top-color: rgba(212,191,168,0.12); }
[data-theme="dark"] #kj-writer-container::after  { border-left-color: rgba(212,191,168,0.12); }
[data-theme="dark"] .kj-write-guide-overlay { color: var(--border); }
[data-theme="dark"] .kj-write-hint-reading { color: var(--text); }
[data-theme="dark"] .kj-write-hint-meaning { color: var(--text-3); }
[data-theme="dark"] .kj-write-hint-word    { color: var(--text); }
[data-theme="dark"] .kj-write-hint-sent    { color: var(--text); }
[data-theme="dark"] .kj-write-hint-sent ruby rt { color: var(--text-3); }

/* ── Задание на ввод хираганы ── */
[data-theme="dark"] .kj-stask--input .kj-stask-char-large {
    background: var(--surface-3);
    color: var(--text);
}
[data-theme="dark"] .kj-hiragana-word-block .kj-stask-char-large {
    background: var(--surface-3);
    color: var(--text);
}
[data-theme="dark"] .kj-stask--input .kj-stask-meanings { color: var(--text-2); }
[data-theme="dark"] .kj-hiragana-field {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .kj-hiragana-field:focus    { border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .kj-hiragana-field--correct { border-bottom-color: #4a7c59 !important; color: #6ab87e !important; }
[data-theme="dark"] .kj-hiragana-field--wrong   { border-bottom-color: var(--accent-mid) !important; }

/* ── Задание пиньинь ── */
[data-theme="dark"] .kj-pinyin-input-char { color: var(--text); }
[data-theme="dark"] .kj-pinyin-input-field {
    border-bottom-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .kj-pinyin-input-field:focus { border-bottom-color: var(--accent-mid); }
[data-theme="dark"] .kj-pinyin-input-hint { color: var(--text-3); }

/* ── Задание на тоны ── */
[data-theme="dark"] .kj-tone-prompt { color: var(--text-3); }
[data-theme="dark"] .kj-tone-word   { color: var(--text-2); }
[data-theme="dark"] .kj-tone-char   { color: var(--text); }
[data-theme="dark"] .kj-tone-btn {
    color: var(--text-2);
    border-color: var(--border-light);
}
[data-theme="dark"] .kj-tone-btn:hover:not(:disabled) { color: var(--text); border-color: var(--border); }
[data-theme="dark"] .kj-tone-btn--correct { border-color: #4a7c59 !important; color: #6ab87e !important; }
[data-theme="dark"] .kj-tone-btn--wrong   { border-color: var(--border-light) !important; color: var(--text-3) !important; }

/* ── Каретка-заглушка в слове ── */
[data-theme="dark"] .kj-word-char-blank { border-color: var(--text-2); }
[data-theme="dark"] .kj-word-char-dim   { color: var(--text-3); }
[data-theme="dark"] .kj-word-reading    { color: var(--text-3); }

/* ── Кнопка TTS ── */
[data-theme="dark"] .kj-speak-btn { color: var(--text-3); }
[data-theme="dark"] .kj-speak-btn:hover  { color: var(--text-2); }
[data-theme="dark"] .kj-speak-btn:active { color: var(--accent-mid); }

/* ── Статусы кнопок (знакомый / изучен / надо повторить) ── */
[data-theme="dark"] .kj-status--familiar { background: rgba(61,122,82,0.18); color: #6ab87e; }
[data-theme="dark"] .kj-status--studied  { background: rgba(74,124,89,0.22); color: #7ecc92; }
[data-theme="dark"] .kj-status--review   { background: var(--accent-pale); color: var(--accent-mid); }

/* ── Финиш сессии ── */
[data-theme="dark"] .kj-finish-char  { color: var(--text); }
[data-theme="dark"] .kj-finish-title { color: var(--text); }
[data-theme="dark"] .kj-finish-sub   { color: var(--text-2); }
[data-theme="dark"] .kj-summary-n    { color: var(--text); }
[data-theme="dark"] .kj-summary-label { color: var(--text-3); }

/* ── Выбор партии на повторение ── */
[data-theme="dark"] .kj-review-due-label { color: var(--text-3); }
[data-theme="dark"] .kj-review-all-done  { color: var(--text-2); }
[data-theme="dark"] .kj-review-all-done-icon { color: var(--accent-mid); }
[data-theme="dark"] .kj-batch-label  { color: var(--text-2); }
[data-theme="dark"] .kj-batch-select { color: var(--text); }
[data-theme="dark"] .kj-mini-card--due { background: var(--surface-2); }
[data-theme="dark"] .kj-mini-card--due.kj-mini-card--selected {
    background: var(--accent-pale) !important;
    border-color: var(--accent-mid) !important;
}

/* ── Ромб навыков ── */
[data-theme="dark"] .kj-skill-diamond-wrap { background: transparent; border: none; }
[data-theme="dark"] .kj-skill-diamond-who { background: transparent; color: var(--text-3); }
[data-theme="dark"] .kj-mini-diamond-chip svg polygon:last-of-type {
    fill: rgba(196,175,152,0.14);
    stroke: rgba(196,175,152,0.80);
    transition: fill 0.2s ease, stroke 0.2s ease;
}
[data-theme="dark"] .kj-mini-diamond-chip:hover svg polygon:last-of-type {
    fill: rgba(255,255,255,0.16);
    stroke: rgba(255,255,255,0.88);
}
[data-theme="dark"] .kj-skill-diamond-wrap svg polygon[stroke-width="1.2"] {
    fill: rgba(196,175,152,0.14);
    stroke: rgba(196,175,152,0.80);
    transition: fill 0.2s ease, stroke 0.2s ease;
}
[data-theme="dark"] .kj-skill-diamond-wrap:hover svg polygon[stroke-width="1.2"] {
    fill: rgba(255,255,255,0.16);
    stroke: rgba(255,255,255,0.88);
}
[data-theme="dark"] .kj-skill-diamond-wrap svg text[font-weight="500"] {
    fill: #C4AF98;
    transition: fill 0.2s ease;
}
[data-theme="dark"] .kj-skill-diamond-wrap:hover svg text[font-weight="500"] {
    fill: #FFFFFF;
}
[data-theme="dark"] .kj-mini-diamond-label { color: var(--text-3); }
[data-theme="dark"] .kj-mini-diamond-chip--active .kj-mini-diamond-label { color: var(--accent-mid); }
[data-theme="dark"] .kj-diamond-panel { background: transparent; }
[data-theme="dark"] .kj-skd-note { color: var(--text-3); }
[data-theme="dark"] .kj-skd-note em { color: var(--accent-mid); }

/* ── Настройки языков ── */
[data-theme="dark"] .kj-lang-options-group { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .kj-lang-option { background: var(--surface-2); border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-lang-option:hover { background: var(--surface-3); }
[data-theme="dark"] .kj-lang-option-name  { color: var(--text); }
[data-theme="dark"] .kj-lang-option-hint  { color: var(--text-3); }
[data-theme="dark"] .kj-lang-setting-check { border-color: var(--border); background: transparent; }
[data-theme="dark"] .kj-lang-setting-label { color: var(--text-2); }
[data-theme="dark"] .kj-lang-setting-row:hover .kj-lang-setting-check { border-color: var(--accent-mid); }

/* ── Админ форма ── */
[data-theme="dark"] .kj-admin-section { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .kj-admin-section-h { color: var(--text-3); }
[data-theme="dark"] .kj-admin-title { color: var(--text); }
[data-theme="dark"] .kj-admin-label { color: var(--text-3); }
[data-theme="dark"] .kj-admin-input { background: var(--surface-3); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .kj-admin-input:focus { border-color: var(--accent-mid); }
[data-theme="dark"] .kj-admin-ex-header { color: var(--text-3); border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-admin-ex-num { color: var(--text-3); }
[data-theme="dark"] .kj-admin-btn-del { color: var(--text-3); }
[data-theme="dark"] .kj-admin-btn-del:hover { color: var(--accent-mid); }
[data-theme="dark"] .kj-admin-footer { border-top-color: var(--border-light); }
[data-theme="dark"] .kj-admin-btn-delete { border-color: var(--accent-mid); color: var(--accent-mid); }
[data-theme="dark"] .kj-admin-btn-delete:hover { background: var(--accent-pale); }

/* ══════════════════════════════════════════════════════════════
31-B. ПАНЕЛЬ РЕСУРСОВ ИЕРОГЛИФОВ (resources.css)
══════════════════════════════════════════════════════════════ */

/* ── Панель целиком ── */
[data-theme="dark"] .kj-res-panel,
[data-theme="dark"] .t-res-panel {
    background: var(--surface-3);
    border-left-color: var(--border);
}

/* ── Учебники: шапка элемента ── */
[data-theme="dark"] .kj-res-tb-item { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-res-tb-header { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-res-tb-item:not(.active):hover,
[data-theme="dark"] .kj-res-tb-header:hover { background: var(--surface-2); }
[data-theme="dark"] .kj-res-tb-item.active > .kj-res-tb-header { background: var(--surface-2); }
[data-theme="dark"] .kj-res-tb-name { color: var(--text); }
[data-theme="dark"] .kj-res-tb-meta,
[data-theme="dark"] .kj-res-tb-arrow { color: var(--text-3); }
[data-theme="dark"] .kj-res-tb-progress-bar { background: var(--border); }

/* ── Главы: строка ── */
[data-theme="dark"] .kj-res-ch-item { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-res-ch-item:hover { background: var(--surface-2); }
[data-theme="dark"] .kj-res-ch-row:hover { background: var(--surface-2); }
[data-theme="dark"] .kj-res-ch-num  { color: var(--text-3); }
[data-theme="dark"] .kj-res-ch-item.done .kj-res-ch-num { color: var(--accent-mid); }
[data-theme="dark"] .kj-res-ch-title { color: var(--text-2); }
[data-theme="dark"] .kj-res-k-prev  { color: var(--text-3); }

/* ── Раскрытое тело главы ── */
[data-theme="dark"] .kj-res-ch-expanded { background: var(--surface-2); }

/* ── Иероглифы в списке главы ── */
[data-theme="dark"] .kj-res-k:hover { background: var(--surface-3); }
[data-theme="dark"] .kj-res-k--new       { color: var(--text-3); }
[data-theme="dark"] .kj-res-k--familiar  { color: #6ab87e; }
[data-theme="dark"] .kj-res-k--studied   { color: var(--text); }
[data-theme="dark"] .kj-res-k--reviewing { color: var(--accent-mid); }
[data-theme="dark"] .kj-res-k--covered   { color: var(--text); }

/* ── Действия внутри главы ── */
[data-theme="dark"] .kj-res-ch-acts-label { color: var(--text-3); }
[data-theme="dark"] .kj-res-ch-act { color: var(--text-3); }
[data-theme="dark"] .kj-res-ch-act:hover { color: var(--text-2); }
[data-theme="dark"] .kj-res-ch-act.kj-res-act--familiar:hover { color: #6ab87e; }
[data-theme="dark"] .kj-res-ch-act.kj-res-act--review:hover   { color: var(--accent-mid); }
[data-theme="dark"] .kj-res-ch-act.kj-res-act--new:hover      { color: var(--text-2); }

/* ── Панель действий (кнопки статуса) ── */
[data-theme="dark"] .kj-res-action-bar { background: var(--surface-2); }
[data-theme="dark"] .kj-res-action-label { color: var(--text-3); }
[data-theme="dark"] .kj-res-act {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .kj-res-act:not(.kj-res-ch-act):hover {
    background: var(--text);
    border-color: var(--text);
    color: var(--bg);
}
[data-theme="dark"] .kj-res-act--familiar:not(.kj-res-ch-act):hover {
    background: #4a7c59;
    border-color: #4a7c59;
    color: #fff;
}
[data-theme="dark"] .kj-res-act--review:not(.kj-res-ch-act):hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}
[data-theme="dark"] .kj-res-act--new:not(.kj-res-ch-act):hover {
    background: var(--text-3);
    border-color: var(--text-3);
    color: var(--bg);
}

/* ── Панель «кто» (who-bar) и фильтры ── */
[data-theme="dark"] .kj-res-who-bar { background: var(--surface-2); border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-res-mgr-btn { color: var(--text-3); }
[data-theme="dark"] .kj-res-mgr-btn:hover { color: var(--text-2); }

/* ── Кнопка «Учиться по порядку» ── */
[data-theme="dark"] .kj-res-connect-btn { color: var(--text-3); }
[data-theme="dark"] .kj-res-connect-btn:hover { color: var(--accent-mid); }
[data-theme="dark"] .kj-res-connect-btn.connected { color: var(--accent-mid); }

/* ── Кнопки учебника / ресурса ── */
[data-theme="dark"] .kj-res-btn { color: var(--text-3); }
[data-theme="dark"] .kj-res-btn:hover { color: var(--text-2); }
[data-theme="dark"] .kj-res-btn.kj-res-btn--connected { color: var(--accent-mid); }

/* ── Режим администратора ── */
[data-theme="dark"] .kj-res-admin-panel { background: var(--surface-3); }
[data-theme="dark"] .kj-res-admin-head {
    color: var(--text);
    border-bottom-color: var(--border);
}
[data-theme="dark"] .kj-res-close-sm { color: var(--text-3); }
[data-theme="dark"] .kj-res-close-sm:hover { color: var(--accent-mid); }
[data-theme="dark"] .kj-res-admin-section-label { color: var(--text-3); }
[data-theme="dark"] .kj-res-admin-tb-row { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-res-admin-tb-name { color: var(--text); }
[data-theme="dark"] .kj-res-admin-tb-lang,
[data-theme="dark"] .kj-res-admin-tb-cnt { color: var(--text-3); }
[data-theme="dark"] .kj-res-admin-btn-sm { color: var(--text-3); }
[data-theme="dark"] .kj-res-admin-btn-sm:hover { color: var(--text-2); }
[data-theme="dark"] .kj-res-create-form { border-top-color: var(--border); }
[data-theme="dark"] .kj-res-create-input {
    border-bottom-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .kj-res-create-input:focus { border-bottom-color: var(--text); }
[data-theme="dark"] .kj-res-create-input::placeholder { color: var(--text-3); }
[data-theme="dark"] .kj-res-create-lang { color: var(--text-2); }
[data-theme="dark"] .kj-res-admin-save-btn {
    border-top-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .kj-res-admin-save-btn:hover {
    background: var(--text);
    color: var(--bg);
}
[data-theme="dark"] .kj-res-bulk-textarea {
    border-bottom-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .kj-res-bulk-textarea:focus { border-bottom-color: var(--text); }
[data-theme="dark"] .kj-res-bulk-textarea::placeholder { color: var(--text-3); }
[data-theme="dark"] .kj-res-ch-num-e { color: var(--text-3); }
[data-theme="dark"] .kj-res-ch-chars { color: var(--text-2); }
[data-theme="dark"] .kj-res-ch-count { color: var(--text-3); }

/* ── t-res-panel (панель тем с ресурсами) ── */
[data-theme="dark"] .t-res-panel-head { border-bottom-color: var(--border); }
[data-theme="dark"] .t-res-panel-title { color: var(--text); }
[data-theme="dark"] .t-res-close { color: var(--text-3); }
[data-theme="dark"] .t-res-close:hover { color: var(--text); }
[data-theme="dark"] .t-res-tb-item { border-bottom-color: var(--border-light); }
[data-theme="dark"] .t-res-tb-header:hover { background: var(--surface-2); }
[data-theme="dark"] .t-res-tb-name { color: var(--text); }
[data-theme="dark"] .t-res-tb-meta,
[data-theme="dark"] .t-res-tb-arrow { color: var(--text-3); }
[data-theme="dark"] .t-res-progress-bar { background: var(--border); }
[data-theme="dark"] .t-res-chapter-list { border-bottom-color: var(--border); }
[data-theme="dark"] .t-res-chapter-row {
    border-bottom-color: var(--border-light);
}
[data-theme="dark"] .t-res-chapter-row:hover { background: var(--surface-2); }
[data-theme="dark"] .t-res-chapter-num { color: var(--text-3); }
[data-theme="dark"] .t-res-chapter-title { color: var(--text-2); }
[data-theme="dark"] .t-res-chapter-meta { color: var(--text-3); }
[data-theme="dark"] .t-res-empty,
[data-theme="dark"] .t-res-loading { color: var(--text-3); }
[data-theme="dark"] .t-res-btn { color: var(--text-3); }
[data-theme="dark"] .t-res-btn:hover { color: var(--text-2); }
[data-theme="dark"] .t-res-btn.active { color: var(--accent-mid); }
[data-theme="dark"] .t-res-badge { color: var(--accent-mid); }
[data-theme="dark"] .t-res-apply-row { border-top-color: var(--border); }
[data-theme="dark"] .t-res-apply-btn {
    border-top-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .t-res-apply-btn:hover {
    background: var(--text);
    color: var(--bg);
}

/* ── Анимация подсветки ── */
[data-theme="dark"] @keyframes kjHighlightPulse {
    0%, 65% { background: var(--surface-2); }
    100%     { background: transparent; }
}

/* ── Кнопки статуса в детальном виде ── */
/* kj-status--studied светлый кремовый фон → уже покрыт выше, но перекрываем !important для надёжности */
[data-theme="dark"] .kj-status--familiar { background: rgba(61,122,82,0.18) !important; color: #6ab87e !important; }
[data-theme="dark"] .kj-status--studied  { background: rgba(74,124,89,0.22) !important; color: #7ecc92 !important; }

/* ── Кнопки «covered/studied» в панели выбора ── */
[data-theme="dark"] .kj-sel-covered { color: #6ab87e; }
[data-theme="dark"] .kj-sel-covered:hover { background: rgba(74,124,89,0.18); color: #6ab87e; }

/* ── Tooltip у кнопок-частей иероглифа ── */
[data-theme="dark"] .kj-det-part-btn[data-meaning]:not([data-meaning=""]):hover::before {
    background: var(--popup-bg);
    color: var(--text-3);
}

/* ── Попап «составные слова» ── */
[data-theme="dark"] .kj-comp-popup {
    background: var(--popup-bg);
    box-shadow: 0 24px 64px rgba(0,0,0,0.62);
}
[data-theme="dark"] .kj-comp-popup-head { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-comp-popup-char { color: var(--text); }
[data-theme="dark"] .kj-comp-popup-close { color: var(--text-3); }
[data-theme="dark"] .kj-comp-popup-close:hover { color: var(--text); }
[data-theme="dark"] .kj-comp-popup-empty { color: var(--text-3); }
[data-theme="dark"] .kj-comp-popup-item { border-color: var(--border-light); }
[data-theme="dark"] .kj-comp-popup-item:hover { border-color: var(--accent); background: var(--accent-pale); }
[data-theme="dark"] .kj-comp-popup-item-char { color: var(--text); }
[data-theme="dark"] .kj-comp-popup-item-mean { color: var(--text-3); }
[data-theme="dark"] .kj-comp-popup-word { border-bottom-color: var(--border-light); }
[data-theme="dark"] .kj-comp-popup-word:hover { background: var(--surface-2); }
[data-theme="dark"] .kj-comp-popup-word-char { color: var(--text); }
[data-theme="dark"] .kj-comp-popup-word-pinyin { color: var(--text-3); }
[data-theme="dark"] .kj-comp-popup-word-mean { color: var(--text-2); }

/* ── Предложения (.kj-sentences) — хардкодный белый фон ── */
[data-theme="dark"] .kj-sentences { background: transparent; }
[data-theme="dark"] .kj-sentences .kj-example--sentence { background: transparent; }

/* ── Ромб навыков — хардкодный белый фон ── */
[data-theme="dark"] .kj-skill-diamond-wrap { background: transparent; }

/* ── Задание «похожие иероглифы» — светлые статусы ── */
[data-theme="dark"] .kj-similar-btn.kj-choice-correct {
    background: rgba(74,124,89,0.18);
    border-color: #4a7c59;
    color: #6ab87e;
}

/* ── Дашборд иероглифов — янтарный бейдж ── */
[data-theme="dark"] .kj-dash-flag--amber {
    color: #c9a43e;
    background: rgba(201,164,62,0.14);
}

/* ── Дашборд — «covered» бейдж и символ ── */
[data-theme="dark"] .kj-dash-covered {
    color: #6ab87e;
    background: rgba(74,124,89,0.18);
}
[data-theme="dark"] .kj-dash-covered-char { color: #6ab87e; }

/* ── fb-ok (правильный ответ — зелёный текст) ── */
[data-theme="dark"] .kj-fb-ok { color: #6ab87e; }

/* ══════════════════════════════════════════════════════════════
32. АНИМАЦИЯ ИЕРОГЛИФОВ (animCJK SVG) — тёмная тема
══════════════════════════════════════════════════════════════ */

/* SVG-анимации черт: белый фон + чёрные черты → инвертируем */
[data-theme="dark"] .kj-stroke-anim-wrap svg,
[data-theme="dark"] .kj-stroke-multi-item > svg,
[data-theme="dark"] .kj-stroke-multi-item > div > svg {
    filter: invert(1) hue-rotate(180deg);
    background: transparent;
    border-color: var(--border);
}
[data-theme="dark"] .kj-stroke-anim-wrap > svg,
[data-theme="dark"] .kj-stroke-multi-item > svg,
[data-theme="dark"] .kj-stroke-multi-item > div > svg {
    background: transparent;
    border-color: transparent;
}
[data-theme="dark"] .kj-stroke-replay-btn {
    background: transparent;
    color: var(--text-3);
}
[data-theme="dark"] .kj-stroke-replay-btn:hover { color: var(--accent-mid); }
[data-theme="dark"] .kj-stroke-skeleton { background: var(--border); }
/* ══════════════════════════════════════════════════════════════
13-B. ЧАТ — дополнения (filter pills, sys-cards, modal, misc)
    Дополняет секцию 13, не дублирует уже существующие правила.
══════════════════════════════════════════════════════════════ */

/* ── Фильтры-пилюли ─────────────────────────────────────── */
[data-theme="dark"] .crm-chat-filters              { border-bottom-color: var(--border); }
[data-theme="dark"] .crm-chat-filter-pill          { color: var(--text-3); border-color: var(--border); background: transparent; }
[data-theme="dark"] .crm-chat-filter-pill:hover:not(.active) { background: var(--surface-2); color: var(--text-2); }
[data-theme="dark"] .crm-chat-filter-pill.active   { background: var(--text); color: var(--bg); border-color: var(--text); }

/* ── Группа-тег в имени диалога ─────────────────────────── */
[data-theme="dark"] .crm-conv-group-tag            { background: var(--surface-2); border-color: var(--border); color: var(--text-3); }

/* ── Активный диалог: нейтральный тёплый оттенок ────────── */
[data-theme="dark"] .crm-conv-item--active         { background: rgba(212,191,168,0.06) !important; border-left-color: var(--accent-mid); }

/* ── Кнопки-иконки в шапке чата ─────────────────────────── */
[data-theme="dark"] .crm-chat-header-icon-btn      { color: var(--text-3); background: none; }
[data-theme="dark"] .crm-chat-header-icon-btn:hover { background: var(--surface-2); color: var(--text-2); }

/* ── Область сообщений: фон темнее, скроллбары под тему ─── */
[data-theme="dark"] .crm-chat-msg-area             { background: var(--bg); }
[data-theme="dark"] .crm-chat-msg-area::-webkit-scrollbar-thumb       { background: var(--border); }
[data-theme="dark"] .crm-chat-msg-area::-webkit-scrollbar-thumb:hover { background: var(--text-3); }
[data-theme="dark"] .crm-chat-conv-list::-webkit-scrollbar-thumb      { background: var(--border); }

/* ── Мои пузыри: граница + чуть плотнее фон ─────────────── */
[data-theme="dark"] .crm-msg--mine .crm-msg-bubble { background: rgba(212,191,168,0.12); border-color: rgba(212,191,168,0.22); }

/* ── Кнопка отправки ─────────────────────────────────────── */
[data-theme="dark"] .crm-chat-send-btn             { background: var(--accent-mid); color: #1a1714; }
[data-theme="dark"] .crm-chat-send-btn:hover       { background: var(--accent); }

/* ══ SYS-CARD — карточки уроков и напоминаний ══════════════ */

/* Контейнер */
[data-theme="dark"] .sys-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: none;
}

/* Статусные чипы — приглушённые тёплые оттенки */
[data-theme="dark"] .sys-card-chip--pending  { background: rgba(217,119,6,0.14);  color: #e8b86a; }
[data-theme="dark"] .sys-card-chip--approved { background: rgba(45,122,69,0.14);  color: #72c48a; }
[data-theme="dark"] .sys-card-chip--rejected { background: rgba(158,42,28,0.18);  color: #d47268; }

/* Разделители внутри карточки */
[data-theme="dark"] .sys-tz-row      { border-top-color: var(--border-light); }
[data-theme="dark"] .sys-card-comment { border-top-color: var(--border-light); }
[data-theme="dark"] .sys-card-hint    { border-top-color: var(--border-light); }

/* Типографика */
[data-theme="dark"] .sys-card-label        { color: var(--text-3); }
[data-theme="dark"] .sys-card-time         { color: var(--text); }
[data-theme="dark"] .sys-card-date         { color: var(--text-2); }
[data-theme="dark"] .sys-card-comment-text { color: var(--text-2); }
[data-theme="dark"] .sys-card-hint         { color: var(--text-3); }
[data-theme="dark"] .sys-card-hint-arrow   { color: var(--accent-mid); }
[data-theme="dark"] .sys-tz-who            { color: var(--text-3); }
[data-theme="dark"] .sys-tz-time           { color: var(--text); }
[data-theme="dark"] .sys-tz-name           { color: var(--text-3); }

/* Бейдж напоминания */
[data-theme="dark"] .sys-card-reminder-badge {
    background: rgba(90,122,58,0.18);
    color: #8abc70;
}
[data-theme="dark"] .sys-card-reminder-badge::before { background: #8abc70; }

/* Кнопка оплаты внутри карточки */
[data-theme="dark"] .sys-card-pay-btn       { background: var(--accent-mid); color: #1a1714; }
[data-theme="dark"] .sys-card-pay-btn:hover { background: var(--accent); }

/* ══ МОДАЛЬНОЕ ОКНО НОВОГО ЧАТА ════════════════════════════ */

[data-theme="dark"] .crm-chat-modal-overlay  { background: rgba(0,0,0,0.72); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
[data-theme="dark"] .crm-chat-modal          { background: var(--surface); box-shadow: var(--shadow-lg); }
[data-theme="dark"] .crm-chat-modal-head     { background: var(--surface); border-bottom-color: var(--border-light); }
[data-theme="dark"] .crm-chat-modal-title    { color: var(--text); }
[data-theme="dark"] .crm-chat-modal-close    { background: var(--surface-2); color: var(--text-3); }
[data-theme="dark"] .crm-chat-modal-close:hover { background: var(--bg); color: var(--text); }

/* Список контактов */
[data-theme="dark"] .crm-contact-item:hover  { background: var(--surface-2); }
[data-theme="dark"] .crm-contact-name        { color: var(--text); }
[data-theme="dark"] .crm-contact-sub         { color: var(--text-3); }
[data-theme="dark"] .crm-chat-contact-loading,
[data-theme="dark"] .crm-chat-contact-empty  { color: var(--text-3); }

/* Поисковая строка в модальном — подчёркивание */
[data-theme="dark"] .crm-chat-modal-search-wrap::after          { background: var(--border); }
[data-theme="dark"] .crm-chat-modal-search-wrap.focused::after,
[data-theme="dark"] .crm-chat-modal-search-wrap:has(input:not(:placeholder-shown))::after { background: var(--accent-mid); }
/* ══════════════════════════════════════════════════════════════
13-C. ЧАТ — sys-card страховочный слой + групповой чат
      Источник проблем:
        1. student-chat.js инлайн-стили color:#1a1714 / #5c5650
           (исправлено в JS на var(--text) / var(--text-2))
        2. group_chat.js injectCSS() — класс-правила с хардкодами
           (перекрываем здесь через [data-theme] с бо́льшей специфичностью)
        3. dashboard.js inline color:#2e7040 для статусов оплаты
══════════════════════════════════════════════════════════════ */

/* ── Страховочный !important для анонимных div внутри sys-card-inner ── */
/* Нацелен ровно на те div без класса, которые JS рендерит с color:#1a1714 */
[data-theme="dark"] .sys-card-inner > div:not([class]) {
    color: var(--text) !important;
}

/* ── Dashboard: inline статусы «Оплачен / Покрыт предоплатой» ── */
/* #2e7040 — тёмно-зелёный, не читается на тёмном фоне */
[data-theme="dark"] .dash-lid-pay-status,
[data-theme="dark"] [class*="pay-status"] {
    color: #72c48a !important;   /* светло-зелёный */
}
/* Запасной — если класса нет, ловим через span внутри карточки */
[data-theme="dark"] .dash-lesson-item span[style*="color:#2e7040"],
[data-theme="dark"] .dash-lesson-item span[style*="color: #2e7040"] {
    color: #72c48a !important;
}

/* ══ ГРУППОВОЙ ЧАТ (injectCSS overrides) ════════════════════ */
/* Вся специфичность [data-theme="dark"] > .class.class из gcCSS */

/* Область сообщений */
[data-theme="dark"] #gcMsgArea                     { background: var(--bg) !important; }

/* Пузыри */
[data-theme="dark"] .gc-msg.mine .gc-msg-bubble    { background: rgba(212,191,168,0.12) !important; color: var(--text) !important; border-color: rgba(212,191,168,0.22) !important; }
[data-theme="dark"] .gc-msg.theirs .gc-msg-bubble  { background: var(--surface-2) !important; color: var(--text) !important; border-color: var(--border) !important; box-shadow: none !important; }
[data-theme="dark"] .gc-msg-sender                 { color: var(--text-3) !important; }
[data-theme="dark"] .gc-msg-time                   { color: var(--text-3) !important; }
[data-theme="dark"] .gc-datesep                    { color: var(--text-3) !important; }
[data-theme="dark"] .gc-datesep::before,
[data-theme="dark"] .gc-datesep::after             { background: var(--border) !important; }

/* Шапка группового чата */
[data-theme="dark"] #gcHdr                         { background: var(--surface) !important; border-bottom-color: var(--border-light) !important; }
[data-theme="dark"] .gc-hdr-name                   { color: var(--text) !important; }
[data-theme="dark"] .gc-hdr-sub                    { color: var(--text-3) !important; }
[data-theme="dark"] .gc-hbtn                       { background: none !important; border-color: var(--border) !important; color: var(--text-2) !important; }
[data-theme="dark"] .gc-hbtn:hover                 { background: var(--surface-2) !important; }
[data-theme="dark"] .gc-hbtn.red                   { color: var(--accent) !important; border-color: rgba(212,191,168,0.25) !important; }

/* Поле ввода */
[data-theme="dark"] #gcInputWrap                   { background: var(--surface) !important; border-top-color: var(--border) !important; }
[data-theme="dark"] #gcInput                       { color: var(--text) !important; border-bottom-color: var(--border) !important; }
[data-theme="dark"] #gcInput:focus                 { border-bottom-color: var(--accent-mid) !important; }
[data-theme="dark"] #gcSendBtn                     { background: var(--accent-mid) !important; color: #1a1714 !important; }
[data-theme="dark"] #gcSendBtn:hover               { background: var(--accent) !important; }

/* Модал создания группы */
[data-theme="dark"] .gc-card                       { background: var(--surface) !important; border-color: var(--border) !important; }
[data-theme="dark"] .gc-cbody                      { background: var(--surface) !important; }
[data-theme="dark"] .gc-eyebrow                    { color: var(--text-3) !important; }
[data-theme="dark"] .gc-ctitle                     { color: var(--text) !important; border-bottom-color: var(--border) !important; }
[data-theme="dark"] .gc-flabel                     { color: var(--text-3) !important; }
[data-theme="dark"] .gc-finput                     { color: var(--text) !important; border-bottom-color: var(--border) !important; }
[data-theme="dark"] .gc-finput:focus               { border-bottom-color: var(--accent-mid) !important; }
[data-theme="dark"] .gc-finput::placeholder        { color: var(--text-3) !important; }
[data-theme="dark"] .gc-search-w                   { border-bottom-color: var(--border) !important; }
[data-theme="dark"] .gc-search-w:focus-within      { border-bottom-color: var(--accent-mid) !important; }
[data-theme="dark"] .gc-search-ic                  { color: var(--text-3) !important; }
[data-theme="dark"] .gc-sinput                     { color: var(--text) !important; }
[data-theme="dark"] .gc-sinput::placeholder        { color: var(--text-3) !important; }
[data-theme="dark"] .gc-clist                      { background: var(--surface-2) !important; border-color: var(--border) !important; }
[data-theme="dark"] .gc-crow                       { border-bottom-color: var(--border-light) !important; }
[data-theme="dark"] .gc-crow:hover                 { background: var(--surface-2) !important; }
[data-theme="dark"] .gc-crow.sel                   { background: rgba(212,191,168,0.07) !important; }
[data-theme="dark"] .gc-chk                        { border-color: var(--border) !important; background: transparent !important; }
[data-theme="dark"] .gc-crow.sel .gc-chk           { background: var(--accent-mid) !important; border-color: var(--accent-mid) !important; color: #1a1714 !important; }
[data-theme="dark"] .gc-cav                        { color: var(--accent) !important; }
[data-theme="dark"] .gc-cname                      { color: var(--text) !important; }
[data-theme="dark"] .gc-crole                      { color: var(--text-3) !important; }
[data-theme="dark"] .gc-chip                       { background: var(--surface-2) !important; border-color: var(--border) !important; color: var(--text-2) !important; }
[data-theme="dark"] .gc-chip-x                     { color: var(--text-3) !important; }
[data-theme="dark"] .gc-chip-x:hover               { color: var(--accent) !important; }
[data-theme="dark"] .gc-cfooter                    { border-top-color: var(--border) !important; }
[data-theme="dark"] .gc-bcancl                     { color: var(--text-3) !important; }
[data-theme="dark"] .gc-bcancl:hover               { color: var(--text) !important; }
[data-theme="dark"] .gc-bcreate                    { background: var(--accent-mid) !important; color: #1a1714 !important; }
[data-theme="dark"] .gc-bcreate:hover              { background: var(--accent) !important; }

/* ── Тоггл-слайдер ── */
[data-theme="dark"] .mat-toggle-slider::after { background: var(--text-2); }

/* ── Упражнения ── */
[data-theme="dark"] .ex-multi-toggle  { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .ex-config        { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .ex-option-row    { background: var(--surface-2); }
[data-theme="dark"] .ex-insert-blank-btn { background: var(--surface-2); border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .ex-insert-blank-btn:hover { border-color: var(--accent-mid); color: var(--accent); background: var(--accent-pale); }

/* ── Feedback упражнений ── */
[data-theme="dark"] .ex-feedback.ok  { background: rgba(42,112,64,0.14); color: #6ab87e; border-left-color: #4a7c59; }
[data-theme="dark"] .ex-feedback.err { background: rgba(192,57,43,0.12); color: #e07060; border-left-color: var(--accent-mid); }

/* ── Групповой урок — сетка студентов ── */
[data-theme="dark"] .gc-cell-correct .gc-check   { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .gc-scheck                   { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .gc-student-cell.correct-reveal { background: rgba(42,112,64,0.14); }
[data-theme="dark"] .gc-student-cell.correct-reveal .gc-scheck { background: #4a7c59; border-color: #4a7c59; }
[data-theme="dark"] .gc-student-cell.wrong-reveal   { background: rgba(192,57,43,0.10); }
[data-theme="dark"] .gc-student-cell.missed-reveal  { background: var(--surface-2); }

/* ══════════════════════════════════════════════════════════════
34. ТЕМЫ — недостающие переопределения
══════════════════════════════════════════════════════════════ */

/* ── Индикатор ДЗ (синий в светлой теме) ── */
[data-theme="dark"] .t-indicator--hw { background: rgba(58,96,160,0.14); color: #7b9ef0; }

/* ── Бейдж прогресса темы (lsm) ── */
[data-theme="dark"] .lsm-topic-pct-badge.done { background: rgba(46,112,64,0.16); color: #6ab87e; }

/* ══════════════════════════════════════════════════════════════
35. РЕСУРСЫ — переопределения из resources.css
══════════════════════════════════════════════════════════════ */

/* resources.css инжектирует #1a1714 / #1e1b17 — переопределяем на переменные */
[data-theme="dark"] .kj-res-panel,
[data-theme="dark"] .t-res-panel    { background: var(--surface-3) !important; }
[data-theme="dark"] .kj-res-who-bar { background: var(--surface-3) !important; }
[data-theme="dark"] .kj-res-act     { background: var(--surface-2) !important; }
[data-theme="dark"] .kj-res-action-bar { background: var(--surface-2) !important; }
[data-theme="dark"] .kj-res-ch-expanded { background: var(--surface-2) !important; }

/* ══════════════════════════════════════════════════════════════
36. ДАШБОРД — недостающие переопределения
══════════════════════════════════════════════════════════════ */

/* ── Привычки: квадратики heat-map ── */
[data-theme="dark"] .dash-habit-hq.done  { background: var(--border); border-color: var(--border); }


/* ══════════════════════════════════════════════════════════════
37. СТАТУСЫ УРОКОВ И ОПЛАТЫ (base.css)
══════════════════════════════════════════════════════════════ */

/* Статусы в расписании */
[data-theme="dark"] .status-scheduled { background: rgba(80,64,160,0.16); color: #9b8fe0; }
[data-theme="dark"] .status-completed { background: rgba(42,96,64,0.16);  color: #6ab87e; }

/* Зелёные суммы оплат */
[data-theme="dark"] .pm-split-prepay  { color: #6ab87e !important; }
[data-theme="dark"] .prepay-card-rem  { color: #6ab87e; }
[data-theme="dark"] .price-paid       { color: #6ab87e; }

/* ══════════════════════════════════════════════════════════════
38. ДАШБОРД — аватарки сообщений, earn-cmp, mat-row-detail
══════════════════════════════════════════════════════════════ */

/* Аватарки в виджете сообщений */
[data-theme="dark"] .dash-msg-av--student,
[data-theme="dark"] .dash-msg-av--teacher { background: var(--surface-2); }

/* Бейдж сравнения дохода */
[data-theme="dark"] .earn-cmp-up { color: #6ab87e; background: rgba(42,96,64,0.16); border-color: rgba(74,124,89,0.35); }


/* ══════════════════════════════════════════════════════════════
40. ЧАТ CRM — теги преподавателя / дуального урока
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .crm-conv-av--teacher      { color: #8b9ed4; }
[data-theme="dark"] .crm-chat-header-av--teacher { color: #8b9ed4; }
[data-theme="dark"] .crm-msg-av--teacher        { color: #8b9ed4; }

[data-theme="dark"] .crm-conv-teacher-tag {
    background: rgba(58,74,139,0.18);
    color: #8b9ed4;
    border-color: rgba(100,120,180,0.28);
}
[data-theme="dark"] .crm-conv-dual-tag {
    background: rgba(74,90,138,0.16);
    color: #8b9ed4;
    border-color: rgba(100,120,170,0.24);
}
[data-theme="dark"] .crm-chat-header-badge--dual {
    background: rgba(74,90,138,0.16);
    color: #8b9ed4;
    border-color: rgba(100,120,170,0.24);
}

/* ══════════════════════════════════════════════════════════════
41. СИСТЕМНЫЕ КАРТОЧКИ — полоска pending
══════════════════════════════════════════════════════════════ */

/* янтарный #d97706 читается нормально на тёмном — оставляем, только делаем чуть светлее */
[data-theme="dark"] .sys-card--pending::before { background: #e8a020; }

/* ══════════════════════════════════════════════════════════════
42. КНОПКИ ПРЕДУПРЕЖДЕНИЯ
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .btn-warning {
    color: #c9a43e;
    border-color: rgba(201,164,62,0.40);
    background: transparent;
}
[data-theme="dark"] .btn-warning:hover { background: rgba(201,164,62,0.10); }

/* ══════════════════════════════════════════════════════════════
43. ФИНАНСЫ — предоплата и разбивка платежей
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .pm-split-preview     { background: var(--surface-2); }
[data-theme="dark"] .prepay-card-stat-val { color: #6ab87e; }

/* ══════════════════════════════════════════════════════════════
45. УПРАЖНЕНИЯ — карточки вариантов ответа
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .ex-option-card.correct {
    background: rgba(42,112,64,0.14);
    border-color: #4a7c59;
    color: #6ab87e;
}
[data-theme="dark"] .ex-option-card.wrong {
    background: rgba(192,57,43,0.10);
    border-color: rgba(192,57,43,0.50);
    color: #e07060;
}

/* ══════════════════════════════════════════════════════════════
46. МОБИЛЬНОЕ РАСПИСАНИЕ — бейдж статуса урока
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] .mob-sched-lesson-badge--done { color: #6ab87e; }

/* ══════════════════════════════════════════════════════════════
47. KANJI.JS — инжектированный попап назначения (#_kjAssignCard)
══════════════════════════════════════════════════════════════ */

[data-theme="dark"] #_kjAssignCard {
    background: var(--popup-bg) !important;
    box-shadow: 0 24px 64px rgba(0,0,0,0.60) !important;
}
