/* ══════════════════════════════════════════════════════════════════════════════
   Каркас · токены · версия 1.0 (16.09.2026)
   Один язык на все системы, два режима одной палитры (решение владельца 16.09.2026, №1).
   Тёмный — палитра продаж, утверждённая 19.07.2026 (.server/DESIGN.md § «Палитра утверждена»);
   светлый — «бумажная ведомость» 06.09.2026 (projects/finance/DESIGN.md § 3). Значения не менять
   без замера контраста (правило 19.07: мерить все акценты на тексте и на заливке отдельно).
   Режим ставится атрибутом data-theme на <html>: "light" | "dark". Атрибута нет — светлый.
   ══════════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:"Golos Text";font-weight:400;font-display:swap;src:url("fonts/GolosText-400.ttf") format("truetype")}
@font-face{font-family:"Golos Text";font-weight:500;font-display:swap;src:url("fonts/GolosText-500.ttf") format("truetype")}
@font-face{font-family:"Golos Text";font-weight:600;font-display:swap;src:url("fonts/GolosText-600.ttf") format("truetype")}
@font-face{font-family:"Golos Text";font-weight:700;font-display:swap;src:url("fonts/GolosText-700.ttf") format("truetype")}
@font-face{font-family:"Golos Text";font-weight:800;font-display:swap;src:url("fonts/GolosText-800.ttf") format("truetype")}

:root, [data-theme="light"]{
  color-scheme:light;
  /* поверхности: стол → лист → вложенный уровень */
  --bg:#F6F5F0; --panel:#FFFEFB; --panel-2:#F1EFE8; --panel-3:#E9E6DD;
  --line:#DBD8CD; --line-2:#B3AF9F;
  /* текст: основной · подпись (7,5:1) · только ≥14 px и иконки (3,4:1) */
  --ink:#1B1D1F; --ink-2:#54585C; --ink-3:#74766F;   /* 06.09 было #8A8B85 (3,4:1) — поднято замером 16.09 до 4,6:1 */
  /* бренд: заливка · текст на заливке · подложка · оранжевый ТЕКСТОМ (≥4,5:1 и на подложке) · слово-логотип
     («финансов» в имени — логотип, не текст: на светлом тёмный оранжевый документов #D96209, на тёмном фирменный) */
  --brand:#FF7A1A; --brand-ink:#15171A; --brand-soft:#FFF0E2; --brand-text:#AD4A08; --brand-word:#D96209;
  /* EVI: заливка · текст синим · подложка · текст НА синей заливке — только белый (§ 11.3) */
  --evi:#2F6FE0; --evi-text:#2358B8; --evi-soft:#E6EEFB; --evi-ink:#FFFFFF;
  /* деньги: пришло · ушло · под вопросом · поток между своими счетами. Семантика занята (10.08.2026) */
  --green:#1E6B44; --green-soft:#E4EFE7; --red:#A8261C; --red-soft:#F6E7E4;
  --amber:#8A6410; --amber-soft:#FAF0D6; --blue:#17456B; --blue-soft:#E4ECF4;
  --shadow:0 1px 0 rgba(0,0,0,.04), 0 8px 24px rgba(27,29,31,.06);
  --shadow-pop:0 18px 48px rgba(27,29,31,.18);
  --mark-bg:#15171A; --mark-ink:#F4F5F3;          /* плитка знака: графит + белый мамонт в обоих режимах */
  --focus:rgba(255,122,26,.45);
}
[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101215; --panel:#22262B; --panel-2:#282D33; --panel-3:#31373E;
  --line:#3A4046; --line-2:#4B535B;
  --ink:#EDEEEC; --ink-2:#9AA0A6; --ink-3:#8A9097;   /* 19.07 #767C83 был «только нетекст» — поднят до 4,7:1, чтобы годился для «—» и плейсхолдера */
  --brand:#FF7A1A; --brand-ink:#15171A; --brand-soft:rgba(255,122,26,.16); --brand-text:#FFA25E; --brand-word:#FF7A1A;
  --evi:#2F6FE0; --evi-text:#6B99F2; --evi-soft:rgba(47,111,224,.18); --evi-ink:#FFFFFF;
  --green:#4FBF7B; --green-soft:rgba(79,191,123,.12); --red:#EF8585; --red-soft:rgba(225,91,91,.14);
  --amber:#E0A741; --amber-soft:rgba(224,167,65,.12); --blue:#7FA8F5; --blue-soft:rgba(107,153,242,.14);
  --shadow:0 10px 30px rgba(0,0,0,.28);
  --shadow-pop:0 18px 48px rgba(0,0,0,.45);
  --mark-bg:#15171A; --mark-ink:#F4F5F3;
  --focus:rgba(255,122,26,.55);
}
/* Заливки, полоски и рамки остаются фирменными в любом режиме: красный фон пилюли — #E15B5B,
   не текстовый --red. Для них отдельные константы. */
:root{
  --fill-red:#E15B5B; --fill-green:#2E9E62; --fill-amber:#D9A03A;

  /* шрифт и шкала кеглей — ровно семь ступеней (продажи § 8.1; замер 16.09: базовый 14 у всех эталонов) */
  --font:"Golos Text",system-ui,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,Consolas,"Cascadia Mono",monospace;
  --fs-cap:11px;   /* КАПС-метка секции, 700, letter-spacing 1px */
  --fs-note:12.5px;/* подпись под числом, пояснение */
  --fs-ui:13.5px;  /* кнопки, меню, вкладки */
  --fs-base:14px;  /* текст, ячейки — не меньше */
  --fs-row:15px;   /* строка ведомости, имя в строке */
  --fs-h:20px;     /* имя, заголовок карточки */
  --fs-num:28px;   /* главное число секции */
  --fs-big:38px;   /* главная цифра экрана */
  --lh:1.35;

  /* шаг 4: 4 8 12 16 20 24 32 48 */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px; --s8:48px;
  --pad-page:28px; --pad-card:18px; --gap-cards:20px; --gap-row:8px;

  /* одна система скруглений на все системы (было 0 · 6–8 · 9–14) */
  --r-ctl:8px; --r-card:12px; --r-pop:14px; --r-pill:999px; --r-mark:10px;

  /* высоты: контрол · малый · поле · шапка · цель касания */
  --h-ctl:36px; --h-sm:30px; --h-inp:38px; --h-hdr:60px; --tap:44px;
  --w-act:130px;        /* колонка действий одной ширины — K.equalize подставляет замер */
  --w-helper:420px; --h-helper:600px;

  --z-drop:20; --z-sticky:30; --z-float:40; --z-modal:50;
  --t-fast:150ms; --t:220ms; --t-slow:320ms; --ease:cubic-bezier(.2,.7,.2,1);
}
@media (prefers-reduced-motion: reduce){ :root{ --t-fast:0ms; --t:0ms; --t-slow:0ms; } }
@media (max-width:700px){ :root{ --pad-page:16px; --pad-card:14px; --gap-cards:14px; --fs-big:32px; --fs-num:24px; } }
