/* ============================================================================
   tokens.css — Дизайн-токены «Кабинет бригадира»
   Только переменные и темы. Компонентных стилей здесь нет.

   Слои:
     1. Палитра-примитивы (--_c-*)  — сырые цвета, НЕ использовать в компонентах.
     2. Семантические токены (--uk-*) — их используют компоненты.
     3. Темы: :root (light по умолчанию) / прочие настройки,
        .dark-переопределение через [data-theme] и prefers-color-scheme.

   Правило: компоненты обращаются ТОЛЬКО к --uk-*.
   ========================================================================== */

:root {
  /* --- 1. Примитивы: холодный бетонный нейтрал -------------------------- */
  --_c-n0:   #ffffff;
  --_c-n50:  #f6f7f8;
  --_c-n100: #eef0f2;
  --_c-n150: #e4e7ea;
  --_c-n200: #d6dadf;
  --_c-n300: #c0c6cd;
  --_c-n400: #99a1aa;
  --_c-n500: #6f7883;
  --_c-n600: #545c66;
  --_c-n700: #3a4149;
  --_c-n800: #262b31;
  --_c-n900: #1a1e24;
  --_c-n950: #12151a;
  --_c-n1000:#0d1014;

  /* Акцент — строительный янтарь */
  --_c-amber-500: #e8720c;   /* light base */
  --_c-amber-600: #cf6309;
  --_c-amber-700: #b85708;
  --_c-amber-400: #f2861f;   /* dark base  */
  --_c-amber-300: #ff9a34;

  /* Семантика (базовые тона) */
  --_c-blue:  #2f6fb0;   /* процесс     */
  --_c-green: #2e7d53;   /* успех       */
  --_c-amberS:#c9750a;   /* срочная     */
  --_c-red:   #c62f2f;   /* ошибка/супер*/

  /* --- 2. Шкала отступов (компактная, шаг ~4px) ----------------------- */
  --uk-space-0:  0;
  --uk-space-1:  4px;
  --uk-space-2:  7px;
  --uk-space-3:  10px;
  --uk-space-4:  13px;
  --uk-space-5:  16px;
  --uk-space-6:  20px;
  --uk-space-7:  24px;
  --uk-space-8:  28px;
  --uk-space-10: 34px;
  --uk-space-12: 40px;
  --uk-space-16: 52px;

  /* --- Радиусы --------------------------------------------------------- */
  --uk-radius-sm:   6px;
  --uk-radius:      9px;
  --uk-radius-lg:   11px;
  --uk-radius-pill: 999px;

  /* --- Типографика ---------------------------------------------------- */
  --uk-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                  "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --uk-font-mono: ui-monospace, "SF Mono", "Segoe UI Mono", Menlo, Consolas,
                  "Liberation Mono", monospace;

  --uk-fs-11: 0.6875rem;  /* 11px — микроподписи         */
  --uk-fs-12: 0.75rem;    /* 12px — бейджи, вспомог.     */
  --uk-fs-13: 0.8125rem;  /* 13px — плотный текст         */
  --uk-fs-14: 0.875rem;   /* 14px — базовый UI           */
  --uk-fs-15: 0.9375rem;  /* 15px — базовый body         */
  --uk-fs-16: 1rem;       /* 16px — поля ввода (без zoom)*/
  --uk-fs-18: 1.125rem;   /* 18px — подзаголовки         */
  --uk-fs-22: 1.375rem;   /* 22px — H2                    */
  --uk-fs-28: 1.75rem;    /* 28px — H1                    */

  --uk-lh-tight: 1.15;
  --uk-lh-snug:  1.3;
  --uk-lh-base:  1.45;

  --uk-fw-regular: 400;
  --uk-fw-medium:  500;
  --uk-fw-semibold:600;
  --uk-fw-bold:    700;

  --uk-track-tight: -0.011em;   /* лёгкий отрицательный трекинг заголовков */

  /* --- z-index -------------------------------------------------------- */
  --uk-z-base:      0;
  --uk-z-sticky:    100;   /* topbar, sticky панель, sticky-колонка       */
  --uk-z-dropdown:  400;
  --uk-z-overlay:   900;   /* backdrop модалки                            */
  --uk-z-modal:     1000;
  --uk-z-toast:     1200;

  /* --- Анимация ------------------------------------------------------- */
  --uk-ease: cubic-bezier(.2, .7, .2, 1);
  --uk-dur-fast: 120ms;
  --uk-dur:      180ms;
  --uk-dur-slow: 280ms;

  /* --- Прочее --------------------------------------------------------- */
  --uk-tap-min: 44px;      /* минимальный тач-таргет                       */
  --uk-focus-width: 3px;
  --uk-container: 1200px;
}

