/* tokens.css · Опросник клиента · Сбор сведений
   Собрано tools/build-tokens.mjs из эталона (~/Projects/dizayn-sistema), руками не править.
   Палитра Indigo · шрифт Base. */

:root {
  /* Primitives · Indigo */
  --color-neutral-0: #ffffff;
  --color-neutral-25: #f7f7f8;
  --color-neutral-50: #efeff1;
  --color-neutral-75: #e9e9ec;
  --color-neutral-100: #e2e2e5;
  --color-neutral-200: #c9c9ce;
  --color-neutral-400: #a1a1a9;
  --color-neutral-500: #6b6b74;
  --color-neutral-600: #5e5e66;
  --color-neutral-700: #45454c;
  --color-neutral-800: #2e2e33;
  --color-neutral-850: #232327;
  --color-neutral-900: #1a1a1d;
  --color-neutral-950: #111113;
  --color-neutral-scrim: #1a1a1d59;
  --color-neutral-0-a16: #ffffff29;
  --color-neutral-0-a24: #ffffff3d;
  --color-neutral-950-a16: #11111329;
  --color-neutral-950-a24: #1111133d;
  --color-accent-50: #edf0fc;
  --color-accent-200: #8da3eb;
  --color-accent-400: #5472e4;
  --color-accent-500: #3e63dd;
  --color-accent-600: #3a5bc7;
  --color-red-50: #fbe7e5;
  --color-red-200: #f6c1bb;
  --color-red-300: #f19a91;
  --color-red-500: #d0453a;
  --color-red-600: #c2362b;
  --color-red-900: #4d1a16;
  --color-green-50: #e6f4ea;
  --color-green-200: #bbe4c8;
  --color-green-300: #8fd3a5;
  --color-green-500: #2f8a4f;
  --color-green-600: #1f6b3a;
  --color-green-900: #143823;
  --color-amber-400: #e0a33a;
  --color-amber-500: #ba7a0a;
  --color-amber-600: #a16207;
  --color-amber-400-a30: #e0a33a4d;
  --color-amber-500-a30: #ba7a0a4d;
  --color-palette-page: #ffffff;
  --color-palette-raised: #f7f7f8;
  --color-palette-hover: #efeff1;
  --color-blue-50: #e7effb;
  --color-blue-300: #8eb3e8;
  --color-blue-500: #2f6bc0;
  --color-blue-900: #172b4a;
  --color-yellow-50: #fdf3d3;
  --color-yellow-300: #e5c24f;
  --color-yellow-600: #8f6700;
  --color-yellow-900: #3d2f07;
  --color-lilac-50: #f1e9f8;
  --color-lilac-300: #c59fe1;
  --color-lilac-600: #81569f;
  --color-lilac-900: #35273f;
  --color-teal-50: #ddf2f1;
  --color-teal-300: #57c5c5;
  --color-teal-600: #097777;
  --color-teal-900: #0a3535;
  --color-raspberry-50: #fae7ed;
  --color-raspberry-300: #e496b4;
  --color-raspberry-600: #a04b6f;
  --color-raspberry-900: #40242f;
  --color-olive-50: #ebefdf;
  --color-olive-300: #a9bb71;
  --color-olive-600: #5f7106;
  --color-olive-900: #2b3116;
  --color-iris-50: #e9ecfc;
  --color-iris-300: #a4aaf0;
  --color-iris-600: #5f62af;
  --color-iris-900: #292b44;
  --color-ochre-50: #f7ebdd;
  --color-ochre-300: #daa668;
  --color-ochre-600: #955e02;
  --color-ochre-900: #3c2a13;
  --font-size-palette-caption: 11px;

  /* Type · Base */
  --font-text: "Inter", system-ui, sans-serif;
  --font-display: "Inter", system-ui, sans-serif;
  --font-display-weight: 600;
  --font-size-10: 10px;
  --font-size-12: 12px;
  --font-size-14: 14px;
  --font-size-16: 16px;
  --font-size-18: 18px;
  --font-size-20: 20px;
  --font-size-24: 24px;
  --font-size-32: 32px;
  --font-size-40: 40px;
  --font-size-48: 48px;
  --font-size-64: 64px;
  --font-size-caption: var(--font-size-palette-caption);
  --font-line-16: 16px;
  --font-line-20: 20px;
  --font-line-24: 24px;
  --font-line-28: 28px;
  --font-line-32: 32px;
  --font-line-40: 40px;
  --font-line-48: 48px;
  --font-line-56: 56px;
  --font-line-72: 72px;

  /* Size · Desktop */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --control-xs: 24px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --stroke-default: 1px;
  --stroke-strong: 2px;
  --stroke-hairline: 0.6px;

  /* Color · Light */
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-600);
  --color-text-on-accent: var(--color-neutral-0);
  --color-text-tertiary: var(--color-neutral-500);
  --color-text-accent: var(--color-accent-600);
  --color-text-on-strong: var(--color-neutral-0);
  --color-text-danger: var(--color-red-600);
  --color-text-success: var(--color-green-600);
  --color-text-on-accent-disabled: var(--color-neutral-0);
  --color-text-disabled: var(--color-neutral-400);
  --color-icon-primary: var(--color-neutral-900);
  --color-icon-secondary: var(--color-neutral-600);
  --color-icon-on-accent: var(--color-neutral-0);
  --color-icon-accent: var(--color-accent-500);
  --color-icon-muted: var(--color-neutral-200);
  --color-icon-on-strong: var(--color-neutral-0);
  --color-icon-danger: var(--color-red-500);
  --color-icon-success: var(--color-green-500);
  --color-icon-on-accent-disabled: var(--color-neutral-0);
  --color-icon-disabled: var(--color-neutral-400);
  --color-icon-info: var(--color-blue-500);
  --color-icon-warning: var(--color-yellow-600);
  --color-surface-page: var(--color-palette-page);
  --color-surface-raised: var(--color-palette-raised);
  --color-surface-hover: var(--color-palette-hover);
  --color-surface-accent: var(--color-accent-500);
  --color-surface-accent-hover: var(--color-accent-600);
  --color-surface-subtle: var(--color-neutral-25);
  --color-surface-selected: var(--color-accent-50);
  --color-surface-muted: var(--color-neutral-75);
  --color-surface-strong: var(--color-neutral-600);
  --color-surface-track: var(--color-neutral-200);
  --color-surface-danger-soft: var(--color-red-50);
  --color-surface-success-soft: var(--color-green-50);
  --color-surface-scrim: var(--color-neutral-scrim);
  --color-surface-on-strong: var(--color-neutral-0-a16);
  --color-surface-highlight: var(--color-amber-600);
  --color-surface-accent-disabled: var(--color-accent-200);
  --color-surface-info-soft: var(--color-blue-50);
  --color-surface-warning-soft: var(--color-yellow-50);
  --color-surface-emphasis: var(--color-neutral-100);
  --color-border-default: var(--color-neutral-100);
  --color-border-strong: var(--color-neutral-200);
  --color-border-focus: var(--color-accent-500);
  --color-border-subtle: var(--color-neutral-50);
  --color-border-accent: var(--color-accent-500);
  --color-border-on-strong: var(--color-neutral-0-a24);
  --color-border-highlight: var(--color-amber-500);
  --color-border-highlight-soft: var(--color-amber-500-a30);
  --color-border-info: var(--color-blue-300);
  --color-border-warning: var(--color-yellow-300);
  --color-border-danger: var(--color-red-300);
  --color-border-success: var(--color-green-300);
  --color-border-success-soft: var(--color-green-200);
  --color-border-danger-soft: var(--color-red-200);
  --color-border-accent-soft: var(--color-accent-200);
  --color-category-1-strong: var(--color-lilac-600);
  --color-category-1-soft: var(--color-lilac-50);
  --color-category-2-strong: var(--color-teal-600);
  --color-category-2-soft: var(--color-teal-50);
  --color-category-3-strong: var(--color-raspberry-600);
  --color-category-3-soft: var(--color-raspberry-50);
  --color-category-4-strong: var(--color-olive-600);
  --color-category-4-soft: var(--color-olive-50);
  --color-category-5-strong: var(--color-iris-600);
  --color-category-5-soft: var(--color-iris-50);
  --color-category-6-strong: var(--color-ochre-600);
  --color-category-6-soft: var(--color-ochre-50);
}

