/* Bati — Système Atelier · généré depuis tokens.json (ne pas modifier à la main) */
:root, [data-theme="atelier"] {
  --encre: #1f2328;
  --sur-encre: #ffffff;
  --sur-encre-doux: #c9ced4;
  --encre-filet: #4a525c;
  --accent: #2f5f8f;
  --accent-texte: #ffffff;
  --accent-fonce: #234a70;
  --accent-doux: #eaf0f6;
  --accent-filet: #c3d3e4;
  --accent-halo: rgba(47,95,143,0.22);
  --selection-douce: #eceff2;
  --fond: #f4f5f7;
  --surface: #ffffff;
  --surface-2: #f7f8fa;
  --texte: #1f2328;
  --texte-2: #3b424a;
  --texte-secondaire: #555d66;
  --texte-discret: #646d77;
  --texte-pale: #8a929b;
  --trait-discret: #a5acb4;
  --filet: #e1e4e8;
  --filet-fort: #d0d5db;
  --filet-leger: #edf0f2;
  --mur: #2d3339;
  --etat-ok: #1e6b45;
  --etat-ok-doux: #e4f1ea;
  --etat-attente: #9a5f0c;
  --etat-attente-fonce: #774700;
  --etat-attente-doux: #fcf2de;
  --etat-attente-filet: #ead2a0;
  --etat-erreur: #b3261e;
  --etat-erreur-doux: #fcf1f0;
  --etat-erreur-filet: #efcdca;
  --espace-projets: #1f2328;
  --espace-cotes: #2f5f8f;
  --espace-chantier: #9a5f0c;
  --espace-urbanisme: #4f5d75;
  --vert: #144616;
  --ombre-flottante: 0 8px 24px rgba(16,24,40,0.12);
  --ombre-legere: 0 1px 2px rgba(16,24,40,0.08);
}
[data-theme="clair"] {
  --encre: #3b434c;
  --sur-encre-doux: #d5dae0;
  --encre-filet: #7a838d;
  --accent: #3a72a8;
  --accent-texte: #ffffff;
  --accent-fonce: #2a5a88;
  --accent-doux: rgba(58,114,168,0.10);
  --accent-filet: rgba(58,114,168,0.32);
  --accent-halo: rgba(58,114,168,0.22);
  --selection-douce: rgba(58,114,168,0.08);
  --fond: #fafbfc;
  --surface-2: #f6f7f9;
  --texte: #262b31;
  --texte-secondaire: #5b636c;
  --filet: rgba(31,35,40,0.12);
  --filet-fort: rgba(31,35,40,0.20);
  --filet-leger: rgba(31,35,40,0.07);
}
[data-theme="chantier"] {
  --encre: #2a2d32;
  --sur-encre-doux: #c9ccd1;
  --encre-filet: #55595f;
  --accent: #e0a500;
  --accent-texte: #1d1f22;
  --accent-fonce: #5c4500;
  --accent-doux: #fff4cc;
  --accent-filet: #efd77c;
  --accent-halo: rgba(224,165,0,0.30);
  --selection-douce: #f1f1ee;
  --fond: #f4f4f1;
  --surface-2: #f1f1ee;
  --texte: #1d1f22;
}
:root {
  --espace-1: 4px;
  --espace-2: 8px;
  --espace-3: 12px;
  --espace-4: 16px;
  --espace-6: 24px;
  --hauteur-bouton: 44px;
  --hauteur-champ: 44px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-bouton: 6px;
  --radius-champ: 6px;
  --radius-puce: 6px;
  --radius-carte: 8px;
  --font-titre: "BS Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-texte: "BS Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* Police du système (charte v2). Sous Windows, « BS Sans » fixe les graisses de Segoe UI : 600 = Semibold,
   700 et plus = Bold (sinon 800 prendrait Segoe UI Black). Ailleurs (iPhone, Mac, Android) local() échoue et la pile
   passe à system-ui. */
@font-face{font-family:"BS Sans";font-weight:100 449;src:local("Segoe UI"),local("SegoeUI")}
@font-face{font-family:"BS Sans";font-weight:450 649;src:local("Segoe UI Semibold"),local("SegoeUI-Semibold")}
@font-face{font-family:"BS Sans";font-weight:650 1000;src:local("Segoe UI Bold"),local("SegoeUI-Bold")}
/* composants de base */
.b-bouton{min-height:var(--hauteur-bouton);padding:0 16px;border-radius:var(--radius-bouton);border:1px solid var(--filet-fort);background:var(--surface);color:var(--texte);font:700 15px/1 var(--font-texte);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.b-bouton--principal{border:0;background:var(--accent);color:var(--accent-texte)}
.b-bouton--encre{border:0;background:var(--encre);color:var(--sur-encre)}
.b-puce{height:36px;padding:0 12px;border-radius:var(--radius-puce);border:1px solid var(--filet-fort);background:var(--surface);color:var(--texte);font:700 14px/1 var(--font-texte);display:inline-flex;align-items:center;gap:6px}
.b-puce--active{border:2px solid var(--encre);background:var(--selection-douce);color:var(--encre);font-weight:700}
.b-champ{min-height:var(--hauteur-champ);box-sizing:border-box;border-radius:var(--radius-champ);border:1px solid var(--filet);background:var(--surface);padding:4px 10px;display:flex;flex-direction:column;justify-content:center;font-family:var(--font-texte)}
.b-champ--actif{border:2px solid var(--accent);background:var(--accent-doux);box-shadow:0 0 0 3px var(--accent-halo)}
.b-carte{border-radius:var(--radius-carte);border:1px solid var(--filet);background:var(--surface);padding:var(--espace-4)}
.b-pastille{height:24px;padding:0 9px;border-radius:var(--radius-puce);border:1px solid currentColor;font:700 12px/1 var(--font-texte);display:inline-flex;align-items:center}
