/* SOCLE DES ESSAIS — charger avant les quatre directions.
   Tous les effets sont limités à une racine data-ui-direction.
   Aucun espacement Tailwind, ordre DOM ou comportement métier n'est changé. */
:where([data-ui-direction]) {
  color-scheme: light;
  --essai-fond: var(--essai-fond-clair); --essai-surface: var(--essai-surface-clair);
  --essai-encre: var(--essai-encre-clair); --essai-discret: var(--essai-discret-clair);
  --essai-bordure: var(--essai-bordure-clair); --essai-controle: var(--essai-controle-clair);
  --essai-accent: var(--essai-accent-clair); --essai-sur-accent: var(--essai-sur-accent-clair);
  --essai-tendre: var(--essai-tendre-clair);
  --essai-erreur: #a12b23; --essai-succes: #1f6540;
}
:where([data-ui-direction][data-ui-mode="sombre"],
  [data-ui-direction][data-mode="sombre"]:not([data-ui-mode]),
  [data-ui-direction][data-theme="dark"]:not([data-ui-mode])) {
  color-scheme: dark;
  --essai-fond: var(--essai-fond-sombre); --essai-surface: var(--essai-surface-sombre);
  --essai-encre: var(--essai-encre-sombre); --essai-discret: var(--essai-discret-sombre);
  --essai-bordure: var(--essai-bordure-sombre); --essai-controle: var(--essai-controle-sombre);
  --essai-accent: var(--essai-accent-sombre); --essai-sur-accent: var(--essai-sur-accent-sombre);
  --essai-tendre: var(--essai-tendre-sombre);
  --essai-erreur: #ffb3a8; --essai-succes: #a2d9ae;
}
@media (prefers-color-scheme: dark) {
  :where([data-ui-direction][data-ui-mode="systeme"],
    [data-ui-direction][data-ui-produit="cjn"]:not([data-mode]):not([data-ui-mode])) {
    color-scheme: dark;
    --essai-fond: var(--essai-fond-sombre); --essai-surface: var(--essai-surface-sombre);
    --essai-encre: var(--essai-encre-sombre); --essai-discret: var(--essai-discret-sombre);
    --essai-bordure: var(--essai-bordure-sombre); --essai-controle: var(--essai-controle-sombre);
    --essai-accent: var(--essai-accent-sombre); --essai-sur-accent: var(--essai-sur-accent-sombre);
    --essai-tendre: var(--essai-tendre-sombre);
    --essai-erreur: #ffb3a8; --essai-succes: #a2d9ae;
  }
}
:where([data-ui-direction]) [data-ui="application"] {
  background: var(--essai-fond); color: var(--essai-encre);
  font: var(--essai-corps)/var(--essai-interligne) var(--essai-police);
}
:where([data-ui-direction]) [data-ui="entete"] {
  background: var(--essai-surface); color: var(--essai-encre);
  border-bottom: var(--essai-regle) solid var(--essai-bordure);
  padding: 18px 24px;
}
:where([data-ui-direction]) [data-ui="marque"] {
  font-family: var(--essai-titre); font-size: 23px; font-weight: var(--essai-graisse-titre);
  letter-spacing: -.035em;
}
:where([data-ui-direction]) [data-ui="contenu"] { padding: var(--essai-marge); }
:where([data-ui-direction]) [data-ui="titre-page"] {
  margin: 8px 0 12px; font-family: var(--essai-titre);
  font-size: var(--essai-taille-titre); font-weight: var(--essai-graisse-titre);
  letter-spacing: var(--essai-chasse-titre); line-height: 1.12;
  text-transform: var(--essai-titre-casse); overflow-wrap: anywhere;
}
:where([data-ui-direction]) [data-ui="titre-section"] {
  margin: 0 0 12px; font: 600 17px/1.4 var(--essai-titre);
}
:where([data-ui-direction]) [data-ui="contexte"] {
  font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--essai-discret);
}
:where([data-ui-direction]) [data-ui="secondaire"] { color: var(--essai-discret); font-size: 12px; }
:where([data-ui-direction]) [data-ui="chiffre"] {
  font-family: var(--essai-chiffre); font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 400; font-variant-numeric: tabular-nums; line-height: 1.3;
  letter-spacing: -.045em; margin: 10px 0;
}
:where([data-ui-direction]) [data-ui="montant"] {
  font-family: var(--essai-chiffre); font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
:where([data-ui-direction]) [data-ui="navigation"] {
  padding: 22px 12px; border-right: 1px solid var(--essai-bordure);
  background: var(--essai-surface);
}
:where([data-ui-direction]) [data-ui="navigation"] :where(a, [data-ui="rubrique"]),
:where([data-ui-direction]) [data-ui="menu-mobile"] [data-ui="rubrique"] {
  padding: 11px 12px; border-radius: var(--essai-rayon);
  color: var(--essai-discret); font-size: 13px; text-decoration: none;
}
:where([data-ui-direction]) [data-ui="navigation"] [aria-current="page"] {
  color: var(--essai-accent); background: var(--essai-tendre); font-weight: 700;
}
:where([data-ui-direction]) [data-ui="bouton"],
:where([data-ui-direction]) [data-ui="principal"] {
  min-height: 44px; padding: 10px 14px; border-radius: var(--essai-rayon);
  border: 1px solid var(--essai-controle); font: 600 13px/1.35 var(--essai-police);
  background: var(--essai-surface); color: var(--essai-encre);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
:where([data-ui-direction]) [data-ui="principal"] {
  color: var(--essai-sur-accent); background: var(--essai-accent); border-color: var(--essai-accent);
}
:where([data-ui-direction]) :is([data-ui="bouton"], [data-ui="principal"]):disabled {
  opacity: .6; cursor: not-allowed;
}
:where([data-ui-direction]) [data-ui="champ"] {
  min-height: 44px; width: 100%; padding: 10px 12px;
  background: var(--essai-surface); color: var(--essai-encre);
  border: 1px solid var(--essai-controle); border-radius: var(--essai-rayon);
  font: 16px/1.4 var(--essai-police);
}
:where([data-ui-direction]) [data-ui="champ"]::placeholder { color: var(--essai-discret); opacity: 1; }
:where([data-ui-direction]) [data-ui="lien"] {
  color: var(--essai-accent); text-decoration: underline; text-underline-offset: 4px;
  font: inherit; border: 0; background: transparent; min-height: 44px;
}
:where([data-ui-direction]) [data-ui]:focus-visible {
  outline: 3px solid var(--essai-accent); outline-offset: 3px;
}
:where([data-ui-direction]) [data-ui="synthese"] {
  padding: 22px; border-radius: var(--essai-rayon-bloc);
  margin-block: 22px 30px;
}
:where([data-ui-direction]) [data-ui="ligne"] {
  padding-block: var(--essai-ligne); border-bottom: 1px solid var(--essai-bordure);
}
:where([data-ui-direction]) [data-ui="entete-tableau"] {
  background: var(--essai-tendre); color: var(--essai-discret);
  font-size: 12px; padding-block: 12px; border-bottom: 1px solid var(--essai-bordure);
}
:where([data-ui-direction]) [data-ui="ticket"] {
  background: var(--essai-surface); border-top: 3px solid var(--essai-encre);
  padding: 24px; border-radius: var(--essai-rayon-bloc); box-shadow: var(--essai-ombre);
}
:where([data-ui-direction]) [data-ui="statut-ok"] { color: var(--essai-succes); }
:where([data-ui-direction]) [data-ui="statut-alerte"] { color: var(--essai-erreur); }
@media (max-width: 600px) {
  :where([data-ui-direction]) [data-ui="entete"] { padding: 16px; }
  :where([data-ui-direction]) [data-ui="synthese"] { padding: 18px 14px; }
  :where([data-ui-direction]) [data-ui="ticket"] { padding: 20px 16px; }
}