/* Tone · neutral */
:root, [data-theme] {
  --color-tone-border: var(--color-border-strong);
}

/* Size · Touch */
@media (pointer: coarse) {
  :root {
    --control-sm: 44px;
    --control-md: 48px;
    --control-lg: 56px;
    --control-xs: 44px;
  }
}

/* Color · Dark */
[data-theme="dark"] {
  --color-text-primary: var(--color-neutral-50);
  --color-text-secondary: var(--color-neutral-400);
  --color-text-tertiary: var(--color-neutral-400);
  --color-text-accent: var(--color-accent-400);
  --color-text-on-strong: var(--color-neutral-950);
  --color-text-danger: var(--color-red-300);
  --color-text-success: var(--color-green-300);
  --color-text-on-accent-disabled: var(--color-neutral-600);
  --color-text-disabled: var(--color-neutral-600);
  --color-icon-primary: var(--color-neutral-50);
  --color-icon-secondary: var(--color-neutral-400);
  --color-icon-accent: var(--color-accent-400);
  --color-icon-muted: var(--color-neutral-700);
  --color-icon-on-strong: var(--color-neutral-950);
  --color-icon-danger: var(--color-red-300);
  --color-icon-success: var(--color-green-300);
  --color-icon-on-accent-disabled: var(--color-neutral-600);
  --color-icon-disabled: var(--color-neutral-600);
  --color-icon-info: var(--color-blue-300);
  --color-icon-warning: var(--color-yellow-300);
  --color-surface-page: var(--color-neutral-950);
  --color-surface-raised: var(--color-neutral-900);
  --color-surface-hover: var(--color-neutral-850);
  --color-surface-accent-hover: var(--color-accent-400);
  --color-surface-subtle: var(--color-neutral-900);
  --color-surface-selected: var(--color-neutral-800);
  --color-surface-muted: var(--color-neutral-850);
  --color-surface-strong: var(--color-neutral-200);
  --color-surface-track: var(--color-neutral-700);
  --color-surface-danger-soft: var(--color-red-900);
  --color-surface-success-soft: var(--color-green-900);
  --color-surface-on-strong: var(--color-neutral-950-a16);
  --color-surface-accent-disabled: var(--color-neutral-800);
  --color-surface-info-soft: var(--color-blue-900);
  --color-surface-warning-soft: var(--color-yellow-900);
  --color-surface-emphasis: var(--color-neutral-700);
  --color-border-default: var(--color-neutral-800);
  --color-border-strong: var(--color-neutral-700);
  --color-border-focus: var(--color-accent-400);
  --color-border-subtle: var(--color-neutral-850);
  --color-border-accent: var(--color-accent-400);
  --color-border-on-strong: var(--color-neutral-950-a24);
  --color-border-highlight: var(--color-amber-400);
  --color-border-highlight-soft: var(--color-amber-400-a30);
  --color-border-info: var(--color-blue-500);
  --color-border-warning: var(--color-yellow-600);
  --color-border-danger: var(--color-red-500);
  --color-border-success: var(--color-green-500);
  --color-border-success-soft: var(--color-green-600);
  --color-border-danger-soft: var(--color-red-600);
  --color-border-accent-soft: var(--color-accent-600);
  --color-category-1-strong: var(--color-lilac-300);
  --color-category-1-soft: var(--color-lilac-900);
  --color-category-2-strong: var(--color-teal-300);
  --color-category-2-soft: var(--color-teal-900);
  --color-category-3-strong: var(--color-raspberry-300);
  --color-category-3-soft: var(--color-raspberry-900);
  --color-category-4-strong: var(--color-olive-300);
  --color-category-4-soft: var(--color-olive-900);
  --color-category-5-strong: var(--color-iris-300);
  --color-category-5-soft: var(--color-iris-900);
  --color-category-6-strong: var(--color-ochre-300);
  --color-category-6-soft: var(--color-ochre-900);
}

