/* Identite retenue le 07/10/2026 : proposition 1 « le parcours en couleurs » + les quatre grandes cases
   de la proposition 2. Base du cockpit : menu a gauche avec le logo de Nicolas, fond bleu-gris, cartes
   blanches, bleu des documents, or reserve aux gestes, bleu marine en sombre. Une couleur par etape. */
:root{
  color-scheme:light;
  --fond:#eef2f7; --carte:#ffffff; --bord:#dde5ee; --survol:#f2f7fb; --champ:#f7f9fc; --bord-champ:#cfdae7;
  --txt:#0f1d2e; --txt2:#5a6b7d; --txt3:#697787;
  --nb:#1a6b78; --nb-fonce:#134e58; --nb-clair:#dbe7f1; --sur-nb:#ffffff;
  --marine:#1a3a4c; --or:#f5a623; --or-fonce:#8a5b00; --or-clair:#fdf4e3; --sur-or:#3a2600;
  --e-devis:#1a6b78;  --e-devis-c:#dcedf0;
  --e-conv:#6d5bd0;   --e-conv-c:#ebe8fb;
  --e-convoc:#2f6fe4; --e-convoc-c:#e3ecfd;
  --trait-1:#1a3a4c;
  --e-form:#1f9d61;   --e-form-c:#dcf3e7;
  --e-attest:#d9534f; --e-attest-c:#fbe5e4;
  --gris-etape:#cdd6e1; --sur-couleur:#ffffff;
  --alerte:#b45309; --alerte-c:#fef3c7;
  --voile:rgba(15,29,46,.35);
  --ombre:0 1px 2px rgba(15,29,46,.05),0 2px 6px rgba(15,29,46,.05);
  --ombre-h:0 2px 5px rgba(15,29,46,.07),0 8px 18px rgba(15,29,46,.08);
  --r:12px;
  --titre:'Lexend','Inter',-apple-system,sans-serif;
  --police:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  color-scheme:dark;
  --fond:#0a1628; --carte:#132236; --bord:#1e3448; --survol:#17293c; --champ:#0d1b2b; --bord-champ:#2a4257;
  --txt:#f1f5f9; --txt2:#94a3b8; --txt3:#7c8ca1;
  --nb:#5fb3c4; --nb-fonce:#7fc3d1; --nb-clair:#16394a; --sur-nb:#0a1628;
  --marine:#0d1d33; --or:#f5a623; --or-fonce:#f4c67a; --or-clair:#33260a; --sur-or:#2a1b00;
  --e-devis:#5fb3c4;  --e-devis-c:#14343f;
  --e-conv:#9b8cf0;   --e-conv-c:#262147;
  --e-convoc:#7aa7ff; --e-convoc-c:#1a2a4d;
  --trait-1:#2b6f86;
  --e-form:#4ccf8a;   --e-form-c:#123425;
  --e-attest:#f07b77; --e-attest-c:#3a1a1c;
  --gris-etape:#2a4257; --sur-couleur:#0a1628;
  --alerte:#fbbf24; --alerte-c:#33260a;
  --voile:rgba(0,0,0,.5);
  --ombre:0 1px 2px rgba(0,0,0,.28); --ombre-h:0 6px 18px rgba(0,0,0,.36);
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --fond:#0a1628; --carte:#132236; --bord:#1e3448; --survol:#17293c; --champ:#0d1b2b; --bord-champ:#2a4257;
  --txt:#f1f5f9; --txt2:#94a3b8; --txt3:#7c8ca1;
  --nb:#5fb3c4; --nb-fonce:#7fc3d1; --nb-clair:#16394a; --sur-nb:#0a1628;
  --marine:#0d1d33; --or:#f5a623; --or-fonce:#f4c67a; --or-clair:#33260a; --sur-or:#2a1b00;
  --e-devis:#5fb3c4;  --e-devis-c:#14343f;
  --e-conv:#9b8cf0;   --e-conv-c:#262147;
  --e-convoc:#7aa7ff; --e-convoc-c:#1a2a4d;
  --trait-1:#2b6f86;
  --e-form:#4ccf8a;   --e-form-c:#123425;
  --e-attest:#f07b77; --e-attest-c:#3a1a1c;
  --gris-etape:#2a4257; --sur-couleur:#0a1628;
  --alerte:#fbbf24; --alerte-c:#33260a;
  --voile:rgba(0,0,0,.5);
  --ombre:0 1px 2px rgba(0,0,0,.28); --ombre-h:0 6px 18px rgba(0,0,0,.36);
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{min-height:100%}
body{margin:0;background:var(--fond);color:var(--txt);font-family:var(--police);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit;font-size:15px;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--nb);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* coque */
.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.menu{background:var(--carte);border-right:1px solid var(--bord);padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}
.marque{display:flex;align-items:center;gap:10px;padding:2px 6px 16px}
.marque img{width:40px;height:40px;border-radius:10px;background:#fff;padding:3px;flex:none}
.marque b{display:block;font-size:14px}
.marque small{color:var(--txt3);font-size:12px}
.lien{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--txt2);font-weight:500;font-size:14px;border:0;background:transparent;text-align:left;width:100%}
.lien:hover{background:var(--survol);color:var(--txt)}
.lien[aria-current="page"]{background:var(--nb-clair);color:var(--nb-fonce);font-weight:600}
.pastille{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:var(--or);color:var(--sur-or);font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 6px}
.bas-menu{margin-top:auto;display:grid;gap:10px}
.aide{border-radius:14px;background:linear-gradient(135deg,var(--nb) 0%,var(--e-conv) 100%);color:var(--sur-couleur);padding:13px 14px;font-size:13px;
  display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;border:0;text-align:left;box-shadow:0 6px 18px color-mix(in srgb,var(--e-conv) 30%,transparent)}
.aide:hover{filter:brightness(1.06)}
.aide svg{grid-row:span 2;width:30px;height:30px;padding:6px;border-radius:9px;background:color-mix(in srgb,var(--sur-couleur) 18%,transparent)}
.aide b{font-size:14px}
.aide span{opacity:.75}
.theme{display:flex;gap:2px;border:1px solid var(--bord);border-radius:10px;padding:3px}
.theme button{flex:1;border:0;background:transparent;border-radius:7px;padding:5px 0;font-size:12px;color:var(--txt2)}
.theme button[aria-pressed="true"]{background:var(--nb-clair);color:var(--nb-fonce);font-weight:600}

.zone{padding:24px 28px 48px;display:grid;gap:18px;align-content:start;min-width:0;max-width:1080px;width:100%}
.titre{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.titre h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em}
.titre small{display:block;color:var(--txt2);font-size:14px;font-weight:400;letter-spacing:0}
.b-principal{font-weight:600;font-size:14px;background:var(--nb);color:var(--sur-nb);border:0;border-radius:10px;padding:10px 16px;box-shadow:var(--ombre)}
.b-principal:hover{background:var(--nb-fonce)}
.b-second{font-size:13px;font-weight:600;border:1px solid var(--bord);background:var(--carte);color:var(--txt);border-radius:9px;padding:6px 12px}
.b-second:hover{border-color:var(--nb);background:var(--nb-clair)}
.note-apercu{margin:0;font-size:13px;color:var(--txt2)}

/* a faire aujourd'hui */
.afaire{background:var(--carte);border:1px solid color-mix(in srgb,var(--or) 55%,transparent);border-radius:var(--r);padding:14px 16px;display:grid;gap:10px;box-shadow:var(--ombre)}
.afaire h2{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--or-fonce)}
.tache{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.tache + .tache{border-top:1px solid var(--bord);padding-top:10px}
.tout-va-bien{font-size:14px;color:var(--txt2)}

/* quatre grandes cases */
.colonnes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.col{border-radius:14px;overflow:hidden;background:var(--carte);border:1px solid var(--bord);box-shadow:var(--ombre);text-align:left;padding:0;display:grid}
.col:hover{box-shadow:var(--ombre-h)}
.col[aria-pressed="true"]{outline:2px solid var(--txt);outline-offset:2px}
.col .haut{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--sur-couleur)}
.col .haut b{font-size:28px;line-height:1}
.col .bas{padding:10px 14px;font-size:13px;color:var(--txt2)}
.c-remplir .haut{background:var(--or);color:var(--sur-or)}
.c-confirmer .haut{background:var(--e-conv)}
.c-pretes .haut{background:var(--nb)}
.c-cloturer .haut{background:var(--e-form)}

