/* ==========================================================================
   loba-tokens.css — COPIE VENDORISÉE DU DESIGN SYSTEM LOBA. NE PAS ÉDITER.
   Source   : design-system/tokens/tokens.css (OneDrive « Groupe LOBA/LOBA Consulting »)
   Généré   : tokens/_source/generer.py depuis tokens.json v2.1.0 (2026-08-21)
   SHA-256  : 51280d6ff4ea2b5b9d2333c1c502733c52f4c06bc5485b3ab7c8c3294376edee
   Copié le : 2026-09-13
   Mise à jour : recopier le fichier ENTIER, mettre à jour ce bloc, puis
   incrémenter ?v= sur son <link> dans index.html (cache nginx 30 j immutable).
   ========================================================================== */
/* Genere par tokens/_source/generer.py depuis tokens.json — 2026-08-21. NE PAS EDITER A LA MAIN. */
:root{

  /* ---- primitive ---- */
  --loba-navy-900: #031552;
  --loba-navy-800: #032756;
  --loba-navy-700: #022d69;
  --loba-navy-600: #0f458c;
  --loba-navy-500: #1b54a5;
  --loba-navy-400: #3f74c4;
  --loba-navy-200: #b9cbe6;
  --loba-navy-100: #e4ecf7;
  --loba-navy-50: #f2f6fc;
  --loba-gold-700: #c98a00;
  --loba-gold-600: #e6a200;
  --loba-gold-500: #f7b406;
  --loba-gold-400: #fbc63d;
  --loba-gold-200: #fde6a8;
  --loba-gold-100: #fef4d6;
  --loba-green: #5b7a1e;
  --loba-blue: #0071c2;
  --loba-yellow: #fec101;
  --loba-red: #e12b1d;
  --loba-periwinkle: #918fd1;
  --loba-ink-900: #111722;
  --loba-ink-700: #2c3645;
  --loba-ink-500: #5a6675;
  --loba-ink-400: #8a94a3;
  --loba-line: #dce2ea;
  --loba-line-soft: #eef1f6;
  --loba-paper: #ffffff;
  --loba-canvas: #f5f7fa;
  --loba-canvas-warm: #f6f4ef;
  --loba-success: #1e7b3c;
  --loba-success-bg: #e6f3ea;
  --loba-danger: #d32f1e;
  --loba-danger-bg: #fcebe9;
  --loba-warning: #e6a200;
  --loba-warning-bg: #fef4d6;
  --loba-info: #0f458c;
  --loba-info-bg: #e4ecf7;
  --text-on-navy: #ffffff;
  --text-on-navy-muted: #aebfda;
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-display-condensed: 'Bahnschrift', 'Liberation Sans Narrow', 'Arial Narrow', 'DejaVu Sans Condensed', Impact, sans-serif;  /* Titre-affiche condensé lourd : les grands titres de page (gabarit « Méthode »). S'emploie TOUJOURS avec font-stretch:condensed et en capitales. */
  --font-body: 'Source Sans 3', system-ui, sans-serif;
  --font-numeric: 'Montserrat', system-ui, sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;
  --fs-display: 4rem;
  --fs-h1: 2.75rem;
  --fs-h2: 2.125rem;
  --fs-h3: 1.5rem;
  --fs-h4: 1.25rem;
  --fs-lg: 1.125rem;
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;
  --lh-tight: 1.05;
  --lh-snug: 1.2;
  --lh-heading: 1.25;
  --lh-body: 1.6;
  --lh-relaxed: 1.75;
  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.04em;
  --ls-eyebrow: 0.12em;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;
  --container-sm: 640px;
  --container-md: 880px;
  --container-lg: 1120px;
  --container-xl: 1280px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --border-width: 1px;
  --border-width-strong: 2px;
  --shadow-xs: 0 1px 2px rgba(3, 21, 82, 0.06);
  --shadow-sm: 0 2px 6px rgba(3, 21, 82, 0.08);
  --shadow-md: 0 6px 18px rgba(3, 21, 82, 0.10);
  --shadow-lg: 0 16px 40px rgba(3, 21, 82, 0.14);
  --shadow-gold: 0 8px 22px rgba(247, 180, 6, 0.35);
  --gradient-navy: linear-gradient(150deg, #0f458c 0%, #022d69 55%, #031552 100%);
  --gradient-navy-soft: linear-gradient(160deg, #1b54a5 0%, #022d69 100%);
  --gradient-gold: linear-gradient(135deg, #fbc63d 0%, #f7b406 100%);
  --ease-standard: cubic-bezier(0.4, 0.0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;

  /* ---- semantic ---- */
  --color-bg: var(--loba-canvas);
  --color-surface: var(--loba-paper);
  --color-surface-sunken: var(--loba-navy-50);
  --color-surface-warm: var(--loba-canvas-warm);
  --color-surface-invert: var(--loba-navy-700);
  --color-primary: var(--loba-navy-700);
  --color-primary-hover: var(--loba-navy-600);
  --color-primary-press: var(--loba-navy-900);
  --color-accent: var(--loba-gold-500);
  --color-accent-hover: var(--loba-gold-600);
  --color-accent-press: var(--loba-gold-700);
  --text-heading: var(--loba-ink-900);
  --text-body: var(--loba-ink-700);
  --text-muted: var(--loba-ink-500);
  --text-faint: var(--loba-ink-400);
  --text-link: var(--loba-navy-600);
  --border-default: var(--loba-line);
  --border-strong: var(--loba-navy-200);
  --focus-ring: var(--loba-navy-500);

  /* ---- component ---- */
  --loba-c-button-primary-bg: var(--color-primary);
  --loba-c-button-primary-bgHover: var(--color-primary-hover);
  --loba-c-button-primary-bgPress: var(--color-primary-press);
  --loba-c-button-primary-text: var(--loba-paper);
  --loba-c-button-primary-radius: var(--radius-pill);
  --loba-c-button-accent-bg: var(--color-accent);
  --loba-c-button-accent-text: var(--loba-ink-900);  /* Texte FONCE sur l'or : l'or contre le blanc plafonne a 1,83:1 (charte, ch. 4). */
  --loba-c-button-accent-radius: var(--radius-pill);
  --loba-c-card-bg: var(--color-surface);
  --loba-c-card-border: var(--border-default);
  --loba-c-card-radius: var(--radius-md);
  --loba-c-card-shadow: var(--shadow-sm);
  --loba-c-card-padding: var(--space-5);
  --loba-c-input-bg: var(--loba-paper);
  --loba-c-input-border: var(--border-default);
  --loba-c-input-borderFocus: var(--focus-ring);
  --loba-c-input-text: var(--text-body);
  --loba-c-input-placeholder: var(--text-faint);
  --loba-c-input-radius: var(--radius-sm);
  --loba-c-input-height: 40px;
  --loba-c-table-headBg: var(--loba-navy-700);
  --loba-c-table-headText: var(--loba-paper);
  --loba-c-table-rowAlt: var(--loba-navy-50);
  --loba-c-table-border: var(--loba-line);
  --loba-c-onNavy-text: var(--loba-paper);
  --loba-c-onNavy-accent: var(--loba-gold-500);  /* Blanc (13,28:1) et or (7,26:1) sont les DEUX seules couleurs de texte lisibles sur navy. */
  --loba-c-chart-series-1: var(--loba-navy-700);
  --loba-c-chart-series-2: var(--loba-gold-500);
  --loba-c-chart-series-3: var(--loba-blue);
  --loba-c-chart-series-4: var(--loba-green);
  --loba-c-chart-series-5: var(--loba-periwinkle);
  --loba-c-chart-series-6: var(--loba-red);  /* Rouge en DERNIER : charge semantique negative, ne doit pas tomber sur une serie neutre. */
  --loba-c-chart-grid: var(--loba-line);
  --loba-c-chart-axis: var(--loba-ink-500);
}
