/* Atlas — токены. Основа: task-hub (tokens.css), шрифт Medeo (OFL 1.1, prtner.ai), иконки Lucide.
   Контраст текста и статусов проверен скриптом: все пары ≥ 4.5:1 в обеих темах. */

/* Medeo Sans и Mono 1.0.0: кириллица, латиница и latin-ext (в нём знак ₽). Диапазоны — из packages/medeo-font/dist
   релиза; браузер качает только файлы с символами страницы. */
@font-face {
  font-family: "Medeo Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoSansVariable.cyrillic.woff2") format("woff2");
  unicode-range:
    U+0300-0304, U+0306-030D, U+0312-0313, U+031B, U+0323, U+0326-0329, U+0330-0331, U+0335-0338, U+0400-045F,
    U+0490-0493, U+049A-049B, U+04A2-04A3, U+04AE-04B1, U+04BA-04BB, U+04D8-04D9, U+04E8-04E9, U+1DC4-1DC7, U+2116;
}

@font-face {
  font-family: "Medeo Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoSansVariable.latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-0304, U+0306-030D, U+0312-0313, U+031B, U+0323,
    U+0326-0329, U+0330-0331, U+0335-0338, U+1D00-1DBF, U+1DC4-1DC7, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Medeo Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoSansVariable.latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0304, U+0306-030D, U+0312-0313,
    U+031B, U+0323, U+0326-0329, U+0330-0331, U+0335-0338, U+1DC4-1DC7, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Medeo Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoMonoVariable.cyrillic.woff2") format("woff2");
  unicode-range:
    U+0300-0304, U+0306-030D, U+0312-0313, U+031B, U+0323, U+0326-0329, U+0330-0331, U+0335-0338, U+0400-045F,
    U+0490-0493, U+049A-049B, U+04A2-04A3, U+04AE-04B1, U+04BA-04BB, U+04D8-04D9, U+04E8-04E9, U+1DC4-1DC7, U+2116;
}

@font-face {
  font-family: "Medeo Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoMonoVariable.latin-ext.woff2") format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-0304, U+0306-030D, U+0312-0313, U+031B, U+0323,
    U+0326-0329, U+0330-0331, U+0335-0338, U+1D00-1DBF, U+1DC4-1DC7, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Medeo Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/static/fonts/MedeoMonoVariable.latin.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0304, U+0306-030D, U+0312-0313,
    U+031B, U+0323, U+0326-0329, U+0330-0331, U+0335-0338, U+1DC4-1DC7, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --font-body: "Medeo Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Medeo Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  /* Шкала текста: 12 подписи, 13 таблицы и меню, 14 основной, 16 заголовок раздела, 20 число в панели, 36 главное число */
  --text-xs: 12px;
  --text-sm: 13px;
  --text-md: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 36px;
  --leading-tight: 1.25;
  --leading: 1.4;

  --bg: #f3f3f4;
  --surface: #fbfbfc;
  --surface-raised: #fefeff;
  --surface-2: #f6f6f7;
  --surface-muted: #f0f0f1;
  --band: #efeff1;
  --row-hover: #f1f1f3;
  --row-selected: #ebebee;
  --nav-hover: lch(93.14% 0.5 282);
  --nav-active: lch(91.04% 0.5 282);
  --border: #e0e0e0;
  --border-strong: #c8c8ce;

  --text: #2f2f31;
  --text-secondary: #5c5d5f;
  --text-muted: #68686d;
  --icon-muted: #9e9ea0;

  --accent: #2f2f31;
  --accent-strong: #1f1f21;
  --accent-tint: #e9e9eb;
  --on-accent: #fefeff;
  --focus-ring: color-mix(in srgb, var(--accent) 38%, transparent);
  --focus-shadow: 0 0 0 1px var(--focus-ring);

  --ok: #1d7433;
  --ok-bg: #e5f4e8;
  --run: #0a6696;
  --run-bg: #e2f2fb;
  --need: #9c4309;
  --need-bg: #fceee5;
  --err: #bb2a31;
  --err-bg: #fce8e9;
  --off: #5c5d5f;
  --off-bg: #eeeef0;

  /* Цвета источников: одна светлота в OKLCH, тон через 35–60° */
  --src-ppr: oklch(0.6 0.17 25);
  --src-platon: oklch(0.66 0.15 60);
  --src-onec: oklch(0.72 0.14 95);
  --src-avtodor: oklch(0.6 0.14 145);
  --src-transmanager: oklch(0.6 0.11 190);
  --src-axenta: oklch(0.6 0.14 255);
  --src-statement: oklch(0.6 0.14 310);

  /* Графики отчётов: палитра проверена на цветовую слепоту; цвета статусов и источников для серий не используем */
  --viz-1: #2a78d6;
  --viz-2: #eb6834;
  --viz-3: #1baf7a;
  --viz-neg: #e34948;
  --viz-muted: #c8c8ce;
  --viz-track: #ececef;

  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-full: 999px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;

  --control-height: 32px;
  --row-height: 36px;
  --band-height: 32px;
  --header-height: 48px;
  --sidebar-width: 240px;
  --rail-width: 56px;
  --shell-inset: 8px;
  --nav-item-height: 32px;

  --motion-fast: 120ms;
  --motion-control: 160ms;
  --motion-modal: 180ms;
  --motion-field: 180ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);

  --shadow-popover: 0 6px 18px #00000008, 0 3px 9px #0000000d, 0 1px 1px #0000000d;
  --shadow-modal: 0 9px 48px #00000014, 0 6px 24px #00000019, 0 1px 1px #0000000a;
  --scrollbar-thumb: rgb(47 47 49 / 24%);

  --z-sticky: 10;
  --z-popover: 40;
  --z-modal: 70;
  --z-toast: 80;
}