/* filtres */
.barre{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.puces{display:flex;gap:6px;flex-wrap:wrap}
.puces button{font-size:13px;font-weight:500;border:1px solid var(--bord);background:var(--carte);border-radius:999px;padding:6px 13px;color:var(--txt2)}
.puces button[aria-pressed="true"]{background:var(--marine);border-color:var(--marine);color:#fff}
.recherche{flex:1;min-width:180px;max-width:300px}
.recherche input{width:100%;border:1px solid var(--bord);background:var(--carte);border-radius:999px;padding:7px 14px;font-size:13px}
.recherche input:focus{outline:none;border-color:var(--nb);box-shadow:0 0 0 3px var(--nb-clair)}

/* sessions */
.liste{display:grid;gap:12px}
.mois{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt2);margin-top:6px}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;box-shadow:var(--ombre);padding:16px 18px;display:grid;
  grid-template-columns:86px minmax(0,1fr) 210px;gap:18px;align-items:start;text-align:left;width:100%}
.carte:hover{box-shadow:var(--ombre-h);border-color:var(--bord-champ)}
.date{border-radius:12px;background:var(--marine);color:#fff;text-align:center;padding:9px 0 8px;line-height:1.1;display:grid}
:root[data-theme="dark"] .date{background:var(--champ);border:1px solid var(--bord)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .date{background:var(--champ);border:1px solid var(--bord)} }
.date b{font-size:22px}
.date small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.info{display:grid;min-width:0}
.nom{font-weight:700;font-size:17px;letter-spacing:-.01em}
.lieu{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;color:var(--txt2);margin-top:4px}
.mode{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:2px 8px}
.mode.inter{background:var(--nb-clair);color:var(--nb-fonce)}
.mode.intra{background:var(--e-conv-c);color:var(--e-conv)}
.mode.sous_traitance{background:var(--champ);color:var(--txt2);border:1px solid var(--bord)}
.geste{display:inline-flex;align-items:center;gap:6px;background:var(--or-clair);color:var(--or-fonce);font-weight:600;font-size:12px;border-radius:999px;padding:3px 10px}
.geste::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--or)}
.parcours{display:flex;align-items:flex-start;margin-top:14px}
.et{display:grid;justify-items:center;gap:5px;flex:1;position:relative;font-size:11px;font-weight:600;color:var(--txt3);text-align:center}
.et::before{content:"";position:absolute;top:14px;left:calc(-50% + 16px);right:calc(50% + 16px);height:3px;border-radius:2px;background:var(--gris-etape)}
.et:first-child::before{display:none}
.et.fait::before{background:var(--k)}
.rond{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--champ);border:2px solid var(--gris-etape);color:var(--txt3);font-size:13px;position:relative;z-index:1}
.et.fait .rond{background:var(--k);border-color:var(--k);color:var(--sur-couleur)}
.et.encours .rond{background:var(--kc);border-color:var(--k);color:var(--k);box-shadow:0 0 0 4px var(--kc)}
.et.fait,.et.encours{color:var(--txt)}
.places{display:grid;gap:8px;background:var(--champ);border-radius:12px;padding:12px}
.places .chiffre{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.places .chiffre b{font-size:24px;font-weight:800;letter-spacing:-.02em}
.places .chiffre b span{font-size:15px;font-weight:600;color:var(--txt2)}
.places .chiffre em{font-style:normal;font-size:12px;font-weight:700}
.cases{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.cases i{height:11px;border-radius:6px;background:var(--gris-etape)}
.cases i.c{background:var(--nb)} .cases i.e{background:var(--e-conv)}
.cases i.s{box-shadow:0 0 0 2px var(--txt)}
.places small{font-size:12px;color:var(--txt2)}
.ok{color:var(--e-form)} .attention{color:var(--alerte)} .neutre{color:var(--txt2)}

/* fiche */
.voile{position:fixed;inset:0;background:var(--voile);z-index:10}
.fiche{position:fixed;z-index:11;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--fond);overflow-y:auto;box-shadow:var(--ombre-h);
  padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(28px + env(safe-area-inset-bottom,0px));display:grid;gap:14px;align-content:start}
.f-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.f-tete h2{margin:2px 0 0;font-size:21px;letter-spacing:-.01em;text-wrap:balance}
.f-tete small{font-size:12px;color:var(--txt3)}
.bloc{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);padding:14px 16px;display:grid;gap:12px}
.bloc h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt2)}
.grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.champ{display:grid;gap:4px;min-width:0}
.champ.large{grid-column:1 / -1}
.champ label{font-size:13px;color:var(--txt2);font-weight:500}
.fiche input,.fiche select{padding:9px 11px;border:1px solid var(--bord-champ);border-radius:10px;background:var(--champ);width:100%;min-width:0}
.fiche input:focus,.fiche select:focus{outline:none;border-color:var(--nb);background:var(--carte);box-shadow:0 0 0 3px var(--nb-clair)}
.droite{display:flex;justify-content:flex-end}
.tableau{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-weight:600;color:var(--txt2);padding:6px;border-bottom:1px solid var(--bord)}
td{padding:9px 6px;border-bottom:1px solid var(--bord);vertical-align:middle}
th.n,td.n{text-align:right}
td input{width:84px !important;padding:6px 8px !important;text-align:right}
.sous{display:block;font-size:12px;color:var(--txt3)}
.statut{font-size:12px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.statut.confirmee{background:var(--e-form-c);color:var(--e-form)}
.statut.devis_envoye,.statut.en_attente{background:var(--e-conv-c);color:var(--e-conv)}
.statut.prospect{background:var(--or-clair);color:var(--or-fonce)}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kpis small{display:block;font-size:12px;color:var(--txt2)}
.kpis b{font-size:18px}
.indic{margin:0;font-size:13px;color:var(--txt2)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--txt);color:var(--carte);
  padding:10px 16px;border-radius:10px;font-size:13px;max-width:calc(100% - 32px);z-index:12;box-shadow:var(--ombre-h)}

