/* ==========================================================================
   Netbridge Design System — tokens.css
   Généré par scripts/build_tokens.py — ne pas éditer à la main.
   Couleurs de marque : 02_Charte-couleurs (PDF + ASE). Les échelles tonales,
   les couleurs d’état et les ombres sont DÉRIVÉES (non livrées par la marque).
   Chaque couleur existe aussi en canaux RGB (--nb-xxx-rgb) pour les opacités.
   ========================================================================== */
:root {
  /* ---- Couleurs de marque (officielles) ---- */
  --nb-brand-navy: #081B2C; /* Marine — Pantone 7547 C */
  --nb-brand-navy-rgb: 8 27 44;
  --nb-brand-orange: #F44811; /* Orange — Pantone 172 C */
  --nb-brand-orange-rgb: 244 72 17;
  --nb-brand-orange-soleil: #F07A20; /* Orange soleil (départ du dégradé) — Pantone — */
  --nb-brand-orange-soleil-rgb: 240 122 32;
  --nb-brand-pale-blue: #CBD9E7; /* Bleu pâle — Pantone 642 C */
  --nb-brand-pale-blue-rgb: 203 217 231;
  --nb-brand-white: #FFFFFF; /* Blanc — Pantone non disponible */
  --nb-brand-white-rgb: 255 255 255;
  --nb-white: #FFFFFF;
  --nb-white-rgb: 255 255 255;
  --nb-black: #000000; /* logos « Noir » uniquement (impression 1 couleur) */

  /* ---- Dégradé de marque (vectoriel : #F07A20 → #F34811, gauche → droite) ---- */
  --nb-gradient-brand: linear-gradient(90deg, #F07A20 0%, #F44811 100%);
  --nb-gradient-brand-diagonal: linear-gradient(135deg, #F07A20 0%, #F44811 100%);
  --nb-gradient-brand-vertical: linear-gradient(180deg, #F07A20 0%, #F44811 100%);
  --nb-gradient-navy: linear-gradient(180deg, #081B2C 0%, #030F1C 100%); /* dérivé */

  /* ---- Échelle marine — ancre marque : 900 = #081B2C ; 950 dérivé (autres paliers dérivés, OKLCH) ---- */
  --nb-navy-50: #F0F6FC;
  --nb-navy-100: #DEE9F5;
  --nb-navy-200: #C0D4E7;
  --nb-navy-300: #99B5D0;
  --nb-navy-400: #6E90B0;
  --nb-navy-500: #4C6F90;
  --nb-navy-600: #365573;
  --nb-navy-700: #244059;
  --nb-navy-800: #152C41;
  --nb-navy-900: #081B2C;
  --nb-navy-950: #030F1C;
  --nb-navy-50-rgb: 240 246 252;
  --nb-navy-100-rgb: 222 233 245;
  --nb-navy-200-rgb: 192 212 231;
  --nb-navy-300-rgb: 153 181 208;
  --nb-navy-400-rgb: 110 144 176;
  --nb-navy-500-rgb: 76 111 144;
  --nb-navy-600-rgb: 54 85 115;
  --nb-navy-700-rgb: 36 64 89;
  --nb-navy-800-rgb: 21 44 65;
  --nb-navy-900-rgb: 8 27 44;
  --nb-navy-950-rgb: 3 15 28;

  /* ---- Échelle orange — ancre marque : 500 = #F44811 ; 600 = orange accessible (texte/boutons) ; 950 = fond teinté sombre (autres paliers dérivés, OKLCH) ---- */
  --nb-orange-50: #FFF2EC;
  --nb-orange-100: #FEE3D6;
  --nb-orange-200: #FECAB4;
  --nb-orange-300: #FEA987;
  --nb-orange-400: #FE8055;
  --nb-orange-500: #F44811;
  --nb-orange-600: #CD3A10;
  --nb-orange-700: #AB2F12;
  --nb-orange-800: #872711;
  --nb-orange-900: #651E0E;
  --nb-orange-950: #412626;
  --nb-orange-50-rgb: 255 242 236;
  --nb-orange-100-rgb: 254 227 214;
  --nb-orange-200-rgb: 254 202 180;
  --nb-orange-300-rgb: 254 169 135;
  --nb-orange-400-rgb: 254 128 85;
  --nb-orange-500-rgb: 244 72 17;
  --nb-orange-600-rgb: 205 58 16;
  --nb-orange-700-rgb: 171 47 18;
  --nb-orange-800-rgb: 135 39 17;
  --nb-orange-900-rgb: 101 30 14;
  --nb-orange-950-rgb: 65 38 38;

  /* ---- Échelle brume (bleu pâle / neutres) — ancre marque : 200 = #CBD9E7 (autres paliers dérivés, OKLCH) ---- */
  --nb-mist-50: #F5F8FC;
  --nb-mist-100: #E6EEF5;
  --nb-mist-200: #CBD9E7;
  --nb-mist-300: #B0C0D0;
  --nb-mist-400: #90A1B1;
  --nb-mist-500: #728293;
  --nb-mist-600: #586877;
  --nb-mist-700: #435260;
  --nb-mist-800: #2F3C49;
  --nb-mist-900: #1F2A35;
  --nb-mist-50-rgb: 245 248 252;
  --nb-mist-100-rgb: 230 238 245;
  --nb-mist-200-rgb: 203 217 231;
  --nb-mist-300-rgb: 176 192 208;
  --nb-mist-400-rgb: 144 161 177;
  --nb-mist-500-rgb: 114 130 147;
  --nb-mist-600-rgb: 88 104 119;
  --nb-mist-700-rgb: 67 82 96;
  --nb-mist-800-rgb: 47 60 73;
  --nb-mist-900-rgb: 31 42 53;

  /* ---- Couleurs d’état (DÉRIVÉES, harmonisées avec la marque) ---- */
  --nb-success-50: #EDFAF0; --nb-success-100: #D8F1DD; --nb-success-200: #B6E3C0; --nb-success-300: #89D19C; --nb-success-400: #5ABC7A; --nb-success-500: #2EA55C; --nb-success-600: #0D8A46; --nb-success-700: #036F37; --nb-success-800: #045529; --nb-success-900: #023E1C; --nb-success-950: #103937;
  --nb-success-50-rgb: 237 250 240; --nb-success-100-rgb: 216 241 221; --nb-success-200-rgb: 182 227 192; --nb-success-300-rgb: 137 209 156; --nb-success-400-rgb: 90 188 122; --nb-success-500-rgb: 46 165 92; --nb-success-600-rgb: 13 138 70; --nb-success-700-rgb: 3 111 55; --nb-success-800-rgb: 4 85 41; --nb-success-900-rgb: 2 62 28; --nb-success-950-rgb: 16 57 55;
  --nb-warning-50: #FDF5E7; --nb-warning-100: #F9E7CB; --nb-warning-200: #F1D19F; --nb-warning-300: #E7B463; --nb-warning-400: #E1A021; --nb-warning-500: #C3890B; --nb-warning-600: #A2710B; --nb-warning-700: #855C05; --nb-warning-800: #684702; --nb-warning-900: #4F3500; --nb-warning-950: #313325;
  --nb-warning-50-rgb: 253 245 231; --nb-warning-100-rgb: 249 231 203; --nb-warning-200-rgb: 241 209 159; --nb-warning-300-rgb: 231 180 99; --nb-warning-400-rgb: 225 160 33; --nb-warning-500-rgb: 195 137 11; --nb-warning-600-rgb: 162 113 11; --nb-warning-700-rgb: 133 92 5; --nb-warning-800-rgb: 104 71 2; --nb-warning-900-rgb: 79 53 0; --nb-warning-950-rgb: 49 51 37;
  --nb-danger-50: #FFF2F2; --nb-danger-100: #FFE2E0; --nb-danger-200: #FFC5C2; --nb-danger-300: #FEA09D; --nb-danger-400: #FF7172; --nb-danger-500: #EF4650; --nb-danger-600: #CC2C3B; --nb-danger-700: #A81B2B; --nb-danger-800: #84101F; --nb-danger-900: #630613; --nb-danger-950: #3B2434;
  --nb-danger-50-rgb: 255 242 242; --nb-danger-100-rgb: 255 226 224; --nb-danger-200-rgb: 255 197 194; --nb-danger-300-rgb: 254 160 157; --nb-danger-400-rgb: 255 113 114; --nb-danger-500-rgb: 239 70 80; --nb-danger-600-rgb: 204 44 59; --nb-danger-700-rgb: 168 27 43; --nb-danger-800-rgb: 132 16 31; --nb-danger-900-rgb: 99 6 19; --nb-danger-950-rgb: 59 36 52;
  --nb-info-50: #EEF7FF; --nb-info-100: #D8ECFE; --nb-info-200: #B6DBFB; --nb-info-300: #8BC4F5; --nb-info-400: #60ACE9; --nb-info-500: #3B93D5; --nb-info-600: #2379B6; --nb-info-700: #146196; --nb-info-800: #0A4A75; --nb-info-900: #033658; --nb-info-950: #133551;
  --nb-info-50-rgb: 238 247 255; --nb-info-100-rgb: 216 236 254; --nb-info-200-rgb: 182 219 251; --nb-info-300-rgb: 139 196 245; --nb-info-400-rgb: 96 172 233; --nb-info-500-rgb: 59 147 213; --nb-info-600-rgb: 35 121 182; --nb-info-700-rgb: 20 97 150; --nb-info-800-rgb: 10 74 117; --nb-info-900-rgb: 3 54 88; --nb-info-950-rgb: 19 53 81;

  /* ---- Typographie ---- */
  --nb-font-display: "neulis-sans", "Neulis Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; /* Neulis Sans (Adobe Fonts) */
  --nb-font-body: "neulis-sans", "Neulis Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; /* Neulis Sans, y compris le texte courant */
  --nb-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --nb-font-weight-regular: 400; --nb-font-weight-medium: 500; --nb-font-weight-semibold: 600; --nb-font-weight-bold: 700;
  --nb-text-display-size: 4rem; --nb-text-display-line-height: 1.0625; --nb-text-display-weight: 600; --nb-text-display-letter-spacing: normal; --nb-text-display-family: var(--nb-font-display); /* 64px */
  --nb-text-h1-size: 3rem; --nb-text-h1-line-height: 1.1667; --nb-text-h1-weight: 600; --nb-text-h1-letter-spacing: normal; --nb-text-h1-family: var(--nb-font-display); /* 48px */
  --nb-text-h2-size: 2.375rem; --nb-text-h2-line-height: 1.1579; --nb-text-h2-weight: 600; --nb-text-h2-letter-spacing: normal; --nb-text-h2-family: var(--nb-font-display); /* 38px */
  --nb-text-h3-size: 1.875rem; --nb-text-h3-line-height: 1.2; --nb-text-h3-weight: 600; --nb-text-h3-letter-spacing: normal; --nb-text-h3-family: var(--nb-font-display); /* 30px */
  --nb-text-h4-size: 1.5rem; --nb-text-h4-line-height: 1.3333; --nb-text-h4-weight: 600; --nb-text-h4-letter-spacing: normal; --nb-text-h4-family: var(--nb-font-display); /* 24px */
  --nb-text-h5-size: 1.25rem; --nb-text-h5-line-height: 1.4; --nb-text-h5-weight: 600; --nb-text-h5-letter-spacing: normal; --nb-text-h5-family: var(--nb-font-display); /* 20px */
  --nb-text-h6-size: 1.125rem; --nb-text-h6-line-height: 1.3333; --nb-text-h6-weight: 600; --nb-text-h6-letter-spacing: normal; --nb-text-h6-family: var(--nb-font-display); /* 18px */
  --nb-text-body-lg-size: 1.125rem; --nb-text-body-lg-line-height: 1.5556; --nb-text-body-lg-weight: 400; --nb-text-body-lg-letter-spacing: normal; --nb-text-body-lg-family: var(--nb-font-body); /* 18px */
  --nb-text-body-size: 1rem; --nb-text-body-line-height: 1.5; --nb-text-body-weight: 400; --nb-text-body-letter-spacing: normal; --nb-text-body-family: var(--nb-font-body); /* 16px */
  --nb-text-small-size: 0.875rem; --nb-text-small-line-height: 1.4286; --nb-text-small-weight: 400; --nb-text-small-letter-spacing: normal; --nb-text-small-family: var(--nb-font-body); /* 14px */
  --nb-text-caption-size: 0.75rem; --nb-text-caption-line-height: 1.3333; --nb-text-caption-weight: 500; --nb-text-caption-letter-spacing: normal; --nb-text-caption-family: var(--nb-font-body); /* 12px */
  --nb-text-overline-size: 0.75rem; --nb-text-overline-line-height: 1.3333; --nb-text-overline-weight: 700; --nb-text-overline-letter-spacing: normal; --nb-text-overline-family: var(--nb-font-display); /* 12px */
  --nb-measure: 68ch;

  /* ---- Espacement (base 4 px) ---- */
  --nb-space-0: 0; --nb-space-px: 0.0625rem; --nb-space-0-5: 0.125rem; --nb-space-1: 0.25rem; --nb-space-1-5: 0.375rem; --nb-space-2: 0.5rem; --nb-space-2-5: 0.625rem; --nb-space-3: 0.75rem; --nb-space-4: 1rem; --nb-space-5: 1.25rem; --nb-space-6: 1.5rem; --nb-space-8: 2rem; --nb-space-10: 2.5rem; --nb-space-12: 3rem; --nb-space-14: 3.5rem; --nb-space-16: 4rem; --nb-space-20: 5rem; --nb-space-24: 6rem; --nb-space-32: 8rem;

  /* ---- Rayons (brand = forme du favicon/icône, coin haut-gauche plus arrondi) ---- */
  --nb-radius-none: 0; --nb-radius-xs: 2px; --nb-radius-sm: 4px; --nb-radius-md: 8px; --nb-radius-lg: 12px; --nb-radius-xl: 16px; --nb-radius-2xl: 24px; --nb-radius-full: 9999px; --nb-radius-brand: 34% 28% 28% 28%; --nb-radius-card: 20px 12px 12px 12px;

  /* ---- Bordures ---- */
  --nb-border-width: 1px; --nb-border-width-strong: 2px; --nb-focus-ring-width: 3px; --nb-focus-ring-offset: 2px;

  /* ---- Ombres (teintées marine, dérivées) ---- */
  --nb-shadow-xs: 0 1px 2px rgba(8, 27, 44, 0.06);
  --nb-shadow-sm: 0 1px 3px rgba(8, 27, 44, 0.08), 0 1px 2px rgba(8, 27, 44, 0.04);
  --nb-shadow-md: 0 4px 12px -2px rgba(8, 27, 44, 0.10), 0 2px 4px -2px rgba(8, 27, 44, 0.06);
  --nb-shadow-lg: 0 12px 24px -6px rgba(8, 27, 44, 0.14), 0 4px 8px -4px rgba(8, 27, 44, 0.06);
  --nb-shadow-xl: 0 24px 48px -12px rgba(8, 27, 44, 0.22);
  --nb-shadow-glow: 0 8px 24px -6px rgba(244, 72, 17, 0.45);

  /* ---- Points de rupture (référence ; les media queries CSS ne lisent pas les variables) ---- */
  --nb-screen-sm: 640px; --nb-screen-md: 768px; --nb-screen-lg: 1024px; --nb-screen-xl: 1280px; --nb-screen-2xl: 1536px;
  --nb-container-max: 1420px; --nb-container-padding: var(--nb-space-6);

  /* ---- Z-index ---- */
  --nb-z-base: 0; --nb-z-raised: 10; --nb-z-dropdown: 1000; --nb-z-sticky: 1100; --nb-z-header: 1200; --nb-z-overlay: 1300; --nb-z-modal: 1400; --nb-z-popover: 1500; --nb-z-toast: 1600; --nb-z-tooltip: 1700;

  /* ---- Mouvement ---- */
  --nb-duration-instant: 0ms; --nb-duration-fast: 120ms; --nb-duration-base: 200ms; --nb-duration-slow: 320ms; --nb-duration-slower: 500ms;
  --nb-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --nb-ease-emphasized: cubic-bezier(0.3, 0, 0, 1.15);
  --nb-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --nb-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --nb-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---- Thème clair (par défaut) ---- */
:root,
[data-theme="light"] {
  color-scheme: light;
  --nb-color-bg: var(--nb-white); /* Fond de page */
  --nb-color-bg-rgb: var(--nb-white-rgb);
  --nb-color-bg-subtle: var(--nb-mist-50); /* Fond de section alternée */
  --nb-color-bg-subtle-rgb: var(--nb-mist-50-rgb);
  --nb-color-surface: var(--nb-white); /* Cartes, modales, menus */
  --nb-color-surface-rgb: var(--nb-white-rgb);
  --nb-color-surface-muted: var(--nb-mist-50); /* Surface discrète, en-têtes de tableau */
  --nb-color-surface-muted-rgb: var(--nb-mist-50-rgb);
  --nb-color-surface-sunken: var(--nb-mist-100); /* Champs désactivés, zones en creux */
  --nb-color-surface-sunken-rgb: var(--nb-mist-100-rgb);
  --nb-color-surface-inverse: var(--nb-navy-900); /* Surface inversée */
  --nb-color-surface-inverse-rgb: var(--nb-navy-900-rgb);
  --nb-color-text: var(--nb-navy-900); /* Texte principal */
  --nb-color-text-rgb: var(--nb-navy-900-rgb);
  --nb-color-text-muted: var(--nb-mist-700); /* Texte secondaire */
  --nb-color-text-muted-rgb: var(--nb-mist-700-rgb);
  --nb-color-text-subtle: var(--nb-mist-600); /* Texte tertiaire, aides (≥ 4,5:1) */
  --nb-color-text-subtle-rgb: var(--nb-mist-600-rgb);
  --nb-color-text-inverse: var(--nb-white); /* Texte sur surface inversée */
  --nb-color-text-inverse-rgb: var(--nb-white-rgb);
  --nb-color-text-disabled: var(--nb-mist-400); /* Texte désactivé (exempté WCAG) */
  --nb-color-text-disabled-rgb: var(--nb-mist-400-rgb);
  --nb-color-border: var(--nb-mist-200); /* Bordure décorative / séparateurs */
  --nb-color-border-rgb: var(--nb-mist-200-rgb);
  --nb-color-border-strong: var(--nb-mist-500); /* Bordure de contrôle (≥ 3:1 sur fond) */
  --nb-color-border-strong-rgb: var(--nb-mist-500-rgb);
  --nb-color-primary: var(--nb-orange-500); /* Action principale (fond de bouton) : #F44811 */
  --nb-color-primary-rgb: var(--nb-orange-500-rgb);
  --nb-color-primary-hover: var(--nb-orange-600); /* Survol action principale */
  --nb-color-primary-hover-rgb: var(--nb-orange-600-rgb);
  --nb-color-primary-active: var(--nb-orange-700); /* Action principale enfoncée */
  --nb-color-primary-active-rgb: var(--nb-orange-700-rgb);
  --nb-color-primary-subtle: var(--nb-orange-50); /* Fond teinté orange */
  --nb-color-primary-subtle-rgb: var(--nb-orange-50-rgb);
  --nb-color-on-primary: var(--nb-white); /* Texte sur action principale */
  --nb-color-on-primary-rgb: var(--nb-white-rgb);
  --nb-color-secondary: var(--nb-navy-900); /* Action secondaire (fond) */
  --nb-color-secondary-rgb: var(--nb-navy-900-rgb);
  --nb-color-secondary-hover: var(--nb-navy-800); /* Survol action secondaire */
  --nb-color-secondary-hover-rgb: var(--nb-navy-800-rgb);
  --nb-color-on-secondary: var(--nb-white); /* Texte sur action secondaire */
  --nb-color-on-secondary-rgb: var(--nb-white-rgb);
  --nb-color-accent: var(--nb-orange-500); /* Orange de marque : accents, icônes, grands titres */
  --nb-color-accent-rgb: var(--nb-orange-500-rgb);
  --nb-color-accent-soft: var(--nb-mist-200); /* Bleu pâle de marque : aplats, puces */
  --nb-color-accent-soft-rgb: var(--nb-mist-200-rgb);
  --nb-color-link: var(--nb-orange-600); /* Liens */
  --nb-color-link-rgb: var(--nb-orange-600-rgb);
  --nb-color-link-hover: var(--nb-orange-800); /* Liens au survol */
  --nb-color-link-hover-rgb: var(--nb-orange-800-rgb);
  --nb-color-focus-ring: var(--nb-navy-500); /* Anneau de focus (≥ 3:1) */
  --nb-color-focus-ring-rgb: var(--nb-navy-500-rgb);
  --nb-color-overlay: var(--nb-navy-900); /* Voile de modale (utilisé avec opacité) */
  --nb-color-overlay-rgb: var(--nb-navy-900-rgb);
  --nb-color-success: var(--nb-success-700); /* Succès (texte/icône, fond plein) */
  --nb-color-success-rgb: var(--nb-success-700-rgb);
  --nb-color-success-subtle: var(--nb-success-50); /* Succès (fond) */
  --nb-color-success-subtle-rgb: var(--nb-success-50-rgb);
  --nb-color-success-border: var(--nb-success-300); /* Succès (bordure) */
  --nb-color-success-border-rgb: var(--nb-success-300-rgb);
  --nb-color-warning: var(--nb-warning-700); /* Avertissement (texte/icône) */
  --nb-color-warning-rgb: var(--nb-warning-700-rgb);
  --nb-color-warning-subtle: var(--nb-warning-50); /* Avertissement (fond) */
  --nb-color-warning-subtle-rgb: var(--nb-warning-50-rgb);
  --nb-color-warning-border: var(--nb-warning-300); /* Avertissement (bordure) */
  --nb-color-warning-border-rgb: var(--nb-warning-300-rgb);
  --nb-color-danger: var(--nb-danger-600); /* Erreur (texte/icône, fond plein) */
  --nb-color-danger-rgb: var(--nb-danger-600-rgb);
  --nb-color-danger-subtle: var(--nb-danger-50); /* Erreur (fond) */
  --nb-color-danger-subtle-rgb: var(--nb-danger-50-rgb);
  --nb-color-danger-border: var(--nb-danger-300); /* Erreur (bordure) */
  --nb-color-danger-border-rgb: var(--nb-danger-300-rgb);
  --nb-color-info: var(--nb-info-700); /* Information (texte/icône) */
  --nb-color-info-rgb: var(--nb-info-700-rgb);
  --nb-color-info-subtle: var(--nb-info-50); /* Information (fond) */
  --nb-color-info-subtle-rgb: var(--nb-info-50-rgb);
  --nb-color-info-border: var(--nb-info-300); /* Information (bordure) */
  --nb-color-info-border-rgb: var(--nb-info-300-rgb);
}

/* ---- Thème sombre (base marine) ---- */
[data-theme="dark"] {
  color-scheme: dark;
  --nb-color-bg: var(--nb-navy-900); /* Fond de page */
  --nb-color-bg-rgb: var(--nb-navy-900-rgb);
  --nb-color-bg-subtle: var(--nb-navy-950); /* Fond de section alternée */
  --nb-color-bg-subtle-rgb: var(--nb-navy-950-rgb);
  --nb-color-surface: var(--nb-navy-800); /* Cartes, modales, menus */
  --nb-color-surface-rgb: var(--nb-navy-800-rgb);
  --nb-color-surface-muted: var(--nb-navy-700); /* Surface discrète, en-têtes de tableau */
  --nb-color-surface-muted-rgb: var(--nb-navy-700-rgb);
  --nb-color-surface-sunken: var(--nb-navy-950); /* Champs désactivés, zones en creux */
  --nb-color-surface-sunken-rgb: var(--nb-navy-950-rgb);
  --nb-color-surface-inverse: var(--nb-white); /* Surface inversée */
  --nb-color-surface-inverse-rgb: var(--nb-white-rgb);
  --nb-color-text: var(--nb-white); /* Texte principal */
  --nb-color-text-rgb: var(--nb-white-rgb);
  --nb-color-text-muted: var(--nb-mist-200); /* Texte secondaire */
  --nb-color-text-muted-rgb: var(--nb-mist-200-rgb);
  --nb-color-text-subtle: var(--nb-mist-300); /* Texte tertiaire, aides (≥ 4,5:1) */
  --nb-color-text-subtle-rgb: var(--nb-mist-300-rgb);
  --nb-color-text-inverse: var(--nb-navy-900); /* Texte sur surface inversée */
  --nb-color-text-inverse-rgb: var(--nb-navy-900-rgb);
  --nb-color-text-disabled: var(--nb-mist-600); /* Texte désactivé (exempté WCAG) */
  --nb-color-text-disabled-rgb: var(--nb-mist-600-rgb);
  --nb-color-border: var(--nb-navy-700); /* Bordure décorative / séparateurs */
  --nb-color-border-rgb: var(--nb-navy-700-rgb);
  --nb-color-border-strong: var(--nb-mist-400); /* Bordure de contrôle (≥ 3:1 sur fond) */
  --nb-color-border-strong-rgb: var(--nb-mist-400-rgb);
  --nb-color-primary: var(--nb-orange-500); /* Action principale (fond de bouton) */
  --nb-color-primary-rgb: var(--nb-orange-500-rgb);
  --nb-color-primary-hover: var(--nb-orange-400); /* Survol action principale */
  --nb-color-primary-hover-rgb: var(--nb-orange-400-rgb);
  --nb-color-primary-active: var(--nb-orange-300); /* Action principale enfoncée */
  --nb-color-primary-active-rgb: var(--nb-orange-300-rgb);
  --nb-color-primary-subtle: var(--nb-orange-950); /* Fond teinté orange */
  --nb-color-primary-subtle-rgb: var(--nb-orange-950-rgb);
  --nb-color-on-primary: var(--nb-navy-900); /* Texte sur action principale */
  --nb-color-on-primary-rgb: var(--nb-navy-900-rgb);
  --nb-color-secondary: var(--nb-white); /* Action secondaire (fond) */
  --nb-color-secondary-rgb: var(--nb-white-rgb);
  --nb-color-secondary-hover: var(--nb-mist-200); /* Survol action secondaire */
  --nb-color-secondary-hover-rgb: var(--nb-mist-200-rgb);
  --nb-color-on-secondary: var(--nb-navy-900); /* Texte sur action secondaire */
  --nb-color-on-secondary-rgb: var(--nb-navy-900-rgb);
  --nb-color-accent: var(--nb-orange-500); /* Orange de marque : accents, icônes, grands titres */
  --nb-color-accent-rgb: var(--nb-orange-500-rgb);
  --nb-color-accent-soft: var(--nb-navy-700); /* Bleu pâle de marque : aplats, puces */
  --nb-color-accent-soft-rgb: var(--nb-navy-700-rgb);
  --nb-color-link: var(--nb-orange-400); /* Liens */
  --nb-color-link-rgb: var(--nb-orange-400-rgb);
  --nb-color-link-hover: var(--nb-orange-300); /* Liens au survol */
  --nb-color-link-hover-rgb: var(--nb-orange-300-rgb);
  --nb-color-focus-ring: var(--nb-mist-200); /* Anneau de focus (≥ 3:1) */
  --nb-color-focus-ring-rgb: var(--nb-mist-200-rgb);
  --nb-color-overlay: var(--nb-navy-950); /* Voile de modale (utilisé avec opacité) */
  --nb-color-overlay-rgb: var(--nb-navy-950-rgb);
  --nb-color-success: var(--nb-success-400); /* Succès (texte/icône, fond plein) */
  --nb-color-success-rgb: var(--nb-success-400-rgb);
  --nb-color-success-subtle: var(--nb-success-950); /* Succès (fond) */
  --nb-color-success-subtle-rgb: var(--nb-success-950-rgb);
  --nb-color-success-border: var(--nb-success-800); /* Succès (bordure) */
  --nb-color-success-border-rgb: var(--nb-success-800-rgb);
  --nb-color-warning: var(--nb-warning-400); /* Avertissement (texte/icône) */
  --nb-color-warning-rgb: var(--nb-warning-400-rgb);
  --nb-color-warning-subtle: var(--nb-warning-950); /* Avertissement (fond) */
  --nb-color-warning-subtle-rgb: var(--nb-warning-950-rgb);
  --nb-color-warning-border: var(--nb-warning-800); /* Avertissement (bordure) */
  --nb-color-warning-border-rgb: var(--nb-warning-800-rgb);
  --nb-color-danger: var(--nb-danger-400); /* Erreur (texte/icône, fond plein) */
  --nb-color-danger-rgb: var(--nb-danger-400-rgb);
  --nb-color-danger-subtle: var(--nb-danger-950); /* Erreur (fond) */
  --nb-color-danger-subtle-rgb: var(--nb-danger-950-rgb);
  --nb-color-danger-border: var(--nb-danger-800); /* Erreur (bordure) */
  --nb-color-danger-border-rgb: var(--nb-danger-800-rgb);
  --nb-color-info: var(--nb-info-300); /* Information (texte/icône) */
  --nb-color-info-rgb: var(--nb-info-300-rgb);
  --nb-color-info-subtle: var(--nb-info-950); /* Information (fond) */
  --nb-color-info-subtle-rgb: var(--nb-info-950-rgb);
  --nb-color-info-border: var(--nb-info-800); /* Information (bordure) */
  --nb-color-info-border-rgb: var(--nb-info-800-rgb);
  --nb-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.30);
  --nb-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35), 0 1px 2px rgba(0, 0, 0, 0.25);
  --nb-shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.45), 0 2px 4px -2px rgba(0, 0, 0, 0.30);
  --nb-shadow-lg: 0 12px 24px -6px rgba(0, 0, 0, 0.55), 0 4px 8px -4px rgba(0, 0, 0, 0.30);
  --nb-shadow-xl: 0 24px 48px -12px rgba(0, 0, 0, 0.65);
  --nb-shadow-glow: 0 8px 28px -6px rgba(244, 72, 17, 0.55);
}

@media (prefers-reduced-motion: reduce) {
  :root { --nb-duration-fast: 0ms; --nb-duration-base: 0ms; --nb-duration-slow: 0ms; --nb-duration-slower: 0ms; }
}
