/* ═══════════════════════════════════════════════════════════════════
   Тёмная тема.

   • Кнопка-«лампочка» в топбаре (инжектится js/ui/theme-toggle.js).
   • Тёмные оверрайды контента под html[data-theme="dark"].

   Топбар (фирменный navy) намеренно НЕ затемняется. Сейчас покрыта
   страница /users; остальные страницы можно добавлять по тому же
   принципу (подключить этот файл + theme-toggle.js + pre-paint сниппет).

   Палитра (ориентир):
     фон страницы      #0f1420
     поверхность/карта #1b2433
     поверхность-2     #141c29  (поиск, panel-content)
     hover             #243145
     рамки             #2c3a4f / rgba(148,163,184,.16)
     текст             #e5e7eb
     текст-2           #94a3b8
     текст-3           #64748b
   ═══════════════════════════════════════════════════════════════════ */

/* ── Кнопка переключения темы (лампочка) ─────────────────────────────
   Метафора: светлая тема → лампочка ГОРИТ (жёлтая заливка внутри колбы),
   тёмная → ПОТУХЛА (контур). Сама кнопка — тихая полупрозрачная плитка
   в обеих темах (без жёлтого квадрата). */
.topbar .theme-toggle-wrap{
  position:relative;
  display:flex;
  align-items:center;
  margin-right:16px;
}
/* Админ-топбар (control-panel и т.п.): лампочка прижата к правому краю. */
.topbar .theme-toggle-wrap--tail{
  margin-left:auto;
  margin-right:0;
}
.topbar .theme-toggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:29px;
  padding:0;
  box-sizing:border-box;
  flex:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  cursor:pointer;
  background:rgba(255,255,255,.10);
  transition:background .18s ease, border-color .18s ease, transform .15s ease;
}
.topbar .theme-toggle-btn:hover{
  background:rgba(255,255,255,.18);
  transform:translateY(-1px);
}
/* без чёрной фокус-рамки при возврате фокуса (Esc/клик). */
.topbar .theme-toggle-btn:focus,
.topbar .theme-toggle-btn:focus-visible{ outline:none; }
.topbar .theme-toggle-glyph{
  width:18px;
  height:18px;
  display:block;
}
/* Страховка от рассинхрона кэша (старый JS со старым SVG): любой path
   глифа без классов по умолчанию — обводка, а не чёрная заливка. */
