/* Цвет. Элементы не берут ступень шкалы напрямую — только роли.
   Значения: гайд ui.mtrntv.com + решения эталона (ETALON-UI-DESIGN.md, раздел 11).
   Порядок везде: светлое, затем [data-ui-theme='dark']. Геометрия между темами не меняется. */
:root {
  /* --- нейтральная шкала --- */
  --c-n-0: #ffffff;
  --c-n-25: #fafafb;
  --c-n-50: #fafafa;
  --c-n-100: #f4f4f5;
  --c-n-150: #ececef;
  --c-n-200: #e4e4e7;
  --c-n-300: #d4d4d8;
  --c-n-400: #a1a1aa;
  --c-n-500: #71717a;
  --c-n-600: #52525b;
  --c-n-700: #3f3f46;
  --c-n-800: #27272a;
  --c-n-900: #18181b;

  /* --- акцент бренда по умолчанию (Letteros); остальные бренды — tokens/brands.css --- */
  --c-a-50: #ebf6ff;
  --c-a-100: #d6ecff;
  --c-a-200: #a8d7ff;
  --c-a-500: #33adff;
  --c-a-600: #0099ff;
  --c-a-700: #007ed6;
  --c-a-800: #0066ad;
  --c-accent-text: #006eb8;          /* ссылки, инициалы, выбранный пункт — притемнён до 5,4 */
  --c-accent-ink: #ffffff;           /* надпись поверх акцентной заливки — считается по контрасту */
  --c-focus-ring: rgba(0, 153, 255, 0.16);
  --c-brand-secondary: #eceef1;      /* второй цвет бренда; у Letteros это фон рабочей области */

  /* --- сигналы (канон, не кабинет: Д-94) --- */
  --c-danger: #c81e1e;
  --c-danger-ink: #ffffff;
  --c-danger-bg: #fef2f2;
  --c-danger-border: #fecaca;
  --c-warn: #b45309;
  --c-warn-bg: #fef3c7;
  --c-warn-border: #fde68a;
  --c-success: #15803d;
  --c-success-bg: #f0fdf4;
  --c-success-border: #bbf7d0;

  /* --- семантические роли --- */
  --c-bg-app: #ffffff;               /* рабочая область белая (скриншоты кабинета); карточки держатся на рамке */
  --c-bg-surface: var(--c-n-0);      /* панель, карточки, меню, плашка реестра */
  --c-bg-subtle: var(--c-n-25);      /* выключенное поле, «только чтение», чип-адрес */
  --c-bg-hover: var(--c-n-100);
  --c-border: var(--c-n-150);
  --c-border-strong: var(--c-n-200);
  --c-text: var(--c-n-900);
  --c-text-muted: var(--c-n-700);    /* подписи полей и колонок, пояснения — только на белом */
  --c-text-subtle: var(--c-n-600);   /* счётчик, подсказка в поле, значок в покое */
  --c-text-inverse: var(--c-n-0);

  /* --- контролы: серая заливка, прозрачная рамка, которая занимает место --- */
  --c-control-bg: var(--c-n-100);
  --c-control-bg-hover: var(--c-n-150);
  --c-control-bg-active: var(--c-n-200);
  --c-control-border: transparent;
  --c-control-outline: var(--c-n-500); /* рамка контурной кнопки: обычная граница на сером фоне даёт 1,0 */
  --c-control-raised: var(--c-n-0);    /* выбранный сегмент — всегда светлее подложки корпуса */
  --c-ghost-bg-hover: var(--c-control-bg-hover);
  --c-ghost-bg-active: var(--c-control-bg-active);
  --c-switch-track-off: var(--c-control-bg-active);
  --c-switch-knob: var(--c-control-raised);

  /* --- наведение: контрастная заливка, а не соседний серый --- */
  --c-hover-fill: var(--c-n-900);
  --c-hover-fill-active: var(--c-n-800);
  --c-hover-ink: var(--c-text-inverse);

  /* --- пять тонов плашки состояния (11.4) — словарь реестров --- */
  --chip-info-bg: var(--c-a-50);     --chip-info-text: var(--c-accent-text);
  --chip-ok-bg: #e9f5ef;             --chip-ok-text: #1f7a55;
  --chip-warn-bg: #fdf4e3;           --chip-warn-text: #8f5a17;
  --chip-bad-bg: #ffefed;            --chip-bad-text: #c0392b;
  --chip-neutral-bg: #f2f2f2;        --chip-neutral-text: #4b4b4b;

  /* подложка строки «требует внимания» — НЕ совпадает с подложкой плашки «внимание» (Д-15) */
  --c-row-attention-bg: #fff8e6;

  /* --- «золотая» группа: уровень тарифа; в тёмное инверсией не переводится --- */
  --gold-1: #fdf0c8;
  --gold-2: #f6e0a0;
  --gold-border: #dcba62;
  --gold-text: #5c4300;
  --gold-muted: #6b5210;
  --gold-shine: rgba(255, 255, 255, 0.55);

  /* --- прочие роли --- */
  --c-overlay: rgba(24, 24, 27, 0.45);
  --c-inverse-surface: #27272a;
  --c-inverse-text: #e4e4e7;
  --c-border-dashed: var(--c-n-300);

  /* обратная совместимость */
  --accent: var(--c-a-600);
}