/* Тёмная тема по ступеням Notion: нейтральный серый без оттенка, сайдбар и карточки светлее острова, меню ещё светлее,
   текст чуть тёплый, статусы приглушённые. */
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #202020;
  --surface: #191919;
  --surface-raised: #252525;
  --surface-2: #202020;
  --surface-muted: #202020;
  --band: #202020;
  --row-hover: rgb(255 255 255 / 5.5%);
  --row-selected: #2c2c2c;
  --nav-hover: rgb(255 255 255 / 5.5%);
  --nav-active: #2c2c2c;
  --border: rgb(255 255 255 / 9.4%);
  --border-strong: rgb(255 255 255 / 14%);

  --text: #e6e5e2;
  --text-secondary: #bcbab6;
  --text-muted: #9b9a97;
  --icon-muted: #7d7c78;

  --accent: #e2e2e0;
  --accent-strong: #efefed;
  --accent-tint: #2c2c2c;
  --on-accent: #191919;
  --focus-ring: color-mix(in srgb, var(--accent) 46%, transparent);

  --ok: #6cad81;
  --ok-bg: #242b26;
  --run: #6fa8d6;
  --run-bg: #1f2a33;
  --need: #d98e53;
  --need-bg: #36291f;
  --err: #e47c73;
  --err-bg: #332523;
  --off: #9b9a97;
  --off-bg: #2c2c2c;

  --viz-1: #3987e5;
  --viz-2: #d95926;
  --viz-3: #199e70;
  --viz-neg: #e66767;
  --viz-muted: #4a4a4a;
  --viz-track: #2c2c2c;

  --shadow-popover: 0 6px 18px #00000029, 0 3px 9px #00000040, 0 1px 1px #00000052;
  --shadow-modal: 0 9px 48px #00000052, 0 6px 24px #00000066, 0 1px 1px #00000052;
  --scrollbar-thumb: rgb(230 229 226 / 18%);
}

/* «Как в системе»: те же тёмные значения, что у [data-theme='dark']. Правишь одно — правь и другое. */
@media (prefers-color-scheme: dark) {
  [data-theme="system"] {
    color-scheme: dark;
    --bg: #202020;
    --surface: #191919;
    --surface-raised: #252525;
    --surface-2: #202020;
    --surface-muted: #202020;
    --band: #202020;
    --row-hover: rgb(255 255 255 / 5.5%);
    --row-selected: #2c2c2c;
    --nav-hover: rgb(255 255 255 / 5.5%);
    --nav-active: #2c2c2c;
    --border: rgb(255 255 255 / 9.4%);
    --border-strong: rgb(255 255 255 / 14%);

    --text: #e6e5e2;
    --text-secondary: #bcbab6;
    --text-muted: #9b9a97;
    --icon-muted: #7d7c78;

    --accent: #e2e2e0;
    --accent-strong: #efefed;
    --accent-tint: #2c2c2c;
    --on-accent: #191919;
    --focus-ring: color-mix(in srgb, var(--accent) 46%, transparent);

    --ok: #6cad81;
    --ok-bg: #242b26;
    --run: #6fa8d6;
    --run-bg: #1f2a33;
    --need: #d98e53;
    --need-bg: #36291f;
    --err: #e47c73;
    --err-bg: #332523;
    --off: #9b9a97;
    --off-bg: #2c2c2c;

    --viz-1: #3987e5;
    --viz-2: #d95926;
    --viz-3: #199e70;
    --viz-neg: #e66767;
    --viz-muted: #4a4a4a;
    --viz-track: #2c2c2c;

    --shadow-popover: 0 6px 18px #00000029, 0 3px 9px #00000040, 0 1px 1px #00000052;
    --shadow-modal: 0 9px 48px #00000052, 0 6px 24px #00000066, 0 1px 1px #00000052;
    --scrollbar-thumb: rgb(230 229 226 / 18%);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-fast: 1ms;
    --motion-control: 1ms;
    --motion-modal: 1ms;
    --motion-field: 1ms;
  }
}
