/* Токены «Цеха» — сгенерировано из packages/tseh-ui/tokens/tokens.json (node packages/tseh-ui/tokens/build.mjs).
   Руками не править: правки — в tokens.json (или во вкладке «Токены» стенда), затем сборка; файл одинаковый во всех продуктах
   (/tseh/tokens.css: tender apps/web/public/tseh, cadcam public/tseh, zakupki static/tseh, ID public/tseh) и подключается до tseh.css. */

:root {
  /* color — Нейтрали и статусы светлой и тёмной темы */
  --t-bg: #fafaf7; /* Фон страницы */
  --t-bar: #ffffff; /* Шапка */
  --t-surface: #ffffff; /* Карточки, поля, меню */
  --t-surface-2: #f0f1ed; /* Подложки, наведение, шапка таблицы */
  --t-surface-3: #e6e8e2; /* Третья подложка: выключатель, неактивная плашка */
  --t-chip: #ecede8; /* Чипы, подсказки клавиш, счётчики */
  --t-hover: #f0f1ed; /* Наведение на пункты меню и кнопки шапки */
  --t-line: #d9ddd7; /* Линии: рамки полей и кнопок, меню */
  --t-line-2: #e8eae5; /* Тонкие линии: карточки, разделители, строки таблиц */
  --t-ink: #151719; /* Основной текст */
  --t-ink-2: #5e646a; /* Вторичный текст */
  --t-ink-3: #6f757b; /* Служебный текст (на белом не ниже 4,5 : 1) */
  --t-dark: #151719; /* Тёмная поверхность (одинаковая в обеих темах) */
  --t-dark-card: #25292d; /* Карточка на тёмной поверхности */
  --t-ok: #277347; /* Успех: текст и значок */
  --t-ok-soft: #e5f1e9; /* Успех: подложка */
  --t-warn: #936000; /* Предупреждение: текст и значок */
  --t-warn-soft: #fbf0d9; /* Предупреждение: подложка */
  --t-danger: #b73535; /* Ошибка: текст и значок */
  --t-danger-soft: #fae6e6; /* Ошибка: подложка */
  --t-info: #3658d9; /* Информация: текст и значок */
  --t-info-soft: #eef1ff; /* Информация: подложка */
  --t-inv-ok: #6cc08f; /* Успех на инверсной подложке (уведомление-тост цвета текста) */
  --t-inv-warn: #e8b04a; /* Предупреждение на инверсной подложке */
  --t-inv-danger: #f08a8a; /* Ошибка на инверсной подложке */
  --t-inv-info: #9badf8; /* Информация на инверсной подложке */
  --t-live: #5fd38a; /* Точка «в сети», индикатор шапки */
  --t-hot: #f0a24a; /* Точка «горит» (сроки) */
  --t-overlay: rgba(10, 11, 12, .45); /* Затемнение под окнами и палитрой ⌘K */
  --t-ava-bg: linear-gradient(135deg, #496af3, #8055df 55%, #ef704d); /* Аватар без фото: градиент цветов Детали, Обработки и Комплекта */
  --t-komplekt: #ef704d; /* Цвет Комплекта — для меток «откуда пришло» */
  --t-detal: #496af3; /* Цвет Детали — для меток */
  --t-obrabotka: #8055df; /* Цвет Обработки — для меток */
  --t-podryad: #c0dd72; /* Цвет Подряда — для меток */
  /* space — Ритм: базовый шаг и кратные ему отступы */
  --t-space: 4px; /* Базовый шаг: все отступы считаются от него */
  --t-space-0-5: 2px; /* 2 px — зазоры значков */
  --t-space-1: 4px; /* 4 px — шкала брендбука */
  --t-space-1-5: 6px; /* 6 px — зазор значка и подписи */
  --t-space-2: 8px; /* 8 px — шкала брендбука */
  --t-space-2-5: 10px; /* 10 px — отступы пунктов меню и кнопок шапки */
  --t-space-3: 12px; /* 12 px — шкала брендбука */
  --t-space-3-5: 14px; /* 14 px — отступ текста в поле */
  --t-space-4: 16px; /* 16 px — шкала брендбука */
  --t-space-5: 20px; /* 20 px */
  --t-space-6: 24px; /* 24 px — шкала брендбука */
  --t-space-7: 28px; /* 28 px — поля страницы Подряда, окно входа */
  --t-space-8: 32px; /* 32 px — шкала брендбука */
  --t-space-12: 48px; /* 48 px — шкала брендбука */
  --t-space-16: 64px; /* 64 px — шкала брендбука */
  /* size — Высоты контролов, строк шапки, значков и аватаров */
  --t-ctl-xs: 28px; /* Малая кнопка-значок */
  --t-ctl-sm: 32px; /* Малые кнопки и поля (таблицы, панели), сегменты, чипы */
  --t-ctl-hd: 36px; /* Кнопки шапки: крошки, поиск, значки; кнопка-значок; кнопки страниц Подряда */
  --t-ctl-md: 44px; /* Поля и кнопки по умолчанию (брендбук) */
  --t-ctl: var(--t-ctl-md); /* Прежнее имя высоты поля и кнопки (44 px) — используют Деталь, Обработка, Комплект */
  --t-ctl-lg: 52px; /* Крупные кнопки: вход, лендинг; строка поиска палитры ⌘K */
  --t-hd-h1: 56px; /* Шапка, строка 1: продукт, крошки, поиск, аватар */
  --t-hd-h1-m: 52px; /* Шапка, строка 1 на телефоне (до 760 px) */
  --t-hd-h2: 44px; /* Шапка, строка 2: разделы продукта (высота вкладки) */
  --t-hd-px: var(--t-space-4); /* Поля шапки слева и справа */
  --t-hd-mark: 30px; /* Значок продукта в шапке */
  --t-hd-mark-m: 28px; /* Значок продукта в шапке на телефоне */
  --t-ava: 32px; /* Аватар в шапке */
  --t-ava-lg: 44px; /* Аватар в меню учётной записи */
  --t-logo: 32px; /* Высота логотипа в интерфейсе (минимум брендбука) */
  --t-logo-lg: 48px; /* Логотип на экране входа */
  --t-ico-sm: 16px; /* Значок в малых кнопках, чипах, шевроны */
  --t-ico: 18px; /* Значок интерфейса (lucide, линия 1,7) */
  --t-ico-md: 20px; /* Значок в кнопке */
  --t-ico-lg: 24px; /* Крупный значок: пустое состояние */
  --t-st-h: 26px; /* Высота статуса-таблетки */
  --t-st-h-sm: 22px; /* Малый статус, короткие метки */
  --t-st-h-row: 24px; /* Статус и метка в строке таблицы Подряда */
  /* radius — Скругления: поля и кнопки — 12, карточки — 20 (брендбук); чипы и статусы — таблетка */
  --t-r-2xs: 6px; /* Подсказки клавиш, бейджи, флажки */
  --t-r-xs: 8px; /* Внутренние элементы: сегменты, пункты списка, поля Подряда */
  --t-r-item: 10px; /* Пункты меню, кнопки шапки, малые кнопки и поля */
  --t-r-sm: 12px; /* Поля и кнопки (брендбук) */
  --t-r-pop: 14px; /* Выпадающие меню, рамка таблицы */
  --t-r-dialog: 16px; /* Палитра ⌘K */
  --t-r: 20px; /* Карточки и окна (брендбук) */
  --t-r-xl: 28px; /* Крупные панели лендинга */
  --t-r-pill: 999px; /* Чипы, статусы, счётчики — таблетка */
  --t-r-mark: 8px; /* Значок продукта 30–32 px в шапке и меню */
  /* border — Линии и рамка фокуса */
  --t-border-w: 1px; /* Толщина линий: рамки, разделители, строки */
  --t-focus-w: 2px; /* Толщина рамки фокуса (клавиатура) */
  --t-focus-offset: 2px; /* Отступ рамки фокуса у кнопок и пунктов */
  --t-focus-offset-in: 1px; /* Отступ рамки фокуса у полей ввода */
  --t-focus-color: var(--t-accent); /* Цвет рамки фокуса кнопок и пунктов — цвет продукта */
  --t-focus-color-in: var(--t-link); /* Цвет рамки фокуса полей — ссылка продукта */
  --t-tab-line: 2px; /* Полоска под активной вкладкой (цвет продукта) */
  /* font — Один шрифт — Golos Text (вариативный 400–900); шкала брендбука 48/56, 36/44, 28/36, 22/30, 16/24, 14/20, 12/16 и размеры интерфейса 18/26, 15/22, 13/18 */
  --t-font: 'Golos Text', Arial, sans-serif; /* Шрифт всей линейки */
  --t-mono: 'Golos Text', Arial, sans-serif; /* Цифры и коды — тот же шрифт; в таблицах — .t-num (tabular-nums) */
  --t-fw-regular: 400; /* Regular — текст для чтения */
  --t-fw-medium: 500; /* Medium — действия, подписи, вкладки */
  --t-fw-semibold: 600; /* SemiBold — заголовки, выделение */
  --t-fw-bold: 700; /* Bold — крупные заголовки */
  --t-fs-display: 48px; /* Display — обложки, лендинг */
  --t-lh-display: 56px; /* Display — обложки, лендинг */
  --t-fw-display: var(--t-fw-bold); /* Display — обложки, лендинг */
  --t-fs-h1: 36px; /* H1 — заголовок страницы */
  --t-lh-h1: 44px; /* H1 — заголовок страницы */
  --t-fw-h1: var(--t-fw-bold); /* H1 — заголовок страницы */
  --t-fs-h2: 28px; /* H2 — раздел; экран входа */
  --t-lh-h2: 36px; /* H2 — раздел; экран входа */
  --t-fw-h2: var(--t-fw-semibold); /* H2 — раздел; экран входа */
  --t-fs-h3: 22px; /* H3 — блок, окно */
  --t-lh-h3: 30px; /* H3 — блок, окно */
  --t-fw-h3: var(--t-fw-semibold); /* H3 — блок, окно */
  --t-fs-h4: 18px; /* H4 — заголовок карточки, пустого состояния */
  --t-lh-h4: 26px; /* H4 — заголовок карточки, пустого состояния */
  --t-fw-h4: var(--t-fw-semibold); /* H4 — заголовок карточки, пустого состояния */
  --t-fs-body: 16px; /* Текст, поля, кнопки */
  --t-lh-body: 24px; /* Текст, поля, кнопки */
  --t-fw-body: var(--t-fw-regular); /* Текст, поля, кнопки */
  --t-fs-ui: 15px; /* Интерфейс: меню, вкладки, таблицы, шапка */
  --t-lh-ui: 22px; /* Интерфейс: меню, вкладки, таблицы, шапка */
  --t-fw-ui: var(--t-fw-regular); /* Интерфейс: меню, вкладки, таблицы, шапка */
  --t-fs-sm: 14px; /* Подпись поля, малые кнопки, сегменты */
  --t-lh-sm: 20px; /* Подпись поля, малые кнопки, сегменты */
  --t-fw-sm: var(--t-fw-medium); /* Подпись поля, малые кнопки, сегменты */
  --t-fs-caption: 13px; /* Пояснения в меню, статусы */
  --t-lh-caption: 18px; /* Пояснения в меню, статусы */
  --t-fw-caption: var(--t-fw-regular); /* Пояснения в меню, статусы */
  --t-fs-xs: 12px; /* Служебный: время, подсказки, счётчики */
  --t-lh-xs: 16px; /* Служебный: время, подсказки, счётчики */
  --t-fw-xs: var(--t-fw-regular); /* Служебный: время, подсказки, счётчики */
  --t-ls-tight: -.01em; /* Крупные заголовки */
  --t-ls-caps: .06em; /* Подзаголовки меню ПРОПИСНЫМИ */
  /* shadow — Теней нет: карточки держатся на линиях */
  --t-shadow: none; /* Карточки — без тени */
  --t-shadow-pop: 0 12px 32px rgba(21, 23, 25, .14); /* Выпадающие меню, окна, палитра ⌘K, тосты */
  /* motion — Анимации; при prefers-reduced-motion меню и окна появляются без анимации */
  --t-dur-fast: .12s; /* Цвет кнопок и рамок при наведении */
  --t-dur: .15s; /* Поворот шеврона, выключатель */
  --t-dur-pop: .14s; /* Появление меню, окна и палитры ⌘K */
  --t-dur-toast: .18s; /* Появление уведомления-тоста */
  --t-ease: ease-out; /* Кривая появления */
  /* state — Состояния и доли смешивания цветов */
  --t-op-disabled: 0.5; /* Прозрачность неактивных кнопок, полей и пунктов */
  --t-role-mix: 22%; /* Доля цвета продукта в фоне чипа роли и бейджа */
  /* button — Кнопки @tseh/ui (.tu-btn) и экрана входа (.t-btn): размеры и цвета вариантов */
  --t-btn-fw: var(--t-fw-medium); /* Начертание подписи */
  --t-btn-lh: 20px; /* Межстрочный подписи */
  --t-btn-sm-h: var(--t-ctl-sm); /* Высота малой кнопки (таблицы, панели) */
  --t-btn-sm-px: var(--t-space-3); /* Поля слева и справа */
  --t-btn-sm-fs: var(--t-fs-sm); /* Размер подписи */
  --t-btn-sm-gap: var(--t-space-1-5); /* Зазор значка и подписи */
  --t-btn-sm-r: var(--t-r-item); /* Скругление */
  --t-btn-sm-ico: var(--t-ico-sm); /* Значок */
  --t-btn-md-h: var(--t-ctl-md); /* Высота кнопки по умолчанию (брендбук) */
  --t-btn-md-px: 18px; /* Поля слева и справа */
  --t-btn-md-fs: var(--t-fs-body); /* Размер подписи */
  --t-btn-md-gap: var(--t-space-2); /* Зазор значка и подписи */
  --t-btn-md-r: var(--t-r-sm); /* Скругление */
  --t-btn-md-ico: var(--t-ico-md); /* Значок */
  --t-btn-lg-h: var(--t-ctl-lg); /* Высота крупной кнопки (вход, лендинг) */
  --t-btn-lg-px: var(--t-space-6); /* Поля слева и справа */
  --t-btn-lg-fs: var(--t-fs-body); /* Размер подписи */
  --t-btn-lg-gap: var(--t-space-2); /* Зазор значка и подписи */
  --t-btn-lg-r: var(--t-r-sm); /* Скругление */
  --t-btn-lg-ico: var(--t-ico-md); /* Значок */
  --t-btn-primary-bg: var(--t-accent); /* Главная: фон — цвет продукта */
  --t-btn-primary-ink: var(--t-accent-ink); /* Главная: текст — по контрасту */
  --t-btn-primary-hover: var(--t-accent-hover); /* Главная: фон при наведении (у Детали и Обработки темнее, у Комплекта и Подряда светлее) */
  --t-btn-secondary-bg: var(--t-surface); /* Обычная: фон */
  --t-btn-secondary-ink: var(--t-ink); /* Обычная: текст */
  --t-btn-secondary-line: var(--t-line); /* Обычная: цвет обводки */
  --t-btn-secondary-bw: var(--t-border-w); /* Обычная: толщина обводки */
  --t-btn-secondary-hover: var(--t-surface-2); /* Обычная: фон при наведении */
  --t-btn-ghost-ink: var(--t-ink-2); /* Второстепенная: текст (фон прозрачный) */
  --t-btn-ghost-hover: var(--t-hover); /* Второстепенная: фон при наведении */
  --t-btn-ghost-hover-ink: var(--t-ink); /* Второстепенная: текст при наведении */
  --t-btn-danger-bg: var(--t-danger-soft); /* Удаление: фон */
  --t-btn-danger-ink: var(--t-danger); /* Удаление: текст */
  --t-btn-danger-line-mix: 30%; /* Удаление: обводка — доля цвета ошибки */
  --t-btn-danger-hover-mix: 18%; /* Удаление: фон при наведении — доля цвета ошибки поверх карточки */
  --t-btn-app-h: var(--t-ctl-hd); /* Высота (не меньше) */
  --t-btn-app-py: .45rem; /* Поля сверху и снизу */
  --t-btn-app-px: .9rem; /* Поля слева и справа */
  --t-btn-app-sm-h: 30px; /* Малая: высота */
  --t-btn-app-sm-py: .25rem; /* Малая: поля сверху и снизу */
  --t-btn-app-sm-px: .6rem; /* Малая: поля слева и справа */
  --t-btn-app-hover: 1.08; /* Наведение: яркость фона (1,08 — светлее на 8 %, 0,92 — темнее на 8 %) */
  /* control — Поля ввода, меню, таблицы и вкладки */
  --t-input-px: var(--t-space-3-5); /* Поле: отступ текста слева и справа */
  --t-input-py: var(--t-space-2-5); /* Поле в несколько строк и кнопка входа: отступ сверху и снизу */
  --t-input-sm-px: var(--t-space-2-5); /* Малое поле: отступ текста */
  --t-pop-pad: var(--t-space-1-5); /* Меню: внутренний отступ */
  --t-mi-py: 9px; /* Пункт меню: отступ сверху и снизу (высота строки = 22 + 2 × 9 = 40 px) */
  --t-mi-px: var(--t-space-2-5); /* Пункт меню: отступ слева и справа */
  --t-mi-gap: var(--t-space-3); /* Пункт меню: зазор значка и подписи */
  --t-cell-py: var(--t-space-3); /* Ячейка таблицы: отступ сверху и снизу (строка = 22 + 2 × 12 = 46 px) */
  --t-cell-px: var(--t-space-4); /* Ячейка таблицы: отступ слева и справа */
  --t-cell-py-sm: var(--t-space-2); /* Плотная таблица: отступ сверху и снизу (строка 38 px) */
  --t-cell-px-sm: var(--t-space-3); /* Плотная таблица: отступ слева и справа */
  --t-tab-px: var(--t-space-2-5); /* Вкладка: отступ слева и справа (и полоски активной вкладки) */
  /* product — Подряд по умолчанию (без data-app); цвета продуктов — ниже, :root[data-app] */
  --t-brand-color: #c0dd72; /* Фирменный цвет продукта (значок, метки) */
  --t-accent: #c0dd72; /* Главная кнопка, активная вкладка, флажки */
  --t-accent-hover: #c8e183; /* Главная кнопка при наведении */
  --t-accent-ink: #151719; /* Текст на главной кнопке — по контрасту */
  --t-accent-soft: #f1f7e3; /* Подложка в цвете продукта: выбранная строка, текущий пункт */
  --t-link: #6a7a3f; /* Текстовые ссылки и активные пункты, рамка фокуса полей */
  --t-acc-link: #435b15; /* «Цвет действия» брендбука: чип роли, галочки */
  color-scheme: light;
}
/* Комплект */
:root[data-app="zakupki"] {
  --t-brand-color: #ef704d;
  --t-accent: #ef704d;
  --t-accent-hover: #f18162;
  --t-accent-ink: #151719;
  --t-accent-soft: #fff0ea;
  --t-link: #833e2a;
  --t-acc-link: #9b341e;
}
/* Деталь */
:root[data-app="cad"], :root[data-app="cadcam"] {
  --t-brand-color: #496af3;
  --t-accent: #496af3;
  --t-accent-hover: #405dd6;
  --t-accent-ink: #ffffff;
  --t-accent-soft: #eef1ff;
  --t-link: #496af3;
  --t-acc-link: #3658d9;
}
/* Обработка */
:root[data-app="cam"] {
  --t-brand-color: #8055df;
  --t-accent: #8055df;
  --t-accent-hover: #714bc4;
  --t-accent-ink: #ffffff;
  --t-accent-soft: #f2ecfc;
  --t-link: #8055df;
  --t-acc-link: #6c3ec6;
}
/* Подряд */
:root[data-app="tender"] {
  --t-brand-color: #c0dd72;
  --t-accent: #c0dd72;
  --t-accent-hover: #c8e183;
  --t-accent-ink: #151719;
  --t-accent-soft: #f1f7e3;
  --t-link: #6a7a3f;
  --t-acc-link: #435b15;
}

/* Тёмная тема: data-theme="dark" на <html> — всегда; класс t-dark-auto без data-theme — по prefers-color-scheme («Авто»);
   data-theme="light" — всегда светлая. Продукты без тёмной темы класс t-dark-auto не ставят. Без data-app в тёмной теме — продукт «Деталь». */
@media (prefers-color-scheme: dark) {
  :root.t-dark-auto:not([data-theme="light"]) {
    --t-bg: #151719;
    --t-bar: #151719;
    --t-surface: #1d2023;
    --t-surface-2: #25292d;
    --t-surface-3: #2c3034;
    --t-chip: #2c3034;
    --t-hover: #25292d;
    --t-line: #3a3f44;
    --t-line-2: #2a2e32;
    --t-ink: #f4f5f3;
    --t-ink-2: #adb2b6;
    --t-ink-3: #82888d;
    --t-ok: #6cc08f;
    --t-ok-soft: #1f3529;
    --t-warn: #e8b04a;
    --t-warn-soft: #3b3020;
    --t-danger: #f08a8a;
    --t-danger-soft: #432628;
    --t-info: #9badf8;
    --t-info-soft: #262f50;
    --t-inv-ok: #277347;
    --t-inv-warn: #936000;
    --t-inv-danger: #b73535;
    --t-inv-info: #3658d9;
    --t-shadow-pop: 0 16px 40px rgba(0, 0, 0, .55);
    --t-accent: #496af3;
    --t-accent-hover: #405dd6;
    --t-accent-ink: #ffffff;
    --t-accent-soft: #2f3b64;
    --t-link: #9badf8;
    --t-acc-link: #9badf8;
    color-scheme: dark;
  }
  :root.t-dark-auto[data-app="zakupki"]:not([data-theme="light"]) {
    --t-accent: #ef704d;
    --t-accent-hover: #f18162;
    --t-accent-ink: #151719;
    --t-accent-soft: #45291f;
    --t-link: #f5a58c;
    --t-acc-link: #f5a58c;
  }
  :root.t-dark-auto[data-app="cam"]:not([data-theme="light"]) {
    --t-accent: #8055df;
    --t-accent-hover: #714bc4;
    --t-accent-ink: #ffffff;
    --t-accent-soft: #3e355f;
    --t-link: #b9a2ed;
    --t-acc-link: #b9a2ed;
  }
  :root.t-dark-auto[data-app="tender"]:not([data-theme="light"]) {
    --t-accent: #c0dd72;
    --t-accent-hover: #c8e183;
    --t-accent-ink: #151719;
    --t-accent-soft: #2e3622;
    --t-link: #c0dd72;
    --t-acc-link: #c0dd72;
  }
}
:root[data-theme="dark"] {
  --t-bg: #151719;
  --t-bar: #151719;
  --t-surface: #1d2023;
  --t-surface-2: #25292d;
  --t-surface-3: #2c3034;
  --t-chip: #2c3034;
  --t-hover: #25292d;
  --t-line: #3a3f44;
  --t-line-2: #2a2e32;
  --t-ink: #f4f5f3;
  --t-ink-2: #adb2b6;
  --t-ink-3: #82888d;
  --t-ok: #6cc08f;
  --t-ok-soft: #1f3529;
  --t-warn: #e8b04a;
  --t-warn-soft: #3b3020;
  --t-danger: #f08a8a;
  --t-danger-soft: #432628;
  --t-info: #9badf8;
  --t-info-soft: #262f50;
  --t-inv-ok: #277347;
  --t-inv-warn: #936000;
  --t-inv-danger: #b73535;
  --t-inv-info: #3658d9;
  --t-shadow-pop: 0 16px 40px rgba(0, 0, 0, .55);
  --t-accent: #496af3;
  --t-accent-hover: #405dd6;
  --t-accent-ink: #ffffff;
  --t-accent-soft: #2f3b64;
  --t-link: #9badf8;
  --t-acc-link: #9badf8;
  color-scheme: dark;
}
:root[data-theme="dark"][data-app="zakupki"] {
  --t-accent: #ef704d;
  --t-accent-hover: #f18162;
  --t-accent-ink: #151719;
  --t-accent-soft: #45291f;
  --t-link: #f5a58c;
  --t-acc-link: #f5a58c;
}
:root[data-theme="dark"][data-app="cam"] {
  --t-accent: #8055df;
  --t-accent-hover: #714bc4;
  --t-accent-ink: #ffffff;
  --t-accent-soft: #3e355f;
  --t-link: #b9a2ed;
  --t-acc-link: #b9a2ed;
}
:root[data-theme="dark"][data-app="tender"] {
  --t-accent: #c0dd72;
  --t-accent-hover: #c8e183;
  --t-accent-ink: #151719;
  --t-accent-soft: #2e3622;
  --t-link: #c0dd72;
  --t-acc-link: #c0dd72;
}
