/* ============================================================
   ЭТП «Спецтендер» — Design System Tokens v1.0
   Единый источник истины для всех артефактов системы.
   Изменения здесь автоматически отражаются во всех документах.
   ============================================================ */

:root {
  /* ─── Brand: Спец-синий (PANTONE 300 C) ─────────────────── */
  --brand-blue-050: #F1F6FE;
  --brand-blue-100: #DDE9FB;
  --brand-blue-200: #B7D2F8;
  --brand-blue-300: #7FB2F4;
  --brand-blue-400: #3A86EE;
  --brand-blue-500: #0665E6;
  --brand-blue-600: #0553C7;
  --brand-blue-700: #0442A3;
  --brand-blue-800: #0849B3;
  --brand-blue: #0665E6;

  /* ─── Brand: Спец-оранжевый (PANTONE 1655 C, ≤10% экрана) ─ */
  --brand-orange-050: #FEF3EC;
  --brand-orange-100: #FCE3D3;
  --brand-orange-200: #F8C9B0;
  --brand-orange-500: #EA5B21;
  --brand-orange-600: #C94B17;
  --brand-orange-700: #A43E12;
  --brand-orange: #EA5B21;

  /* ─── Operational amber: сроки, ожидание, предупреждения ─ */
  --brand-amber-050: #FFF8E8;
  --brand-amber-100: #FFF1CC;
  --brand-amber-200: #FFE09A;
  --brand-amber-300: #F7C85D;
  --brand-amber-500: #D99212;
  --brand-amber-600: #B97509;
  --brand-amber-700: #8C5605;
  --brand-amber-800: #6F4100;

  /* ─── Ink ──────────────────────────────────────────────── */
  --ink-1000: #0A0E17;
  --ink-900: #1A1A1A;
  --ink-800: #22304A;
  --ink-700: #2C3E52;
  --ink-600: #425D78;
  --ink-500: #5E7A90;
  --ink-400: #8394A5;
  --ink-300: #A8BDD0;
  --ink-200: #D0DCE8;
  --ink-100: #EBF0F6;
  --ink-050: #F5F8FB;

  /* ─── Navy (институциональный слой) ─────────────────────── */
  --navy-900: #0A1735;
  --navy-800: #0C1E45;
  --navy-700: #163068;
  --navy-600: #1E4080;
  --navy-500: #2A539E;

  /* ─── Surfaces ─────────────────────────────────────────── */
  --surface-page: #FAFBFD;
  --surface-card: #FFFFFF;
  --surface: #FFFFFF;
  --surface-subtle: #F5F8FB;
  --surface-muted: #EBF0F6;
  --surface-strong: #D0DCE8;
  --surface-overlay: rgba(10,23,53,0.56);

  /* ─── Status ───────────────────────────────────────────── */
  --success-050: #F1FAF5; --success-100: #EAF6F0; --success-500: #25A365; --success-600: #1A7A4A; --success-700: #0F5A36;
  --warning-050: #FFF8E8; --warning-100: #FFF3DC; --warning-500: #D99212; --warning-600: #A85F00; --warning-700: #7A4500;
  --danger-050:  #FFF4F2; --danger-100:  #FEE8E4; --danger-500:  #E05243; --danger-600:  #C8392B; --danger-700:  #902B20;
  --info-050: var(--brand-blue-050); --info-100: var(--brand-blue-100); --info-600: var(--brand-blue-600); --info-700: var(--brand-blue-700);

  /* ─── Domain tags (для торгов) ─────────────────────────── */
  --tag-44fz-bg:       #EBF2FD; --tag-44fz-fg:       #0849B3;
  --tag-223fz-bg:      #EDFAF3; --tag-223fz-fg:      #0F6A3B;
  --tag-property-bg:   #FCE3D3; --tag-property-fg:   #A43E12;
  --tag-commercial-bg: #EEE8FB; --tag-commercial-fg: #4B2ABD;
  --tag-debtor-bg:     #FEE8E4; --tag-debtor-fg:     #8C1F15;
  --tag-msu-bg:        #E8EEF5; --tag-msu-fg:        #394D6A;

  /* ─── Typography ───────────────────────────────────────── */
  --font-display: 'Unbounded', 'Inter', system-ui, sans-serif;
  --font-body:    'Geologica', 'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;

  /* ─── Spacing (4-px base) ──────────────────────────────── */
  --space-1: 2px;  --space-2: 4px;  --space-3: 8px;  --space-4: 12px;
  --space-5: 16px; --space-6: 20px; --space-7: 24px; --space-8: 32px;
  --space-9: 40px; --space-10: 48px; --space-11: 64px; --space-12: 80px;

  /* ─── Radii ────────────────────────────────────────────── */
  --r-xs: 4px; --r-sm: 6px; --r-md: 10px; --r-lg: 14px;
  --r-xl: 22px; --r-pill: 999px;

  /* ─── Shadows ──────────────────────────────────────────── */
  --shadow-xs: 0 1px 2px rgba(15,24,42,0.06);
  --shadow-sm: 0 2px 8px rgba(15,24,42,0.08);
  --shadow-md: 0 6px 20px rgba(15,24,42,0.10);
  --shadow-lg: 0 16px 40px rgba(15,24,42,0.14);
  --shadow-focus: 0 0 0 3px rgba(6,101,230,0.22);

  /* ─── Motion ───────────────────────────────────────────── */
  --duration-instant: 80ms;
  --duration-fast:    160ms;
  --duration-base:    240ms;
  --duration-slow:    400ms;
  --easing-standard:  cubic-bezier(0.4, 0, 0.2, 1);
  --easing-emphasis:  cubic-bezier(0.2, 0, 0, 1);
  --easing-decel:     cubic-bezier(0, 0, 0.2, 1);

  /* Short aliases (used in F·08 Motion) */
  --d-instant: 80ms;
  --d-fast: 160ms;
  --d-base: 240ms;
  --d-medium: 320ms;
  --d-slow: 480ms;
  --d-cinematic: 800ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-linear: linear;

  /* Radius aliases: keep aliases stable; do not redefine base radii here. */

  /* Shadow aliases */
  --sh-sm: 0 2px 8px rgba(15,24,42,0.08);
  --sh-md: 0 6px 20px rgba(15,24,42,0.10);
  --sh-lg: 0 16px 40px rgba(15,24,42,0.14);
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