[data-ui-theme='dark'] {
  color-scheme: dark;
  --c-n-0: #17171a;
  --c-n-25: #1b1b1f;
  --c-n-50: #1f1f24;
  --c-n-100: #26262c;
  --c-n-150: #2f2f36;
  --c-n-200: #3a3a43;
  --c-n-300: #4c4c57;
  --c-n-400: #8b8b98;
  --c-n-500: #a3a3b0;
  --c-n-600: #bcbcc7;
  --c-n-700: #d2d2da;
  --c-n-800: #e6e6eb;
  --c-n-900: #f5f5f8;

  /* акцент светлее — тот же цвет, поднятый по яркости (Д-90) */
  --c-a-50: #0e2a3d;
  --c-a-100: #123b57;
  --c-a-200: #1b5580;
  --c-a-500: #4db6ff;
  --c-a-600: #4db6ff;
  --c-a-700: #7ccbff;
  --c-a-800: #a5dcff;
  --c-accent-text: #4db6ff;
  --c-accent-ink: #18181b;
  --c-focus-ring: rgba(77, 182, 255, 0.25);

  --c-danger: #ef4444;   --c-danger-ink: #17171a;  --c-danger-bg: #261517;  --c-danger-border: #4d2427;
  --c-warn: #f59e0b;     --c-warn-bg: #2a2312;     --c-warn-border: #4d4020;
  --c-success: #16a34a;  --c-success-bg: #16241b;  --c-success-border: #234d33;

  --c-bg-app: #17171a;
  --c-text-inverse: #17171a;
  /* приглушённый и бледный — свои ступени, а не разворот шкалы */
  --c-text-muted: var(--c-n-500);
  --c-text-subtle: var(--c-n-400);

  --c-control-raised: var(--c-n-200);
  --c-control-outline: var(--c-n-400);
  --c-switch-track-off: var(--c-n-300);
  --c-switch-knob: var(--c-n-700);

  --chip-ok-bg: #16241b;      --chip-ok-text: #6ddba0;
  --chip-warn-bg: #2a2312;    --chip-warn-text: #f0c064;
  --chip-bad-bg: #2a1a1c;     --chip-bad-text: #ff8f9c;
  --chip-neutral-bg: #26262c; --chip-neutral-text: #bcbcc7;
  --c-row-attention-bg: #231d0f;

  --gold-1: #35290e;
  --gold-2: #241c09;
  --gold-border: #5a4614;
  --gold-text: #f0c064;
  --gold-muted: #d9b46a;
  --gold-shine: rgba(255, 255, 255, 0.06);

  --c-overlay: rgba(0, 0, 0, 0.6);
  --c-inverse-surface: #33333a;
  --c-inverse-text: #f0f0f4;
}
