/* =====================================================================
   Дизайн-токены — стандарт 03. Единственный источник цветов, размеров,
   отступов, радиусов, теней, слоёв и длительностей.
   В компонентах и разметке — только var(--…). Hex-цвета вне этого файла запрещены (DS-01).
   Акцент проекта переопределяется блоком «Бренд проекта» в конце файла проекта, не здесь.
   ===================================================================== */

:root {
  color-scheme: light;

  /* ---- Поверхности ---- */
  --bg: #f4f5f9;            /* фон страницы */
  --surface: #ffffff;       /* карточки, модалки, поля */
  --surface-2: #f8f9fc;     /* подвалы карточек, шапки таблиц, hover строк */
  --surface-3: #eef0f5;     /* сегментные вкладки, ghost-hover, скелетон */
  --overlay: rgb(15 23 42 / 0.42);  /* затемнение под модалкой и меню */

  /* ---- Текст ---- */
  --ink: #0f172a;           /* основной */
  --ink-2: #334155;         /* второстепенный, значения в таблицах */
  --muted: #64748b;         /* подписи, шапки таблиц (≥ 4.5:1 на белом) */
  --faint: #94a3b8;         /* ТОЛЬКО плейсхолдеры и иконки, не текст */
  --on-primary: #ffffff;    /* текст на --primary и --bad */
  --on-warn: #1f1300;       /* текст на --warn (баннер) */
  --knob: #ffffff;          /* бегунок переключателя — белый в обеих темах */

  /* ---- Линии ---- */
  --line: #e5e8ef;          /* рамки карточек и полей */
  --line-2: #eef0f5;        /* разделители строк таблиц */
  --line-strong: #cfd4df;   /* рамка при hover */

  /* ---- Акцент (по умолчанию индиго, как FBS) ---- */
  --primary: #4f46e5;
  --primary-hover: #4338ca;
  --primary-active: #3730a3;
  --primary-soft: #eef0ff;
  --primary-ink: #3730a3;   /* текст на --primary-soft */
  --focus: #6366f1;         /* кольцо фокуса */

  /* ---- Статусы: насыщенный (иконки, точки, полосы) / soft (фон) / ink (текст на soft, AA) ---- */
  --ok: #059669;   --ok-soft: #e7f7f0;   --ok-ink: #065f46;
  --warn: #d97706; --warn-soft: #fff5e5; --warn-ink: #92400e;
  --bad: #e11d48;  --bad-soft: #fdecf0;  --bad-ink: #9f1239;
  --info: #0284c7; --info-soft: #e8f4fd; --info-ink: #075985;

  /* ---- Маркетплейсы (только бейджи площадки) ---- */
  --wb: #a3168f;   --wb-soft: #fbeaf8;
  --oz: #1f5eff;   --oz-soft: #e9f0ff;
  --ym: #8a6d00;   --ym-soft: #fff7d1;

  /* ---- Шрифт ---- */
  --font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace;

  /* Шкала кеглей: других размеров нет (DS-10) */
  --fs-xs: 12px;     /* шапки таблиц, бейджи, подсказки */
  --fs-sm: 13px;     /* вторичный текст, малые кнопки */
  --fs-base: 14px;   /* основной текст, поля, кнопки */
  --fs-md: 16px;     /* заголовки карточек; поля на телефоне */
  --fs-lg: 18px;     /* заголовки модалок */
  --fs-xl: 22px;     /* заголовок страницы h1 */
  --fs-2xl: 28px;    /* цифры в плитках-показателях */
  --fs-3xl: 36px;    /* hero-цифры (экран сканера) */

  --lh-tight: 1.2;
  --lh: 1.5;
  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;

  /* ---- Отступы: шаг 4px ---- */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;

  /* ---- Высоты контролов: кнопка = поле = селект в одном ряду (DS-12) ---- */
  --h-sm: 32px;
  --h: 38px;
  --h-lg: 44px;      /* основная кнопка на телефоне, минимальная сенсорная цель */

  /* ---- Радиусы ---- */
  --r-xs: 6px;       /* бейдж площадки, мелкие превью */
  --r-sm: 10px;      /* кнопки, поля */
  --r: 14px;         /* карточки, алерты */
  --r-lg: 20px;      /* модалки, крупные панели */
  --r-full: 999px;   /* пилюли, теги, переключатели */

  /* ---- Тени ---- */
  --sh-1: 0 1px 2px rgb(15 23 42 / 0.05);
  --sh-2: 0 1px 2px rgb(15 23 42 / 0.04), 0 10px 30px rgb(15 23 42 / 0.06);
  --sh-3: 0 24px 60px rgb(15 23 42 / 0.22);
  --ring: 0 0 0 3px rgb(99 102 241 / 0.28);

  /* ---- Слои ---- */
  --z-sticky: 10;    /* шапка таблицы, закреплённые столбцы */
  --z-header: 20;    /* верхняя панель на телефоне */
  --z-fab: 30;
  --z-drawer: 40;    /* выезжающее меню */
  --z-modal: 50;
  --z-toast: 60;
  --z-banner: 70;    /* «нет связи», «доступна новая версия» */

  /* ---- Движение ---- */
  --t-fast: 120ms;
  --t: 180ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);

  /* ---- Каркас ---- */
  --sidebar-w: 240px;
  --topbar-h: 56px;
  --content-max: 1440px;
  --page-pad: var(--sp-4);   /* на ≥ 1024px — --sp-6 (см. components.css) */
}

