/* ============================================================================================
   dxweb — токены оформления (v1.0.276, задача 130, волна 1)
   Единственный источник правды по цветам, размерам шрифта, радиусам и отступам.
   Подключается первым в public/_header.php, до style.css и ui.css.

   Значения палитры перенесены из public/assets/style.css ОДИН В ОДИН (там они лежали с самого
   начала) — на вид страниц волна 1 не влияет: страницы, у которых есть свой блок <style>,
   по-прежнему перекрывают общий слой, а запасные цвета var(--x, #цвет) пока не тронуты.

   Блок «тёмная тема» — заготовка: он ничего не меняет, пока на <html> нет data-theme="dark".
   ============================================================================================ */

:root{
  /* --- палитра (текущие значения проекта) --- */
  --bg:#f4f5f7;          /* фон страницы */
  --panel:#fff;          /* панели, карточки, поля */
  --border:#e6e8ec;      /* границы */
  --text:#20242e;        /* основной текст */
  --muted:#8a919e;       /* приглушённый текст */
  --blue:#0b6fd8;        /* акцент */
  --active:#eef4fc;      /* фон активного пункта меню */
  --orange:#f26b1d;      /* фирменный акцент логотипа */
  --on-accent:#fff;      /* текст на цветном/тёмном фоне (кнопки, шапки): НЕ то же, что фон панели —
                            в тёмной теме остаётся белым, тогда как --panel темнеет */

  /* --- смысловые цвета (объявлены токенами; на вид пока не влияют) --- */
  --bg-soft:#fbfcfd;     /* фон шапок таблиц и плашек кнопок */
  --bg-hover:#f8fafc;    /* подсветка строки под курсором */
  --bg-accent:#f0f7ff;   /* светлый акцентный фон (блок подсказок, «✓ Проверено») */
  --focus-ring:#dcebfc;  /* обводка поля в фокусе */
  --border-strong:#d3d9e3; /* дорожка тумблера, границы кнопок вторичного вида */
  --danger:#c0392b;      /* удаление, ошибки */
  --danger-hover:#fdecea;
  --danger-border:#f0c8c4;
  --success:#1a7f37;     /* «ок», сходится */
  --dark:#23292f;        /* тёмная кнопка */
  --primary-hover:#095cba; /* акцент под курсором */

  /* --- шкала размеров шрифта (задача 135, волна 3) ---
     Верхний ряд — СМЫСЛОВАЯ шкала: эти восемь значений и есть целевой набор, им пишется новый код.
     Нижний ряд — «исторические» значения, живущие на страницах с самого начала. Теперь КАЖДОЕ
     объявление font-size на страницах и в общих файлах берётся отсюда (замер 17.10.2026: 602
     объявления, 22 значения в блоках <style> и 13 в инлайн-стилях). Значения в px равны тем, что
     стояли в коде, поэтому замена на токены НЕ меняет вид — проверено построчной сверкой
     (tmp/ui135/verify_tokens.py) и замером computed-стилей в браузере.
     Сведение исторических значений к смысловой шкале (11.5→12, 13→13.5 и т.п.) — отдельное решение:
     оно МЕНЯЕТ вид, поэтому в волну 3 не входит. */
  --fs-xs:11px;    --fs-sm:12px;   --fs-sm2:12.5px; --fs-base:13.5px;
  --fs-md:14px;    --fs-lg:16px;   --fs-xl:20px;    --fs-xxl:24px;
  /* исторические значения (держатся как есть, чтобы волна 3 была без изменения вида) */
  --fs-10:10px;  --fs-11:11px;    --fs-115:11.5px; --fs-12:12px;   --fs-125:12.5px;
  --fs-13:13px;  --fs-135:13.5px; --fs-14:14px;    --fs-15:15px;   --fs-16:16px;
  --fs-17:17px;  --fs-18:18px;    --fs-19:19px;    --fs-20:20px;   --fs-22:22px;
  --fs-24:24px;  --fs-32:32px;    --fs-42:42px;

  /* --- радиусы --- */
  --radius-sm:6px; --radius:8px; --radius-lg:10px; --radius-xl:12px; --radius-pill:20px;

  /* --- отступы (шаг 4 px) --- */
  --sp-1:4px; --sp-2:8px; --sp-3:10px; --sp-4:12px; --sp-5:16px; --sp-6:20px; --sp-7:24px;

  /* --- размеры элементов управления --- */
  --btn-py:7px; --btn-px:12px;          /* кнопка: базовый вид (18 страниц из 37) */
  --pad-plashka:10px 12px;              /* плашка кнопок внизу формы */
  --bar-h:71px;                         /* высота плашки по замеру 15.10.2026 */
  --font:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  /* --- тени --- */
  --shadow-pop:0 8px 24px rgba(0,0,0,.12);
  --shadow-modal:0 10px 40px rgba(0,0,0,.2);
}

/* Заготовка тёмной темы (задача 130, п.1). Пока не включается: на <html> нет data-theme.
   Проверка: <html data-theme="dark"> — вид меняется без правки страниц. */
html[data-theme="dark"]{
  --bg:#14181d; --panel:#1c2128; --border:#2c333c; --text:#e6e9ee; --muted:#98a2b3;
  --blue:#4c9ff0; --active:#22303f; --bg-soft:#1f252c; --bg-hover:#232a32; --bg-accent:#1d2b3a;
  --focus-ring:#24405c; --border-strong:#39424d; --dark:#3a424c; --primary-hover:#3b8ada;
}
