/* ═══════════════════════════════════════════════════════════════
   СВЕТЛАЯ ТЕМА кабинетов Миры — 08.09.2026
   Не инверсия тёмной, а самостоятельная палитра «для глаз»:
     • фон страницы приглушённый, а карточки белые — глубина держится
       тенью, а не рамками, поэтому нет ряби от линий;
     • текст не чёрный (#000 на белом бьёт по глазам), а тёмно-синий графит;
     • акценты тёмнее «ночных»: лимонное золото и мятный зелёный,
       красивые на тёмном, на белом слепят и не читаются.
   Подключается ПОСЛЕ собственных стилей страницы, поэтому переменные
   страницы переопределяются без !important. Точечные !important —
   только для цветов, зашитых прямо в атрибут style=.
═══════════════════════════════════════════════════════════════ */

/* Цвета текста-статуса по умолчанию (тёмная тема): светлые оттенки,
   которые хорошо читаются на тёмном. В светлой теме ниже они темнеют. */
:root{
  --green-text:  #4ade80;
  --red-text:    #f87171;
  --gold-text:   #fbbf24;
  --accent-text: #818cf8;
  --teal-text:   #2dd4bf;
  /* Текст на золотой плашке: в тёмной теме золото лимонное — нужен тёмный текст */
  --on-gold:     #0b0f1a;
}

:root[data-theme="light"]{
  /* ── Поверхности ── */
  --bg:          #f4f6fa;   /* фон страницы: холодный светло-серый, не белый */
  --bg2:         #ffffff;
  --bg3:         #eef1f7;
  --card:        #ffffff;
  --card-hover:  #f7f9fd;

  /* ── Текст: контраст к белому 13.9 / 7.4 / 4.9 — все выше нормы AA ── */
  --text:        #16202f;
  --text1:       #16202f;
  --text-bright: #0d1521;
  --text2:       #47536b;
  --text3:       #5a6274;
  --muted:       #5a6274;

  /* ── Линии: почти невидимые, работу делает тень ── */
  --border:      rgba(20,28,45,.10);
  --border2:     rgba(20,28,45,.17);

  /* ── Акценты, потемневшие до читаемости на белом ── */
  --accent:      #4f46e5;
  --accent2:     #4338ca;
  --purple:      #6d28d9;
  --purple2:     #6d28d9;
  --purple3:     #7c3aed;
  --teal:        #0f766e;
  --teal2:       #0f766e;
  --mint:        #0d9488;
  --green:       #14743a;
  --green2:      #14743a;
  --gold:        #b45309;
  --gold2:       #b45309;   /* крупные суммы: янтарь вместо лимона */
  --red:         #c81e1e;
  --cyan:        #0e7490;
  --pink:        #db2777;

  /* ── Цвета для ТЕКСТА-статуса: в тёмной теме их нет, и срабатывает
        запасной — прежний светлый оттенок, который на тёмном читался лучше. ── */
  --green-text:  #14743a;
  --red-text:    #c81e1e;
  --gold-text:   #b45309;
  --accent-text: #4338ca;
  --teal-text:   #0f766e;
  --on-gold:     #ffffff;   /* в светлой теме золото тёмно-янтарное — текст белый */

  /* ── Пастельные подложки статусов ── */
  --green-bg:    rgba(21,128,61,.10);
  --gold-bg:     rgba(180,83,9,.10);
  --red-bg:      rgba(220,38,38,.09);
  --cyan-bg:     rgba(14,116,144,.10);

  /* ── Тени мягкие и синеватые, без чёрного ── */
  --shadow-sm:   0 1px 2px rgba(16,24,40,.06);
  --shadow-md:   0 4px 16px rgba(16,24,40,.08);
  --shadow-lg:   0 12px 32px rgba(16,24,40,.10);
}

/* Страница целиком — на случай, если фон зашит в саму страницу */
:root[data-theme="light"] body{background:var(--bg) !important;color:var(--text)}