/* ============================================================================
   ТЕМА: светлая (по умолчанию + явное [data-theme="light"])
   ========================================================================== */
:root,
[data-theme="light"] {
  color-scheme: light;

  /* Поверхности */
  --uk-bg:            var(--_c-n100);   /* фон страницы            */
  --uk-surface:       var(--_c-n0);     /* карточки, поля          */
  --uk-surface-2:     var(--_c-n50);    /* вложенные поверхности    */
  --uk-surface-sunken:var(--_c-n150);   /* «утопленный» фон         */
  --uk-surface-hover: var(--_c-n50);
  --uk-overlay:       rgba(18, 21, 26, .48);

  /* Границы */
  --uk-border:        var(--_c-n200);
  --uk-border-strong: var(--_c-n300);
  --uk-border-dashed: var(--_c-n400);

  /* Текст */
  --uk-text:          var(--_c-n900);
  --uk-text-2:        var(--_c-n600);
  --uk-text-3:        var(--_c-n500);
  --uk-text-inverse:  var(--_c-n0);
  --uk-text-on-accent:#ffffff;

  /* Акцент (янтарь) */
  --uk-accent:        var(--_c-amber-500);
  --uk-accent-hover:  var(--_c-amber-600);
  --uk-accent-active: var(--_c-amber-700);
  --uk-accent-soft:   #fbe9d6;   /* мягкий фон под акцентом */
  --uk-accent-text:   #9a4a05;   /* акцентный текст на светлом фоне */
  --uk-required:      var(--_c-amber-500);

  /* Кольцо фокуса */
  --uk-focus-ring: 0 0 0 var(--uk-focus-width) rgba(232, 114, 12, .40);

  /* Семантика: процесс (синий) */
  --uk-process:        var(--_c-blue);
  --uk-process-bg:     #e2edf7;
  --uk-process-text:   #1f4f80;
  --uk-process-border: #b9d3ea;

  /* успех (зелёный) */
  --uk-success:        var(--_c-green);
  --uk-success-bg:     #e0f0e7;
  --uk-success-text:   #1e5c3b;
  --uk-success-border: #b3ddc6;

  /* срочная (янтарь-семантический) */
  --uk-warn:           var(--_c-amberS);
  --uk-warn-bg:        #fbead0;
  --uk-warn-text:      #8a5006;
  --uk-warn-border:    #f0cf9c;

  /* ошибка / супер-срочная (красный) */
  --uk-danger:         var(--_c-red);
  --uk-danger-hover:   #a82727;
  --uk-danger-bg:      #f8e0e0;
  --uk-danger-text:    #922222;
  --uk-danger-border:  #edbcbc;

  /* нейтральная семантика (черновик / аннулирована / обычная срочность) */
  --uk-muted:          var(--_c-n500);
  --uk-muted-bg:       var(--_c-n150);
  --uk-muted-text:     var(--_c-n700);
  --uk-muted-border:   var(--_c-n300);

  /* Тени */
  --uk-shadow-1: 0 1px 2px rgba(18, 21, 26, .08);
  --uk-shadow-2: 0 2px 8px rgba(18, 21, 26, .10);
  --uk-shadow-3: 0 10px 28px rgba(18, 21, 26, .16);

  /* Календарь */
  --uk-cal-grid:   var(--_c-n200);
  --uk-cal-hour:   var(--_c-n150);
  --uk-cal-now:    var(--_c-red);
  --uk-cal-busy:   var(--_c-amberS);

  /* Скелетон */
  --uk-skeleton-base:  var(--_c-n150);
  --uk-skeleton-shine: var(--_c-n50);
}

/* ============================================================================
   ТЕМА: тёмная
   Определяется дважды:
     (a) [data-theme="dark"]         — ручной выбор всегда побеждает;
     (b) @media prefers-color-scheme — системная тёмная, но только когда
         пользователь НЕ выставил тему вручную (:root:not([data-theme])).
   ========================================================================== */