.menu{overflow-y:auto}
.nav{display:grid;gap:2px}
.groupe{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3);padding:14px 10px 4px}
.groupe:first-child{padding-top:0}
.nouveau{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 7px;background:var(--e-conv-c);color:var(--e-conv)}
.lien .pastille + .nouveau{margin-left:6px}
.ecran-a-venir{display:grid;gap:12px}
.ecran-a-venir ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}
.prio{display:inline-flex;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:var(--nb-clair);color:var(--nb-fonce)}
.legende-menu{font-size:12px;color:var(--txt3);padding:10px 10px 0;display:flex;align-items:center;gap:6px}
.famille{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;border-radius:9px;
  padding:9px 10px;margin-top:6px;font-size:14px;font-weight:600;color:var(--txt);text-align:left}
.famille:hover{background:var(--survol)}
.famille .fleche{font-size:18px;line-height:1;color:var(--txt3);transition:transform .15s}
.famille[aria-expanded="true"] .fleche{transform:rotate(90deg)}
.sousmenu{display:grid;gap:1px;padding-left:10px;margin-left:10px;border-left:2px solid var(--bord)}
.sousmenu .lien{font-size:13.5px;padding:7px 10px}
.sousmenu .nouveau,.legende-menu .nouveau{font-size:0;width:7px;height:7px;padding:0;border-radius:50%;background:var(--e-conv);flex:none}

