/* ==========================================================================
   ADMIRAL · Design tokens
   Единственный источник правды по цвету, типографике, отступам и теням.
   Подключать первым, до любых стилей компонентов.
   ========================================================================== */

:root {
  /* Браузер обязан знать тему, а не только наши переменные.

     От color-scheme зависит всё, что рисует не CSS, а сам браузер: выпадающий
     список у <select>, полосы прокрутки, подсветка автозаполнения, встроенный
     календарь. Без него тёмная тема получается наполовину: страница тёмная,
     а список кабинетов на «Картах» открывается белым прямоугольником. */
  color-scheme: light;
}

:root {
  /* ---------- Brand: Navy (основной) ---------- */
  --adm-navy-50:  #EEF2F9;
  --adm-navy-100: #D9E1F0;
  --adm-navy-200: #B4C3DF;
  --adm-navy-300: #8398C4;
  --adm-navy-400: #4C67A0;
  --adm-navy-500: #1E3A8A;
  --adm-navy-600: #16306F;
  --adm-navy-700: #0F2659;
  --adm-navy-800: #0B1F4B;   /* ядро бренда */
  --adm-navy-900: #071431;

  /* ---------- Brand: Cyan (акцент) ---------- */
  --adm-cyan-50:  #E6F8FF;
  --adm-cyan-100: #C0EEFF;
  --adm-cyan-200: #85DFFF;
  --adm-cyan-300: #45CFFF;
  --adm-cyan-400: #00C2FF;   /* ядро акцента */
  --adm-cyan-500: #00A6DC;
  --adm-cyan-600: #0086B4;
  --adm-cyan-700: #006890;
  --adm-cyan-800: #054E6C;
  --adm-cyan-900: #05374C;

  /* ---------- Neutral ---------- */
  --adm-neutral-0:   #FFFFFF;
  --adm-neutral-25:  #FAFBFD;
  --adm-neutral-50:  #F4F6FA;
  --adm-neutral-100: #EDF0F6;
  --adm-neutral-200: #E2E7F0;
  --adm-neutral-300: #CBD3E1;
  --adm-neutral-400: #A3AEC4;
  --adm-neutral-500: #6B7893;
  --adm-neutral-600: #4F5B75;
  --adm-neutral-700: #3A455C;
  --adm-neutral-800: #232C3D;
  --adm-neutral-900: #0B1220;
  --adm-neutral-950: #0A0F1F;

  /* ---------- Semantic ---------- */
  --adm-success:     #16A34A;
  --adm-success-bg:  #E7F8EE;
  --adm-success-fg:  #12703E;
  --adm-warning:     #F59E0B;
  --adm-warning-bg:  #FFF4E5;
  --adm-warning-fg:  #B54708;
  --adm-danger:      #E5484D;
  --adm-danger-bg:   #FEECEB;
  --adm-danger-fg:   #B42318;
  --adm-info:        var(--adm-cyan-400);
  --adm-info-bg:     var(--adm-cyan-50);
  --adm-info-fg:     var(--adm-cyan-700);

  /* ---------- Градиент бренда ---------- */
  --adm-gradient-from: #7C4DFF;
  --adm-gradient-mid:  #3B82F6;
  --adm-gradient-to:   #22E1FF;
  --adm-gradient: linear-gradient(135deg, var(--adm-gradient-from) 0%, var(--adm-gradient-mid) 55%, var(--adm-gradient-to) 100%);
  /* Градиент — только для акцентных поверхностей: плитка, hero, пустые состояния,
     выделенный столбец графика. НИКОГДА не для текста интерфейса и не для фона таблиц. */

  /* ---------- Семантические роли (светлая тема) ---------- */
  --adm-bg:            var(--adm-neutral-50);
  --adm-bg-subtle:     var(--adm-neutral-100);
  --adm-surface:       var(--adm-neutral-0);
  --adm-surface-2:     var(--adm-neutral-25);
  --adm-surface-inset: var(--adm-neutral-50);
  --adm-border:        var(--adm-neutral-200);
  --adm-border-strong: var(--adm-neutral-300);
  --adm-text:          var(--adm-neutral-900);
  --adm-text-muted:    var(--adm-neutral-500);
  --adm-text-subtle:   var(--adm-neutral-400);
  --adm-text-invert:   var(--adm-neutral-0);
  --adm-primary:       var(--adm-navy-800);
  --adm-primary-hover: var(--adm-navy-700);
  --adm-primary-fg:    var(--adm-neutral-0);
  --adm-accent:        var(--adm-cyan-400);
  --adm-accent-hover:  var(--adm-cyan-500);
  --adm-accent-fg:     #04283A;
  --adm-focus:         var(--adm-cyan-400);

  /* Сайдбар всегда тёмный — это подпись бренда, он не меняется по теме */
  --adm-sidebar-bg:        var(--adm-neutral-950);
  --adm-sidebar-text:      #93A3C4;
  --adm-sidebar-text-strong:#FFFFFF;
  --adm-sidebar-active-bg: rgba(0, 194, 255, .13);
  --adm-sidebar-border:    rgba(255, 255, 255, .07);

  /* ---------- Типографика ---------- */
  --adm-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --adm-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --adm-text-2xs: 10px;
  --adm-text-xs:  11px;
  --adm-text-sm:  12.5px;
  --adm-text-base:14px;   /* база админки */
  --adm-text-md:  15px;
  --adm-text-lg:  17px;
  --adm-text-xl:  20px;
  --adm-text-2xl: 24px;
  --adm-text-3xl: 30px;
  --adm-text-4xl: 38px;

  --adm-leading-tight: 1.2;
  --adm-leading-snug:  1.4;
  --adm-leading-base:  1.6;

  --adm-tracking-word:  .15em;   /* логотип-вордмарк */
  --adm-tracking-label: .13em;   /* надзаголовки, K в статах */
  --adm-tracking-tight: -.02em;  /* заголовки и крупные числа */

  --adm-weight-regular: 400;
  --adm-weight-medium:  500;
  --adm-weight-semibold:600;
  --adm-weight-bold:    700;
  --adm-weight-extrabold:800;

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

  /* ---------- Радиусы ---------- */
  --adm-radius-xs:  4px;
  --adm-radius-sm:  6px;
  --adm-radius-md:  8px;
  --adm-radius-lg:  12px;
  --adm-radius-xl:  16px;
  --adm-radius-2xl: 20px;
  --adm-radius-full:999px;
  /* иконка приложения: радиус = 0.265 × сторона (как в logo/tile-*.svg) */

  /* ---------- Тени ---------- */
  --adm-shadow-xs: 0 1px 2px rgba(11, 31, 75, .05);
  --adm-shadow-sm: 0 1px 2px rgba(11, 31, 75, .04), 0 2px 6px -2px rgba(11, 31, 75, .10);
  --adm-shadow-md: 0 1px 2px rgba(11, 31, 75, .04), 0 8px 20px -12px rgba(11, 31, 75, .22);
  --adm-shadow-lg: 0 1px 2px rgba(11, 31, 75, .04), 0 18px 40px -20px rgba(11, 31, 75, .30);
  --adm-ring:      0 0 0 3px rgba(0, 194, 255, .35);

  /* ---------- Движение ---------- */
  --adm-ease:      cubic-bezier(.2, .8, .2, 1);
  --adm-dur-fast:  120ms;
  --adm-dur-base:  180ms;
  --adm-dur-slow:  260ms;

  /* ---------- Слои ---------- */
  --adm-z-sticky:  100;
  --adm-z-dropdown:200;
  --adm-z-modal:   300;
  --adm-z-toast:   400;

  /* ---------- Графики (порядок обязателен) ---------- */
  --adm-chart-1: #00C2FF;
  --adm-chart-2: #7C4DFF;
  --adm-chart-3: #22C55E;
  --adm-chart-4: #F59E0B;
  --adm-chart-5: #EC4899;
  --adm-chart-6: #14B8A6;
  --adm-chart-7: #6366F1;
  --adm-chart-8: #F97316;
  --adm-chart-grid: var(--adm-neutral-200);
  --adm-chart-idle: #DCE4F0;

  /* ---------- Размеры каркаса ---------- */
  --adm-sidebar-w:  240px;
  --adm-sidebar-w-collapsed: 68px;
  --adm-topbar-h:   60px;
  --adm-content-max:1440px;
}