.topbar .theme-toggle-glyph path{ fill:none; stroke:#cbd5e1; }
/* цоколь лампочки — всегда обводка */
.topbar .theme-toggle-glyph .tt-base{
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke:#fde68a;
}
/* колба: по умолчанию (светлая тема) лампочка ГОРИТ —
   жёлтая заливка внутри колбы + лёгкое свечение. */
.topbar .theme-toggle-glyph .tt-bulb{
  fill:#fbbf24;
  stroke:#f59e0b;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 3px rgba(251,191,36,.85));
  transition:fill .2s ease, stroke .2s ease, filter .2s ease;
}
/* тёмная тема → лампочка потухла (контур, без свечения). */
html[data-theme="dark"] .topbar .theme-toggle-glyph .tt-bulb{
  fill:none;
  stroke:#cbd5e1;
  filter:none;
}
html[data-theme="dark"] .topbar .theme-toggle-glyph .tt-base{ stroke:#94a3b8; }

/* кастомный тултип под кнопкой (тёмная пилюля, стиль .sla-tooltip) */
.theme-toggle-tip{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  background:rgba(15,23,42,.92);
  color:#fff;
  font-size:11px;
  font-weight:400;
  padding:6px 10px;
  border-radius:6px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  z-index:1300;
  line-height:1.4;
  box-shadow:0 4px 12px rgba(15,23,42,.25);
}
/* Показ — только по классу .show (JS навешивает на mouseenter/leave и
   снимает по клику). CSS :hover не используем — он «залипает» после
   клика и подсказка висит, пока не уведёшь курсор. */
.theme-toggle-tip.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* ═══════════════════ Тёмные оверрайды (страница /users) ════════════ */
html[data-theme="dark"]{ color-scheme:dark; }
/* html оставляем БЕЗ собственного фона (transparent), чтобы фон body
   «протекал» на канву: иначе (если у страницы задан html background,
   как на /knowledge-base) жёлоб скроллбара показывает светлый html
   («белая полоса»), а corner-stardust из body::before (z-index:-1)
   перекрывается непрозрачным фоном body. transparent чинит и то, и то. */
html[data-theme="dark"]{ background:transparent; }
html[data-theme="dark"] body{ background:#0f1420; }

/* карточки-поверхности */
html[data-theme="dark"] .users-header,
html[data-theme="dark"] .controls-bar,
html[data-theme="dark"] .users-table-wrapper,
html[data-theme="dark"] .pagination,
html[data-theme="dark"] .sending-box{
  background:#1b2433;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
}

/* заголовки и текст */
html[data-theme="dark"] .users-title,
html[data-theme="dark"] .user-name,
html[data-theme="dark"] .sending-text{ color:#e5e7eb; }
html[data-theme="dark"] .users-subtitle,
html[data-theme="dark"] .user-email,
html[data-theme="dark"] .last-contact,
html[data-theme="dark"] .pagination-info{ color:#94a3b8; }

/* поиск */
html[data-theme="dark"] .search-box{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .search-box:focus-within{ background:#1b2433; border-color:#6366f1; }
html[data-theme="dark"] .search-box input{ color:#e5e7eb; }
html[data-theme="dark"] .search-box input::placeholder{ color:#64748b; }
html[data-theme="dark"] .search-box svg{ stroke:#64748b; }

/* фильтр-кнопки. ВАЖНО: только :not(.active) — иначе наш оверрайд (выше
   по специфичности, чем .filter-btn.active) затирает индиго-градиент
   активной кнопки и она сливается с остальными. */
html[data-theme="dark"] .filter-btn:not(.active){ background:#1b2433; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .filter-btn:not(.active):hover{ border-color:#6366f1; color:#a5b4fc; }

/* чип «Найдено N клиентов» */
html[data-theme="dark"] .users-count{
  color:#cbd5e1;
  background:linear-gradient(180deg, rgba(36,49,69,.92) 0%, rgba(27,36,51,.82) 100%);
  border-color:#2c3a4f;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 2px 6px rgba(0,0,0,.35);
}

/* таблица */
html[data-theme="dark"] .users-table thead{ background:#141c29; border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .users-table th{ color:#94a3b8; }
html[data-theme="dark"] .users-table td{ color:#cbd5e1; }
html[data-theme="dark"] .users-table tbody tr{ border-bottom-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .users-table tbody tr:hover{ background:#243145; }

/* аватар в ячейке + счётчик тикетов */
html[data-theme="dark"] .user-avatar{ background:rgba(59,130,246,.18); color:#93c5fd; }
html[data-theme="dark"] .ticket-count{ color:#93c5fd; }

/* пагинация (активная — индиго-градиент, не трогаем через :not(.active)) */
html[data-theme="dark"] .page-btn:not(.active){
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20);
  color:#a5b4fc;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .page-btn:not(.active):hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }
html[data-theme="dark"] .page-btn:disabled:hover{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20);
  color:#a5b4fc;
}
html[data-theme="dark"] .page-dots{ color:#64748b; }

/* боковая панель */
html[data-theme="dark"] .side-panel{ background:#1b2433; box-shadow:-4px 0 24px rgba(0,0,0,.5); }
html[data-theme="dark"] .panel-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .panel-filters{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .panel-content{ background:#0f1420; }
html[data-theme="dark"] .panel-user-name,
html[data-theme="dark"] .panel-stat-value{ color:#e5e7eb; }
html[data-theme="dark"] .panel-user-email,
html[data-theme="dark"] .panel-ticket-id{ color:#94a3b8; }
html[data-theme="dark"] .panel-stat-label{ color:#64748b; }

/* инпуты редактирования имени/email */
html[data-theme="dark"] .panel-user-name-input,
html[data-theme="dark"] .panel-user-email-input{ background:#141c29; color:#e5e7eb; }

/* кнопки в панели (glass white → dark glass; активная — индиго) */
html[data-theme="dark"] .panel-filter-btn:not(.active){
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20);
  color:#a5b4fc;
}
html[data-theme="dark"] .panel-filter-btn:not(.active):hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* карточки тикетов клиента */
html[data-theme="dark"] .panel-ticket{
  background:linear-gradient(180deg, rgba(36,49,69,.70) 0%, rgba(27,36,51,.60) 100%);
  border-color:rgba(148,163,184,.16);
  box-shadow:0 1px 2px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .panel-ticket:hover{
  background:linear-gradient(180deg, rgba(45,60,84,.80) 0%, rgba(33,44,62,.70) 100%);
  border-color:rgba(99,102,241,.50);
  box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-theme="dark"] .panel-ticket-subject{ color:#e5e7eb; }
html[data-theme="dark"] .panel-ticket-meta{ color:#64748b; border-top-color:rgba(148,163,184,.12); }

/* статус-бейджи тикетов */
html[data-theme="dark"] .status-open{ background:rgba(16,185,129,.20); color:#6ee7b7; }
html[data-theme="dark"] .status-pending{ background:rgba(245,158,11,.20); color:#fcd34d; }
html[data-theme="dark"] .status-closed{ background:rgba(239,68,68,.20); color:#fca5a5; }

/* иконки-кнопки в панели */
html[data-theme="dark"] .edit-icon-btn:hover{ background:#243145; }
html[data-theme="dark"] .edit-icon-btn svg{ stroke:#94a3b8; }
html[data-theme="dark"] .edit-icon-btn:hover svg{ stroke:#a5b4fc; }
html[data-theme="dark"] .panel-close{ background:#243145; }
html[data-theme="dark"] .panel-close svg{ stroke:#94a3b8; }
html[data-theme="dark"] .panel-close:hover{ background:rgba(239,68,68,.20); }
html[data-theme="dark"] .panel-close:hover svg{ stroke:#fca5a5; }

/* модалка подтверждения выхода */
html[data-theme="dark"] .logout-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .logout-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .logout-modal-text{ color:#94a3b8; }
html[data-theme="dark"] .logout-modal-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .logout-modal-btn:hover{ border-color:#64748b; }
/* .logout-modal-btn.confirm остаётся красным */

/* ═══════════════════ Тёмные оверрайды (страница /schedule) ═════════
   Цветные смены и янтарные отпускные пилюли — это данные, их не трогаем;
   затемняем только «обвязку» (фон, рамки, шапки, имена, тоталы, модалки). */

/* тулбар, вкладки месяцев, селект года, кнопки */
html[data-theme="dark"] .toolbar h1{ color:#e5e7eb; }
/* вкладки месяцев. :not(.active) обязателен — иначе оверрайд перебивает
   индиго-градиент активного месяца (он сливается с остальными). */
html[data-theme="dark"] .month-tab:not(.active){ background:#1b2433; border-color:#2c3a4f; color:#94a3b8; }
html[data-theme="dark"] .month-tab:not(.active):hover{ border-color:#6366f1; color:#a5b4fc; }
html[data-theme="dark"] .year-select{ background:#1b2433; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .btn-outline{ background:#1b2433; color:#a5b4fc; border-color:#6366f1; }
html[data-theme="dark"] .btn-outline:hover{ background:#243145; border-color:#818cf8; }

/* легенда */
html[data-theme="dark"] .legend-item{ color:#94a3b8; }
html[data-theme="dark"] .legend-item span[ondblclick]:hover{ background:rgba(148,163,184,.18); }
html[data-theme="dark"] .legend-add-btn{ background:#1b2433; border-color:#475569; color:#94a3b8; }
html[data-theme="dark"] .legend-add-btn:hover{ border-color:#6366f1; color:#a5b4fc; }

/* контейнеры графика */
html[data-theme="dark"] .schedule-wrap{ background:#1b2433; }
html[data-theme="dark"] .glass-card{
  background:rgba(36,49,69,.45);
  border-color:rgba(148,163,184,.18);
  box-shadow:0 2px 8px rgba(0,0,0,.3), 0 16px 48px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}

/* таблица графика */
html[data-theme="dark"] .schedule-table th,
html[data-theme="dark"] .schedule-table td{ border-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .schedule-table th{ background:#141c29; color:#94a3b8; }
html[data-theme="dark"] .schedule-table th.col-name{ background:#141c29; }
html[data-theme="dark"] .schedule-table th.weekend{ background:rgba(239,68,68,.16); color:#fca5a5; }
html[data-theme="dark"] .dept-row td{ background:rgba(99,102,241,.16); color:#c7d2fe; }
html[data-theme="dark"] .emp-name{ color:#e5e7eb; background:#1b2433; }
html[data-theme="dark"] .dept-row .emp-name{ background:rgba(99,102,241,.16); }
html[data-theme="dark"] .emp-name[ondblclick]:hover{ background:#243145 !important; }
html[data-theme="dark"] .total-cell{ color:#e5e7eb; background:#141c29; }
html[data-theme="dark"] .weekday-row td{ color:#64748b; background:#131b27; }
html[data-theme="dark"] .weekday-row .weekend-day{ color:#fca5a5; background:rgba(239,68,68,.14); }
html[data-theme="dark"] .emp-del{ color:#475569; }
html[data-theme="dark"] .emp-del:hover{ color:#fca5a5; background:rgba(239,68,68,.16); }

/* пикер смен */
html[data-theme="dark"] .shift-picker{ background:#1b2433; box-shadow:0 8px 32px rgba(0,0,0,.5); }

/* сводка отпусков */
html[data-theme="dark"] .vacation-table-wrap{
  background:linear-gradient(180deg,#161f2c 0%,#131b27 100%);
  border-color:#2c3a4f;
  box-shadow:0 6px 20px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);
}
html[data-theme="dark"] .vacation-table{ background:#1b2433; box-shadow:0 1px 2px rgba(0,0,0,.3); }
html[data-theme="dark"] .vacation-table thead tr{ background:linear-gradient(180deg,#1a2330,#141c29); }
html[data-theme="dark"] .vacation-table th{ color:#94a3b8; border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .vacation-table th.vac-col-name{ color:#cbd5e1; }
html[data-theme="dark"] .vac-dept-row .vac-dept-label{ color:#a5b4fc; }
html[data-theme="dark"] .vac-dept-row .vac-dept-count{ background:#243145; color:#94a3b8; }
html[data-theme="dark"] .vac-emp-name{ border-bottom-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .vac-emp-name-main{ color:#e5e7eb; }
html[data-theme="dark"] .vac-emp-name-sub{ color:#64748b; }
html[data-theme="dark"] .vac-cell,
html[data-theme="dark"] .vac-cell-merged,
html[data-theme="dark"] .vac-cell-empty{ border-bottom-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .vac-cell-empty{ color:#475569; }
html[data-theme="dark"] .vac-cell-empty::before{ color:#334155; }
/* строки сводки — мягкая тёмная подложка + hover */
html[data-theme="dark"] .vacation-table tbody tr:not(.vac-dept-row) td:not(.vac-total){ background:#1d2735; }
html[data-theme="dark"] .vacation-table tbody tr:not(.vac-dept-row):hover td:not(.vac-total){ background:#243145 !important; }
/* тотал-колонка отпусков (янтарный акцент, но затемнён) */
html[data-theme="dark"] .vac-total{
  background:linear-gradient(180deg,#1f2433,#231f17);
  border-left-color:rgba(245,158,11,.30);
}
html[data-theme="dark"] .vacation-table th.vac-col-total{
  color:#fcd34d;
  background:linear-gradient(180deg,#231f17,#2a2110);
  border-left-color:rgba(245,158,11,.35);
}
html[data-theme="dark"] .vac-total-badge{ background:#1b2433; border-color:rgba(245,158,11,.45); color:#fcd34d; }

/* кнопки импорта/экспорта */
html[data-theme="dark"] .btn-import{ background:rgba(34,197,94,.14); border-color:rgba(34,197,94,.35); color:#6ee7b7; }
html[data-theme="dark"] .btn-import:hover{ background:rgba(34,197,94,.22); border-color:rgba(34,197,94,.5); }
html[data-theme="dark"] .btn-export{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#a5b4fc;
  box-shadow:0 1px 3px rgba(0,0,0,.3);
}
html[data-theme="dark"] .btn-export:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* модалки графика */
html[data-theme="dark"] .modal-box{ background:#1b2433; box-shadow:0 20px 60px rgba(0,0,0,.55); }
html[data-theme="dark"] .modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .modal-field label{ color:#94a3b8; }
html[data-theme="dark"] .modal-field input,
html[data-theme="dark"] .modal-field select{ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .modal-field input:focus,
html[data-theme="dark"] .modal-field select:focus{ border-color:#6366f1; }
/* .rich-select-btn затемнён общим правилом (см. блок «Общие компоненты»). */
html[data-theme="dark"] .modal-actions .modal-cancel{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#cbd5e1;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .modal-actions .modal-cancel:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* confirm-модалка */
html[data-theme="dark"] .confirm-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .confirm-title{ color:#e5e7eb; }
html[data-theme="dark"] .confirm-text{ color:#94a3b8; }
html[data-theme="dark"] .confirm-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .confirm-btn:hover{ border-color:#64748b; }
/* .confirm-btn.danger остаётся красным */

/* ═══════════════ Общие компоненты (на всех тёмных страницах) ═══════
   Кастомный rich-select (css/filters-modal.css). Закрытая кнопка и её
   меню — общий тёмный вид; работает на любой странице с rich-select. */
html[data-theme="dark"] .rich-select-btn{
  background:#141c29;
  border-color:#2c3a4f;
  color:#e5e7eb;
  /* базовый .rich-select-btn имеет inset 0 1px 0 rgba(255,255,255,.9) —
     на тёмном это белая полоса сверху поля. Гасим. */
  box-shadow:none;
}
html[data-theme="dark"] .rich-select-btn:hover{ border-color:rgba(99,102,241,.6); }
html[data-theme="dark"] .rich-select-btn[aria-expanded="true"]{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.18);
}
html[data-theme="dark"] .rich-select-label{ color:#e5e7eb; }
html[data-theme="dark"] .rich-select-chevron{ color:#94a3b8; }
/* Выпадающее меню — рендерится в body, поэтому ловится html[data-theme]. */
html[data-theme="dark"] .rich-select-menu{
  background:#1b2433;
  border-color:rgba(148,163,184,.22);
  box-shadow:0 12px 28px rgba(0,0,0,.5), 0 3px 8px rgba(0,0,0,.35);
}
html[data-theme="dark"] .rich-select-item{ color:#cbd5e1; }
html[data-theme="dark"] .rich-select-item:hover{ background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .rich-select-item[data-selected="true"]{ background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .rich-select-item .rich-select-item-check{ color:#a5b4fc; }
html[data-theme="dark"] .rich-select-group{ color:#a5b4fc; }
html[data-theme="dark"] .rich-select-divider{ background:rgba(148,163,184,.14); }

/* ═══════════════════ Тёмные оверрайды (страница /knowledge-base) ═══ */
html[data-theme="dark"] .kb-sidebar{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .sidebar-title{ color:#64748b; }
/* пункты меню сайдбара: :not(.active) — активный пункт сохраняет свой
   стеклянный индиго-хайлайт (светлая «пилюля» хорошо видна на тёмном). */
html[data-theme="dark"] .sidebar-menu-item:not(.active){ color:#94a3b8; }
html[data-theme="dark"] .sidebar-menu-item:not(.active):hover{ background:#243145; color:#e5e7eb; }

/* шапка + поиск */
html[data-theme="dark"] .kb-header{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .kb-header-left h1{ color:#e5e7eb; }
html[data-theme="dark"] .kb-header-left p{ color:#94a3b8; }
html[data-theme="dark"] .search-input{
  background:#141c29; color:#e5e7eb; border-color:#3b4a7a;
  box-shadow:0 6px 16px rgba(0,0,0,.4), 0 16px 34px rgba(0,0,0,.35);
}
html[data-theme="dark"] .search-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .search-bar > .search-icon-left{ color:#64748b; }

/* карточки шаблонов/инструкций */
html[data-theme="dark"] .kb-card{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .kb-card:hover{ box-shadow:0 4px 14px rgba(0,0,0,.55); }
html[data-theme="dark"] .card-title{ color:#e5e7eb; }
html[data-theme="dark"] .card-preview{ color:#94a3b8; }
html[data-theme="dark"] .card-footer{ color:#64748b; border-top-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .card-action-btn:hover{ background:#243145; }
html[data-theme="dark"] .card-action-btn svg{ stroke:#94a3b8; }
html[data-theme="dark"] .card-icon.template{ background:rgba(59,130,246,.18); color:#93c5fd; }
html[data-theme="dark"] .card-icon.instruction{ background:rgba(217,119,6,.20); color:#fcd34d; }

/* страница переменных */
html[data-theme="dark"] .variables-page{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .variables-page-title{ color:#e5e7eb; }
html[data-theme="dark"] .variables-page-desc{ color:#94a3b8; }
html[data-theme="dark"] .variable-card{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .variable-card:hover{ background:#1d2735; border-color:#6366f1; }
html[data-theme="dark"] .variable-code-large{ background:#0f1420; border-color:#2c3a4f; color:#fca5a5; }
html[data-theme="dark"] .variable-description{ color:#94a3b8; }
html[data-theme="dark"] .variable-example{ background:#0f1420; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .example-label{ color:#94a3b8; }

/* фильтры по отделам (активный — цвет из inline-стиля JS, не трогаем) */
html[data-theme="dark"] .department-filter-btn:not(.active){ background:#1b2433; color:#94a3b8; }
html[data-theme="dark"] .department-filter-btn:not(.active):hover{ background:#243145; }

/* тумблер шаблона (выкл-трек) */
html[data-theme="dark"] .template-switch{ background:#334155; }

/* модалка создания/редактирования */
html[data-theme="dark"] .modal-box{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.20);
  box-shadow:0 24px 48px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .modal-close:hover{ background:#243145; }
html[data-theme="dark"] .modal-close svg{ stroke:#94a3b8; }
html[data-theme="dark"] .form-label{ color:#cbd5e1; }
html[data-theme="dark"] .form-input,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .form-textarea{
  background:#141c29; border-color:#2c3a4f; color:#e5e7eb;
  /* гасим возможный inset 0 1px 0 rgba(255,255,255,…) (белая полоса). */
  box-shadow:none;
}
html[data-theme="dark"] .form-input:focus,
html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] .form-textarea:focus{ border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.18); }
html[data-theme="dark"] .form-input::placeholder,
html[data-theme="dark"] .form-textarea::placeholder{ color:#64748b; }
html[data-theme="dark"] .form-hint{ color:#64748b; }
html[data-theme="dark"] .modal-btn.cancel{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#cbd5e1;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .modal-btn.cancel:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* статьи */
html[data-theme="dark"] .article-card{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .article-card:hover{ box-shadow:0 6px 18px rgba(0,0,0,.55); }
html[data-theme="dark"] .article-title{ color:#e5e7eb; }
html[data-theme="dark"] .article-excerpt{ color:#94a3b8; }
html[data-theme="dark"] .article-date{ color:#64748b; }
html[data-theme="dark"] .article-author{ color:#94a3b8; }
html[data-theme="dark"] .article-footer{ border-top-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .article-action-btn{ background:#141c29; }
html[data-theme="dark"] .article-action-btn:hover{ background:#243145; }
html[data-theme="dark"] .article-action-btn svg{ stroke:#94a3b8; }
html[data-theme="dark"] .article-action-btn:hover svg{ stroke:#a5b4fc; }

/* просмотр статьи / контент-блок */
html[data-theme="dark"] .view-content-block{ background:#141c29; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .article-view-content{ color:#cbd5e1; }
html[data-theme="dark"] .article-view-content h1,
html[data-theme="dark"] .article-view-content h2,
html[data-theme="dark"] .article-view-content h3,
html[data-theme="dark"] .article-view-content strong{ color:#e5e7eb; }
html[data-theme="dark"] .article-view-content a{ color:#93c5fd; border-bottom-color:#93c5fd; }

/* ── Quill-редактор в тёмной теме ───────────────────────────────── */
html[data-theme="dark"] .editor-container{ border-color:#2c3a4f; }
html[data-theme="dark"] #editor{ background:#141c29; }
html[data-theme="dark"] .ql-toolbar{ background:#1b2433; border-color:#2c3a4f !important; }
html[data-theme="dark"] .ql-container{ color:#e5e7eb; }
html[data-theme="dark"] .ql-editor{ color:#e5e7eb; }
html[data-theme="dark"] .ql-editor.ql-blank::before{ color:#64748b; }
/* иконки/глифы тулбара */
html[data-theme="dark"] .ql-snow .ql-stroke{ stroke:#cbd5e1; }
html[data-theme="dark"] .ql-snow .ql-fill{ fill:#cbd5e1; }
html[data-theme="dark"] .ql-snow .ql-picker{ color:#cbd5e1; }
html[data-theme="dark"] .ql-snow.ql-toolbar button:hover .ql-stroke,
html[data-theme="dark"] .ql-snow.ql-toolbar button.ql-active .ql-stroke,
html[data-theme="dark"] .ql-snow .ql-picker-label:hover .ql-stroke{ stroke:#a5b4fc; }
html[data-theme="dark"] .ql-snow.ql-toolbar button:hover .ql-fill,
html[data-theme="dark"] .ql-snow.ql-toolbar button.ql-active .ql-fill{ fill:#a5b4fc; }
html[data-theme="dark"] .ql-snow.ql-toolbar button:hover,
html[data-theme="dark"] .ql-snow .ql-picker-label:hover,
html[data-theme="dark"] .ql-snow.ql-toolbar button.ql-active{ color:#a5b4fc; }
/* ховер кнопок тулбара: НЕ показываем квадрат-подложку (был светлый
   #f3f4f6 → «белый квадрат»), как в тикете — выделяется только символ
   (цвет иконки ниже). Фон прозрачный для тикета и массового ответа. */
html[data-theme="dark"] .ql-toolbar button:hover,
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button:hover{ background:transparent; }
html[data-theme="dark"] .ql-toolbar button.ql-active,
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button.ql-active{ background:rgba(99,102,241,.32); }
/* массовый ответ: цвет иконки при ховере/активе делаем 1:1 с тикетом
   (#a5b4fc), иначе #bulkReplyModal-правила оставляли индиго/белый. */
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button:hover .ql-stroke,
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button.ql-active .ql-stroke{ stroke:#a5b4fc; }
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button:hover .ql-fill,
html[data-theme="dark"] #bulkReplyModal .ql-toolbar button.ql-active .ql-fill{ fill:#a5b4fc; }
/* выпадающие списки тулбара (заголовки, цвета) */
html[data-theme="dark"] .ql-snow .ql-picker-options{
  background:#1b2433; border-color:#2c3a4f !important;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
html[data-theme="dark"] .ql-snow .ql-picker-item{ color:#cbd5e1; }

/* модалка выхода */
html[data-theme="dark"] .logout-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .logout-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .logout-modal-text{ color:#94a3b8; }
html[data-theme="dark"] .logout-modal-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .logout-modal-btn:hover{ border-color:#64748b; }
/* .logout-modal-btn.confirm остаётся красным */

/* ═══════════════ Модалки /index — Фильтры + Массовые действия ══════
   filters-modal.css и bulk-actions.css (bulk-модалки используют общий
   .filters-content). Общий компонент → применяется везде, где есть. */

/* контейнер модалки */
html[data-theme="dark"] .filters-content{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.20);
  box-shadow:0 24px 48px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .filters-title{ color:#e5e7eb; }
html[data-theme="dark"] .filters-close svg{ stroke:#94a3b8; }
html[data-theme="dark"] .filters-close:hover{ background:#243145; }
html[data-theme="dark"] .filters-close:hover svg{ stroke:#c7d2fe; }
html[data-theme="dark"] .filter-label{ color:#a5b4fc; }

/* нативный select + чипы-опции (активная — индиго, не трогаем) */
html[data-theme="dark"] .filter-select{
  background:linear-gradient(180deg,#172033 0%, #131b27 100%);
  border-color:#2c3a4f; color:#e5e7eb; box-shadow:none;
}
html[data-theme="dark"] .filter-option:not(.active){ background:#1f2a3b; color:#cbd5e1; }
html[data-theme="dark"] .filter-option:not(.active):hover{ background:#243145; color:#e5e7eb; }

/* дата-инпуты */
html[data-theme="dark"] .date-input-label{ color:#94a3b8; }
html[data-theme="dark"] .date-input{
  background:linear-gradient(180deg,#172033 0%, #131b27 100%);
  border-color:#2c3a4f; color:#e5e7eb; box-shadow:none;
}
html[data-theme="dark"] .date-input::placeholder{ color:#64748b; }

/* чекбоксы столбцов (выбран — индиго-tint) */
html[data-theme="dark"] .column-checkbox-item{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 1px 2px rgba(0,0,0,.3); }
html[data-theme="dark"] .column-checkbox-item:hover{ background:#243145; border-color:#3b4a6b; }
html[data-theme="dark"] .column-checkbox-item:has(input:checked){
  background:rgba(99,102,241,.18); border-color:rgba(129,140,248,.5);
  box-shadow:0 1px 2px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-theme="dark"] .column-checkbox-label{ color:#cbd5e1; }
html[data-theme="dark"] .column-checkbox-item:has(input:checked) .column-checkbox-label{ color:#c7d2fe; }

/* actions: «Применить» индиго (не трогаем), «Сбросить» glassy → dark */
html[data-theme="dark"] .filters-actions{ border-top-color:rgba(148,163,184,.16); }
html[data-theme="dark"] .filters-reset{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#cbd5e1; box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .filters-reset:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* ── панель массовых действий (тулбар) ── */
html[data-theme="dark"] .bulk-actions-bar,
html[data-theme="dark"] .bulk-actions-inline{
  background:#1b2433;
  box-shadow:0 4px 16px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4);
}
html[data-theme="dark"] .bulk-actions-info{ color:#e5e7eb; }
html[data-theme="dark"] .bulk-action-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .bulk-action-btn svg{ stroke:#94a3b8; }
html[data-theme="dark"] .bulk-action-btn:hover{ background:#243145; }
/* .bulk-delete-btn остаётся красным */
html[data-theme="dark"] .bulk-close-btn,
html[data-theme="dark"] .bulk-actions-inline .bulk-close-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#94a3b8; box-shadow:0 2px 6px rgba(0,0,0,.3); }
html[data-theme="dark"] .bulk-close-btn:hover,
html[data-theme="dark"] .bulk-actions-inline .bulk-close-btn:hover{ background:#243145; color:#e5e7eb; border-color:#64748b; }
html[data-theme="dark"] .bulk-help-text{ color:#94a3b8; }

/* bulk-модалки */
html[data-theme="dark"] .bulk-modal-cancel{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .bulk-modal-cancel:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }
/* выбор статуса — база тёмная, hover/active в тёмных тинтах нужного цвета */
html[data-theme="dark"] .bulk-status-option{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .bulk-status-option.open:hover,
html[data-theme="dark"] .bulk-status-option.open.active{ border-color:#22c55e; background:rgba(34,197,94,.16); color:#6ee7b7; }
html[data-theme="dark"] .bulk-status-option.pending:hover,
html[data-theme="dark"] .bulk-status-option.pending.active{ border-color:#f59e0b; background:rgba(245,158,11,.16); color:#fcd34d; }
html[data-theme="dark"] .bulk-status-option.closed:hover,
html[data-theme="dark"] .bulk-status-option.closed.active{ border-color:#ef4444; background:rgba(239,68,68,.16); color:#fca5a5; }

/* массовый ответ: шаблоны + прикрепить файл */
html[data-theme="dark"] .template-label{ color:#94a3b8; }
html[data-theme="dark"] .template-select{ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .attach-file{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .attach-file:hover{ background:#243145; }

/* ── Календарь flatpickr (дата создания) ── базовые правила с !important,
   поэтому переопределяем тоже с !important. */
html[data-theme="dark"] .flatpickr-calendar{
  background:#1b2433 !important;
  border-color:rgba(148,163,184,.20) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.55), 0 3px 10px rgba(0,0,0,.4) !important;
}
/* контейнеры дней — тема material_blue.css красит их в белый,
   поэтому фон явно затемняем (иначе светлые цифры тонут на белом). */
html[data-theme="dark"] .flatpickr-innerContainer,
html[data-theme="dark"] .flatpickr-rContainer,
html[data-theme="dark"] .flatpickr-days,
html[data-theme="dark"] .dayContainer{ background:#1b2433 !important; }
html[data-theme="dark"] .flatpickr-months{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%) !important;
  border-bottom-color:rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] .flatpickr-months .flatpickr-month,
html[data-theme="dark"] .flatpickr-current-month,
html[data-theme="dark"] .flatpickr-current-month input.cur-year{ color:#e5e7eb !important; fill:#e5e7eb !important; }
html[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
html[data-theme="dark"] .flatpickr-current-month .numInputWrapper{
  background:#141c29 !important; border-color:#2c3a4f !important; color:#e5e7eb !important;
}
html[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months:hover{ background-color:#243145 !important; border-color:#6366f1 !important; }
html[data-theme="dark"] .flatpickr-prev-month,
html[data-theme="dark"] .flatpickr-next-month{ color:#a5b4fc !important; fill:#a5b4fc !important; }
html[data-theme="dark"] .flatpickr-prev-month:hover,
html[data-theme="dark"] .flatpickr-next-month:hover{ background:#243145 !important; }
html[data-theme="dark"] .flatpickr-weekdays{ background:#141c29 !important; border-bottom-color:rgba(148,163,184,.12) !important; }
html[data-theme="dark"] .flatpickr-weekday{ color:#a5b4fc !important; }
html[data-theme="dark"] .flatpickr-day{ color:#cbd5e1 !important; }
html[data-theme="dark"] .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-day.nextMonthDay{ color:#475569 !important; }
html[data-theme="dark"] .flatpickr-day:hover{ background:#243145 !important; color:#c7d2fe !important; }
html[data-theme="dark"] .flatpickr-day.today:not(.selected){ border-color:#6366f1 !important; color:#c7d2fe !important; }
/* .selected остаётся индиго (#4f46e5/белый) */
html[data-theme="dark"] .flatpickr-monthDropdown-months option{ background:#1b2433 !important; color:#e5e7eb !important; }

/* ═══════════════════ Тёмные оверрайды (страница /important-notes) ══
   Доска «бумажных стикеров»: сами листочки (.note-card, #fffef8) и их
   жёлтый скотч/штамп «ВАЖНО!» — это бумага на доске, оставляем светлыми
   (тёмный текст читается). Затемняем «обвязку»: фон, шапку, стеклянную
   панель, тулбар, модалки, формы, confirm, скелетоны. */
html[data-theme="dark"] .notes-header h1{ color:#e5e7eb; }
html[data-theme="dark"] .notes-header h1 svg{ filter:none; }

/* стеклянная панель-доска */
html[data-theme="dark"] .notes-glass-wrap{
  background:rgba(36,49,69,.40);
  border-color:rgba(148,163,184,.18);
  box-shadow:0 2px 8px rgba(0,0,0,.3), 0 16px 48px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-theme="dark"] .notes-divider{ color:#64748b; }
html[data-theme="dark"] .notes-divider::before,
html[data-theme="dark"] .notes-divider::after{ background:linear-gradient(90deg,transparent,rgba(148,163,184,.25),transparent); }

/* фильтр «Личные» (активная — violet-градиент, не трогаем) */
html[data-theme="dark"] .btn-filter-personal:not(.active){ background:#1b2433; border-color:#2c3a4f; color:#94a3b8; box-shadow:0 1px 2px rgba(0,0,0,.3); }
html[data-theme="dark"] .btn-filter-personal:not(.active):hover{ border-color:#8b5cf6; color:#c4b5fd; background:#241f33; }

/* empty-state */
html[data-theme="dark"] .empty-state-text{ color:#94a3b8; }
html[data-theme="dark"] .empty-state-sub{ color:#64748b; }

/* модалка создания/редактирования заметки */
html[data-theme="dark"] .modal-box{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.20);
  box-shadow:0 24px 48px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .modal-header{
  background:linear-gradient(180deg, rgba(36,49,69,.6) 0%, rgba(27,36,51,.4) 100%);
  border-bottom-color:rgba(148,163,184,.16);
}
html[data-theme="dark"] .modal-header h2{ color:#e5e7eb; }
html[data-theme="dark"] .modal-close{ color:#94a3b8; }
html[data-theme="dark"] .modal-close:hover{ background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .modal-footer{
  background:linear-gradient(180deg, rgba(31,42,59,.4) 0%, rgba(24,33,47,.3) 100%);
  border-top-color:rgba(148,163,184,.16);
}
/* form-input на этой странице имеет светлый gradient — переопределяем фон
   (фон/цвет/inset уже частично заданы общим .form-input правилом выше). */
html[data-theme="dark"] .form-input{
  background:linear-gradient(180deg,#172033 0%, #131b27 100%);
}
html[data-theme="dark"] .form-input:hover{ border-color:rgba(129,140,248,.5); }
html[data-theme="dark"] .form-checkbox-label{ color:#cbd5e1; }
/* мультиселект отделов (выбранный — индиго-градиент, не трогаем) */
html[data-theme="dark"] .form-multiselect-option:not(.selected){
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#cbd5e1;
}
html[data-theme="dark"] .form-multiselect-option:not(.selected):hover{
  border-color:#6366f1; color:#c7d2fe; background:#243145;
}
/* кнопка «Отмена» (своя, .btn-cancel — белый inset гасим) */
html[data-theme="dark"] .btn-cancel{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#cbd5e1;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .btn-cancel:hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* выбор времени уведомления (активная — янтарь, не трогаем) */
html[data-theme="dark"] .notify-time-btn:not(.active){ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .notify-time-btn:not(.active):hover{ background:#241f17; border-color:#fdba74; color:#fcd34d; }

/* confirm-модалка (удаление/уведомление) */
html[data-theme="dark"] .confirm-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .confirm-title{ color:#e5e7eb; }
html[data-theme="dark"] .confirm-text{ color:#94a3b8; }

/* скелетоны загрузки */
html[data-theme="dark"] .skeleton-card{ background:#1b2433; border-color:rgba(148,163,184,.08); }
html[data-theme="dark"] .skeleton-line{ background:linear-gradient(90deg,#1f2a3b 25%,#28344a 50%,#1f2a3b 75%); background-size:200% 100%; }

/* ═══════════════════ Тёмные оверрайды (главная /index) ═════════════
   Табличный список тикетов. Цветные статус-бейджи, иконки каналов и SLA —
   это данные, сохраняем. Затемняем workspace-стекло, сайдбар фильтров,
   поиск/тулбар, таблицу, пагинацию, загрузчик, модалку выхода. */

/* glass-подложка рабочей области (Γ-маска сохраняется) */
html[data-theme="dark"] .main-layout::before{
  background:rgba(27,36,51,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

/* сайдбар фильтров */
html[data-theme="dark"] .filter-section{
  background:#1b2433;
  border-color:rgba(148,163,184,.10);
  box-shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.25);
}
html[data-theme="dark"] .filter-section-title{ color:#64748b; }
html[data-theme="dark"] .filter-item:hover{ background:rgba(99,102,241,.12); }
html[data-theme="dark"] .filter-item-label{ color:#94a3b8; }
html[data-theme="dark"] .filter-item-count{ background:#243145; color:#94a3b8; }
/* активный фильтр — индиго-tint + светлый текст (база красит label в
   тёмный индиго — на тёмном фоне это нечитаемо, переопределяем). */
html[data-theme="dark"] .filter-item.active{ background:rgba(99,102,241,.20); box-shadow:0 4px 12px rgba(58,85,232,.18); }
html[data-theme="dark"] .filter-item.active .filter-item-label{ color:#c7d2fe; }
html[data-theme="dark"] .filter-item.active .filter-item-count{ background:#4f46e5; color:#fff; }

/* поиск + кнопки тулбара (Reset, Filters) */
html[data-theme="dark"] .search-input-wrapper{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .search-input-wrapper:hover{ border-color:#3b4a6b; }
html[data-theme="dark"] .search-input-wrapper:focus-within{ border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.18); }
html[data-theme="dark"] .search-input{ color:#e5e7eb; }
html[data-theme="dark"] .search-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .search-btn:hover{ background:#243145; }
html[data-theme="dark"] .reset-all-filters-btn,
html[data-theme="dark"] .filters-btn{
  background:#1b2433; color:#cbd5e1;
  box-shadow:0 1px 3px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.25);
}
html[data-theme="dark"] .filters-btn:hover{ color:#a5b4fc; }
/* .new-ticket-btn — индиго-градиент, не трогаем */

/* таблица обращений */
html[data-theme="dark"] .table-wrap{
  background:#1b2433;
  box-shadow:0 4px 12px rgba(0,0,0,.35), 0 16px 32px rgba(0,0,0,.35);
}
html[data-theme="dark"] th{
  color:#cbd5e1;
  background:linear-gradient(180deg,#1a2330 0%,#141c29 100%);
  border-bottom-color:#2c3a4f;
  text-shadow:none;
}
html[data-theme="dark"] th,
html[data-theme="dark"] td{ border-bottom-color:rgba(148,163,184,.10); }
html[data-theme="dark"] .table-wrap td{ color:#cbd5e1; } /* дефолт для безклассового текста */
html[data-theme="dark"] tbody tr:hover{ background:rgba(99,102,241,.10); }
html[data-theme="dark"] tbody tr:has(.row-check:checked){ background:rgba(99,102,241,.18); }
html[data-theme="dark"] .ticket-subject-main{ color:#e5e7eb; }
html[data-theme="dark"] .ticket-subject-meta{ color:#94a3b8; }
html[data-theme="dark"] .author-name{ color:#cbd5e1; }
html[data-theme="dark"] .department-name{ color:#cbd5e1; }
html[data-theme="dark"] .date-created{ color:#94a3b8; }
html[data-theme="dark"] .agent-name{ color:#e5e7eb; }
html[data-theme="dark"] .agent-name.unassigned{ color:#64748b; }
/* approval-badge — тёмно-фиолетовый */
html[data-theme="dark"] .approval-badge{ background:rgba(124,58,237,.20); border-color:rgba(124,58,237,.35); color:#c4b5fd; }
html[data-theme="dark"] .approval-badge svg{ color:#a78bfa; }
html[data-theme="dark"] .approval-badge:hover{ background:rgba(124,58,237,.30); border-color:rgba(124,58,237,.5); }
/* иконки каналов — тёмные пастели (цвет сохраняем) */
html[data-theme="dark"] .ticket-type-icon.is-incoming{ background:rgba(217,119,6,.20); color:#fcd34d; }
html[data-theme="dark"] .ticket-type-icon.is-outgoing{ background:rgba(59,130,246,.20); color:#93c5fd; }
html[data-theme="dark"] .ticket-type-icon.is-portal{ background:rgba(139,92,246,.20); color:#c4b5fd; }
/* статус-бейджи */
html[data-theme="dark"] .status-open{ background:rgba(16,185,129,.20); color:#6ee7b7; }
html[data-theme="dark"] .status-wait{ background:rgba(245,158,11,.20); color:#fcd34d; }
html[data-theme="dark"] .status-closed{ background:rgba(239,68,68,.20); color:#fca5a5; }
/* presence-badge на аватаре активности (idle) */
html[data-theme="dark"] .presence-badge{ background:#243145; border-color:rgba(148,163,184,.3); }

/* пагинация */
html[data-theme="dark"] .pagination-wrap{ background:#1b2433; border-top-color:rgba(148,163,184,.10); }
html[data-theme="dark"] .pagination-info{ color:#94a3b8; }
html[data-theme="dark"] .pagination-btn:not(.active){
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#a5b4fc;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .pagination-btn:hover:not(.active):not(:disabled){ background:#243145; border-color:#6366f1; color:#c7d2fe; }
html[data-theme="dark"] .pagination-btn:disabled:hover{ background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%); border-color:rgba(148,163,184,.20); color:#a5b4fc; }
html[data-theme="dark"] .pagination-dots{ color:#64748b; }

/* загрузчик */
html[data-theme="dark"] #loaderText{ color:#e5e7eb; }
html[data-theme="dark"] .spinner{ border-color:#2c3a4f; border-top-color:#6366f1; }

/* модалка выхода (на /index дублируется) */
html[data-theme="dark"] .logout-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .logout-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .logout-modal-text{ color:#94a3b8; }
html[data-theme="dark"] .logout-modal-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .logout-modal-btn:hover{ border-color:#64748b; }
/* .logout-modal-btn.confirm остаётся красным */

/* ═══════════════════ Тёмные оверрайды (страница /profile) ══════════
   Сайдбар с аватаром/статусом/меню + контент с формами. Аватар (фото)
   и статус-пилюли (rgba-тинты) оставляем как есть. */

/* левый сайдбар-меню */
html[data-theme="dark"] .sidebar-menu{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .sidebar-user-name{ color:#e5e7eb; }
html[data-theme="dark"] .sidebar-user-role{ color:#94a3b8; }
html[data-theme="dark"] .sidebar-divider{ background:rgba(148,163,184,.14); }
/* пункты меню: :not(.active) — активный сохраняет стеклянный индиго-хайлайт */
html[data-theme="dark"] .sidebar-item:not(.active){ color:#cbd5e1; }
html[data-theme="dark"] .sidebar-item:not(.active):hover{ background:#243145; }
/* аватар: белое кольцо вокруг фото оставляем (бумага-стайл), фон-заглушка темнее */
html[data-theme="dark"] .sidebar-avatar-display img{ background:#243145; }

/* кнопка «Назад» */
html[data-theme="dark"] .back-button{ background:#1b2433; border-color:#2c3a4f; color:#cbd5e1; box-shadow:0 2px 6px rgba(0,0,0,.35); }
html[data-theme="dark"] .back-button:hover{ border-color:#6366f1; color:#a5b4fc; }

/* правая панель контента */
html[data-theme="dark"] .content{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.45); }
html[data-theme="dark"] .content-header{ border-bottom-color:rgba(148,163,184,.16); }
html[data-theme="dark"] .content-title{ color:#e5e7eb; }
html[data-theme="dark"] .section-title{ color:#e5e7eb; }

/* блок загрузки аватара */
html[data-theme="dark"] .avatar-upload-section{ background:#141c29; }
html[data-theme="dark"] .avatar-upload-zone{ background:rgba(99,102,241,.12); border-color:rgba(129,140,248,.45); }
html[data-theme="dark"] .avatar-upload-zone:hover{ background:rgba(99,102,241,.20); border-color:#818cf8; }
html[data-theme="dark"] .avatar-info h3{ color:#e5e7eb; }
html[data-theme="dark"] .avatar-info p{ color:#94a3b8; }

/* поля формы (.form-input/.form-label затемнены общими правилами выше) */
html[data-theme="dark"] .form-input:disabled{ background:#0f1420; color:#64748b; }

/* редактор подписи */
html[data-theme="dark"] .signature-editor{ border-color:#2c3a4f; }
html[data-theme="dark"] .editor-toolbar{ background:#141c29; border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .editor-btn{ color:#94a3b8; }
html[data-theme="dark"] .editor-btn:hover{ background:#243145; color:#e5e7eb; }
html[data-theme="dark"] .signature-textarea{ background:#141c29; color:#e5e7eb; }
html[data-theme="dark"] .signature-textarea::placeholder{ color:#64748b; }

/* действия + вторичная кнопка */
html[data-theme="dark"] .form-actions{ border-top-color:rgba(148,163,184,.16); }
html[data-theme="dark"] .btn-secondary{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .btn-secondary:hover{ border-color:#6366f1; color:#a5b4fc; }

/* инлайн-цвета внутри .content (вкладка уведомлений, подсказки) —
   инлайн-стиль перебивается только !important; область ограничена .content. */
html[data-theme="dark"] .content [style*="color:#111827"]{ color:#e5e7eb !important; }
html[data-theme="dark"] .content [style*="color:#374151"]{ color:#cbd5e1 !important; }
html[data-theme="dark"] .content [style*="color:#6b7280"]{ color:#94a3b8 !important; }
html[data-theme="dark"] .content [style*="border-top:1px solid #e5e7eb"]{ border-top-color:rgba(148,163,184,.16) !important; }

/* модалка выхода */
html[data-theme="dark"] .logout-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .logout-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .logout-modal-text{ color:#94a3b8; }
html[data-theme="dark"] .logout-modal-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .logout-modal-btn:hover{ border-color:#64748b; }
/* .logout-modal-btn.confirm остаётся красным */

/* ═══════════════════ Тёмные оверрайды (страница /statistics) ═══════
   Карточки статистики + canvas-графики (сетка графиков затемнена в JS
   через statGridColor). Цветные иконки/тренды/медали — данные. */

/* шапка + переключатель периода */
html[data-theme="dark"] .page-header{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.18);
  box-shadow:0 1px 2px rgba(0,0,0,.3), 0 6px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .page-title{ color:#e5e7eb; }
html[data-theme="dark"] .period-btn:not(.active){
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.20); color:#a5b4fc; box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .period-btn:not(.active):hover{ background:#243145; border-color:#6366f1; color:#c7d2fe; }

/* карточки KPI */
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .chart-card{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.18);
  box-shadow:0 1px 2px rgba(0,0,0,.3), 0 6px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .stat-card:hover{
  border-color:rgba(99,102,241,.55);
  box-shadow:0 2px 4px rgba(0,0,0,.35), 0 10px 22px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-theme="dark"] .stat-icon.blue   { background:rgba(59,130,246,.18); }
html[data-theme="dark"] .stat-icon.green  { background:rgba(16,185,129,.18); }
html[data-theme="dark"] .stat-icon.amber  { background:rgba(245,158,11,.18); }
html[data-theme="dark"] .stat-icon.purple { background:rgba(139,92,246,.18); }
/* убираем box-shadow (белый inset-блик) у иконок 4 KPI-блоков на тёмной теме. */
html[data-theme="dark"] .stat-icon{ box-shadow:none; }
html[data-theme="dark"] .stat-label{ color:#a5b4fc; }
html[data-theme="dark"] .stat-value{ color:#e5e7eb; }
/* .stat-trend up/down/neutral — семантические цвета, оставляем */

/* графики */
html[data-theme="dark"] .chart-title{ color:#e5e7eb; }
html[data-theme="dark"] .chart-subtitle{ color:#94a3b8; }
html[data-theme="dark"] .chart-icon-badge{
  background:rgba(99,102,241,.18); color:#a5b4fc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 1px 3px rgba(0,0,0,.3);
}

/* топ агентов (leaderboard) */
html[data-theme="dark"] .leaderboard-item{
  background:linear-gradient(180deg, rgba(36,49,69,.55) 0%, rgba(27,36,51,.4) 100%);
  border-color:rgba(148,163,184,.16);
}
html[data-theme="dark"] .leaderboard-item:hover{
  background:linear-gradient(180deg, rgba(45,60,84,.7) 0%, rgba(33,44,62,.5) 100%);
  border-color:rgba(99,102,241,.45);
  box-shadow:0 2px 6px rgba(0,0,0,.35);
}
html[data-theme="dark"] .leaderboard-item.is-current-user{
  background:rgba(99,102,241,.18); border-color:rgba(99,102,241,.5);
}
html[data-theme="dark"] .rank:not(.gold):not(.silver):not(.bronze){ color:#94a3b8; }
/* .rank.gold/.silver/.bronze — медали, оставляем */
html[data-theme="dark"] .agent-avatar{ background:#243145; }
html[data-theme="dark"] .agent-name{ color:#e5e7eb; }
html[data-theme="dark"] .agent-stats{ color:#94a3b8; }
/* .agent-score — индиго-градиент текста, оставляем */
html[data-theme="dark"] .leaderboard-empty{ color:#64748b; }

/* ═══════════════════ Тёмные оверрайды (страница /ticket) ═══════════
   Самая большая страница: карточка тикета, переписка (пузыри),
   сайдбар, редактор ответа, SLA-бар, модалки. Цветные данные (аватары,
   статус-бейджи, индиго-кнопки, левые полосы системных событий) — как
   есть. Текст-дефолт на карточках светлый, чтобы не оставалось чёрного. */
html[data-theme="dark"] .ticket-card,
html[data-theme="dark"] .comments-section,
html[data-theme="dark"] .sidebar-card,
html[data-theme="dark"] .reply-section,
html[data-theme="dark"] .sla-bar{
  background:#1b2433; color:#cbd5e1;
  box-shadow:0 2px 6px rgba(0,0,0,.4);
}
html[data-theme="dark"] .ticket-header{ border-bottom-color:rgba(148,163,184,.14); }
html[data-theme="dark"] .comments-title{ color:#e5e7eb; }
html[data-theme="dark"] .ticket-id{ color:#94a3b8; }
html[data-theme="dark"] .ticket-subject-input{ color:#e5e7eb; }
html[data-theme="dark"] .ticket-subject-input:focus{ border-color:#6366f1; }

/* пузыри сообщений */
html[data-theme="dark"] .message{ border-bottom-color:rgba(148,163,184,.10); }
html[data-theme="dark"] .message-content{ color:#cbd5e1; }
html[data-theme="dark"] .message-time,
html[data-theme="dark"] .message-time-label{ color:#64748b; }
html[data-theme="dark"] .message.client .message-bubble{ background:#202a3a; border-color:rgba(148,163,184,.14); }
html[data-theme="dark"] .message.agent .message-bubble{ background:rgba(59,130,246,.12); border-color:rgba(59,130,246,.22); }
html[data-theme="dark"] .message.note .message-bubble{ background:rgba(234,179,8,.12); border-color:rgba(234,179,8,.24); }
html[data-theme="dark"] .message.approval .message-bubble{ background:rgba(16,185,129,.12); border-color:rgba(16,185,129,.25); }
html[data-theme="dark"] .message.approval.approval-inbound .message-bubble{ background:rgba(139,92,246,.14); border-color:rgba(139,92,246,.28); }
html[data-theme="dark"] .message.system .message-bubble{ background:#171f2c; border-color:rgba(148,163,184,.12); }
/* Чип автора с фоном — ТОЛЬКО у системных сообщений (там это стеклянная
   плашка и в светлой теме). У client/agent/note автор — простой текст
   (как в светлой теме), без фоновой коробки. */
html[data-theme="dark"] .message.system .message-author{
  color:#e5e7eb !important;
  border-color:rgba(148,163,184,.20) !important;
  background:linear-gradient(180deg, rgba(45,60,84,.85) 0%, rgba(33,44,62,.6) 100%) !important;
  text-shadow:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(0,0,0,.3) !important;
}
/* обычные авторы: только цвет текста + тёмная нижняя граница-разделитель */
html[data-theme="dark"] .message-author{ border-bottom-color:rgba(148,163,184,.14); }
html[data-theme="dark"] .message.client .message-author{ color:#cbd5e1; }
html[data-theme="dark"] .message.agent .message-author{ color:#93c5fd; }
html[data-theme="dark"] .message.note .message-author{ color:#fcd34d; }
/* бейджи «Клиент»/«Внутренний» — тёмные */
html[data-theme="dark"] .message.client .message-author::after{ background:#243145; color:#94a3b8; border-color:#2c3a4f; }
html[data-theme="dark"] .message.note .message-author::after{ background:rgba(245,158,11,.18); color:#fcd34d; border-color:rgba(245,158,11,.30); }

/* сайдбар */
html[data-theme="dark"] .sidebar-field-label{ color:#94a3b8; }
html[data-theme="dark"] .sidebar-card-tabs{ border-bottom-color:rgba(148,163,184,.14); }
html[data-theme="dark"] .sidebar-divider{ border-color:rgba(148,163,184,.14); }
html[data-theme="dark"] .sidebar-field input,
html[data-theme="dark"] .sidebar-field textarea{ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }

/* активность */
html[data-theme="dark"] .activity-item{ border-bottom-color:rgba(148,163,184,.10); }
html[data-theme="dark"] .activity-text{ color:#cbd5e1; }
html[data-theme="dark"] .activity-time{ color:#64748b; }

/* редактор ответа */
html[data-theme="dark"] .editor-toolbar{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:rgba(148,163,184,.18) !important;
  border-bottom-color:rgba(148,163,184,.14) !important;
}
html[data-theme="dark"] #replyEditor,
html[data-theme="dark"] #replyEditor .ql-editor{ background:#141c29; color:#e5e7eb; }
/* убираем светло-лавандовую обводку (rgba(165,180,252,.4)) и индиго-halo
   вокруг редактора — на тёмной теме читается как «белая обводка». */
html[data-theme="dark"] #replyEditor{ border-color:#2c3a4f; box-shadow:none; }
html[data-theme="dark"] #replyEditor:focus-within{ border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.20); }
/* массовый ответ на /index — тот же тёмный Quill, что и в тикете.
   ВАЖНО: Quill превращает сам #bulkReplyEditor в .ql-container, а
   .ql-toolbar вставляет соседним элементом — поэтому скоупим по
   #bulkReplyModal, иначе белые рамки snow (#ccc) остаются. */
html[data-theme="dark"] #bulkReplyModal .ql-container,
html[data-theme="dark"] #bulkReplyModal .ql-editor{ background:#141c29; color:#e5e7eb; }
html[data-theme="dark"] #bulkReplyModal .ql-container{ border-color:#2c3a4f; }
html[data-theme="dark"] #bulkReplyModal .ql-toolbar{
  background:#1b2433;
  border-color:#2c3a4f !important;
}
/* ГЛАВНОЕ: сама карточка .reply-section была белой, т.к.
   #bulkReplyModal .reply-section{background:#fff} (1,1,0) перебивал
   общий html[data-theme=dark] .reply-section (0,2,1). Тёмный editor
   сидел внутри белой карточки → «белая рамка». Перебиваем с #id-scope. */
html[data-theme="dark"] #bulkReplyModal .reply-section{
  background:#1b2433;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
html[data-theme="dark"] #bulkReplyModal .reply-title{ color:#e5e7eb; }
/* селект «Выбрать шаблон…» — у него #id-scoped светлый стиль (1,2,0),
   перебиваем тёмным с #id+класс (1,3,0). */
html[data-theme="dark"] #bulkReplyModal .template-rich-select .rich-select-btn{
  background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; box-shadow:none;
}
html[data-theme="dark"] #bulkReplyModal .template-rich-select .rich-select-btn:hover{ border-color:#3a4a61; }
html[data-theme="dark"] #bulkReplyModal .template-rich-select .rich-select-btn[aria-expanded="true"]{ border-color:#6366f1; }
html[data-theme="dark"] #bulkReplyModal .template-rich-select .rich-select-label{ color:#94a3b8; }
/* блок прикреплённых файлов («Файлы будут отправлены…») — инлайновые
   светлые стили (контейнер var(--brand-primary-tint), белые карточки
   файлов, тёмный текст) перекрываем тёмными. */
html[data-theme="dark"] #bulkPendingAttachments{ background:#141c29 !important; border-color:#2c3a4f !important; }
html[data-theme="dark"] #bulkPendingAttachments [style*="--brand-primary-dark"]{ color:#a5b4fc !important; }
html[data-theme="dark"] #bulkPendingAttachmentsList > div{ background:#1b2433 !important; border-color:#2c3a4f !important; }
html[data-theme="dark"] #bulkPendingAttachmentsList [style*="color:#111827"]{ color:#e5e7eb !important; box-shadow:none !important; }
html[data-theme="dark"] #bulkPendingAttachmentsList [style*="color:#6b7280"]{ color:#94a3b8 !important; }
/* крестик закрытия: тёмный ховер вместо светлого #f3f4f6 («белый квадрат»). */
html[data-theme="dark"] #bulkReplyModal .bulk-reply-close:hover{ background:#243145; color:#cbd5e1; }

/* модалка «Удалить тикеты»: инлайновые светлые тексты/плашка → тёмные */
html[data-theme="dark"] #bulkDeleteModal [style*="color:#1e293b"]{ color:#e5e7eb !important; }
html[data-theme="dark"] #bulkDeleteModal [style*="color:#6b7280"]{ color:#94a3b8 !important; }
html[data-theme="dark"] #bulkDeleteCount{
  background:rgba(239,68,68,.12) !important;
  border-color:rgba(239,68,68,.4) !important;
  color:#fca5a5 !important;
}
html[data-theme="dark"] .compose-mode-btn{
  background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%);
  border-color:#2c3a4f; color:#e5e7eb;
}
html[data-theme="dark"] .compose-mode-menu{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 12px 28px rgba(0,0,0,.55); }
/* меню «Ответ клиенту» в массовом ответе было белым: #bulkReplyModal
   .compose-mode-menu (1,1,0) перебивал общий dark (0,2,1). */
html[data-theme="dark"] #bulkReplyModal .compose-mode-menu{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 12px 28px rgba(0,0,0,.55); }
html[data-theme="dark"] .cmode-item{ color:#cbd5e1; }
html[data-theme="dark"] .cmode-item:hover{ background:#243145; }
html[data-theme="dark"] .cmode-item-sub{ color:#64748b; }
html[data-theme="dark"] .cmode-item-title{ color:#e5e7eb; }
html[data-theme="dark"] .reply-status-btn{ background:linear-gradient(180deg,#1f2a3b 0%, #18212f 100%); border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .reply-status-menu{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 12px 28px rgba(0,0,0,.55); }
html[data-theme="dark"] .rstatus-item{ color:#cbd5e1; }
html[data-theme="dark"] .rstatus-item:hover{ background:#243145; }
html[data-theme="dark"] .rstatus-item-sub{ color:#64748b; }
html[data-theme="dark"] .attach-file{ background:#1f2a3b; color:#cbd5e1; }
html[data-theme="dark"] .attach-file:hover{ background:#243145; }
html[data-theme="dark"] .note-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }

/* получатели / approval composer */
html[data-theme="dark"] .recipient-wrap{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .recipient-suggest,
html[data-theme="dark"] .mention-dropdown,
html[data-theme="dark"] .appr-suggest{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 12px 28px rgba(0,0,0,.55); }
html[data-theme="dark"] .approval-composer{ background:rgba(139,92,246,.10); border-color:rgba(139,92,246,.28); }
html[data-theme="dark"] .approval-composer-title{ color:#e5e7eb; }
html[data-theme="dark"] .approval-composer-subtitle{ color:#94a3b8; }
html[data-theme="dark"] .appr-field-label{ color:#94a3b8; }
html[data-theme="dark"] .appr-input-wrap,
html[data-theme="dark"] .appr-input{ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }

/* SLA-бар */
html[data-theme="dark"] .sla-bar-label,
html[data-theme="dark"] .sla-bar-target,
html[data-theme="dark"] .sla-bar-timer{ color:#94a3b8; }
html[data-theme="dark"] .sla-bar-progress{ background:#2c3a4f; }

/* thread-toolbar */
html[data-theme="dark"] .thread-toolbar{ background:linear-gradient(90deg, transparent, rgba(36,49,69,.5) 12%, rgba(36,49,69,.5) 88%, transparent); }
html[data-theme="dark"] .thread-toggle-btn{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .thread-toggle-btn:hover{ background:#243145; }

/* модалки тикета */
html[data-theme="dark"] .modal-box{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 24px 48px rgba(0,0,0,.6); }
html[data-theme="dark"] .modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .modal-btn.cancel,
html[data-theme="dark"] .modal-btn.edit{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .modal-btn.cancel:hover,
html[data-theme="dark"] .modal-btn.edit:hover{ background:#243145; }

/* reply-editor.css: drop-overlay-frame + resize handle */
html[data-theme="dark"] .ql-drop-overlay-frame{
  background:linear-gradient(180deg,#1d2735 0%, #161f2c 100%);
  border-color:rgba(148,163,184,.25);
}
html[data-theme="dark"] .ql-drop-overlay-title{ color:#c7d2fe; }
html[data-theme="dark"] .ql-drop-overlay-subtitle{ color:#94a3b8; }
html[data-theme="dark"] .ql-img-handle{ background:#1b2433; }

/* client-history.css: кнопка/список/строки/бейджи */
html[data-theme="dark"] .client-history-btn{
  background:linear-gradient(135deg,#1f2a3b 0%, #1b2433 55%, #20243a 100%);
  border-color:rgba(99,102,241,.30); color:#c7d2fe;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 2px 6px rgba(0,0,0,.35), 0 6px 18px rgba(0,0,0,.3);
}
html[data-theme="dark"] .client-history-btn:hover{
  border-color:rgba(99,102,241,.5);
  background:linear-gradient(135deg,#243145 0%, #1f2a3b 55%, #262a44 100%);
}
html[data-theme="dark"] #clientHistoryContent{
  background:linear-gradient(180deg,#141c29 0%, #131b27 100%); border-color:#2c3a4f;
}
html[data-theme="dark"] .chh-row{ background:#1b2433; border-color:#2c3a4f; box-shadow:0 1px 2px rgba(0,0,0,.3); }
html[data-theme="dark"] .chh-row:hover{ border-color:rgba(99,102,241,.45); box-shadow:0 6px 18px rgba(0,0,0,.4); }
html[data-theme="dark"] .chh-subject{ color:#e5e7eb; }
html[data-theme="dark"] .chh-preview{ color:#94a3b8; }
html[data-theme="dark"] .chh-meta{ color:#64748b; }
html[data-theme="dark"] .chh-empty{ color:#64748b; }
html[data-theme="dark"] .chh-badge.open{ background:rgba(16,185,129,.20); color:#6ee7b7; }
html[data-theme="dark"] .chh-badge.pending{ background:rgba(245,158,11,.20); color:#fcd34d; }
html[data-theme="dark"] .chh-badge.closed{ background:rgba(239,68,68,.20); color:#fca5a5; }

/* ── /ticket: доводка (SLA-карточки, статус/приоритет, теги, табы) ── */

/* SLA-карточки бара (ТОЛЬКО .sla-bar-item — иначе .sla-ok/.sla-breach
   задевают .from-reply в колонке SLA списка /index и рисуют блоки). */
html[data-theme="dark"] .sla-bar-item{ background:#171f2c !important; border-color:rgba(148,163,184,.12) !important; }
html[data-theme="dark"] .sla-bar-item.sla-green,
html[data-theme="dark"] .sla-bar-item.sla-ok{ background:rgba(16,185,129,.12) !important; border-color:rgba(16,185,129,.30) !important; }
html[data-theme="dark"] .sla-bar-item.sla-yellow{ background:rgba(245,158,11,.12) !important; border-color:rgba(245,158,11,.30) !important; }
html[data-theme="dark"] .sla-bar-item.sla-red,
html[data-theme="dark"] .sla-bar-item.sla-breach{ background:rgba(239,68,68,.12) !important; border-color:rgba(239,68,68,.30) !important; }
html[data-theme="dark"] .sla-bar-item.sla-green .sla-bar-timer,
html[data-theme="dark"] .sla-bar-item.sla-ok .sla-bar-timer{ color:#6ee7b7; }
html[data-theme="dark"] .sla-bar-item.sla-yellow .sla-bar-timer{ color:#fcd34d; }
html[data-theme="dark"] .sla-bar-item.sla-red .sla-bar-timer,
html[data-theme="dark"] .sla-bar-item.sla-breach .sla-bar-timer{ color:#fca5a5; }

/* Статус-селект — цветной бейдж в тёмных тинтах (перебиваем #id-правила) */
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="open"]{ background:rgba(16,185,129,.18); border-color:rgba(16,185,129,.4); }
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="open"] .rich-select-label,
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="open"] .rich-select-chevron{ color:#6ee7b7; }
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="pending"]{ background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.4); }
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="pending"] .rich-select-label,
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="pending"] .rich-select-chevron{ color:#fcd34d; }
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="closed"]{ background:rgba(239,68,68,.18); border-color:rgba(239,68,68,.4); }
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="closed"] .rich-select-label,
html[data-theme="dark"] #statusSelectWrap .rich-select-btn[data-current-value="closed"] .rich-select-chevron{ color:#fca5a5; }

/* Приоритет-селект — тёмный фон, светлый текст (точки яркие, как есть) */
html[data-theme="dark"] #prioritySelectWrap .rich-select-btn[data-has-value="true"]{ background:#141c29; }
html[data-theme="dark"] #prioritySelectWrap .rich-select-btn[data-current-value="high"] .rich-select-label{ color:#fca5a5; }
html[data-theme="dark"] #prioritySelectWrap .rich-select-btn[data-current-value="normal"] .rich-select-label{ color:#fcd34d; }
html[data-theme="dark"] #prioritySelectWrap .rich-select-btn[data-current-value="low"] .rich-select-label{ color:#a5b4fc; }

/* Теги (Получатели / Метки): контейнер, инпут, чипы */
html[data-theme="dark"] .tags-container{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .tags-input{ color:#e5e7eb; background:transparent; }
html[data-theme="dark"] .tags-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .tag-item{ background:rgba(59,130,246,.20); color:#93c5fd; }
html[data-theme="dark"] .tag-remove{ color:#93c5fd; }
html[data-theme="dark"] .tag-remove:hover{ color:#bfdbfe; }

/* Табы сайдбара (Статистика/Активность, Файлы/Заметки) */
html[data-theme="dark"] .sidebar-tab{ color:#94a3b8; }
html[data-theme="dark"] .sidebar-tab:hover{ color:#c7d2fe; }
html[data-theme="dark"] .sidebar-tab.is-active{
  background:rgba(99,102,241,.18); color:#c7d2fe; border-color:rgba(129,140,248,.45);
}
html[data-theme="dark"] .sidebar-tab-count{ background:#243145; color:#94a3b8; }
html[data-theme="dark"] .sidebar-tab.is-active .sidebar-tab-count{ background:#4f46e5; color:#fff; }

/* ── /ticket: доводка 2 — селекты сайдбара + сегмент-табы ── */

/* selects со значением (#id [data-has-value]) — лавандовый фон (спец.
   с #id) → тёмный индиго-тинт + светлый текст. */
html[data-theme="dark"] #replyFromWrap .rich-select-btn[data-has-value="true"],
html[data-theme="dark"] #departmentWrap .rich-select-btn[data-has-value="true"],
html[data-theme="dark"] #agentSelectWrap .rich-select-btn[data-has-value="true"]{
  background:rgba(99,102,241,.14) !important; border-color:rgba(99,102,241,.40) !important;
}
html[data-theme="dark"] #replyFromWrap .rich-select-btn[data-has-value="true"] .rich-select-label,
html[data-theme="dark"] #departmentWrap .rich-select-btn[data-has-value="true"] .rich-select-label,
html[data-theme="dark"] #agentSelectWrap .rich-select-btn[data-has-value="true"] .rich-select-label{ color:#c7d2fe; }

/* disabled-селект (Отвечать с адреса) — тёмный, текст читаемый, но приглушён */
html[data-theme="dark"] .sidebar-rich-select .rich-select-btn[disabled],
html[data-theme="dark"] .sidebar-rich-select .rich-select-btn[aria-disabled="true"]{
  background:#141c29; color:#94a3b8;
}
html[data-theme="dark"] .sidebar-rich-select .rich-select-btn:hover{ border-color:rgba(99,102,241,.5); box-shadow:0 1px 5px rgba(99,102,241,.18); }

/* сегмент-контролы (Статистика/Активность, Файлы/Заметки):
   тёмный «трек» + контрастная активная вкладка. */
html[data-theme="dark"] .sidebar-card-tabs{
  background:linear-gradient(180deg,#161f2c 0%, #131b27 100%);
  border-color:rgba(148,163,184,.16);
}
html[data-theme="dark"] .sidebar-tab{ color:#94a3b8; }
html[data-theme="dark"] .sidebar-tab:hover{ color:#c7d2fe; }
html[data-theme="dark"] .sidebar-tab.is-active{
  background:linear-gradient(180deg, rgba(99,102,241,.34) 0%, rgba(79,70,229,.26) 100%);
  color:#dbe4ff; border-color:rgba(129,140,248,.5);
  box-shadow:0 1px 3px rgba(0,0,0,.35);
}

/* ── /ticket: доводка 3 — активность, дата-пилюля, вложения, заметки ── */

/* дата-пилюля в шапке пузыря (.message-time-label у обычных сообщений;
   у системных свой background:none — их не трогаем) */
html[data-theme="dark"] .message:not(.system) .message-time-label{
  background:#243145; border-color:#2c3a4f; color:#94a3b8;
}

/* кнопки тулбара редактора (B/I/U) */
html[data-theme="dark"] .editor-btn{ color:#94a3b8; }
html[data-theme="dark"] .editor-btn:hover{ background:#243145; color:#e5e7eb; }

/* История активности — карточки (модалка и сайдбар, один класс) */
html[data-theme="dark"] .activity-history-item{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .activity-history-author{
  color:#e5e7eb;
  background:linear-gradient(180deg, rgba(45,60,84,.85) 0%, rgba(33,44,62,.6) 100%);
  border-color:rgba(148,163,184,.20);
  text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .activity-history-text{ color:#cbd5e1; }
html[data-theme="dark"] .activity-history-time{ color:#64748b; }
html[data-theme="dark"] .activity-sort-label{ color:#94a3b8; }
html[data-theme="dark"] .activity-sort-select{ background-color:#141c29; border-color:#2c3a4f; color:#e5e7eb; }

/* заметки */
html[data-theme="dark"] .ticket-notes-textarea{ background:#141c29; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .ticket-notes-textarea::placeholder{ color:#64748b; }

/* вложения в сообщении (инлайн bg rgba(255,255,255,0.6)) — перебиваем !important */
html[data-theme="dark"] .message-bubble div[style*="rgba(255,255,255,0.6)"]{
  background:#202a3a !important; border-color:rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] .message-bubble div[style*="rgba(255,255,255,0.6)"] div[style*="#111827"]{ color:#e5e7eb !important; }
html[data-theme="dark"] .message-bubble div[style*="rgba(255,255,255,0.6)"] div[style*="#6b7280"]{ color:#94a3b8 !important; }
html[data-theme="dark"] .message-bubble button[style*="#dbeafe"]{ background:rgba(59,130,246,.22) !important; color:#93c5fd !important; }

/* ── /ticket: доводка 4 — бейдж типа (Бот MAX и др.) + лоадер ── */
html[data-theme="dark"] .direction-badge.incoming{ background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.40); color:#fcd34d; }
html[data-theme="dark"] .direction-badge.outgoing{ background:rgba(59,130,246,.18); border-color:rgba(59,130,246,.40); color:#93c5fd; }
html[data-theme="dark"] .direction-badge.portal{ background:rgba(139,92,246,.18); border-color:rgba(139,92,246,.40); color:#c4b5fd; }
html[data-theme="dark"] .direction-badge.messenger-max,
html[data-theme="dark"] .direction-badge.messenger-tg{ background:rgba(99,102,241,.18); border-color:rgba(99,102,241,.40); color:#c7d2fe; }

/* загрузочный бокс «Загрузка тикета..» */
html[data-theme="dark"] .sending-box{ background:#1b2433; box-shadow:0 8px 30px rgba(0,0,0,.55); }
html[data-theme="dark"] .sending-text{ color:#e5e7eb; }
html[data-theme="dark"] #loaderText{ color:#e5e7eb; }

/* ── /ticket: доводка 5 — тема, приоритет-кружок, Копия на канал, файлы ── */

/* тема тикета (subject) — прозрачный фон на тёмной карте (без белого) */
html[data-theme="dark"] .ticket-subject-input{ background:transparent; color:#e5e7eb; }
html[data-theme="dark"] .ticket-subject-input:hover{ border-color:#2c3a4f; }
html[data-theme="dark"] .ticket-subject-input:focus{ border-color:#6366f1; background:#141c29; }

/* кружок приоритета — белое кольцо (box-shadow) клиппится/контрастит на
   тёмном; убираем кольцо (сама точка остаётся цветной). */
html[data-theme="dark"] #prioritySelectWrap .rich-select-label::before{ box-shadow:none; }

/* «Копия на канал отдела» (bcc-toggle) */
html[data-theme="dark"] .bcc-self-toggle{ background:#1f2a3b; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .bcc-self-toggle:hover{ background:#243145; border-color:#3b4a6b; color:#e5e7eb; }
html[data-theme="dark"] .bcc-self-toggle:has(input:checked){ background:rgba(99,102,241,.18); border-color:rgba(129,140,248,.5); color:#c7d2fe; }

/* файловые карточки — ВЕЗДЕ (сообщения, сайдбар «Файлы», модалка),
   инлайн bg rgba(255,255,255,0.6) + текст #111827/#6b7280 + кнопка
   «скачать» #dbeafe. Перебиваем глобально с !important. */
html[data-theme="dark"] div[style*="rgba(255,255,255,0.6)"]{
  background:#202a3a !important; border-color:rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] div[style*="rgba(255,255,255,0.6)"] [style*="#111827"]{ color:#e5e7eb !important; }
html[data-theme="dark"] div[style*="rgba(255,255,255,0.6)"] [style*="#6b7280"]{ color:#94a3b8 !important; }
html[data-theme="dark"] button[style*="#dbeafe"]{ background:rgba(59,130,246,.22) !important; color:#93c5fd !important; }

/* модалка файлов */
html[data-theme="dark"] #attachmentsModalContent{ color:#cbd5e1; }

/* ── /ticket: доводка 6 — файлы (#f9fafb) + кружок приоритета (clip) ── */

/* файловые карточки сайдбара «Файлы» и модалки файлов: инлайн
   background:#f9fafb + border #e5e7eb (НЕ rgba(255,255,255,.6) как в
   сообщениях). Перебиваем по двум подстрокам стиля. */
html[data-theme="dark"] div[style*="#f9fafb"][style*="#e5e7eb"]{
  background:#202a3a !important; border-color:rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] div[style*="#f9fafb"][style*="#e5e7eb"] [style*="#111827"]{ color:#e5e7eb !important; }
html[data-theme="dark"] div[style*="#f9fafb"][style*="#e5e7eb"] [style*="#9ca3af"]{ color:#94a3b8 !important; }

/* кружок приоритета режется из-за overflow:hidden у .rich-select-label
   (нужен для ellipsis длинного текста, но у приоритета слова короткие).
   Разрешаем overflow — точка/кольцо больше не обрезаются слева. */
html[data-theme="dark"] #prioritySelectWrap .rich-select-label{ overflow:visible; }

/* ── /ticket: белый оверлей загрузки переписки → тёмный ── */
/* при загрузке тикета #sendingOverlay.in-comments кладёт поверх
   переписки белый rgba(255,255,255,.34) — на тёмной теме это серо-белое
   «бельмо». Делаем оверлей тёмным. */
html[data-theme="dark"] .sending-overlay.in-comments{ background:rgba(15,23,42,0.55); }

/* ── /ticket: меню «Ответ/Комментарий/Согласование» и статуса — активный пункт + иконки ── */
/* compose-mode: активный пункт (light #eef2ff) + цветные иконки-пастели */
html[data-theme="dark"] .cmode-item[data-selected="true"]{ background:rgba(99,102,241,.18); }
html[data-theme="dark"] .cmode-item[data-selected="true"] .cmode-item-title{ color:#c7d2fe; }
html[data-theme="dark"] .cmode-icon-reply{ background:rgba(59,130,246,.20); color:#93c5fd; }
html[data-theme="dark"] .cmode-icon-note{ background:rgba(245,158,11,.20); color:#fcd34d; }
html[data-theme="dark"] .cmode-icon-approval{ background:rgba(139,92,246,.20); color:#c4b5fd; }

/* reply-status: активный пункт + цветные иконки */
html[data-theme="dark"] .rstatus-item-title{ color:#e5e7eb; }
html[data-theme="dark"] .rstatus-item[data-selected="true"]{ background:rgba(99,102,241,.18); }
html[data-theme="dark"] .rstatus-item[data-selected="true"] .rstatus-item-title{ color:#c7d2fe; }
html[data-theme="dark"] .rstatus-icon-pending{ background:rgba(245,158,11,.20); color:#fcd34d; }
html[data-theme="dark"] .rstatus-icon-closed{ background:rgba(239,68,68,.20); color:#fca5a5; }

/* SLA-индикаторы в списке /index (.from-reply) — без блоков (фон убран
   выше), цвета чуть светлее для тёмного фона. */
html[data-theme="dark"] .from-reply.sla-ok{ color:#6ee7b7; }
html[data-theme="dark"] .from-reply.sla-warn{ color:#fcd34d; }
html[data-theme="dark"] .from-reply.sla-breach{ color:#fca5a5; }

/* ── /ticket: блок «Согласование» (approval group) ── */
/* развёрнутая группа и её тело были белыми (#fff) → светлый текст пузырей
   тонул. Затемняем контейнер, шапку, бейджи, role-chip. */
html[data-theme="dark"] .approval-group{ background:rgba(16,185,129,.10); border-color:rgba(16,185,129,.30); }
html[data-theme="dark"] .approval-group[data-collapsed="0"]{ background:#1b2433; }
html[data-theme="dark"] .approval-group-body{ background:#1b2433; border-top-color:rgba(148,163,184,.12); }
html[data-theme="dark"] .approval-group-header{ color:#6ee7b7; }
html[data-theme="dark"] .approval-group-header:hover{ background:rgba(16,185,129,.12); }
html[data-theme="dark"] .approval-group-icon{ background:rgba(16,185,129,.18); border-color:rgba(16,185,129,.35); color:#6ee7b7; }
html[data-theme="dark"] .approval-group-title{ color:#6ee7b7; }
html[data-theme="dark"] .approval-group-reviewer{ color:#34d399; }
html[data-theme="dark"] .approval-group-meta{ color:#64748b; }
html[data-theme="dark"] .approval-group-chevron{ color:#94a3b8; }
/* статус-бейджи группы (Ожидает/Принято/Отменено) */
html[data-theme="dark"] .appr-grp-status-open{ background:rgba(16,185,129,.18); border-color:rgba(16,185,129,.35); color:#6ee7b7; }
html[data-theme="dark"] .appr-grp-status-adopted{ background:rgba(59,130,246,.18); border-color:rgba(59,130,246,.35); color:#93c5fd; }
html[data-theme="dark"] .appr-grp-status-cancelled{ background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.35); color:#fcd34d; }
/* role-chip: СОГЛАСОВАНИЕ (зелёный) и РЕЦЕНЗЕНТ (фиолетовый) */
html[data-theme="dark"] .approval-role-chip-outbound{ background:rgba(16,185,129,.18); border-color:rgba(16,185,129,.35); color:#6ee7b7; }
html[data-theme="dark"] .message.approval.approval-inbound .message-author::after{ background:rgba(139,92,246,.20); border-color:rgba(139,92,246,.35); color:#c4b5fd; }

/* ── /ticket: панель «Файлы будут отправлены» + поле «Метки» (disabled) ── */

/* панель ожидающих отправки файлов (#pendingAttachments, инлайн #eff6ff) */
html[data-theme="dark"] #pendingAttachments{
  background:rgba(59,130,246,.10) !important; border-color:rgba(59,130,246,.30) !important;
}
html[data-theme="dark"] #pendingAttachments [style*="#1e40af"]{ color:#93c5fd !important; }
/* карточка файла внутри панели (инлайн background:#fff) */
html[data-theme="dark"] #pendingAttachments [style*="background:#fff"]{
  background:#202a3a !important; border-color:rgba(148,163,184,.16) !important;
}
html[data-theme="dark"] #pendingAttachments [style*="#111827"]{ color:#e5e7eb !important; }
html[data-theme="dark"] #pendingAttachments [style*="#6b7280"]{ color:#94a3b8 !important; }

/* поле «Метки» в новом тикете (disabled) — JS ставит инлайн bg #f3f4f6;
   перебиваем тёмным через :has(input:disabled) + !important. */
html[data-theme="dark"] .tags-container:has(input:disabled){ background:#141c29 !important; }

/* ── /ticket: убрать белый inset-хайлайт сверху у кнопок «Ответ клиенту»
   и статуса (inset 0 1px 0 rgba(255,255,255,.9)) ── */
html[data-theme="dark"] .compose-mode-btn,
html[data-theme="dark"] .reply-status-btn{ box-shadow:none; }

/* ── /ticket: «Показать системные сообщения» — убрать белый inset ── */
html[data-theme="dark"] .thread-toggle-btn{ box-shadow:none; }
/* ── /ticket: кнопка «Отмена» в заметках белела на ховере (#fff) ── */
html[data-theme="dark"] .note-btn.cancel{ background:#1f2a3b; color:#cbd5e1; }
html[data-theme="dark"] .note-btn.cancel:hover{ background:#243145; color:#e5e7eb; }

/* ── /ticket: единая панель переписки+ответа (.ticket-conversation) была
   белой — её скруглённые углы выглядывали белым за тёмными секциями.
   Затемняем сам контейнер. */
html[data-theme="dark"] .ticket-conversation{
  background:#1b2433;
  box-shadow:0 6px 16px rgba(0,0,0,.4), 0 20px 42px rgba(0,0,0,.4);
}

/* ── /ticket: убрать box-shadow (белый inset) у бейджей типа и сегмент-табов ── */
html[data-theme="dark"] .direction-badge{ box-shadow:none; }
html[data-theme="dark"] .sidebar-card-tabs{ box-shadow:none; }
html[data-theme="dark"] .sidebar-tab.is-active{ box-shadow:none; }

/* ═══════════════════════════════════════════════════════════════════
   /control-panel — тёмная тема (топбар остаётся navy)
   ═══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body{ background:#0f1420; }

/* Контент-панель */
html[data-theme="dark"] .content{
  background:#1b2433;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
html[data-theme="dark"] .content-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .content-title{ color:#e5e7eb; }

/* Вкладки Аналитика/Отчёты */
html[data-theme="dark"] .panel-tab-btn:not(.active){
  background:#141c29;
  border-color:#2c3a4f;
  color:#cbd5e1;
}
html[data-theme="dark"] .panel-tab-btn:not(.active):hover{
  border-color:#6366f1;
  background:#243145;
}
html[data-theme="dark"] .panel-tab-btn.active{
  background:#312e81;
  border-color:#6366f1;
  color:#c7d2fe;
}

/* Карточки статистики */
html[data-theme="dark"] .stat-card{
  background:#141c29;
  border-color:#2c3a4f;
}
html[data-theme="dark"] .stat-card:hover{
  border-color:#6366f1;
  box-shadow:0 4px 12px rgba(99,102,241,.15);
}
html[data-theme="dark"] .stat-label{ color:#94a3b8; }
html[data-theme="dark"] .stat-value{ color:#e5e7eb; }

/* Графики */
html[data-theme="dark"] .chart-container{
  background:#141c29;
  border-color:#2c3a4f;
}
html[data-theme="dark"] .chart-title{ color:#e5e7eb; }
html[data-theme="dark"] .chart-placeholder{
  background:#0f1420;
  color:#64748b;
}
html[data-theme="dark"] .trend-chart-meta,
html[data-theme="dark"] .trend-week-labels{ color:#94a3b8; }

/* Топ агентов */
html[data-theme="dark"] .leaders-wrap{ background:transparent; }
html[data-theme="dark"] .leaderboard-item{
  background:#1b2433;
  border-color:#2c3a4f;
}
html[data-theme="dark"] .rank:not(.gold):not(.silver):not(.bronze){ color:#94a3b8; }
html[data-theme="dark"] .agent-avatar{ background:#243145; }
html[data-theme="dark"] .agent-name{ color:#e5e7eb; }
html[data-theme="dark"] .agent-stats{ color:#94a3b8; }

/* Карточки отделов */
html[data-theme="dark"] .dept-card{
  background:#1b2433;
  border-color:#2c3a4f;
}
html[data-theme="dark"] .dept-card-name{ color:#e5e7eb; }
html[data-theme="dark"] .dept-card-percent{ color:#cbd5e1; }
html[data-theme="dark"] .dept-card-meta{ color:#94a3b8; }
/* донат: тёмный центр и тёмная «пустая» дуга */
html[data-theme="dark"] .dept-card-donut{
  background:
    radial-gradient(circle at center, #1b2433 62%, transparent 63%),
    conic-gradient(var(--donut-color) var(--donut-value), #2c3a4f 0);
}
html[data-theme="dark"] .dept-card-donut::after{ color:#cbd5e1; }
html[data-theme="dark"] .dept-card-bar{ background:#0f1420; }

/* ── Секция «Отчёты» ── */
html[data-theme="dark"] .reports-wrap{
  background:#141c29;
  border-color:#2c3a4f;
}
html[data-theme="dark"] .reports-title{ color:#e5e7eb; }
html[data-theme="dark"] .report-label{ color:#94a3b8; }
html[data-theme="dark"] .report-input,
html[data-theme="dark"] .report-select{
  background:#0f1420;
  border-color:#2c3a4f;
  color:#e5e7eb;
}
html[data-theme="dark"] .report-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .report-input:focus,
html[data-theme="dark"] .report-select:focus{
  border-color:#6366f1;
  outline:none;
}
/* rich-select в отчётах (перебиваем инлайновое #fff) */
html[data-theme="dark"] .report-rich-select .rich-select-btn{
  background:#0f1420;
  border-color:#2c3a4f;
  color:#e5e7eb;
}
html[data-theme="dark"] .report-rich-select .rich-select-btn:hover{ border-color:#475569; }
html[data-theme="dark"] .report-rich-select .rich-select-btn[aria-expanded="true"]{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.22);
}
html[data-theme="dark"] .report-rich-select .rich-select-label{ color:#e5e7eb; }
html[data-theme="dark"] .report-meta{ color:#94a3b8; }

/* Быстрый период */
html[data-theme="dark"] .quick-range-btn:not(.active){
  background:#141c29;
  border-color:#2c3a4f;
  color:#cbd5e1;
}
html[data-theme="dark"] .quick-range-btn:not(.active):hover{
  border-color:#6366f1;
  background:#243145;
}
html[data-theme="dark"] .quick-range-btn.active{
  background:#312e81;
  border-color:#6366f1;
  color:#c7d2fe;
}

/* Flatpickr-календарь (период в отчётах) */
html[data-theme="dark"] .flatpickr-calendar{
  background:#1b2433;
  border-color:#2c3a4f;
  box-shadow:0 12px 28px rgba(0,0,0,.5);
  color:#e5e7eb;
}
html[data-theme="dark"] .flatpickr-calendar.arrowTop:before,
html[data-theme="dark"] .flatpickr-calendar.arrowTop:after{ border-bottom-color:#1b2433; }
html[data-theme="dark"] .flatpickr-calendar.arrowBottom:before,
html[data-theme="dark"] .flatpickr-calendar.arrowBottom:after{ border-top-color:#1b2433; }
html[data-theme="dark"] .flatpickr-months .flatpickr-month{
  background:#141c29;
  color:#e5e7eb;
  fill:#e5e7eb;
}
html[data-theme="dark"] .flatpickr-current-month input.cur-year{ color:#e5e7eb; }
html[data-theme="dark"] .flatpickr-monthDropdown-months{ background:#141c29; color:#e5e7eb; }
html[data-theme="dark"] .flatpickr-weekdays{ background:#141c29; }
html[data-theme="dark"] span.flatpickr-weekday{ color:#94a3b8; }
html[data-theme="dark"] .flatpickr-months .flatpickr-prev-month svg,
html[data-theme="dark"] .flatpickr-months .flatpickr-next-month svg{ fill:#cbd5e1; }
html[data-theme="dark"] .flatpickr-day{ color:#e5e7eb; }
html[data-theme="dark"] .flatpickr-day:hover{ background:#243145; border-color:#243145; }
html[data-theme="dark"] .flatpickr-day.flatpickr-disabled,
html[data-theme="dark"] .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-day.nextMonthDay{ color:#475569; }
html[data-theme="dark"] .flatpickr-day.inRange{
  background:#243145;
  border-color:#243145;
  box-shadow:-5px 0 0 #243145,5px 0 0 #243145;
}

/* ═══════════════════════════════════════════════════════════════════
   /sla-csi — тёмная тема (топбар остаётся navy)
   ═══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body{
  background:
    radial-gradient(1200px 400px at 10% -10%, rgba(37,99,235,.10) 0%, transparent 60%),
    radial-gradient(900px 340px at 90% -20%, rgba(59,130,246,.08) 0%, transparent 60%),
    #0f1420;
}

/* Контент-панель + декор */
html[data-theme="dark"] .content{
  background:linear-gradient(180deg,#1b2433 0%, #18212f 100%);
  border-color:#2c3a4f;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
html[data-theme="dark"] .content::before{
  background:radial-gradient(circle,rgba(99,102,241,.16) 0%, rgba(99,102,241,0) 70%);
}
/* Градиентная шапка — ТОЛЬКО на /sla-csi (её .content-header содержит
   подзаголовок/чип). Без :has() правило протекало на /automation и
   /control-panel, где шапка без фона, и давало лишний диагональный
   прямоугольник. */
html[data-theme="dark"] .content-header:has(.content-subtitle){
  background:linear-gradient(135deg,#1e2a3d 0%, #1a2740 100%);
  border-color:#2c3a4f;
}
html[data-theme="dark"] .content-title,
html[data-theme="dark"] .settings-title,
html[data-theme="dark"] .section-label,
html[data-theme="dark"] .stat-value,
html[data-theme="dark"] .chart-title{ color:#e5e7eb; }
html[data-theme="dark"] .content-subtitle,
html[data-theme="dark"] .departments-summary,
html[data-theme="dark"] .stat-label,
html[data-theme="dark"] .stat-change,
html[data-theme="dark"] .meta,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .schedule-muted,
html[data-theme="dark"] .target-hint,
html[data-theme="dark"] .health-meta,
html[data-theme="dark"] .bar-label{ color:#94a3b8; }
html[data-theme="dark"] .content-chip{
  background:rgba(99,102,241,.16);
  border-color:rgba(99,102,241,.45);
  color:#c7d2fe;
}

/* Вкладки SLA/CSI (панель) */
html[data-theme="dark"] .panel-tab-btn:not(.active){
  background:#141c29; border-color:#2c3a4f; color:#cbd5e1;
}
html[data-theme="dark"] .panel-tab-btn:not(.active):hover{ border-color:#6366f1; background:#243145; }
html[data-theme="dark"] .panel-tab-btn.active{ background:#312e81; border-color:#6366f1; color:#c7d2fe; }

/* Карточки настроек / блоки */
html[data-theme="dark"] .settings-card{
  background:#141c29; border-color:#2c3a4f; box-shadow:0 8px 24px rgba(0,0,0,.3);
}
html[data-theme="dark"] .settings-block{
  background:linear-gradient(180deg,#1b2433 0%, #18212f 100%); border-color:#2c3a4f;
}
html[data-theme="dark"] .settings-block-title{ color:#cbd5e1; }

/* Блоки звуков уведомлений */
html[data-theme="dark"] .notif-block{
  background:linear-gradient(180deg,#1b2433 0%, #18212f 100%);
  border-color:#2c3a4f;
}
html[data-theme="dark"] .notif-block .checkbox-label span{ color:#e5e7eb; }
html[data-theme="dark"] .notif-hint{ color:#64748b; }
html[data-theme="dark"] .notif-file-name{ color:#94a3b8; }
html[data-theme="dark"] .notif-btn{
  background:#141c29;
  border-color:#2c3a4f;
  color:#e5e7eb;
}
html[data-theme="dark"] .notif-btn:hover{
  border-color:rgba(99,102,241,.6);
  color:#a5b4fc;
  box-shadow:0 2px 8px rgba(99,102,241,.18);
}
html[data-theme="dark"] .inline-switch,
html[data-theme="dark"] .check-item,
html[data-theme="dark"] .radio-item,
html[data-theme="dark"] .target-unit,
html[data-theme="dark"] .sla-check{ color:#cbd5e1; }

/* Поля ввода / select / textarea */
html[data-theme="dark"] .schedule-input,
html[data-theme="dark"] .priority-input input,
html[data-theme="dark"] .time-input,
html[data-theme="dark"] .target-input,
html[data-theme="dark"] .analytics-date-input,
html[data-theme="dark"] .filter-select,
html[data-theme="dark"] .sla-time-inputs input,
html[data-theme="dark"] .sla-label-input,
html[data-theme="dark"] .csi-template-editor,
html[data-theme="dark"] .label-chip-input-wrap,
html[data-theme="dark"] .notif-row select,
html[data-theme="dark"] .schedule-dept-selector select,
html[data-theme="dark"] .dept-search{
  background:#0f1420; border-color:#2c3a4f; color:#e5e7eb;
}
html[data-theme="dark"] .label-chip-input{ color:#e5e7eb; }
html[data-theme="dark"] .csi-template-editor::placeholder,
html[data-theme="dark"] .label-chip-input::placeholder,
html[data-theme="dark"] .dept-search::placeholder{ color:#64748b; }
/* стрелка нативного select расписания — светлее на тёмном */
html[data-theme="dark"] .schedule-dept-selector select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Приоритеты / таргеты / сегменты / дни недели */
html[data-theme="dark"] .priority-item,
html[data-theme="dark"] .target-segment,
html[data-theme="dark"] .day-row,
html[data-theme="dark"] .preview-item,
html[data-theme="dark"] .health-card{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .day-row.off{ background:#141c29; border-color:#232f43; }
html[data-theme="dark"] .day-row.off .day-name{ color:#64748b; }
html[data-theme="dark"] .priority-name,
html[data-theme="dark"] .day-name,
html[data-theme="dark"] .health-name{ color:#e5e7eb; }
html[data-theme="dark"] .day-toggle,
html[data-theme="dark"] .working-time-label,
html[data-theme="dark"] .target-label,
html[data-theme="dark"] .filter-label,
html[data-theme="dark"] .sla-section-title,
html[data-theme="dark"] .bar-value,
html[data-theme="dark"] .sla-type-label,
html[data-theme="dark"] .sla-type-pct,
html[data-theme="dark"] .sla-type-stats{ color:#94a3b8; }
html[data-theme="dark"] .target-hint{ border-top-color:#2c3a4f; }
html[data-theme="dark"] .sla-section-title{ border-top-color:#2c3a4f; }
html[data-theme="dark"] .soon-badge{ background:#243145; border-color:#2c3a4f; color:#94a3b8; }

/* Статистика / графики */
html[data-theme="dark"] .stat-card{
  background:linear-gradient(180deg,#1b2433 0%, #18212f 100%);
  border-color:#2c3a4f; box-shadow:0 8px 18px rgba(0,0,0,.28);
}
html[data-theme="dark"] .stat-card:hover{ border-color:#6366f1; box-shadow:0 12px 24px rgba(99,102,241,.16); }
html[data-theme="dark"] .chart-container{ background:#141c29; border-color:#2c3a4f; box-shadow:0 8px 20px rgba(0,0,0,.28); }
html[data-theme="dark"] .chart-placeholder{ background:#0f1420; color:#64748b; }
html[data-theme="dark"] .sla-type-bar-bg{ background:#0f1420; }
html[data-theme="dark"] .health-track{ background:#0f1420; }

/* Таблицы дашборда / CSI / SLA-targets */
html[data-theme="dark"] .sla-dash-table td,
html[data-theme="dark"] .csi-table td,
html[data-theme="dark"] .sla-targets-table td{ color:#cbd5e1; }
html[data-theme="dark"] .sla-dash-table th,
html[data-theme="dark"] .csi-table th,
html[data-theme="dark"] .sla-targets-table th{ color:#94a3b8; }
html[data-theme="dark"] .sla-dash-table th{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .sla-dash-table td{ border-bottom-color:#232f43; }
html[data-theme="dark"] .csi-table th{ background:#141c29; border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .csi-table td{ border-bottom-color:#232f43; }
html[data-theme="dark"] .sla-targets-table th{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .sla-targets-table td{ border-bottom-color:#232f43; }
html[data-theme="dark"] .sla-targets-table .priority-label{ color:#e5e7eb; }
html[data-theme="dark"] .csi-table-wrap{ background:#141c29; }
html[data-theme="dark"] .sla-dash-empty{ background:transparent; color:#64748b; }
/* бейджи статусов — притушенный тёмный фон */
html[data-theme="dark"] .sla-dash-badge.ok{ background:rgba(34,197,94,.16); color:#4ade80; }
html[data-theme="dark"] .sla-dash-badge.warn{ background:rgba(245,158,11,.16); color:#fbbf24; }
html[data-theme="dark"] .sla-dash-badge.bad{ background:rgba(239,68,68,.16); color:#f87171; }
html[data-theme="dark"] .csi-score{ background:rgba(13,148,136,.18); color:#5eead4; }
html[data-theme="dark"] .csi-score.low{ background:rgba(239,68,68,.16); color:#f87171; }
html[data-theme="dark"] .csi-score.mid{ background:rgba(245,158,11,.16); color:#fbbf24; }

/* Сегментные табы (отделы/период/режим SLA) — неактивные тёмные,
   активные оставляем индиго-градиентом. */
html[data-theme="dark"] .analytics-dept-tabs,
html[data-theme="dark"] .analytics-period-tabs,
html[data-theme="dark"] .sla-mode-tabs{ border-color:#2c3a4f; }
html[data-theme="dark"] .analytics-dept-tab:not(.active),
html[data-theme="dark"] .analytics-period-tab:not(.active),
html[data-theme="dark"] .sla-mode-tab:not(.active){ background:#141c29; color:#94a3b8; }
html[data-theme="dark"] .analytics-dept-tab,
html[data-theme="dark"] .analytics-period-tab,
html[data-theme="dark"] .sla-mode-tab{ border-right-color:#2c3a4f; }
html[data-theme="dark"] .analytics-dept-tab:hover:not(.active),
html[data-theme="dark"] .analytics-period-tab:hover:not(.active),
html[data-theme="dark"] .sla-mode-tab:hover:not(.active){ background:#243145; }

/* SLA-аккордеон отделов */
html[data-theme="dark"] .sla-dept-item{ border-color:#2c3a4f; }
html[data-theme="dark"] .sla-dept-item.active{ border-color:#6366f1; }
html[data-theme="dark"] .sla-dept-header{ background:#141c29; }
html[data-theme="dark"] .sla-dept-header:hover{ background:#243145; }
html[data-theme="dark"] .sla-dept-header .dept-name{ color:#e5e7eb; }
html[data-theme="dark"] .sla-dept-body{ background:#1b2433; }
/* off-состояние тумблера на тёмном */
html[data-theme="dark"] .sla-dept-switch .slider{ background:#3a4a61; }

/* CSI шаблон / превью / чипы меток */
html[data-theme="dark"] .csi-template-preview{
  background:#0f1420; border-color:#2c3a4f; color:#cbd5e1;
}
html[data-theme="dark"] .csi-template-preview code,
html[data-theme="dark"] .label-chip-item{
  background:rgba(99,102,241,.18); color:#c7d2fe;
}
html[data-theme="dark"] .label-chip-remove{ color:#a5b4fc; }
html[data-theme="dark"] .label-chip-remove:hover{ color:#c7d2fe; }

/* Уведомления (notif-row) */
html[data-theme="dark"] .notif-row .remove-notif{ background:rgba(239,68,68,.14); color:#f87171; }
html[data-theme="dark"] .notif-row .remove-notif:hover{ background:rgba(239,68,68,.24); }
html[data-theme="dark"] .sla-add-notif{ border-color:#3a4a61; color:#a5b4fc; background:none; }
html[data-theme="dark"] .sla-add-notif:hover{ border-color:#6366f1; background:#243145; }

/* Outline-кнопка «Добавить получателя» */
html[data-theme="dark"] .btn.btn-outline{ background:#141c29; color:#a5b4fc; border-color:#6366f1; }
html[data-theme="dark"] .btn.btn-outline:hover{ background:#243145; border-color:#818cf8; }

/* Модалка выбора отделов */
html[data-theme="dark"] .dept-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .dept-modal-head{ background:linear-gradient(135deg,#1e2a3d 0%, #1a2740 100%); border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .dept-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .dept-modal-close{ background:#243145; color:#cbd5e1; }
html[data-theme="dark"] .dept-modal-close:hover{ background:#2c3a4f; }
html[data-theme="dark"] .dept-modal-foot{ border-top-color:#2c3a4f; }
html[data-theme="dark"] .dept-options{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .dept-option:hover{ background:#243145; }
html[data-theme="dark"] .dept-option-name{ color:#cbd5e1; }

/* Инлайновые серые тексты-подсказки */
html[data-theme="dark"] #slaDisabledMsg{ color:#94a3b8 !important; }
html[data-theme="dark"] [style*="color:#64748b"],
html[data-theme="dark"] [style*="color:#6b7280"]{ color:#94a3b8 !important; }

/* ═══════════════════════════════════════════════════════════════════
   /automation — тёмная тема (топбар остаётся navy)
   ═══════════════════════════════════════════════════════════════════ */
/* html НЕ красим (transparent) — иначе непрозрачный html-фон перекрывает
   corner-stardust из body::before (z-index:-1) на ВСЕХ страницах. Тёмный
   фон даёт body. */
html[data-theme="dark"] body{ background:#0f1420; }

html[data-theme="dark"] .content{ background:#1b2433; box-shadow:0 2px 8px rgba(0,0,0,.35); }
html[data-theme="dark"] .content-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .content-title{ color:#e5e7eb; }

/* Кнопки */
html[data-theme="dark"] .btn-secondary{ background:#243145; color:#cbd5e1; border-color:#2c3a4f; }
html[data-theme="dark"] .btn-secondary:hover{ background:#2c3a4f; }
html[data-theme="dark"] .btn-icon.edit{ background:rgba(59,130,246,.16); color:#93c5fd; border-color:rgba(59,130,246,.4); box-shadow:none; }
html[data-theme="dark"] .btn-icon.edit:hover{ background:rgba(59,130,246,.26); color:#bfdbfe; }
html[data-theme="dark"] .btn-icon.delete{ background:rgba(239,68,68,.14); color:#f87171; border-color:rgba(239,68,68,.4); box-shadow:none; }
html[data-theme="dark"] .btn-icon.delete:hover{ background:rgba(239,68,68,.24); color:#fca5a5; }

/* Карточки правил */
html[data-theme="dark"] .rule-card{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .rule-card:hover{ border-color:#3a4a61; box-shadow:0 2px 8px rgba(0,0,0,.3); }
html[data-theme="dark"] .rule-card.active-rule{ border-color:#10b981; background:rgba(16,185,129,.10); }
html[data-theme="dark"] .rule-card.dragging{ border-color:#6366f1; background:#243145; }
html[data-theme="dark"] .drag-handle{ color:#475569; }
html[data-theme="dark"] .drag-handle:active{ color:#94a3b8; }
html[data-theme="dark"] .rule-name{ color:#e5e7eb; }
html[data-theme="dark"] .rule-event{ background:rgba(59,130,246,.16); color:#93c5fd; }
html[data-theme="dark"] .rule-badge.condition{ background:rgba(234,179,8,.16); color:#fcd34d; }
html[data-theme="dark"] .rule-badge.action{ background:rgba(34,197,94,.16); color:#86efac; }

/* off-состояние тумблера */
html[data-theme="dark"] .toggle-slider{ background:#3a4a61; }

/* Пустое состояние */
html[data-theme="dark"] .empty-state h3{ color:#cbd5e1; }
html[data-theme="dark"] .empty-state p{ color:#64748b; }

/* Модалка «Новое правило» */
html[data-theme="dark"] .modal{ background:#1b2433; box-shadow:0 24px 48px rgba(0,0,0,.5); }
html[data-theme="dark"] .modal-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .modal-header h3{ color:#e5e7eb; }
html[data-theme="dark"] .modal-close{ color:#64748b; }
html[data-theme="dark"] .modal-close:hover{ background:#243145; color:#cbd5e1; }
html[data-theme="dark"] .modal-footer{ background:#141c29; border-top-color:#2c3a4f; }

/* Форма */
html[data-theme="dark"] .form-group label{ color:#cbd5e1; }
html[data-theme="dark"] .form-group input,
html[data-theme="dark"] .form-group select{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .form-group input::placeholder{ color:#64748b; }

/* Конструктор условий/действий */
html[data-theme="dark"] .builder-section-title{ color:#cbd5e1; }
html[data-theme="dark"] .builder-section-title span{ color:#64748b; }
html[data-theme="dark"] .builder-item{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .builder-item:hover{ border-color:#3a4a61; }
html[data-theme="dark"] .builder-item select,
html[data-theme="dark"] .builder-item input,
html[data-theme="dark"] .builder-item textarea{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .builder-remove{ color:#64748b; }
html[data-theme="dark"] .builder-remove:hover{ background:rgba(239,68,68,.16); color:#f87171; }
html[data-theme="dark"] .builder-add{ border-color:#3a4a61; color:#94a3b8; }
html[data-theme="dark"] .builder-add:hover{ border-color:#6366f1; color:#a5b4fc; background:#243145; }

/* Confirm-модалка */
html[data-theme="dark"] .confirm-box{ background:#1b2433; box-shadow:0 24px 48px rgba(0,0,0,.5); }
html[data-theme="dark"] .confirm-box h3{ color:#e5e7eb; }
html[data-theme="dark"] .confirm-box p{ color:#94a3b8; }

/* ═══════════════════════════════════════════════════════════════════
   /structure — тёмная тема (топбар остаётся navy)
   ═══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body{ background:#0f1420; }

/* Левое меню */
html[data-theme="dark"] .sidebar-menu{ background:#1b2433; box-shadow:0 2px 8px rgba(0,0,0,.35); }
html[data-theme="dark"] .sidebar-item{ color:#94a3b8; }
html[data-theme="dark"] .sidebar-item:hover{ background:#243145; color:#e5e7eb; }
/* активный пункт меню: тёмная индиго-плашка вместо светлого glass —
   светлый вариант на тёмной теме выглядел как белый блок с почти
   нечитаемым текстом. */
html[data-theme="dark"] .sidebar-item.active{
  border-color:rgba(129,140,248,.5);
  background:linear-gradient(180deg, rgba(99,102,241,.30) 0%, rgba(79,70,229,.20) 100%);
  box-shadow:inset 0 0 0 1px rgba(129,140,248,.2), 0 2px 10px rgba(99,102,241,.18);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#c7d2fe;
  text-shadow:none;
}
html[data-theme="dark"] .sidebar-item.active::before{ display:none; }

/* Контент-панель */
html[data-theme="dark"] .content{ background:#1b2433; box-shadow:0 2px 8px rgba(0,0,0,.35); }
html[data-theme="dark"] .content-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .content-title,
html[data-theme="dark"] .modal-title,
html[data-theme="dark"] .employee-name{ color:#e5e7eb; }
html[data-theme="dark"] .count-badge{ background:rgba(59,130,246,.16); color:#93c5fd; }

/* Таблица отделов */
html[data-theme="dark"] .departments-table th,
html[data-theme="dark"] .employees-table th{ color:#94a3b8; }
html[data-theme="dark"] .departments-table td{
  background:#141c29; color:#cbd5e1;
  border-top-color:#2c3a4f; border-bottom-color:#2c3a4f;
}
html[data-theme="dark"] .departments-table td:first-child{ border-left-color:#2c3a4f; }
html[data-theme="dark"] .departments-table td:last-child{ border-right-color:#2c3a4f; }
html[data-theme="dark"] .departments-table tr:hover td{
  background:#1b2433; border-color:#3a4a61; box-shadow:0 1px 3px rgba(0,0,0,.3);
}

/* Стек аватаров / счётчики */
html[data-theme="dark"] .dept-users-stack .dept-user-avatar{ background:#243145; border-color:#1b2433; color:#cbd5e1; }
html[data-theme="dark"] .dept-users-stack .dept-user-more{ background:#2c3a4f; color:#cbd5e1; border-color:#1b2433; }
html[data-theme="dark"] .dept-users-empty{ color:#64748b; }
html[data-theme="dark"] .dept-count-badge{ background:#243145; color:#cbd5e1; box-shadow:inset 0 0 0 1px rgba(148,163,184,.12); }
html[data-theme="dark"] .dept-count-badge.is-zero{ background:#141c29; color:#64748b; box-shadow:inset 0 0 0 1px #2c3a4f; }
html[data-theme="dark"] .dept-schedule-cell{ color:#94a3b8; }
html[data-theme="dark"] .dept-badge{ background:#243145; color:#cbd5e1; }
html[data-theme="dark"] .dept-agents-hint{ background:#141c29; border-color:#3a4a61; color:#94a3b8; }

/* Таблица сотрудников */
html[data-theme="dark"] .employees-table td{
  background:#141c29; color:#cbd5e1;
  border-top-color:#2c3a4f; border-bottom-color:#2c3a4f;
}
html[data-theme="dark"] .employees-table td:first-child{ border-left-color:#2c3a4f; }
html[data-theme="dark"] .employees-table td:last-child{ border-right-color:#2c3a4f; }
html[data-theme="dark"] .employees-table tr:hover td{ background:#1b2433; border-color:#3a4a61; }
html[data-theme="dark"] .employee-email{ color:#94a3b8; }
html[data-theme="dark"] .employee-avatar{ background:#243145; }

/* Бейджи ролей (притушенные цветные) */
html[data-theme="dark"] .role-admin{ background:rgba(239,68,68,.14); color:#f87171; border-color:rgba(239,68,68,.4); }
html[data-theme="dark"] .role-agent{ background:rgba(34,197,94,.14); color:#86efac; border-color:rgba(34,197,94,.4); }

/* Иконочные кнопки */
html[data-theme="dark"] .btn-icon.edit{ background:rgba(59,130,246,.16); color:#93c5fd; border-color:rgba(59,130,246,.4); box-shadow:none; }
html[data-theme="dark"] .btn-icon.edit:hover{ background:rgba(59,130,246,.26); color:#bfdbfe; }
html[data-theme="dark"] .btn-icon.delete{ background:rgba(239,68,68,.14); color:#f87171; border-color:rgba(239,68,68,.4); box-shadow:none; }
html[data-theme="dark"] .btn-icon.delete:hover{ background:rgba(239,68,68,.24); color:#fca5a5; }

/* Поиск */
html[data-theme="dark"] .search-bar{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .search-bar input{ color:#e5e7eb; }
html[data-theme="dark"] .search-bar input::placeholder{ color:#64748b; }
html[data-theme="dark"] .search-clear{ color:#64748b; }
html[data-theme="dark"] .search-clear:hover{ color:#cbd5e1; }

/* Фильтр-чипы отделов (активный — индиго gradient, не трогаем) */
html[data-theme="dark"] .dept-filter-chip:not(.active){ background:#141c29; border-color:#2c3a4f; color:#94a3b8; }
html[data-theme="dark"] .dept-filter-chip:not(.active):hover{ border-color:#3a4a61; color:#e5e7eb; background:#243145; }
html[data-theme="dark"] .dept-filter-chip:not(.active) .dept-chip-count{ background:#243145; color:#94a3b8; }

/* Модалки */
/* затемнение-подложка: на тёмной теме сплошной rgba(0,0,0,.5) сливал
   страницу в чёрноту («фон пропадал»). Лёгкий blur + полупрозрачный
   тёмный тон читаются как «страница позади, размыта». */
html[data-theme="dark"] .modal{
  background:rgba(10,14,22,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
html[data-theme="dark"] .modal-dialog{ background:#1b2433; box-shadow:0 20px 60px rgba(0,0,0,.6); }
html[data-theme="dark"] .modal-header{ border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .modal-close{ color:#64748b; }
html[data-theme="dark"] .modal-close:hover{ background:#243145; color:#cbd5e1; }
html[data-theme="dark"] .modal-footer{ border-top-color:#2c3a4f; }

/* Форма в модалках */
html[data-theme="dark"] .form-label{ color:#cbd5e1; }
html[data-theme="dark"] .form-input,
html[data-theme="dark"] .form-select{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .form-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .form-help{ color:#94a3b8; }
html[data-theme="dark"] .checkbox-label{ color:#cbd5e1; }
/* Роль — rich-select под тёмное поле формы */
html[data-theme="dark"] #empRoleWrap .rich-select-btn{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] #empRoleWrap .rich-select-btn:hover{ border-color:#3a4a61; }
html[data-theme="dark"] #empRoleWrap .rich-select-btn[aria-expanded="true"]{ border-color:#6366f1; }
html[data-theme="dark"] #empRoleWrap .rich-select-label{ color:#e5e7eb; }
/* тултип [data-tip] (стиль ИИ-тултипа) одинаков в обеих темах — тёмная
   пилюля rgba(15,23,42,.92), отдельный dark-override не нужен. */

/* График работы */
html[data-theme="dark"] .schedule-row{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .schedule-day{ color:#cbd5e1; }
html[data-theme="dark"] .schedule-time{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .schedule-time:disabled{ background:#141c29; color:#64748b; }
html[data-theme="dark"] .schedule-sep{ color:#64748b; }

/* Выбор агентов в модалке отдела */
html[data-theme="dark"] .agent-checkbox-item{ background:#141c29; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .agent-checkbox-item:hover{ border-color:#6366f1; background:#243145; }
html[data-theme="dark"] .agent-checkbox-item.selected{ border-color:#6366f1; background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .agent-checkbox-avatar{ background:#243145; color:#93c5fd; }

/* Кнопки/превью в модалках */
html[data-theme="dark"] .btn-secondary{ background:#243145; color:#cbd5e1; border-color:#2c3a4f; }
html[data-theme="dark"] .btn-secondary:hover{ border-color:#6366f1; color:#a5b4fc; }
html[data-theme="dark"] .color-preview{ border-color:#2c3a4f; }
html[data-theme="dark"] .avatar-preview-small{ background:#141c29; border-color:#3a4a61; }

/* Инлайновый тёмно-серый текст расписания (#374151) — на тёмном фоне */
html[data-theme="dark"] [style*="color:#374151"]{ color:#cbd5e1 !important; }

/* ═══════════════════════════════════════════════════════════════════
   /search — тёмная тема (топбар + avatar-menu остаются navy)
   ═══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body{ background:#0f1420; }

/* строка поиска */
html[data-theme="dark"] .search-input{
  background:#141c29;
  border-color:#2c3a4f;
  color:#e5e7eb;
  box-shadow:0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] .search-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .search-input:hover{ border-color:#3a4a61; }
html[data-theme="dark"] .search-input:focus{ border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.20) !important; }

/* инфо о результатах */
html[data-theme="dark"] .search-results-info{ color:#94a3b8; }
html[data-theme="dark"] .search-results-info strong{ color:#e5e7eb; }
html[data-theme="dark"] .search-query{ color:#a5b4fc; }

/* rich-select сортировки */
html[data-theme="dark"] .sort-rich-select .rich-select-btn{ background:#141c29; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .sort-rich-select .rich-select-btn:hover,
html[data-theme="dark"] .sort-rich-select .rich-select-btn[aria-expanded="true"]{ border-color:#6366f1; color:#c7d2fe; }

/* панель фильтров */
html[data-theme="dark"] .filters-system{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.35); }
html[data-theme="dark"] .filter-group-title{ color:#94a3b8; }
html[data-theme="dark"] .filter-chip:not(.active){ background:#141c29; color:#cbd5e1; }
html[data-theme="dark"] .filter-chip:not(.active):hover{ background:#243145; }
html[data-theme="dark"] .filter-chip.active{ background:#312e81; border-color:#6366f1; color:#c7d2fe; }
html[data-theme="dark"] .filter-chip-count{ background:rgba(255,255,255,.10); }
html[data-theme="dark"] .filter-chip.active .filter-chip-count{ background:rgba(199,210,254,.22); }
html[data-theme="dark"] .clear-all-filters{ background:transparent; border-color:#ef4444; color:#f87171; }
html[data-theme="dark"] .clear-all-filters:hover{ background:#ef4444; color:#fff; }

/* карточки результатов */
html[data-theme="dark"] .result-card{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.35); border-color:transparent; }
html[data-theme="dark"] .result-card:hover{ border-color:#6366f1; box-shadow:0 4px 12px rgba(0,0,0,.45); }
html[data-theme="dark"] .result-title{ color:#e5e7eb; }
html[data-theme="dark"] .result-id,
html[data-theme="dark"] .result-preview{ color:#94a3b8; }
html[data-theme="dark"] .result-meta{ color:#64748b; }
html[data-theme="dark"] .result-title mark,
html[data-theme="dark"] .result-preview mark{ background:rgba(250,204,21,.25); color:#fde68a; }

/* бейджи статусов/приоритета — притушенные тёмные тона */
html[data-theme="dark"] .status-open{ background:rgba(16,185,129,.16); color:#6ee7b7; }
html[data-theme="dark"] .status-wait{ background:rgba(245,158,11,.16); color:#fcd34d; }
html[data-theme="dark"] .status-closed{ background:rgba(239,68,68,.16); color:#fca5a5; }
html[data-theme="dark"] .priority-high{ background:rgba(239,68,68,.16); color:#fca5a5; }
html[data-theme="dark"] .priority-normal{ background:#243145; color:#94a3b8; }
html[data-theme="dark"] .priority-low{ background:rgba(16,185,129,.16); color:#6ee7b7; }
/* На /index это иконка-бар-чарт (.priority-icon), а не пилюля — фон выше
   относится к пилюлям приоритета (поиск). Иконке фон-квадрат не нужен. */
html[data-theme="dark"] .priority-icon.priority-high,
html[data-theme="dark"] .priority-icon.priority-normal,
html[data-theme="dark"] .priority-icon.priority-low{ background:none; }

/* пустое состояние */
html[data-theme="dark"] .empty-state{ background:#1b2433; box-shadow:0 2px 6px rgba(0,0,0,.35); }
html[data-theme="dark"] .empty-state-title{ color:#e5e7eb; }
html[data-theme="dark"] .empty-state-text{ color:#94a3b8; }

/* модалка выхода */
html[data-theme="dark"] .logout-modal-box{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .logout-modal-title{ color:#e5e7eb; }
html[data-theme="dark"] .logout-modal-text{ color:#94a3b8; }
html[data-theme="dark"] .logout-modal-btn{ background:#243145; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .logout-modal-btn:hover{ border-color:#475569; }

/* контейнер кнопки «Загрузить ещё»: на /search это просто центровка
   (без фона), а общий dark .pagination-wrap (для нумерации на /index)
   красил его в #1b2433 → лишний блок. Убираем только на /search. */
html[data-theme="dark"] .content-container .pagination-wrap{ background:transparent; border-top:none; }

/* кнопка «Расширенный поиск» — без box-shadow (по просьбе). */
html[data-theme="dark"] .adv-search-btn{ box-shadow:none; }
html[data-theme="dark"] .adv-search-btn:not(.has-filters){
  background:#141c29; border-color:#2c3a4f; color:#a5b4fc;
}
html[data-theme="dark"] .adv-search-btn:not(.has-filters):hover{ border-color:#6366f1; color:#c7d2fe; box-shadow:none; }

/* модалка расширенного поиска */
html[data-theme="dark"] .adv-modal{
  background:#1b2433;
  border-color:#2c3a4f;
  box-shadow:0 24px 48px rgba(0,0,0,.5);
}
html[data-theme="dark"] .adv-title{ color:#e5e7eb; }
html[data-theme="dark"] .adv-close:hover{ background:#243145; }
html[data-theme="dark"] .adv-close svg{ stroke:#94a3b8; }
html[data-theme="dark"] .adv-field label{ color:#a5b4fc; }
html[data-theme="dark"] .adv-field input[type="text"],
html[data-theme="dark"] .adv-tags-wrap{
  background:#0f1420; border-color:#2c3a4f; color:#e5e7eb;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  box-shadow:none;
}
html[data-theme="dark"] .adv-field input[type="text"]::placeholder{ color:#64748b; }
html[data-theme="dark"] .adv-tags-wrap input,
html[data-theme="dark"] .adv-tags-wrap input[type="text"]{ color:#e5e7eb; background:transparent; }
html[data-theme="dark"] .adv-tag-chip{
  background:rgba(99,102,241,.18); border-color:rgba(129,140,248,.4); color:#c7d2fe;
}
html[data-theme="dark"] .adv-tag-chip .adv-tag-x{ color:#a5b4fc; }
html[data-theme="dark"] .adv-tags-dropdown{ background:#1b2433; border-color:#2c3a4f; }
html[data-theme="dark"] .adv-tags-dd-item{ color:#cbd5e1; }
html[data-theme="dark"] .adv-tags-dd-item:hover,
html[data-theme="dark"] .adv-tags-dd-item.active{ background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .adv-tags-dd-empty{ color:#64748b; }
html[data-theme="dark"] .adv-footer{ border-top-color:#2c3a4f; }
html[data-theme="dark"] .adv-reset{
  background:#243145; border-color:#2c3a4f; color:#cbd5e1;
  backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;
}
html[data-theme="dark"] .adv-reset:hover{ border-color:#6366f1; color:#c7d2fe; background:#2c3a4f; }

/* ═══════════════════════════════════════════════════════════════════
   /settings — тёмная тема (топбар navy; sidebar/content/modal/form-*
   /.btn-icon берутся из общих правил /structure). Лампочка — tail.
   ═══════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] body{ background:#0f1420; }

/* подтабы каналов */
html[data-theme="dark"] .channel-tab-btn:not(.active){ background:#141c29; border-color:#2c3a4f; color:#94a3b8; }
html[data-theme="dark"] .channel-tab-btn:not(.active):hover{ border-color:#6366f1; background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .channel-tab-btn.active{ background:#312e81; border-color:#6366f1; color:#c7d2fe; }

/* заголовки/описания блоков */
html[data-theme="dark"] .settings-block-title,
html[data-theme="dark"] .settings-section-title,
html[data-theme="dark"] .content-title{ color:#e5e7eb; }
html[data-theme="dark"] .settings-block-desc,
html[data-theme="dark"] .form-help{ color:#94a3b8; }
html[data-theme="dark"] .section-subtitle{ color:#e5e7eb; border-bottom-color:#2c3a4f; }

/* переменные/код шаблона */
html[data-theme="dark"] .tpl-var,
html[data-theme="dark"] .portal-template-preview code{ background:rgba(99,102,241,.18); color:#c7d2fe; border-color:rgba(129,140,248,.4); }
html[data-theme="dark"] .portal-template-editor{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .portal-template-preview{ background:#0f1420; border-color:#2c3a4f; color:#cbd5e1; }

/* outline-кнопка */
html[data-theme="dark"] .btn-outline{ background:#141c29; border-color:#2c3a4f; color:#cbd5e1; }
html[data-theme="dark"] .btn-outline:hover{ border-color:#6366f1; color:#c7d2fe; background:#243145; }

/* алерты */
html[data-theme="dark"] .alert-success{ background:rgba(16,185,129,.12); border-color:rgba(16,185,129,.4); color:#6ee7b7; }
html[data-theme="dark"] .alert-info{ background:rgba(99,102,241,.12); border-color:rgba(129,140,248,.4); color:#c7d2fe; }

/* подписи rich-select'ов (метка остаётся тёмной без override) */
html[data-theme="dark"] .form-rich-select .rich-select-label,
html[data-theme="dark"] .sound-rich-select .rich-select-label,
html[data-theme="dark"] .portal-dep-rich-select .rich-select-label{ color:#e5e7eb; }

/* карточки мессенджер-ботов */
html[data-theme="dark"] .msgr-card{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .msgr-card.is-on{ border-color:#10b981; box-shadow:0 2px 10px rgba(16,185,129,.10); }
html[data-theme="dark"] .msgr-title{ color:#e5e7eb; }
html[data-theme="dark"] .msgr-desc{ color:#64748b; }
html[data-theme="dark"] .msgr-body{ border-top-color:#2c3a4f; }
html[data-theme="dark"] .msgr-label{ color:#cbd5e1; }
html[data-theme="dark"] .msgr-slider{ background:#3a4a61; }
html[data-theme="dark"] .msgr-input{ background:#0f1420; border-color:#2c3a4f; color:#e5e7eb; }
html[data-theme="dark"] .msgr-input::placeholder{ color:#64748b; }
html[data-theme="dark"] .msgr-input:hover{ border-color:#475569; }
html[data-theme="dark"] .msgr-welcome-help{ color:#64748b; }
html[data-theme="dark"] .msgr-welcome-help code{ background:#1e293b; color:#94a3b8; }
html[data-theme="dark"] .msgr-open-bot{ background:rgba(99,102,241,.16); border-color:rgba(129,140,248,.4); color:#a5b4fc; }
html[data-theme="dark"] .msgr-open-bot:hover{ background:rgba(99,102,241,.26); }
html[data-theme="dark"] .msgr-token-status.is-ok{ color:#4ade80; }
html[data-theme="dark"] .msgr-token-status.is-err{ color:#f87171; }
html[data-theme="dark"] .msgr-token-status.is-checking{ color:#64748b; }
html[data-theme="dark"] .msgr-token-clear:hover{ background:rgba(239,68,68,.16); }

/* список каналов (портал) */
html[data-theme="dark"] .channel-item{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .channel-item:hover{ border-color:#3a4a61; box-shadow:0 2px 8px rgba(0,0,0,.3); }
html[data-theme="dark"] .channel-item.active{ border-color:#10b981; background:rgba(16,185,129,.10); }
html[data-theme="dark"] .toggle-switch{ background:#3a4a61; }
html[data-theme="dark"] .channel-icon{ background:rgba(59,130,246,.18); color:#93c5fd; }
html[data-theme="dark"] .channel-name{ color:#e5e7eb; }
html[data-theme="dark"] .channel-description{ color:#94a3b8; }

/* иконочная кнопка «тест» */
html[data-theme="dark"] .btn-icon.test{ background:rgba(16,185,129,.12); color:#6ee7b7; border-color:rgba(16,185,129,.4); box-shadow:none; }
html[data-theme="dark"] .btn-icon.test:hover{ background:rgba(16,185,129,.22); color:#86efac; border-color:rgba(16,185,129,.55); }
html[data-theme="dark"] .btn-icon.test.ok{ background:rgba(16,185,129,.22); color:#86efac; border-color:rgba(16,185,129,.5); }
html[data-theme="dark"] .btn-icon.test.fail{ background:rgba(239,68,68,.16); color:#f87171; border-color:rgba(239,68,68,.4); }

/* карточки настроек / таблица логов */
html[data-theme="dark"] .settings-card{ background:#141c29; border-color:#2c3a4f; }
html[data-theme="dark"] .logs-table th{ background:#141c29; color:#94a3b8; border-bottom-color:#2c3a4f; }
html[data-theme="dark"] .logs-table td{ color:#cbd5e1; border-bottom-color:#232f43; }
html[data-theme="dark"] .logs-table tr:hover{ background:#1b2433; }
html[data-theme="dark"] .log-status-success{ color:#4ade80; }
html[data-theme="dark"] .log-status-failed{ color:#f87171; }

/* превью лого */
html[data-theme="dark"] .logo-preview{ background:#0f1420; border-color:#3a4a61; }

/* блок «Отправлять письмо после создания заявки» (#portalSendEmailLabel):
   инлайн border #e5e7eb (выкл) / при вкл JS ставит background:#f0fdf4 +
   border #10b981, текст #111827. */
/* JS ставит фон через .style.background → сериализуется в rgb(), поэтому
   матчим состояние не по инлайну, а по :has(:checked). !important
   перебивает инлайновые стили. */
html[data-theme="dark"] #portalSendEmailLabel{ border-color:#2c3a4f !important; background:transparent !important; }
html[data-theme="dark"] #portalSendEmailLabel:has(#portalSendEmail:checked){ background:rgba(16,185,129,.10) !important; border-color:#10b981 !important; }
html[data-theme="dark"] #portalSendEmailLabel [style*="color:#111827"]{ color:#e5e7eb !important; }

/* кнопка «▶ Прослушать» звук — инлайновый белый фон/светлый бордер. */
html[data-theme="dark"] button[onclick="previewSound()"]{ background:#243145 !important; border-color:#2c3a4f !important; color:#cbd5e1 !important; }
html[data-theme="dark"] button[onclick="previewSound()"]:hover{ border-color:#6366f1 !important; color:#c7d2fe !important; }

/* ── Лайтбокс превью вложений (картинка/PDF) в тикете — тёмная тема ── */
html[data-theme="dark"] .image-lightbox-frame{
  background:linear-gradient(180deg,#1b2433 0%, #18212f 100%);
  border-color:#2c3a4f;
  box-shadow:0 24px 48px rgba(0,0,0,.55);
}
html[data-theme="dark"] .image-lightbox-header{
  background:#141c29;
  border-bottom-color:#2c3a4f;
}
html[data-theme="dark"] .image-lightbox-name{ color:#c7d2fe; }
html[data-theme="dark"] .image-lightbox-zoom-group{ background:#0f1420; border-color:#2c3a4f; }
html[data-theme="dark"] .image-lightbox-zoom-btn{ color:#a5b4fc; }
html[data-theme="dark"] .image-lightbox-zoom-btn:hover{ background:#243145; color:#c7d2fe; box-shadow:none; }
html[data-theme="dark"] .image-lightbox-zoom-label{ color:#c7d2fe; }
html[data-theme="dark"] .image-lightbox-close{ color:#94a3b8; }
html[data-theme="dark"] .image-lightbox-close:hover{ background:#243145; color:#c7d2fe; }
html[data-theme="dark"] .image-lightbox-body{ background:#0f1420; }
html[data-theme="dark"] .image-lightbox-body.is-pdf{ background:#0f1420; }

/* ── Подсветка незаполненного поля (.field-error) в тёмной теме: общий
   dark .form-label (#cbd5e1) перекрывал красный — возвращаем красный
   (светлее для тёмного фона). ── */
html[data-theme="dark"] .form-label.field-error{ color:#f87171; }

/* ── /knowledge-base: у модалок #createModal/#viewModal шапка и футер
   без фона (margin-only). Общие dark-правила .modal-header/.modal-footer
   (с градиентным фоном — для модалок других страниц) рисовали тёмные
   полосы у заголовка и у кнопок. Сбрасываем фон/границу только здесь. ── */
html[data-theme="dark"] #createModal .modal-header,
html[data-theme="dark"] #createModal .modal-footer,
html[data-theme="dark"] #viewModal .modal-header,
html[data-theme="dark"] #viewModal .modal-footer{ background:none; border-color:transparent; }