/* Карточки: белые, с мягкой тенью вместо жирной рамки */
:root[data-theme="light"] .card,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .box,
:root[data-theme="light"] .section{
  box-shadow:0 1px 2px rgba(16,24,40,.05), 0 6px 20px rgba(16,24,40,.045);
}
:root[data-theme="light"] .card:hover{
  border-color:rgba(15,118,110,.22);
  box-shadow:0 2px 4px rgba(16,24,40,.06), 0 12px 28px rgba(16,24,40,.10);
}
/* Декоративный круг в углу карточки на белом читается как грязь — гасим */
:root[data-theme="light"] .card::before{opacity:.045}

/* Шапка: белая с еле заметной тенью-подложкой */
:root[data-theme="light"] .topbar{background:#ffffff;box-shadow:0 1px 3px rgba(16,24,40,.06)}

/* Поля ввода: белые с видимой, но спокойной рамкой */
:root[data-theme="light"] input,
:root[data-theme="light"] textarea,
:root[data-theme="light"] select{
  background:#ffffff;color:var(--text);border-color:rgba(20,28,45,.18)
}
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder{color:#98a1b3}
:root[data-theme="light"] input:focus,
:root[data-theme="light"] textarea:focus,
:root[data-theme="light"] select:focus{
  border-color:#0f766e;outline:none;box-shadow:0 0 0 3px rgba(15,118,110,.13)
}

/* Полосы прокрутки — светлые, иначе остаются тёмные рельсы */
:root[data-theme="light"] ::-webkit-scrollbar{width:10px;height:10px}
:root[data-theme="light"] ::-webkit-scrollbar-track{background:#eef1f7}
:root[data-theme="light"] ::-webkit-scrollbar-thumb{background:#c8cedb;border-radius:6px}
:root[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:#aab3c4}

/* ── Цвета, зашитые прямо в style= ─────────────────────────────
   Их переменными не достать, поэтому переводим точечно.
   Селектор смотрит на подстроку в атрибуте, поэтому чужие свойства
   (границы, фоны) не задеваются. */

/* Белые подложки: на тёмном они давали «приподнятость», на белом невидимы */
:root[data-theme="light"] [style*="rgba(255,255,255,.02)"]{background:rgba(20,28,45,.025) !important}
:root[data-theme="light"] [style*="rgba(255,255,255,.03)"]{background:rgba(20,28,45,.03) !important}
:root[data-theme="light"] [style*="rgba(255,255,255,.04)"]{background:rgba(20,28,45,.04) !important}
:root[data-theme="light"] [style*="rgba(255,255,255,.05)"]{background:rgba(20,28,45,.045) !important}
:root[data-theme="light"] [style*="rgba(255,255,255,.06)"]{background:rgba(20,28,45,.05) !important}
:root[data-theme="light"] [style*="rgba(255,255,255,.08)"]{background:rgba(20,28,45,.06) !important}
:root[data-theme="light"] [style*="rgba(255, 255, 255, 0.05)"]{background:rgba(20,28,45,.045) !important}

/* Светло-серый текст ночной темы — на белом почти не виден */
:root[data-theme="light"] [style*="color:#e8eaf0"],
:root[data-theme="light"] [style*="color:#f1f5f9"],
:root[data-theme="light"] [style*="color:#e2e8f0"],
:root[data-theme="light"] [style*="color:#cbd5e1"]{color:#16202f !important}
:root[data-theme="light"] [style*="color:#94a3b8"],
:root[data-theme="light"] [style*="color:#8899aa"],
:root[data-theme="light"] [style*="color:#9ca3af"],
:root[data-theme="light"] [style*="color:#a0aec0"]{color:#5c6674 !important}
:root[data-theme="light"] [style*="color:#64748b"],
:root[data-theme="light"] [style*="color:#6b7280"],
:root[data-theme="light"] [style*="color:#718096"]{color:#586074 !important}

/* Светлые акценты → их тёмные близнецы */
:root[data-theme="light"] [style*="color:#818cf8"],
:root[data-theme="light"] [style*="color:#a5b4fc"],
:root[data-theme="light"] [style*="color:#c7d2fe"]{color:#4338ca !important}
:root[data-theme="light"] [style*="color:#fbbf24"],
:root[data-theme="light"] [style*="color:#fcd34d"],
:root[data-theme="light"] [style*="color:#f59e0b"]:not([style*="background:#f59e0b"]):not([style*="background-color:#f59e0b"]),
:root[data-theme="light"] [style*="color:#c49a2b"]{color:#b45309 !important}
:root[data-theme="light"] [style*="color:#86efac"],
:root[data-theme="light"] [style*="color:#4ade80"],
:root[data-theme="light"] [style*="color:#22c55e"]:not([style*="background:#22c55e"]):not([style*="background-color:#22c55e"]),
:root[data-theme="light"] [style*="color:#34d399"]:not([style*="background:#34d399"]):not([style*="background-color:#34d399"]),
:root[data-theme="light"] [style*="color:#10b981"]:not([style*="background:#10b981"]):not([style*="background-color:#10b981"]){color:#15803d !important}
:root[data-theme="light"] [style*="color:#fca5a5"],
:root[data-theme="light"] [style*="color:#f87171"],
:root[data-theme="light"] [style*="color:#ef4444"]:not([style*="background:#ef4444"]):not([style*="background-color:#ef4444"]){color:#dc2626 !important}
:root[data-theme="light"] [style*="color:#2dd4bf"],
:root[data-theme="light"] [style*="color:#5eead4"],
:root[data-theme="light"] [style*="color:#00b4aa"],
:root[data-theme="light"] [style*="color:#06b6d4"]:not([style*="background:#06b6d4"]):not([style*="background-color:#06b6d4"]){color:#0f766e !important}
:root[data-theme="light"] [style*="color:#a78bfa"],
:root[data-theme="light"] [style*="color:#c4b5fd"]{color:#6d28d9 !important}

/* Кнопка-переключатель темы, если её добавляет theme.js */
.theme-toggle-auto{
  background:none;border:1px solid var(--border);color:var(--text2);
  padding:4px 10px;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit
}
.theme-toggle-auto:hover{border-color:var(--border2)}

/* ── Активная вкладка на золотом ───────────────────────────────
   На тёмной теме золото лимонное и тёмный текст на нём читается.
   В светлой золото стало янтарным, и тёмный текст на нём слепнет —
   поэтому здесь надпись белая (контраст 5.0). */
:root[data-theme="light"] .tab-role.active,
:root[data-theme="light"] .tab-metric.active,
:root[data-theme="light"] .tab-dir.active,
:root[data-theme="light"] .tab-pay.active,
:root[data-theme="light"] .tab-period.active,
:root[data-theme="light"] .tab-status.active,
:root[data-theme="light"] [style*="background:var(--gold)"]{color:#ffffff !important}

/* Коралловый «нет данных» на светлом почти не виден */
:root[data-theme="light"] [style*="color:#ff6b6b"],
:root[data-theme="light"] [style*="color:#ff8787"]{color:#c81e1e !important}

/* Страница тренажёров сверстана своей светлой палитрой: серые подписи
   под карточками на белом давали контраст 2.6 — ниже нормы читаемости. */
/* .card-meta/.empty каталога тренажёров правятся в самой странице:
   она светлая всегда, а не только при выбранной светлой теме. */
:root[data-theme="light"] .card-sub-note{color:#5a6274}

/* Переключатель темы наследует цвет своей шапки — на тёмно-бирюзовой
   полосе тренажёров он был почти невидим (контраст 1.1). */
.theme-toggle-auto{color:inherit;border-color:currentColor;opacity:.8}
.theme-toggle-auto:hover{opacity:1}

/* В боковом меню кабинета учителя переключатель выглядит как пункт меню,
   а не как кнопка в рамке. */
.v2-sb-nav .theme-toggle-auto{
  display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;
  border-radius:6px;font-size:var(--text-xs);color:var(--text3);
  text-decoration:none;background:none;cursor:pointer;opacity:1
}
.v2-sb-nav .theme-toggle-auto:hover{background:rgba(127,127,127,.10);color:var(--text2)}

/* Декоративный круг в углу карточки: на тёмном фоне он читался как блик,
   на белом — как пятно грязи поверх текста. Гасим почти до нуля. */
:root[data-theme="light"] .card::before{opacity:.03}

/* Ярлык состояния синхронизации был тёмным прямоугольником посреди
   светлой страницы — делаем его такой же карточкой, только мельче. */
:root[data-theme="light"] [style*="rgba(15,30,52"],
:root[data-theme="light"] [style*="rgba(15, 30, 52"]{
  background:rgba(255,255,255,.96) !important;color:var(--text2) !important;
  border:1px solid var(--border);box-shadow:0 2px 10px rgba(16,24,40,.08)
}

/* ── Экран живого урока ────────────────────────────────────────
   Панель урока держала фон rgba(21,26,46,.95) мимо переменных:
   в светлой теме имя ученика оказывалось тёмным по тёмному. */
:root[data-theme="light"] .lesson-bar{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid var(--border)
}
:root[data-theme="light"] .lesson-bar,
:root[data-theme="light"] .lesson-bar *{color:var(--text)}
:root[data-theme="light"] .lesson-bar .names{color:var(--text) !important}

/* ── Служебный экран массовой архивации ────────────────────────
   Свёрстан жёстко тёмным, поэтому в светлой теме имена учеников
   становились почти невидимы, а красные кнопки «В архив» — нет.
   Архивация вслепую недопустима: перекрашиваем панели. */
:root[data-theme="light"] [data-page="archive-students"] .section{background:#ffffff !important;border:1px solid var(--border)}
:root[data-theme="light"] [data-page="archive-students"] .student{background:#f3f5f9 !important;color:var(--text)}
:root[data-theme="light"] [data-page="archive-students"] .student.archived{background:#fdeceb !important;color:var(--text)}
:root[data-theme="light"] [data-page="archive-students"] .student.active{background:#ecf6ee !important;color:var(--text)}
:root[data-theme="light"] [data-page="archive-students"] .bulk-actions{background:#eaeef5 !important;color:var(--text)}
:root[data-theme="light"] [data-page="archive-students"] input[type="text"]{background:#ffffff !important;color:var(--text) !important;border-color:var(--border2) !important}

/* Кнопка темы на страницах без шапки — в углу, ненавязчиво */
.theme-toggle-float{
  position:fixed;left:12px;bottom:12px;z-index:9998;
  background:rgba(127,127,127,.12);backdrop-filter:blur(6px);
  border:1px solid rgba(127,127,127,.28);opacity:.7
}
.theme-toggle-float:hover{opacity:1}

/* Точечные остатки, найденные сплошным аудитом 43 страниц */
:root[data-theme="light"] [style*="background:#252b45"]{background:#e9edf6 !important}
:root[data-theme="light"] [style*="color:#818cf8"]{color:#4338ca !important}
:root[data-theme="light"] [style*="color:#cc6600"]{color:#9a4f00 !important}
/* Кнопка «В архив»: белым по светло-красному — 3.8, ниже нормы */
:root[data-theme="light"] [data-page="archive-students"] button.archive-btn{background:#c81e1e !important}
:root[data-theme="light"] [data-page="archive-students"] button.restore-btn{background:#14743a !important}
:root[data-theme="light"] [data-page="archive-students"] button:not(.theme-toggle-auto){background:#4f46e5}

/* Панель заготовок на экране урока: текст в ней белый полупрозрачный,
   а подложка — «белая с прозрачностью», то есть на светлой теме
   надписи исчезали совсем. */
:root[data-theme="light"] .tpl-drawer{background:#ffffff;border-left:1px solid var(--border)}
:root[data-theme="light"] .tpl-head h3{color:#8a5f14}
:root[data-theme="light"] .tpl-close,
:root[data-theme="light"] .tpl-stats,
:root[data-theme="light"] .tpl-empty,
:root[data-theme="light"] .tpl-upload{color:var(--text2)}
:root[data-theme="light"] .tpl-name{color:var(--text)}
:root[data-theme="light"] .tpl-item{background:#f6f8fc;border-color:var(--border)}
:root[data-theme="light"] [style*="color:#e6b840"]{color:#8a5f14 !important}
:root[data-theme="light"] [style*="color:#c60"]{color:#8a4a00 !important}

/* Инструкция для родителей и служебные экраны: цвета зашиты в классы,
   переменными не достать — правим адресно. */
:root[data-theme="light"] .warning h3{color:#8a4a00}
:root[data-theme="light"] .step-num,
:root[data-theme="light"] .step-number{background:#4338ca}
:root[data-theme="light"] .screenshot{color:#4b5566;border-color:#aeb6c4}

/* «Отправлена» в отчётах: светло-синий задан классом, подстрочные правила
   его не достают — 3.0 на белом. */
:root[data-theme="light"] .hw-sent{color:#4338ca}

/* ── Всплывающие окна с зашитым тёмным фоном ───────────────────
   Подтверждение оплаты у родителя, «Новый учитель», «Задать ученику»,
   «Назначить задание», панели урока: карточка окна была тёмной,
   а текст в светлой теме становился графитовым — заголовок исчезал
   совсем (контраст 1.0). Фон окна делаем светлым вместе с текстом. */
:root[data-theme="light"] [style*="background:#1a1f2e"],
:root[data-theme="light"] [style*="background:#0f1f35"],
:root[data-theme="light"] [style*="background: #1a1f2e"]{
  background:#ffffff !important;border-color:var(--border) !important;color:var(--text) !important
}
:root[data-theme="light"] [data-page="check-archived"] .section{background:#ffffff !important;border:1px solid var(--border)}

/* Бейджи в отчётах: на своей бледной подложке лимонный и мятный
   давали 1.5 и 2.0 — «Сдана» и «Проверена» читались с трудом. */
:root[data-theme="light"] .hw-submitted{color:#8a5f14}
:root[data-theme="light"] .hw-checked{color:#14743a}

/* Служебный вывод на экране проверки архива — тёмная плашка с белым текстом */
:root[data-theme="light"] [data-page="check-archived"] pre{background:#eef1f7;color:var(--text)}

/* Последние мелочи сплошного аудита: заголовок «Готово!» в инструкции
   для родителей (3.0) и метка задолженности в оплатах (4.4). */
:root[data-theme="light"] .success h3{color:#116534}
:root[data-theme="light"] .pc-debt{color:#b31717}

/* Два пограничных случая: белый на индиго #6366f1 даёт 4.47 при норме 4.5,
   подвал инструкции — 4.34. Дотягиваем до нормы. */
:root[data-theme="light"] [data-page="check-archived"] button:not(.theme-toggle-auto){background:#4f46e5}
:root[data-theme="light"] .footer p{color:#4f5766}

/* Последний класс: светлый текст, заданный в стилях самих страниц.
   На белом фоне светло-красный и янтарный давали 1.9–2.9. */
:root[data-theme="light"] .btn.danger,
:root[data-theme="light"] .att button.on-no{color:var(--red-text,#fca5a5)}
:root[data-theme="light"] .warning{color:#8a4a00}
/* Пояснение в окне отмены урока: полупрозрачный белый на индиго
   в тёмной теме давал 3.8 — делаем чистый белый (5.0). */

/* Счётчик заявок на вкладках: тёмная надпись на янтарной плашке (--gold2)
   в светлой теме давала 2.8 — плашка стала тёмной, а текст остался тёмным. */
:root[data-theme="light"] .tab .n{color:#ffffff}