/* Tone · info */
[data-tone="info"] {
  --color-tone-border: var(--color-border-info);
}

/* Tone · success */
[data-tone="success"] {
  --color-tone-border: var(--color-border-success);
}

/* Tone · warning */
[data-tone="warning"] {
  --color-tone-border: var(--color-border-warning);
}

/* Tone · danger */
[data-tone="danger"] {
  --color-tone-border: var(--color-border-danger);
}

/* Стили текста — как в Figma: стиль body/sm = класс .text-body-sm */
.text-display-xl { /* Самый крупный: обложка, одно главное слово или число на экране */
  font-family: var(--font-display);
  font-size: var(--font-size-64);
  font-weight: var(--font-display-weight);
  line-height: var(--font-line-72);
}
.text-display-lg { /* Крупный заголовок первого экрана */
  font-family: var(--font-display);
  font-size: var(--font-size-48);
  font-weight: var(--font-display-weight);
  line-height: var(--font-line-56);
}
.text-display-md { /* Заголовок раздела на просторной странице */
  font-family: var(--font-display);
  font-size: var(--font-size-40);
  font-weight: var(--font-display-weight);
  line-height: var(--font-line-48);
}
.text-display-sm { /* Заголовок страницы на компьютере */
  font-family: var(--font-display);
  font-size: var(--font-size-32);
  font-weight: var(--font-display-weight);
  line-height: var(--font-line-40);
}
.text-display-num { /* Крупное число или дата на экране («Сдача 14.12»): Inter Regular в любом режиме — выразительный шрифт заголовков (Art) цифрам не ставим */
  font-family: var(--font-text);
  font-size: var(--font-size-32);
  font-weight: 400;
  line-height: var(--font-line-40);
}
.text-display-num-sm { /* Число рядом с текстом: итог блока или периода, срок у строки. Inter Regular 20/28 в любом режиме, как display/num */
  font-family: var(--font-text);
  font-size: var(--font-size-20);
  font-weight: 400;
  line-height: var(--font-line-28);
}
.text-title-lg { /* Заголовок экрана или окна */
  font-family: var(--font-text);
  font-size: var(--font-size-24);
  font-weight: 600;
  line-height: var(--font-line-32);
}
.text-title-md { /* Заголовок блока или карточки */
  font-family: var(--font-text);
  font-size: var(--font-size-20);
  font-weight: 600;
  line-height: var(--font-line-28);
}
.text-title-sm { /* Заголовок окна-подтверждения (AlertDialog), небольшой карточки */
  font-family: var(--font-text);
  font-size: var(--font-size-18);
  font-weight: 600;
  line-height: var(--font-line-24);
}
.text-body-lg { /* Крупный текст: заголовок строки списка (решение, этап) — Row */
  font-family: var(--font-text);
  font-size: var(--font-size-18);
  font-weight: 400;
  line-height: var(--font-line-24);
}
.text-body-md { /* Текст для чтения: абзацы, длинные описания */
  font-family: var(--font-text);
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: var(--font-line-24);
}
.text-body-sm { /* Основной текст интерфейса: описания, ответы, поле ввода */
  font-family: var(--font-text);
  font-size: var(--font-size-14);
  font-weight: 400;
  line-height: var(--font-line-20);
}
.text-body-xs { /* Вторичный текст: подпись под строкой списка, дата, подсказка (Tooltip) */
  font-family: var(--font-text);
  font-size: var(--font-size-12);
  font-weight: 400;
  line-height: var(--font-line-16);
}
.text-label-lg { /* Подпись кнопки 48 */
  font-family: var(--font-text);
  font-size: var(--font-size-16);
  font-weight: 500;
  line-height: var(--font-line-24);
}
.text-label-md { /* Подпись кнопки 32 и 40, пункт меню, сегмент — Medium */
  font-family: var(--font-text);
  font-size: var(--font-size-14);
  font-weight: 500;
  line-height: var(--font-line-20);
}
.text-label-sm { /* Подпись тега, счётчик в меню */
  font-family: var(--font-text);
  font-size: var(--font-size-12);
  font-weight: 500;
  line-height: var(--font-line-16);
}
.text-caption-md { /* Самая мелкая подпись: сноска, ось графика (в Редакторе — 10) */
  font-family: var(--font-text);
  font-size: var(--font-size-caption);
  font-weight: 500;
  line-height: var(--font-line-16);
}
.text-caption-caps { /* Капсом — заголовок группы в меню и списке */
  font-family: var(--font-text);
  font-size: var(--font-size-caption);
  font-weight: 500;
  line-height: var(--font-line-16);
  text-transform: uppercase;
}