[data-theme="dark"] {
  color-scheme: dark;

  --uk-bg:            var(--_c-n950);
  --uk-surface:       var(--_c-n900);
  --uk-surface-2:     #21262d;
  --uk-surface-sunken:var(--_c-n1000);
  --uk-surface-hover: #21262d;
  --uk-overlay:       rgba(0, 0, 0, .62);

  --uk-border:        #2b3138;
  --uk-border-strong: var(--_c-n700);
  --uk-border-dashed: var(--_c-n600);

  --uk-text:          var(--_c-n50);
  --uk-text-2:        #aab2bb;
  --uk-text-3:        #808892;
  --uk-text-inverse:  var(--_c-n950);
  --uk-text-on-accent:#1a1206;

  --uk-accent:        var(--_c-amber-400);
  --uk-accent-hover:  var(--_c-amber-300);
  --uk-accent-active: #ffab4d;
  --uk-accent-soft:   #3a2611;
  --uk-accent-text:   #f7a556;
  --uk-required:      var(--_c-amber-400);

  --uk-focus-ring: 0 0 0 var(--uk-focus-width) rgba(242, 134, 31, .48);

  --uk-process:        #4a8fd6;
  --uk-process-bg:     #17293b;
  --uk-process-text:   #8ec0ec;
  --uk-process-border: #2c496a;

  --uk-success:        #4aa878;
  --uk-success-bg:     #142b1f;
  --uk-success-text:   #79cfa1;
  --uk-success-border: #245c40;

  --uk-warn:           #e0952f;
  --uk-warn-bg:        #332512;
  --uk-warn-text:      #f0b667;
  --uk-warn-border:    #614524;

  --uk-danger:         #e05a5a;
  --uk-danger-hover:   #f07070;
  --uk-danger-bg:      #331818;
  --uk-danger-text:    #f0a0a0;
  --uk-danger-border:  #61302f;

  --uk-muted:          #7e8791;
  --uk-muted-bg:       #21262d;
  --uk-muted-text:     #aab2bb;
  --uk-muted-border:   var(--_c-n700);

  --uk-shadow-1: 0 1px 2px rgba(0, 0, 0, .40);
  --uk-shadow-2: 0 2px 10px rgba(0, 0, 0, .48);
  --uk-shadow-3: 0 12px 32px rgba(0, 0, 0, .60);

  --uk-cal-grid:   #2b3138;
  --uk-cal-hour:   #21262d;
  --uk-cal-now:    #e05a5a;
  --uk-cal-busy:   #e0952f;

  --uk-skeleton-base:  #21262d;
  --uk-skeleton-shine: #2b3138;
}

@media (prefers-color-scheme: dark) {
  /* Системная тёмная тема применяется только при отсутствии ручного выбора */
  :root:not([data-theme]) {
    color-scheme: dark;

    --uk-bg:            var(--_c-n950);
    --uk-surface:       var(--_c-n900);
    --uk-surface-2:     #21262d;
    --uk-surface-sunken:var(--_c-n1000);
    --uk-surface-hover: #21262d;
    --uk-overlay:       rgba(0, 0, 0, .62);

    --uk-border:        #2b3138;
    --uk-border-strong: var(--_c-n700);
    --uk-border-dashed: var(--_c-n600);

    --uk-text:          var(--_c-n50);
    --uk-text-2:        #aab2bb;
    --uk-text-3:        #808892;
    --uk-text-inverse:  var(--_c-n950);
    --uk-text-on-accent:#1a1206;

    --uk-accent:        var(--_c-amber-400);
    --uk-accent-hover:  var(--_c-amber-300);
    --uk-accent-active: #ffab4d;
    --uk-accent-soft:   #3a2611;
    --uk-accent-text:   #f7a556;
    --uk-required:      var(--_c-amber-400);

    --uk-focus-ring: 0 0 0 var(--uk-focus-width) rgba(242, 134, 31, .48);

    --uk-process:        #4a8fd6;
    --uk-process-bg:     #17293b;
    --uk-process-text:   #8ec0ec;
    --uk-process-border: #2c496a;

    --uk-success:        #4aa878;
    --uk-success-bg:     #142b1f;
    --uk-success-text:   #79cfa1;
    --uk-success-border: #245c40;

    --uk-warn:           #e0952f;
    --uk-warn-bg:        #332512;
    --uk-warn-text:      #f0b667;
    --uk-warn-border:    #614524;

    --uk-danger:         #e05a5a;
    --uk-danger-hover:   #f07070;
    --uk-danger-bg:      #331818;
    --uk-danger-text:    #f0a0a0;
    --uk-danger-border:  #61302f;

    --uk-muted:          #7e8791;
    --uk-muted-bg:       #21262d;
    --uk-muted-text:     #aab2bb;
    --uk-muted-border:   var(--_c-n700);

    --uk-shadow-1: 0 1px 2px rgba(0, 0, 0, .40);
    --uk-shadow-2: 0 2px 10px rgba(0, 0, 0, .48);
    --uk-shadow-3: 0 12px 32px rgba(0, 0, 0, .60);

    --uk-cal-grid:   #2b3138;
    --uk-cal-hour:   #21262d;
    --uk-cal-now:    #e05a5a;
    --uk-cal-busy:   #e0952f;

    --uk-skeleton-base:  #21262d;
    --uk-skeleton-shine: #2b3138;
  }
}
