/* ==========================================================================
   Contraste renforcé de l'espace client (22/10/2026)

   Chargé APRÈS custom.css par includes/head.tpl, et seulement s'il existe :
   pour revenir à l'ancien rendu, supprimer ce fichier du serveur.
   Sauvegarde de l'état précédent : espaceclient-sauvegardes/2026-10-22-avant-contraste/ (dépôt).

   Tout le thème lit ses couleurs dans les jetons --ec-* : les redéfinir ici suffit pour la plupart
   des écrans. Objectifs mesurés (WCAG) :
     - textes secondaires et petits libellés : 4,5:1 au moins, sur les cartes comme sur le fond
       (avant : 2,8:1 pour les textes pâles en clair) ;
     - contour des champs de formulaire : 3:1 au moins (avant : 1,4:1) ;
     - cartes et bordures nettement détachées du fond (cartes/fond 1,2 au lieu de 1,07).
   ========================================================================== */

:root{
  --ec-bg:#e5ebf3;
  --ec-card-alt:#f6f8fb;
  --ec-border:rgba(15,23,42,.14);
  --ec-border-strong:rgba(15,23,42,.24);
  --ec-input-border:#7f8ca0;
  --ec-hover-1:rgba(15,23,42,.035);
  --ec-hover-2:rgba(15,23,42,.06);
  --ec-hover-3:rgba(15,23,42,.09);
  --ec-blue-dark:#173458;
  --ec-blue-tint:rgba(46,95,158,.12);
  --ec-focus-ring:rgba(46,95,158,.28);
  --ec-text:#0f172a;
  --ec-text-muted:#3f4d63;
  --ec-text-faint:#59677c;
  --ec-green:#13744a;
  --ec-orange:#9a4c00;
  --ec-red:#b3271e;
  --ec-shadow-1:0 1px 2px rgba(15,23,42,.07),0 1px 1px rgba(15,23,42,.03);
  --ec-shadow-2:0 1px 2px rgba(15,23,42,.08),0 12px 28px -12px rgba(15,23,42,.24);
}

:root[data-theme="dark"]{
  --ec-bg:#090e14;
  --ec-bg-soft:#16212d;
  --ec-card:#16212d;
  --ec-card-alt:#1e2b3a;
  --ec-border:rgba(255,255,255,.14);
  --ec-border-strong:rgba(255,255,255,.26);
  --ec-input-border:#647891;
  --ec-hover-1:rgba(255,255,255,.04);
  --ec-hover-2:rgba(255,255,255,.07);
  --ec-hover-3:rgba(255,255,255,.11);
  --ec-blue:#5b9ae6;
  --ec-blue-dark:#4a86d0;
  --ec-blue-light:#8bbcf0;
  --ec-blue-tint:rgba(91,154,230,.18);
  --ec-focus-ring:rgba(91,154,230,.35);
  --ec-text:#f3f6fa;
  --ec-text-muted:#bcc8d6;
  --ec-text-faint:#97a6b9;
  --ec-green:#4cc98f;
  --ec-orange:#eba04f;
  --ec-red:#f5847b;
  --ec-shadow-1:0 1px 2px rgba(0,0,0,.5);
  --ec-shadow-2:0 1px 2px rgba(0,0,0,.5),0 12px 28px -12px rgba(0,0,0,.8);
}

/* Champs de formulaire : contour visible et focus plus net. */
.form-control,.custom-select{border-color:var(--ec-input-border);}
:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .custom-select,
:root[data-theme="dark"] textarea{border-color:var(--ec-input-border) !important;}
.form-control:focus,.custom-select:focus{border-color:var(--ec-blue);box-shadow:0 0 0 3px var(--ec-focus-ring);}
.form-control:disabled,.form-control[readonly]{color:var(--ec-text-muted);}
.input-group-text{color:var(--ec-text-muted);}

/* Menu latéral : icônes et compteurs lisibles, pas seulement le texte. */
.nav-row-icon{color:var(--ec-text-muted);}
.nav-row:hover .nav-row-icon{color:var(--ec-text);}
.nav-row .badge{color:var(--ec-text-muted);}

/* Pastilles de statut (Actif, En attente, Impayée…) : teinte plus franche, suit le mode clair ou sombre. */
.badge-success{background-color:color-mix(in srgb,var(--ec-green) 16%,transparent);color:var(--ec-green);}
.badge-warning{background-color:color-mix(in srgb,var(--ec-orange) 16%,transparent);color:var(--ec-orange);}
.badge-danger{background-color:color-mix(in srgb,var(--ec-red) 16%,transparent);color:var(--ec-red);}