/* ==========================================================================
   Тёмная тема. Включается атрибутом data-theme="dark" на <html>.
   ========================================================================== */
[data-theme='dark'] {
  color-scheme: dark;

  --adm-bg:            var(--adm-neutral-950);
  --adm-bg-subtle:     #0E1526;
  --adm-surface:       #101830;
  --adm-surface-2:     #16203C;
  --adm-surface-inset: #0C1424;
  --adm-border:        #223052;
  --adm-border-strong: #2E3F68;
  --adm-text:          #E8EDF7;
  --adm-text-muted:    #93A3C4;
  --adm-text-subtle:   #6B7893;
  --adm-text-invert:   var(--adm-neutral-900);
  --adm-primary:       var(--adm-cyan-400);
  --adm-primary-hover: var(--adm-cyan-300);
  --adm-primary-fg:    #04283A;
  --adm-accent:        var(--adm-cyan-400);
  --adm-accent-hover:  var(--adm-cyan-300);

  --adm-success-bg:  rgba(22, 163, 74, .14);
  --adm-success-fg:  #4ADE80;
  --adm-warning-bg:  rgba(245, 158, 11, .14);
  --adm-warning-fg:  #FBBF24;
  --adm-danger-bg:   rgba(229, 72, 77, .14);
  --adm-danger-fg:   #FF8A8E;
  --adm-info-bg:     rgba(0, 194, 255, .12);
  --adm-info-fg:     #7FDDFF;

  --adm-shadow-xs: 0 1px 2px rgba(0, 0, 0, .40);
  --adm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .40), 0 2px 6px -2px rgba(0, 0, 0, .50);
  --adm-shadow-md: 0 1px 2px rgba(0, 0, 0, .40), 0 8px 20px -12px rgba(0, 0, 0, .70);
  --adm-shadow-lg: 0 1px 2px rgba(0, 0, 0, .40), 0 18px 40px -20px rgba(0, 0, 0, .80);

  --adm-chart-grid: #223052;
  --adm-chart-idle: #22304F;
}

@media (prefers-reduced-motion: reduce) {
  :root { --adm-dur-fast: 0ms; --adm-dur-base: 0ms; --adm-dur-slow: 0ms; }
}