/* ===== SIGNATURE : le trait NB (traits epais aux bouts arrondis du logo) ===== */
.titre h1,.date b,.col .haut b,.places .chiffre b{font-family:var(--titre);letter-spacing:-.01em}
.titre h1{font-weight:600}
.date b{font-weight:600;white-space:nowrap;font-size:19px}
.titre small{font-family:var(--police);font-weight:400}
.charge{position:fixed;top:0;left:0;height:4px;border-radius:0 3px 3px 0;background:linear-gradient(90deg,var(--trait-1),var(--nb));z-index:20;width:0}
@media (prefers-reduced-motion:no-preference){ .charge{animation:charge 1.1s ease-out forwards} @keyframes charge{0%{width:0;opacity:1}80%{width:100%;opacity:1}100%{width:100%;opacity:0}} }
@media (prefers-reduced-motion:reduce){ .charge{display:none} }
.lien{position:relative}
.lien[aria-current="page"]::before{content:"";position:absolute;left:-6px;top:7px;bottom:7px;width:4px;border-radius:3px;background:var(--trait-1)}
.lien svg,.famille svg{width:19px;height:19px;flex:none}
.famille > span:first-child{display:flex;align-items:center;gap:10px}
.lien[aria-current="page"] svg{color:var(--nb)}
.et::before{top:12px;height:5px;border-radius:3px}
.rond{border-width:3px}
.trait{position:relative;height:12px;border-radius:6px;background:var(--gris-etape);display:block}
.trait .c{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--trait-1),var(--nb))}
.trait .e{position:absolute;top:0;bottom:0;border-radius:0 6px 6px 0;background:repeating-linear-gradient(135deg,var(--nb) 0 3px,transparent 3px 6px);opacity:.7}
.trait .s{position:absolute;top:-4px;bottom:-4px;width:4px;margin-left:-2px;border-radius:3px;background:var(--txt)}
.trait.atteint .c{background:linear-gradient(90deg,var(--trait-1),var(--e-form))}
@media (prefers-reduced-motion:no-preference){
  .trait.eclat,.cases.eclat{animation:eclat 1.2s ease-out;border-radius:6px}
  @keyframes eclat{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--e-form) 70%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
  .rond.pop{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
  @keyframes pop{0%{transform:scale(.4)}100%{transform:scale(1)}}
}
/* voix */
.afaire h2{font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--txt);font-weight:700;display:flex;align-items:center;gap:10px}
.afaire h2::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--or);flex:none}
.afaire.calme h2::before{background:var(--e-form)}
.afaire.calme{border-color:var(--bord)}
.tout-va-bien{display:flex;align-items:center;gap:12px}
.tout-va-bien svg{width:40px;height:40px;flex:none;color:var(--e-form)}
/* hierarchie */
.carte.une{border:2px solid color-mix(in srgb,var(--nb) 45%,transparent);padding:20px 22px}
.carte.une .nom{font-size:19px}
.a-la-une{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nb-fonce);margin-bottom:4px;display:block}
.carte.passee{opacity:.6}
.mini{font-size:12px;font-weight:600;border:1px solid var(--bord);background:var(--carte);color:var(--txt);border-radius:8px;padding:3px 9px;margin-left:6px}
.mini:hover{border-color:var(--nb);background:var(--nb-clair)}
.etape-suivante{justify-self:start}
/* onglets du bas, comme le cockpit sur telephone */
.onglets{display:none}
@media (max-width:900px){
  .colonnes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carte{grid-template-columns:60px minmax(0,1fr)}
  .places{grid-column:1 / -1}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .menu{display:none}
  .zone{padding:16px 16px 100px}
  .titre h1{font-size:23px}
  .et{font-size:11px}
  .et:not(.encours) .lbl{display:none}
  .date b{font-size:18px}
  .carte{grid-template-columns:64px minmax(0,1fr);padding:14px}
  .rond{width:26px;height:26px;font-size:12px}
  .et::before{top:12px}
  .grille,.kpis{grid-template-columns:1fr}
  .onglets{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--carte);
    border-top:1px solid var(--bord);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:4}
  .onglets button{border:0;background:transparent;font-size:11px;font-weight:600;color:var(--txt3);padding:8px 0;border-radius:8px;position:relative}
  .onglets button[aria-current="page"]{color:var(--nb-fonce);background:var(--nb-clair)}
}
@media (prefers-reduced-motion:no-preference){ .fiche:not([hidden]){animation:entre .18s ease-out} @keyframes entre{from{transform:translateX(20px);opacity:.5}} }