/* ---------------------------------------------------------------------
   Тёмная тема [РЕК]: включается системой или атрибутом data-theme="dark".
   data-theme="light" принудительно оставляет светлую.
   --------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #0b1020; --surface: #121829; --surface-2: #171e31; --surface-3: #1e263b;
    --overlay: rgb(2 6 23 / 0.6);
    --ink: #e7eaf2; --ink-2: #c3c9d6; --muted: #94a0b5; --faint: #64708a;
    --line: #262f45; --line-2: #1e263b; --line-strong: #34405c;
    --primary: #6d68f5; --primary-hover: #807bf7; --primary-active: #938ff8;
    --primary-soft: #23264d; --primary-ink: #c4c2ff; --focus: #8b87ff;
    --ok: #34d399; --ok-soft: #0f2e25; --ok-ink: #8ae9c5;
    --warn: #fbbf24; --warn-soft: #33260b; --warn-ink: #fcd88a;
    --bad: #fb7185; --bad-soft: #3a1520; --bad-ink: #fdb1bd;
    --info: #38bdf8; --info-soft: #0c2a3d; --info-ink: #a5dcfa;
    --wb: #e879d6; --wb-soft: #3a1435; --oz: #7aa2ff; --oz-soft: #172449; --ym: #f5cf4d; --ym-soft: #332a08;
    --sh-1: 0 1px 2px rgb(0 0 0 / 0.3);
    --sh-2: 0 1px 2px rgb(0 0 0 / 0.3), 0 10px 30px rgb(0 0 0 / 0.35);
    --sh-3: 0 24px 60px rgb(0 0 0 / 0.55);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b1020; --surface: #121829; --surface-2: #171e31; --surface-3: #1e263b;
  --overlay: rgb(2 6 23 / 0.6);
  --ink: #e7eaf2; --ink-2: #c3c9d6; --muted: #94a0b5; --faint: #64708a;
  --line: #262f45; --line-2: #1e263b; --line-strong: #34405c;
  --primary: #6d68f5; --primary-hover: #807bf7; --primary-active: #938ff8;
  --primary-soft: #23264d; --primary-ink: #c4c2ff; --focus: #8b87ff;
  --ok: #34d399; --ok-soft: #0f2e25; --ok-ink: #8ae9c5;
  --warn: #fbbf24; --warn-soft: #33260b; --warn-ink: #fcd88a;
  --bad: #fb7185; --bad-soft: #3a1520; --bad-ink: #fdb1bd;
  --info: #38bdf8; --info-soft: #0c2a3d; --info-ink: #a5dcfa;
  --wb: #e879d6; --wb-soft: #3a1435; --oz: #7aa2ff; --oz-soft: #172449; --ym: #f5cf4d; --ym-soft: #332a08;
  --sh-1: 0 1px 2px rgb(0 0 0 / 0.3);
  --sh-2: 0 1px 2px rgb(0 0 0 / 0.3), 0 10px 30px rgb(0 0 0 / 0.35);
  --sh-3: 0 24px 60px rgb(0 0 0 / 0.55);
}
