/* ZAPP Exact — thème "zapp" du Portail ZAPP (issue Portail_Zapp #1)
   Un thème = un PUR fichier de valeurs (WEBBASE-1155) : ce fichier ne redéfinit que le
   contrat de tokens --theme-* (en-tête de compat.css, WEBBASE-1154). Chargé après site.css
   et compat.css quand App:Theme = "zapp" ; sans effet tant que html[data-theme="zapp"]
   n'est pas posé. Le mode sombre s'active en combinant data-bs-theme="dark" avec le thème.

   Valeurs : CHARTE-GRAPHIQUE-ZAPP-EXACT-v1.md (§3 couleurs, §4 typographie, §5 grille).
   @import doit rester en tête du fichier : polices auto-hébergées, puis peau (zapp-skin.css :
   rail encre, titres, cartes, grilles…). URL relatives : servies depuis /theme-assets/ comme
   ce fichier, donc surchargeables à chaud (WEBBASE-1157). Incrémenter ?v= à chaque
   modification d'une feuille importée.
   Fichier propre au portail : ne pas le reporter dans le socle. */
@import url('zapp-fonts.css?v=20261001b');
@import url('zapp-skin.css?v=20261001b');

/* ─── Valeurs claires ─────────────────────────────────────────── */
:root {
  --theme-font-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --theme-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;

  /* Signal #087E73 : actif, relié, confirmé ou mesuré — rare (≈ 5 % d'une composition).
     4,95:1 sur blanc, 4,51:1 sur papier. Jamais pour une erreur ou un risque. */
  --theme-brand: #087e73;
  --theme-brand-hover: #066a61;
  --theme-brand-rgb: 8 126 115;
  --theme-accent: #087e73;

  /* Neutres : encre, papier, blanc, ligne, terrain. La charte ne fournit pas de surface
     alternative ni de teintes de texte intermédiaires : --theme-surface-alt est un papier
     assombri vers la ligne, -secondary/-faint interpolent entre encre et terrain. */
  --theme-surface: #f3f5f0;        /* papier */
  --theme-surface-card: #ffffff;   /* blanc */
  --theme-surface-alt: #e8ece6;
  --theme-border: #c8d2cd;         /* ligne */
  --theme-text: #14211f;           /* encre */
  --theme-text-secondary: #3f4a47;
  --theme-text-muted: #66716d;     /* terrain */
  --theme-text-faint: #8f9995;

  /* Angles francs, aucune ombre portée (charte §5 et §8). */
  --theme-radius: 0;
  --theme-radius-lg: 0;
  --theme-shadow: none;
  --theme-shadow-md: none;
}

/* ─── Valeurs sombres — html[data-theme="zapp"][data-bs-theme="dark"] ───────────
   Plus spécifique que le html[data-bs-theme="dark"] du compat.css générique. La charte ne
   définit pas de mode sombre : inversion encre/papier, Signal éclairci (5,8:1 sur encre). */
html[data-theme="zapp"][data-bs-theme="dark"] {
  --theme-brand: #3fa89c;
  --theme-brand-hover: #66c2b6;
  --theme-brand-rgb: 63 168 156;
  --theme-accent: #3fa89c;

  --theme-surface: #14211f;
  --theme-surface-card: #1b2b28;
  --theme-surface-alt: #1f2e2b;
  --theme-border: #485753;
  --theme-text: #f3f5f0;
  --theme-text-secondary: #c9d1cd;
  --theme-text-muted: #98a29d;
  --theme-text-faint: #6d7873;

  --theme-shadow: none;
  --theme-shadow-md: none;
}

/* Remarque : --bs-success/--bs-warning/--bs-danger/--bs-secondary ne sont PAS redéfinis —
   ils pilotent les badges de statut, SLA et priorité ; les valeurs Bootstrap 5.3 sont AA et
   inversées par Bootstrap sous [data-bs-theme="dark"]. */