/* ===== Ajouts du logiciel en ligne (07/10/2026) ===== */
.entree{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--fond)}
.entree form{width:min(400px,100%);background:var(--carte);border:1px solid var(--bord);border-radius:18px;box-shadow:var(--ombre-h);padding:28px 24px;display:grid;gap:14px}
.entree .marque{padding:0 0 4px}
.entree h1{margin:0;font-family:var(--titre);font-weight:600;font-size:23px;letter-spacing:-.01em}
.entree p{margin:0;color:var(--txt2);font-size:14px}
.entree label{display:grid;gap:5px;font-size:13px;color:var(--txt2);font-weight:500}
.entree input{padding:11px 12px;border:1px solid var(--bord-champ);border-radius:10px;background:var(--champ);width:100%}
.entree input:focus{outline:none;border-color:var(--nb);background:var(--carte);box-shadow:0 0 0 3px var(--nb-clair)}
.entree .b-principal{padding:12px 16px;font-size:15px}
.entree .erreur{color:var(--e-attest);font-size:13px;font-weight:600;min-height:1em}
.toast.erreur{background:var(--e-attest);color:#fff}
.fiche textarea{padding:9px 11px;border:1px solid var(--bord-champ);border-radius:10px;background:var(--champ);width:100%;min-height:70px;font:inherit;resize:vertical}
.fiche textarea:focus{outline:none;border-color:var(--nb);background:var(--carte);box-shadow:0 0 0 3px var(--nb-clair)}
.boutons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.b-discret{font-size:13px;font-weight:600;border:0;background:transparent;color:var(--txt2);padding:6px 8px;border-radius:8px}
.b-discret:hover{color:var(--e-attest);background:var(--e-attest-c)}
td select{padding:6px 8px !important;width:auto !important;font-size:13px}
td input.eff{width:56px !important}
.ajout{border-top:1px dashed var(--bord);padding-top:12px;display:grid;gap:10px}
.compte{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--bord)}
.compte small{color:var(--txt3)}
.lien-invit{word-break:break-all;font-size:13px;background:var(--champ);border:1px solid var(--bord);border-radius:10px;padding:10px}
.qui{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--txt2);padding:0 4px}
.vide{background:var(--carte);border:1px dashed var(--bord-champ);border-radius:16px;padding:28px 20px;text-align:center;display:grid;gap:10px;justify-items:center}
.vide b{font-family:var(--titre);font-weight:600;font-size:18px}
.vide p{margin:0;color:var(--txt2);font-size:14px;max-width:46ch}

