/* ATTENTION — fichier généré. Ne pas modifier à la main.
   Source : config/design/tokens.json · Regénérer : bin/rails design:tokens */

/* Allemax Design System v3.0 — primitives et rôles.
   Deux niveaux : une primitive est une couleur qui existe (--brand-400),
   un rôle est un emploi dans l'interface (--accent). Les composants ne
   consomment que des rôles ; un tenant ne redéfinit que des primitives. */

:root {
  --brand-50: #FAEDE5;
  --brand-100: #F2CDB6;
  --brand-200: #E9AC86;
  --brand-400: #DD7F44;
  --brand-600: #A04F1D;
  --brand-800: #753A15;
  --brand-900: #49240D;
  --neutral-50: #F1F2F4;
  --neutral-100: #D3D9DE;
  --neutral-200: #ABB8C4;
  --neutral-400: #758DA3;
  --neutral-600: #405B72;
  --neutral-800: #16283A;
  --neutral-900: #0B1620;

  /* Rôles — mode clair */
  --bg: #F6F7F8;
  --surface: #FCFCFD;
  --surface-2: #EBEDEF;
  --border: #D6DCE1;
  --border-strong: #ABB8C4;
  --text-primary: #0B1620;
  --text-secondary: #405B72;
  --text-muted: #546C83;
  --accent: #DD7F44;
  --accent-600: #A04F1D;
  --accent-800: #753A15;
  --on-accent: #49240D;
  --on-accent-strong: #FFFFFF;
  --focus-ring: #DD7F44;
  --chrome: #0B1620;
  --chrome-deep: #0B1620;
  --chrome-surface: #16283A;
  --chrome-border: #344E65;

  /* Rôles — sémantiques */
  --success: #1D9E75;
  --error: #E24B4A;
  --warning: #EF9F27;
  --info: #378ADD;

  /* Palette catégorielle — mode clair */
  --cat-red: #BA3630;
  --color-cat-red: #BA3630;
  --cat-orange: #A15510;
  --color-cat-orange: #A15510;
  --cat-amber: #8B6410;
  --color-cat-amber: #8B6410;
  --cat-lime: #707111;
  --color-cat-lime: #707111;
  --cat-green: #148227;
  --color-cat-green: #148227;
  --cat-emerald: #147F58;
  --color-cat-emerald: #147F58;
  --cat-teal: #147C77;
  --color-cat-teal: #147C77;
  --cat-cyan: #14788C;
  --color-cat-cyan: #14788C;
  --cat-blue: #126EBA;
  --color-cat-blue: #126EBA;
  --cat-indigo: #525DCC;
  --color-cat-indigo: #525DCC;
  --cat-violet: #7D4DBE;
  --color-cat-violet: #7D4DBE;
  --cat-rose: #AB3782;
  --color-cat-rose: #AB3782;

  /* Typographies */
  --font-display: "Geologica", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Sen", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "DM Mono", ui-monospace, monospace;

  /* Espacement (unité 4 px) */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --space-3xl: 48px;
  --space-4xl: 64px;

  /* Rayons */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Échelle typographique */
  --text-body: 14px;
  --text-h3: 17px;
  --text-h2: 22px;
  --text-h1: 28px;
}

/* Mode sombre. Seuls les rôles qui changent sont réassignés ; les
   primitives de marque restent identiques, donc un tenant ne saisit
   jamais sa couleur deux fois.

   Aucun repli sur prefers-color-scheme ici : le script de démarrage du
   layout pose data-mode et la classe .dark avant la première peinture,
   d'après le choix mémorisé ou la préférence système. Ajouter une règle
   média désaccorderait les tokens des utilitaires dark: de Tailwind,
   qui dépendent de la classe. */
.dark,
[data-mode="dark"] {
  --bg: #0B1620;
  --surface: #16283A;
  --surface-2: #1C3245;
  --border: #344E65;
  --border-strong: #405B72;
  --text-primary: #F8F8F5;
  --text-secondary: #93A9BC;
  --text-muted: #607085;
  --cat-red: #EB6459;
  --color-cat-red: #EB6459;
  --cat-orange: #DD761A;
  --color-cat-orange: #DD761A;
  --cat-amber: #BF8B1B;
  --color-cat-amber: #BF8B1B;
  --cat-lime: #9B9C1B;
  --color-cat-lime: #9B9C1B;
  --cat-green: #42AF4D;
  --color-cat-green: #42AF4D;
  --cat-emerald: #20AF7A;
  --color-cat-emerald: #20AF7A;
  --cat-teal: #20AAA4;
  --color-cat-teal: #20AAA4;
  --cat-cyan: #1FA6C0;
  --color-cat-cyan: #1FA6C0;
  --cat-blue: #2C99F8;
  --color-cat-blue: #2C99F8;
  --cat-indigo: #7989FA;
  --color-cat-indigo: #7989FA;
  --cat-violet: #A679ED;
  --color-cat-violet: #A679ED;
  --cat-rose: #DB64AD;
  --color-cat-rose: #DB64AD;
}

/* Mode clair explicite. Sans ce bloc, un conteneur marqué clair à
   l'intérieur d'une page sombre continuerait d'hériter des rôles
   sombres — c'est le cas de l'aperçu de l'écran de personnalisation,
   qui doit montrer les deux modes quelle que soit l'apparence de
   l'administration. */
[data-mode="light"] {
  --bg: #F6F7F8;
  --surface: #FCFCFD;
  --surface-2: #EBEDEF;
  --border: #D6DCE1;
  --border-strong: #ABB8C4;
  --text-primary: #0B1620;
  --text-secondary: #405B72;
  --text-muted: #546C83;
  --cat-red: #BA3630;
  --color-cat-red: #BA3630;
  --cat-orange: #A15510;
  --color-cat-orange: #A15510;
  --cat-amber: #8B6410;
  --color-cat-amber: #8B6410;
  --cat-lime: #707111;
  --color-cat-lime: #707111;
  --cat-green: #148227;
  --color-cat-green: #148227;
  --cat-emerald: #147F58;
  --color-cat-emerald: #147F58;
  --cat-teal: #147C77;
  --color-cat-teal: #147C77;
  --cat-cyan: #14788C;
  --color-cat-cyan: #14788C;
  --cat-blue: #126EBA;
  --color-cat-blue: #126EBA;
  --cat-indigo: #525DCC;
  --color-cat-indigo: #525DCC;
  --cat-violet: #7D4DBE;
  --color-cat-violet: #7D4DBE;
  --cat-rose: #AB3782;
  --color-cat-rose: #AB3782;
}

html { color-scheme: light; }

html.dark,
html[data-mode="dark"] { color-scheme: dark; }
