/* ============================================================
   НОЧНАЯ ТЕМА ДЛЯ СЧЕТОВ И ПРАЙСХАБА

   Оба модуля рисуются на своих переменных. Здесь эти переменные
   переопределяются под тёмный фон — разметку трогать не нужно.
   Класс dark-theme ставит assets/xp-theme-sync.js.
   ============================================================ */

body.dark-theme {
  /* ---- счета ---- */
  --bg:#1a1a1a; --fg:#e6e6e6; --muted:#9aa0a6;
  --acc:#4d94ff; --acc-d:#3b7fe0; --menu:#2d2d2d; --menu-hover:#3a3a3a;
  --panel:#22303f; --panel-br:#31465e; --panel2:#2d2d2d; --panel2-br:#404040;
  --lbl:#cfd3d7; --hint:#9aa0a6;
  --inp:#3a3a3a; --inp-br:#555; --focus:#4d94ff; --focus-sh:rgba(77,148,255,.28);
  --head:#2d2d2d; --head-fg:#e6e6e6; --line:#404040; --row:#1f1f1f; --hover:#2a3442;
  --tool:#2d2d2d; --tool-br:#404040; --btn:#333; --btn-fg:#e6e6e6;

  /* ---- ПрайсХаб ---- */
  --a:#4d94ff; --a-d:#3b7fe0; --ink:#e6e6e6; --slate:#c2c8ce; --mut:#9aa0a6;
  --card:#252525; --ok:#37c98a; --okbg:#12281f; --bad:#ff6b81; --badbg:#2a1620;
  --vio:#a78bfa; --viobg:#241d38;

  background:#1a1a1a; color:#e6e6e6;
}

/* Фон и текст всего, что рисуется белым напрямую */
body.dark-theme, 
body.dark-theme .wrap,
body.dark-theme .page,
body.dark-theme .pg,
body.dark-theme .card,
body.dark-theme .box,
body.dark-theme .panel { background-color:#1f1f1f; color:#e6e6e6; }

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea {
  background-color:#3a3a3a; border-color:#555; color:#e6e6e6;
}
body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder { color:#8b9096; }

body.dark-theme table { color:#e6e6e6; }
body.dark-theme th { background-color:#2d2d2d; color:#cfd3d7; }
body.dark-theme td { border-color:#404040; }
body.dark-theme tbody tr:hover { background-color:#2a3442; }

/* Меню модулей — в ночной теме оно было почти нечитаемым */
body.dark-theme .tb,
body.dark-theme .topbar,
body.dark-theme .xpnav { background:#2d2d2d; border-color:#404040; }
body.dark-theme .tb a,
body.dark-theme .topbar a,
body.dark-theme .xpnav a { color:#d6dbe0; }
body.dark-theme .tb a:hover,
body.dark-theme .xpnav a:hover { background:#3a3a3a; color:#fff; }
body.dark-theme .xpnav a.on { background:#1f1f1f; border-color:#404040 #404040 #1f1f1f; color:#fff; }

body.dark-theme a { color:#7ab3ff; }
body.dark-theme a:hover { color:#a3caff; }

body.dark-theme button,
body.dark-theme .btn { background:#333; color:#e6e6e6; border-color:#4a4a4a; }
body.dark-theme .btn-primary,
body.dark-theme button.primary { background:#0d6efd; border-color:#0d6efd; color:#fff; }

body.dark-theme code { background:#2d2d2d; color:#ff9db1; }
body.dark-theme hr { border-color:#404040; }

/* ============================================================
   ЗАГОЛОВКИ КАРТОЧЕК В НАСТРОЙКАХ CRM

   При смене цветовой схемы шапка карточки перекрашивалась, а цвет
   текста оставался заданным в разметке — получался тёмный текст на
   тёмном фоне, читаемый только выделением. Здесь цвет текста
   принудительно белый вместе с фоном.
   ============================================================ */
.card-header,
.card-header strong,
.card-header b,
body[data-accent] .card-header,
body[data-accent] .card-header strong,
body.dark-theme .card-header,
body.dark-theme .card-header strong { color:#fff !important; }

body[data-accent] .card-header { background-color: var(--crm-accent, #007bff) !important; }
body.dark-theme .card-header { background-color:#0d6efd; }

/* панель разделов в модулях — та же геометрия, что у вкладок CRM */
.xpnav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;background:#fff;
  border-bottom:1px solid #dee2e6;padding:6px 14px 0;font-size:14px}
.xpnav a{display:inline-block;padding:8px 14px;color:#495057;text-decoration:none;
  border:1px solid transparent;border-radius:6px 6px 0 0;white-space:nowrap}
.xpnav a:hover{background:#f8f9fa;border-color:#e9ecef #e9ecef #dee2e6;text-decoration:none}
.xpnav a.on{background:#fff;border-color:#dee2e6 #dee2e6 #fff;font-weight:600;margin-bottom:-1px}
.xpnav-sp{flex:1}
@media (max-width:640px){.xpnav{padding:4px 6px 0}.xpnav a{padding:7px 9px;font-size:13px}}

/* ============================================================
   ИМПЕРСКАЯ СХЕМА ДЛЯ СЧЕТОВ И ПРАЙСХАБА

   Задаётся в CRM и применяется во всех разделах: глубокий синий —
   основной, охра — выделения, бордо — опасные действия.
   ============================================================ */
body[data-accent="imperial"] {
  /* счета */
  --acc:#2a4a7f; --acc-d:#1d3557; --menu:#1d3557; --menu-hover:#e7ecf5;
  --lbl:#1d3557; --head:#e7ecf5; --head-fg:#1d3557;
  --panel:#fdf6e6; --panel-br:#d4a24c; --panel2:#e7ecf5; --panel2-br:#c3cee2;
  --focus:#2a4a7f; --focus-sh:rgba(42,74,127,.25); --inp-br:#c3cee2;
  --btn:#fff; --btn-fg:#1d3557; --line:#d8dfec; --hover:#f3f6fb;
  --tool:#f3f6fb; --tool-br:#d8dfec;
  /* ПрайсХаб */
  --a:#2a4a7f; --a-d:#1d3557; --ink:#1d3557; --slate:#3c5a8a; --mut:#7b8aa5;
}
body[data-accent="imperial"] .xpnav a.on { border-bottom-color:#d4a24c; }
body[data-accent="imperial"] .btn-red,
body[data-accent="imperial"] .btn-primary { background:#2a4a7f !important; border-color:#1d3557 !important; }
body[data-accent="imperial"] th { background:#e7ecf5; color:#1d3557; }

/* имперская в ночном режиме — синий уходит в графит, охра остаётся */
body.dark-theme[data-accent="imperial"] {
  --acc:#6f95d1; --acc-d:#4f74ad; --menu:#232a36; --menu-hover:#2d3646;
  --panel:#2a2418; --panel-br:#7a5f2a; --head:#232a36; --head-fg:#dce4f2;
  --a:#6f95d1; --a-d:#4f74ad; --ink:#e6e6e6;
}