/* couleur de chaque etape (classes plutot que style en ligne : la CSP interdit les styles en ligne) */
.k-e-devis{--k:var(--e-devis);--kc:var(--e-devis-c)}
.k-e-conv{--k:var(--e-conv);--kc:var(--e-conv-c)}
.k-e-convoc{--k:var(--e-convoc);--kc:var(--e-convoc-c)}
.k-e-form{--k:var(--e-form);--kc:var(--e-form-c)}
.k-e-attest{--k:var(--e-attest);--kc:var(--e-attest-c)}
.sprites{position:absolute;width:0;height:0;overflow:hidden}
/* catalogue : familles > offres > modules */
.offre{border:1px solid var(--bord);border-radius:12px;padding:12px 14px;display:grid;gap:10px;background:var(--carte)}
.offre + .offre{margin-top:2px}
.offre.edition{border-color:var(--nb);box-shadow:0 0 0 3px var(--nb-clair)}
.offre-tete{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.offre-tete b{font-size:15px}
.offre-prix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.offre-prix small{display:block;font-size:12px;color:var(--txt2)}
.offre-prix b{font-size:15px}
.case{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--txt);cursor:pointer}
.case input{width:auto !important}
.modules-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;padding:8px;border:1px solid var(--bord);border-radius:10px;background:var(--champ)}
details.bloc summary{cursor:pointer;list-style:none}
details.bloc summary::-webkit-details-marker{display:none}
details.bloc summary h3::after{content:" ›";color:var(--txt3)}
details.bloc[open] summary h3::after{content:" ⌄"}
td input[data-m-libelle]{width:100% !important;text-align:left !important;min-width:220px}
@media (max-width:760px){ .offre-prix{grid-template-columns:repeat(2,minmax(0,1fr))} .modules-choix{grid-template-columns:1fr} }
