/* ==========================================================================
   Stock INS — Design tokens (Web)
   Source de vérité : DESIGN_SYSTEM/tokens/tokens.json — toute modification
   doit être répercutée ici ET dans DESIGN_SYSTEM/flutter/ins_tokens.dart.
   ========================================================================== */
:root {
  /* Marque (logo) */
  --ins-logo-orange: #F7921E;
  --ins-logo-green: #6ABE45;
  --ins-logo-green-bar: #00A938;

  /* Orange */
  --ins-orange-50:#FFF6EC; --ins-orange-100:#FEE8CF; --ins-orange-200:#FCCB98;
  --ins-orange-300:#FAAE5F; --ins-orange-400:#F89E3C; --ins-orange-500:#F7921E;
  --ins-orange-600:#E07B00; --ins-orange-700:#B85C00; --ins-orange-800:#8F4700; --ins-orange-900:#663300;
  /* Vert */
  --ins-green-50:#EDF8EF; --ins-green-100:#D3EFD8; --ins-green-200:#A6DFB1;
  --ins-green-300:#6ABE45; --ins-green-400:#3DB360; --ins-green-500:#00A938;
  --ins-green-600:#15803D; --ins-green-700:#116A33; --ins-green-800:#0D5228;
  /* Neutres */
  --ins-neutral-0:#FFFFFF; --ins-neutral-25:#FAFBFC; --ins-neutral-50:#F5F6F8; --ins-neutral-100:#ECEEF2;
  --ins-neutral-200:#DDE1E7; --ins-neutral-300:#C5CBD4; --ins-neutral-400:#98A1AE; --ins-neutral-500:#6B7480;
  --ins-neutral-600:#4E5662; --ins-neutral-700:#363C46; --ins-neutral-800:#22272E; --ins-neutral-900:#16191E;
  /* Fonctionnelles */
  --ins-red-50:#FDECEC; --ins-red-100:#F9D2D2; --ins-red-600:#C62828; --ins-red-700:#A01F1F;
  --ins-amber-50:#FEF8E1; --ins-amber-100:#FCEDB5; --ins-amber-500:#D9A300; --ins-amber-600:#A16207;
  --ins-blue-50:#EBF1FE; --ins-blue-100:#D3E0FC; --ins-blue-600:#1D4ED8; --ins-blue-700:#1A3FA8;
  --ins-violet-50:#F2EEFC; --ins-violet-600:#6D43C9;

  /* Sémantique */
  --color-primary: var(--ins-orange-700);
  --color-primary-hover: var(--ins-orange-800);
  --color-primary-soft: var(--ins-orange-50);
  --color-accent: var(--ins-orange-500);
  --color-on-primary: #FFFFFF;
  --color-success: var(--ins-green-600);
  --color-success-soft: var(--ins-green-50);
  --color-danger: var(--ins-red-600);
  --color-danger-soft: var(--ins-red-50);
  --color-warning: var(--ins-amber-600);
  --color-warning-soft: var(--ins-amber-50);
  --color-info: var(--ins-blue-600);
  --color-info-soft: var(--ins-blue-50);
  --color-bg: var(--ins-neutral-50);
  --color-surface: var(--ins-neutral-0);
  --color-surface-muted: var(--ins-neutral-25);
  --color-border: var(--ins-neutral-200);
  --color-border-strong: var(--ins-neutral-300);
  --color-text: var(--ins-neutral-800);
  --color-text-muted: var(--ins-neutral-500);
  --color-text-subtle: var(--ins-neutral-400);
  --color-sidebar-bg: #1C2027;
  --color-sidebar-text: #C9CED6;
  --color-sidebar-muted: #7E8794;
  --color-sidebar-active-bg: rgba(247,146,30,.12);
  --color-focus-ring: rgba(247,146,30,.45);

  /* Typographie */
  --font-heading: "Lexend", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --fs-display: 1.75rem; --fs-h1: 1.375rem; --fs-h2: 1.125rem; --fs-h3: 1rem;
  --fs-body: .9375rem; --fs-sm: .875rem; --fs-caption: .78125rem; --fs-overline: .71875rem; --fs-kpi: 1.625rem;

  /* Espacements (base 4) */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;

  /* Rayons & ombres */
  --radius-xs:4px; --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px;
  --shadow-xs: 0 1px 2px rgba(22,25,30,.06);
  --shadow-sm: 0 1px 3px rgba(22,25,30,.08), 0 1px 2px rgba(22,25,30,.04);
  --shadow-md: 0 4px 12px rgba(22,25,30,.08);
  --shadow-lg: 0 12px 32px rgba(22,25,30,.14);

  /* Mouvement */
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms; --ease: cubic-bezier(.2,0,0,1);

  /* Gabarit */
  --sidebar-w: 264px; --sidebar-w-collapsed: 76px; --topbar-h: 64px;

  /* Pont Bootstrap 5.3 */
  --bs-primary: #B85C00; --bs-primary-rgb: 184,92,0;
  --bs-success: #15803D; --bs-success-rgb: 21,128,61;
  --bs-danger:  #C62828; --bs-danger-rgb: 198,40,40;
  --bs-warning: #A16207; --bs-warning-rgb: 161,98,7;
  --bs-info:    #1D4ED8; --bs-info-rgb: 29,78,216;
  --bs-body-font-family: var(--font-body);
  --bs-body-font-size: var(--fs-body);
  --bs-body-color: var(--color-text);
  --bs-body-bg: var(--color-bg);
  --bs-border-color: var(--color-border);
  --bs-border-radius: var(--radius-md);
  --bs-link-color: var(--ins-orange-700); --bs-link-color-rgb: 184,92,0;
  --bs-link-hover-color: var(--ins-orange-800);
  --bs-focus-ring-color: var(--color-focus-ring);
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast:0ms; --dur-base:0ms; --dur-slow:0ms; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
