:root{
  --bg:#070707;
  --surface:#0F0F0E;
  --surface2:#161614;
  --ink:#F5F4F1;
  --muted:#9A968E;
  --mint:#9FCDBB;
  --green:#12805F;
  --wa:#1FA855;
  --rouge:#C25454;
  --amber:#C79A4B;
  --rule:#232220;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  font-size:.92rem;line-height:1.5;-webkit-font-smoothing:antialiased;
}
button{font-family:inherit;}
a{color:var(--mint);}
[hidden]{display:none !important;}

/* ecrans config et login */
.centre{
  min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;
}
.carte-auth{
  width:100%;max-width:420px;background:var(--surface);
  border:1px solid var(--rule);padding:34px 32px;
}
.carte-auth .logo{font-weight:800;font-size:1.2rem;margin-bottom:6px;}
.carte-auth .logo i{font-style:normal;color:var(--mint);}
.carte-auth p{color:var(--muted);font-size:.88rem;margin-bottom:18px;}
.carte-auth ol{margin:0 0 16px 18px;font-size:.86rem;color:var(--muted);}
.carte-auth ol li{margin-bottom:8px;}
.carte-auth code{
  background:var(--surface2);border:1px solid var(--rule);
  padding:1px 6px;font-size:.8rem;color:var(--mint);
}
label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin:12px 0 4px;}
input,select,textarea{
  width:100%;background:var(--surface2);border:1px solid var(--rule);
  color:var(--ink);padding:10px 12px;font-size:.9rem;font-family:inherit;
  border-radius:0;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--mint);}
textarea{resize:vertical;min-height:70px;}
.btn{
  display:inline-block;border:none;cursor:pointer;text-decoration:none;
  font-weight:700;font-size:.88rem;padding:11px 18px;text-align:center;
  transition:transform .15s ease,opacity .15s ease;
}
.btn:active{transform:scale(.97);}
.btn.p{background:var(--green);color:#fff;}
.btn.p:hover{opacity:.9;}
.btn.wa{background:var(--wa);color:#fff;}
.btn.g{border:1px solid #3A3936;color:var(--ink);background:transparent;}
.btn.g:hover{border-color:var(--mint);color:var(--mint);}
.btn.danger{background:transparent;border:1px solid #4A2C2C;color:var(--rouge);}
.btn.mini{padding:6px 11px;font-size:.78rem;}
.btn.bloc{width:100%;margin-top:16px;}
.err{color:var(--rouge);font-size:.82rem;margin-top:10px;min-height:1.2em;}

/* structure app */
header.top{
  position:sticky;top:0;z-index:40;
  background:rgba(7,7,7,.88);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
header.top .ligne{
  max-width:1240px;margin:0 auto;padding:0 18px;
  display:flex;align-items:center;gap:18px;height:56px;
}
header.top .logo{font-weight:800;font-size:1rem;white-space:nowrap;}
header.top .logo i{font-style:normal;color:var(--mint);}
header.top .mrr{
  font-size:.8rem;color:var(--muted);white-space:nowrap;
}
header.top .mrr b{color:var(--mint);font-weight:800;font-size:.95rem;}
header.top .spacer{flex:1;}
header.top .actions{display:flex;gap:8px;}

nav.tabs{
  border-bottom:1px solid var(--rule);background:var(--bg);
  position:sticky;top:56px;z-index:39;
}
nav.tabs .ligne{
  max-width:1240px;margin:0 auto;padding:0 18px;
  display:flex;gap:4px;overflow-x:auto;
}
nav.tabs button{
  background:none;border:none;color:var(--muted);cursor:pointer;
  font-weight:700;font-size:.88rem;padding:13px 14px;white-space:nowrap;
  border-bottom:2px solid transparent;
}
nav.tabs button.on{color:var(--ink);border-bottom-color:var(--mint);}
nav.tabs button .b{
  display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;
  background:var(--surface2);border:1px solid var(--rule);border-radius:10px;
  font-size:.7rem;color:var(--mint);text-align:center;
}
main{max-width:1240px;margin:0 auto;padding:22px 18px 90px;}
section.tab{display:none;}
section.tab.on{display:block;}
h2.tt{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:4px;}
p.ss{color:var(--muted);font-size:.86rem;margin-bottom:18px;}

/* aujourd hui */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;}
.card{background:var(--surface);border:1px solid var(--rule);padding:16px 18px;}
.card .k{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--mint);}
.card .l{font-size:.78rem;color:var(--muted);margin-top:2px;}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.panneau{background:var(--surface);border:1px solid var(--rule);}
.panneau h3{
  font-size:.85rem;font-weight:800;padding:13px 16px;
  border-bottom:1px solid var(--rule);
}
.panneau h3 b{color:var(--rouge);}
.panneau .vide{padding:16px;color:var(--muted);font-size:.85rem;}
.ligne-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;border-bottom:1px solid var(--rule);
  cursor:pointer;font-size:.87rem;
}
.ligne-item:last-child{border-bottom:none;}
.ligne-item:hover{background:var(--surface2);}
.ligne-item .quand{
  font-size:.74rem;font-weight:800;color:var(--muted);
  min-width:64px;flex-shrink:0;
}
.ligne-item .quand.retard{color:var(--rouge);}
.ligne-item .quoi{flex:1;min-width:0;}
.ligne-item .quoi b{display:block;font-weight:700;}
.ligne-item .quoi span{color:var(--muted);font-size:.8rem;}

/* pipeline */
.board{
  display:flex;gap:12px;overflow-x:auto;padding-bottom:14px;
  align-items:flex-start;
}
.col{
  min-width:236px;width:236px;flex-shrink:0;
  background:var(--surface);border:1px solid var(--rule);
}
.col h4{
  font-size:.78rem;font-weight:800;padding:11px 13px;
  border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;
}
.col h4 span{color:var(--mint);}
.col .zone{min-height:60px;padding:9px;display:flex;flex-direction:column;gap:8px;}
.col.survol{outline:1px dashed var(--mint);outline-offset:-4px;}
.rcard{
  background:var(--surface2);border:1px solid #2C2B29;padding:10px 12px;
  cursor:grab;font-size:.84rem;
}
.rcard:active{cursor:grabbing;}
.rcard:hover{border-color:#3A3936;}
.rcard b{display:block;font-weight:700;font-size:.88rem;}
.rcard .sous{color:var(--muted);font-size:.76rem;margin-top:1px;}
.rcard .badges{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap;}
.badge{
  font-size:.68rem;font-weight:700;padding:2px 7px;
  border:1px solid var(--rule);color:var(--muted);
}
.badge.mint{border-color:#28453A;color:var(--mint);}
.badge.retard{border-color:#4A2C2C;color:var(--rouge);}
.badge.jour{border-color:#4A3E24;color:var(--amber);}
.perdus{margin-top:14px;font-size:.82rem;color:var(--muted);}
.perdus a{cursor:pointer;}

/* agenda */
.jourbloc{margin-bottom:18px;}
.jourbloc h3{
  font-size:.8rem;font-weight:800;color:var(--mint);
  padding-bottom:7px;border-bottom:1px solid var(--rule);margin-bottom:2px;
}
.jourbloc h3.rouge{color:var(--rouge);}
.rdv-item{
  display:flex;align-items:center;gap:12px;padding:10px 4px;
  border-bottom:1px solid var(--rule);font-size:.87rem;
}
.rdv-item .h{font-weight:800;min-width:52px;color:var(--ink);}
.rdv-item .fait-oui{text-decoration:line-through;color:var(--muted);}
.rdv-item .quoi{flex:1;min-width:0;}
.rdv-item .quoi span{color:var(--muted);font-size:.8rem;}
.rdv-item .quoi a{cursor:pointer;}
.rdv-item .acts{display:flex;gap:6px;flex-shrink:0;}
.form-rdv{
  background:var(--surface);border:1px solid var(--rule);
  padding:16px;margin-bottom:22px;
  display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:10px;align-items:end;
}
.form-rdv label{margin:0 0 4px;}

/* prospection */
.quickadd{
  background:var(--surface);border:1px solid var(--rule);padding:16px;
  display:grid;grid-template-columns:1.6fr 1.2fr 1fr 1fr auto;gap:10px;align-items:end;
  margin-bottom:22px;
}
.quickadd label{margin:0 0 4px;}
.sources{background:var(--surface);border:1px solid var(--rule);padding:18px;}
.sources h3{font-size:.9rem;font-weight:800;margin-bottom:4px;}
.sources p{color:var(--muted);font-size:.83rem;margin-bottom:12px;}
.sources .groupe{margin-bottom:16px;}
.sources .groupe h4{font-size:.78rem;font-weight:800;color:var(--mint);margin-bottom:8px;}
.chips{display:flex;flex-wrap:wrap;gap:7px;}
.chips a{
  text-decoration:none;font-size:.78rem;font-weight:600;color:var(--ink);
  border:1px solid var(--rule);padding:6px 11px;background:var(--surface2);
}
.chips a:hover{border-color:var(--mint);color:var(--mint);}
.selcom{max-width:280px;margin-bottom:12px;}

/* modeles */
.tpl{background:var(--surface);border:1px solid var(--rule);margin-bottom:14px;}
.tpl .th{
  padding:13px 16px;border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.tpl .th b{font-size:.92rem;}
.tpl .th span{color:var(--muted);font-size:.78rem;}
.tpl pre{
  padding:14px 16px;white-space:pre-wrap;font-family:inherit;
  font-size:.85rem;color:var(--muted);
}

/* modal fiche */
.voile{
  position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:80;
  display:flex;justify-content:flex-end;
}
.fiche{
  width:100%;max-width:560px;height:100%;overflow-y:auto;
  background:var(--bg);border-left:1px solid var(--rule);
  padding:22px 24px 60px;
}
.fiche .fh{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px;}
.fiche .fh h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;flex:1;}
.fiche .fh .fermer{
  background:none;border:1px solid var(--rule);color:var(--muted);
  width:34px;height:34px;cursor:pointer;font-size:1rem;flex-shrink:0;
}
.fiche .sous-titre{color:var(--muted);font-size:.83rem;margin-bottom:16px;}
.fiche .actions-rapides{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.fiche h3.sec{
  font-size:.78rem;font-weight:800;color:var(--mint);
  margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--rule);
}
.fiche h3.sec:first-of-type{border-top:none;padding-top:0;}
.gr2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.puces{display:flex;flex-wrap:wrap;gap:7px;}
.puce{
  border:1px solid var(--rule);background:var(--surface2);color:var(--muted);
  font-size:.78rem;font-weight:700;padding:7px 12px;cursor:pointer;
}
.puce.on{border-color:var(--green);background:var(--green);color:#fff;}
.puce.on-mint{border-color:var(--mint);color:var(--mint);background:transparent;}
.check{
  display:flex;gap:10px;align-items:flex-start;padding:8px 0;
  border-bottom:1px solid var(--rule);font-size:.86rem;cursor:pointer;
}
.check input{width:auto;margin-top:3px;accent-color:var(--green);}
.check.ok{color:var(--muted);text-decoration:line-through;}
.note-item{
  border-bottom:1px solid var(--rule);padding:9px 0;font-size:.85rem;
}
.note-item .quand{font-size:.72rem;color:var(--muted);}
.mini-rdv{
  display:flex;gap:10px;align-items:center;padding:8px 0;
  border-bottom:1px solid var(--rule);font-size:.84rem;
}
.mini-rdv .flex{flex:1;}
.ajout-ligne{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px;}
.ajout-rdv{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;margin-top:8px;align-items:end;}
.ajout-rdv label{margin:0 0 4px;}
.mrr-fiche{
  background:var(--surface);border:1px solid var(--rule);padding:12px 14px;
  font-size:.85rem;margin-top:10px;
}
.mrr-fiche b{color:var(--mint);font-weight:800;}
.zone-danger{margin-top:26px;display:flex;gap:8px;}

/* toast */
#toast{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--surface2);border:1px solid var(--green);color:var(--ink);
  padding:11px 20px;font-size:.86rem;font-weight:600;z-index:400;
  transition:transform .3s ease;max-width:90vw;text-align:center;
}
#toast.on{transform:translateX(-50%) translateY(0);}
#toast.err{border-color:var(--rouge);}

@media(max-width:820px){
  .cards{grid-template-columns:1fr 1fr;}
  .deux{grid-template-columns:1fr;}
  .form-rdv,.quickadd{grid-template-columns:1fr 1fr;}
  .form-rdv .btn,.quickadd .btn{grid-column:1/-1;}
  .fiche{max-width:100%;}
  .gr2{grid-template-columns:1fr;}
  .ajout-rdv{grid-template-columns:1fr 1fr;}
  header.top .mrr .detail{display:none;}
}

/* ======================================================================
   S3 : composants partages CRM et dashboard (dialogues, carte, editeur de
   produit, recadrage). Memes jetons de couleur que le reste de l'outil.
   ====================================================================== */
.btn.rouge{background:var(--rouge);color:#fff;}
.btn:disabled{opacity:.55;cursor:default;}
.btn:focus-visible,.puce:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:2px;}
.ambre{color:var(--amber);}

/* dialogues */
.pf-dlg-voile{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;padding:18px;}
.pf-dlg{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--rule);padding:22px 22px 18px;}
.pf-dlg h2{font-size:1.05rem;font-weight:800;margin-bottom:8px;}
.pf-dlg-texte{color:var(--muted);font-size:.9rem;line-height:1.5;}
.pf-dlg input{margin-top:14px;}
.pf-dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap;}

.pf-x{background:none;border:1px solid var(--rule);color:var(--muted);width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.pf-x:hover{color:var(--ink);border-color:var(--muted);}
.pf-x.petit{width:32px;height:32px;border-color:transparent;}

/* poignee de glisser-deposer */
.pf-poignee{display:inline-grid;grid-template-columns:repeat(2,3px);gap:3px 3px;padding:8px 6px;cursor:grab;
  touch-action:none;flex-shrink:0;align-content:center;}
.pf-poignee i{display:block;width:3px;height:3px;background:var(--muted);border-radius:1px;box-shadow:5px 0 0 var(--muted);}
.pf-poignee:hover i{background:var(--ink);box-shadow:5px 0 0 var(--ink);}
.pf-glisse-fantome{position:fixed !important;z-index:300;pointer-events:none;opacity:.95;
  box-shadow:0 18px 40px rgba(0,0,0,.6);}
.pf-glisse-place{border:1px dashed var(--mint);background:rgba(159,205,187,.06);margin:4px 0;}
body.pf-glisse-en-cours{cursor:grabbing;user-select:none;-webkit-user-select:none;}

/* la carte */
.pf-carte-barre{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--rule);}
.pf-recherche{position:relative;flex:1;min-width:200px;}
.pf-recherche svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);}
.pf-recherche input{padding-left:34px;}
.pf-carte-resume{padding:10px 16px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--rule);}
.pf-carte-resume b{font-weight:700;}
.pf-carte-astuce{float:right;}
.pf-carte-vide{padding:18px 16px;color:var(--muted);font-size:.87rem;}
.pf-carte-vide b{color:var(--ink);}
.pf-cat{border-bottom:1px solid var(--rule);background:var(--surface);}
.pf-cat:last-child{border-bottom:none;}
.pf-cat-tete{display:flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;min-height:52px;}
.pf-cat-bascule{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:none;
  color:var(--ink);cursor:pointer;padding:10px 6px;text-align:left;font-size:.92rem;}
.pf-cat-bascule .chevron{color:var(--muted);transition:transform .18s ease;flex-shrink:0;}
.pf-cat.ouverte .chevron{transform:rotate(90deg);}
.pf-cat-bascule .nom{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-cat-bascule .compte{font-size:.74rem;font-weight:700;color:var(--mint);background:var(--surface2);
  border:1px solid var(--rule);padding:1px 8px;border-radius:10px;flex-shrink:0;}
.pf-cat-acts{display:flex;gap:6px;opacity:.55;transition:opacity .15s ease;}
.pf-cat-tete:hover .pf-cat-acts,.pf-cat-acts:focus-within{opacity:1;}
.pf-cat-renommer{flex:1;display:flex;gap:8px;align-items:center;padding:6px 0;}
.pf-cat-renommer input{flex:1;}
.pf-cat-corps{display:none;padding:0 12px 10px 8px;}
.pf-cat.ouverte .pf-cat-corps{display:block;}
.pf-cat-corps:empty{min-height:44px;}
.pf-prod{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--rule);margin-top:6px;padding-right:10px;}
.pf-prod.rupture .pf-prod-ouvrir{opacity:.5;}
.pf-prod-ouvrir{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--ink);
  cursor:pointer;text-align:left;padding:8px 4px;}
.pf-prod-ouvrir img,.pf-prod-sans{width:44px;height:44px;object-fit:cover;flex-shrink:0;border:1px solid var(--rule);}
.pf-prod-sans{display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted);font-weight:800;}
.pf-prod-txt{flex:1;min-width:0;}
.pf-prod-txt b{display:block;font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-prod-txt small{display:block;color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-prod-prix{font-weight:800;color:var(--mint);white-space:nowrap;font-variant-numeric:tabular-nums;}
.pf-prod-dispo{flex-shrink:0;min-width:92px;}
.pf-carte-recherche .pf-cat-acts{display:none;}

/* editeur de produit */
.pf-ed-voile{align-items:stretch;padding:0;justify-content:flex-end;}
.pf-ed{width:100%;max-width:860px;height:100%;background:var(--bg);border-left:1px solid var(--rule);
  display:flex;flex-direction:column;}
.pf-ed-haut{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--rule);}
.pf-ed-haut h2{flex:1;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;}
.pf-ed-corps{flex:1;overflow-y:auto;display:grid;grid-template-columns:260px 1fr;gap:26px;padding:20px 22px 28px;}
.pf-ed-g{display:flex;flex-direction:column;gap:10px;}
.pf-ed-photo{aspect-ratio:1/1;border:1px dashed #3A3936;background:var(--surface);overflow:hidden;}
.pf-ed-photo.pleine{border-style:solid;border-color:var(--rule);}
.pf-ed-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-ed-photo-vide{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:none;border:none;color:var(--ink);font-weight:700;font-size:.9rem;cursor:pointer;text-align:center;padding:16px;}
.pf-ed-photo-vide small{color:var(--muted);font-weight:600;font-size:.76rem;}
button.pf-ed-photo-vide:hover{background:var(--surface2);}
.pf-ed-photo-acts{display:flex;gap:8px;}
.pf-ed-apercu-t{font-size:.72rem;font-weight:800;color:var(--muted);margin-top:8px;}
.pf-ap-carte{background:#fff;color:#141311;border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;}
.pf-ap-carte.avec-photo{grid-template-columns:58px 1fr auto;}
.pf-ap-carte.rupture{opacity:.45;}
.pf-ap-carte img{width:58px;height:58px;border-radius:10px;object-fit:cover;}
.pf-ap-carte b{display:block;font-size:.86rem;line-height:1.25;}
.pf-ap-carte .d{display:block;font-size:.72rem;color:#6E6A62;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pf-ap-carte .p{display:block;font-size:.8rem;font-weight:800;color:#12805F;margin-top:4px;}
.pf-ap-carte .s{display:block;font-size:.68rem;color:#6E6A62;}
.pf-ap-carte i{font-style:normal;width:32px;height:32px;border-radius:10px;background:#12805F;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;}
.pf-ed-d label:first-child{margin-top:0;}
.pf-compte{float:right;font-weight:600;}
.pf-ed-ligne{display:grid;grid-template-columns:150px 1fr;gap:12px;}
.pf-euro{position:relative;}
.pf-euro input{padding-right:30px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;}
.pf-euro span{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;pointer-events:none;}
.pf-euro.petit{width:110px;flex-shrink:0;}
.pf-ed-cat-neuve{display:flex;gap:8px;}
.pf-seg{display:inline-flex;border:1px solid var(--rule);}
.pf-seg button{background:var(--surface2);border:none;color:var(--muted);font-weight:700;font-size:.84rem;padding:9px 16px;cursor:pointer;}
.pf-seg button.on{background:var(--green);color:#fff;}
.pf-seg button.on.off{background:var(--amber);color:#141311;}
.pf-aide{font-size:.76rem;color:var(--muted);margin-top:6px;}
.pf-ed-supp-t{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:18px;}
.pf-ed-supp-t label{margin:0 0 4px;}
.pf-ed-supp-t select{width:auto;max-width:60%;font-size:.8rem;padding:6px 8px;}
.pf-ed-supps{margin:6px 0 10px;}
.pf-ed-supp{display:flex;align-items:center;gap:6px;margin-bottom:6px;background:var(--bg);}
.pf-ed-supp > input{flex:1;min-width:0;}
.pf-ed-pied{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--rule);background:var(--surface);flex-wrap:wrap;}
.pf-ed-err{flex:1;color:var(--rouge);font-size:.84rem;font-weight:600;min-width:120px;}
.pf-invalide{border-color:var(--rouge) !important;}

/* recadrage */
.pf-rec{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--rule);padding:20px;}
.pf-rec h2{font-size:1.05rem;font-weight:800;}
.pf-rec-aide{color:var(--muted);font-size:.8rem;margin:4px 0 12px;}
.pf-rec-scene{position:relative;width:100%;aspect-ratio:1/1;background:repeating-conic-gradient(#1b1b19 0% 25%,#232220 0% 50%) 50%/20px 20px;
  touch-action:none;cursor:grab;overflow:hidden;user-select:none;}
.pf-rec-scene:active{cursor:grabbing;}
.pf-rec-scene canvas{display:block;}
.pf-rec-cadre{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);
  background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:33.333% 33.333%;background-position:-1px -1px;}
.pf-rec-zoom{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--muted);font-weight:800;}
.pf-rec-zoom input{flex:1;padding:0;border:none;background:none;accent-color:var(--mint);}
.pf-rec-outils{display:flex;gap:8px;margin-top:10px;}

/* bloc repliable (horaires...) */
.pf-replie{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;
  border:1px dashed #3A3936;padding:10px 12px;margin-top:12px;font-size:.85rem;color:var(--muted);}

@media(max-width:820px){
  .pf-ed-corps{grid-template-columns:1fr;gap:18px;padding:16px;}
  .pf-ed-g{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start;}
  .pf-ed-photo{grid-column:1;grid-row:1;}
  .pf-ed-photo-acts{grid-column:1;grid-row:2;flex-direction:column;}
  .pf-ed-apercu-bloc{grid-column:2;grid-row:1 / span 2;}
  .pf-ed-apercu-t{margin-top:0;}
  .pf-ed-haut,.pf-ed-pied{padding-left:16px;padding-right:16px;}
  .pf-ed-ligne{grid-template-columns:1fr;}
  .pf-carte-astuce{display:none;}
  .pf-cat-acts{opacity:1;}
  .pf-prod-dispo{min-width:0;}
}
@media(max-width:520px){
  .pf-cat-acts .btn:first-child{display:none;}
  .pf-prod-txt small{display:none;}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}

/* atelier (CRM) */
.atelier-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.atelier-tete h2.tt{margin:0;}
.atelier-tete #bq-fiche{margin-left:auto;}
.atelier-bloc{margin-bottom:16px;}
.atelier-in{padding:14px 16px;}
.atelier-in > .vide{padding:0;}
.atelier-rang{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.atelier-rang input{flex:1;min-width:140px;}
.atelier-logo{width:46px;height:46px;border:1px solid var(--rule);background:var(--surface2);overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.7rem;}
.atelier-logo img{width:100%;height:100%;object-fit:contain;background:#fff;}
.atelier-couleur{height:42px;padding:4px;}
.atelier-frais{max-width:200px;}
.atelier-in textarea + .btn{margin-top:8px;}
.atelier-h3{display:flex;justify-content:space-between;align-items:center;}
button.puce{font-family:inherit;}
.choix-mails{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.choix-mails .btn{text-align:left;display:flex;flex-direction:column;gap:2px;padding:12px 14px;}
.choix-mails .btn span{font-weight:600;font-size:.78rem;color:var(--muted);}
.aide-fiche{font-size:.8rem;color:var(--muted);margin-top:8px;}
.aide-fiche b{color:var(--mint);}
.fiche .fh .fermer{width:auto;padding:0 12px;font-size:.8rem;font-weight:700;font-family:inherit;}
.pf-ed-err:empty{display:none;}
@media(max-width:820px){
  .pf-ed-err{order:-1;flex-basis:100%;}
  .pf-ed-pied .btn.p{margin-left:auto;}
}

.pf-carte .c,.r-carte .c{display:none;}
.pf-prod-prix-m{display:none;font-style:normal;}
.pf-cat-bascule .compte.avec-rupture{color:var(--amber);border-color:#4A3E24;}
@media(max-width:520px){
  .pf-carte .l,.r-carte .l{display:none;}
  .pf-carte .c,.r-carte .c{display:inline;}
  .pf-cat-tete .badge{display:none;}
  .pf-cat-acts .btn{min-width:38px;font-size:1rem;padding:4px 10px;}
  .pf-prod-prix{display:none;}
  .pf-prod-prix-m{display:block;font-size:.8rem;font-weight:800;color:var(--mint);margin-top:1px;}
  .pf-prod.rupture .pf-prod-prix-m{color:var(--amber);}
  .pf-prod-ouvrir{gap:10px;}
  .pf-prod-ouvrir img,.pf-prod-sans{width:40px;height:40px;}
  .pf-prod-txt b{white-space:normal;line-height:1.25;}
  .pf-carte-barre .pf-recherche{flex-basis:100%;}
}

/* ------------------------------------------------------------------ */
/* S4 : activation Stripe (panneau Paiement en ligne, dialogues, suivi) */
/* ------------------------------------------------------------------ */
.pf-dlg.large{max-width:700px;max-height:90vh;overflow:auto;}
.pf-dlg.large input,.pf-dlg.large select,.pf-dlg.large textarea{margin-top:0;}
.pf-dlg.large .pf-dlg-actions{position:sticky;bottom:-18px;background:var(--surface);padding:12px 22px 14px;margin:14px -22px -18px;border-top:1px solid var(--rule);z-index:2;}
.st-sec{font-size:.74rem;font-weight:800;color:var(--muted);margin:16px 0 6px;}
.st-etape{display:flex;align-items:baseline;gap:8px;font-size:.86rem;padding:3px 0;}
.st-etape .p{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--rule);}
.st-etape .p.ok{background:var(--mint);}
.st-etape .p.ici{background:var(--amber);}
.st-etape .p.ko{background:#E5735F;}
.st-etape .q{color:var(--muted);font-size:.8rem;}
.st-etape.gris{color:var(--muted);}
.st-manques{margin:6px 0 0 17px;font-size:.84rem;}
.st-manques li{margin:3px 0;}
.st-cadre{border:1px solid var(--rule);background:var(--surface2);padding:12px 14px;margin-top:10px;font-size:.86rem;}
.st-cadre.ambre{border-color:#4A3E24;}
.st-cadre.rouge{border-color:#4A2C2C;}
.st-msg{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.84rem;line-height:1.5;background:var(--surface2);border:1px solid var(--rule);padding:12px 14px;margin-top:8px;max-height:260px;overflow:auto;}
.st-onglets{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.st-qr{display:block;margin:10px auto 4px;width:220px;height:220px;background:#fff;padding:8px;}
.st-ligne{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--rule);cursor:pointer;font-size:.86rem;}
.st-ligne:last-child{border-bottom:none;}
.st-ligne:hover{background:var(--surface2);}
.st-ligne b{display:block;}
.st-ligne span.q{color:var(--muted);font-size:.8rem;}
.st-tete{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--rule);}
.st-tete h3{margin:0;font-size:.95rem;flex:1;}
.st-ok{color:var(--mint);}
.st-attention{color:var(--amber);}
.st-champ-aide{font-size:.76rem;color:var(--muted);margin-top:4px;}
.st-invalide{border-color:#E5735F !important;}
@media (max-width:640px){.st-ligne{grid-template-columns:1fr;gap:4px;}}

/* ===== Mission 05 : agent IA (Atelier) et Reglages ===== */
.ag-intro{font-size:.84rem;color:var(--muted);margin-bottom:12px;}
.ag-alerte{border:1px solid #5A2E2E;background:#1C1010;padding:12px 14px;margin-bottom:12px;font-size:.86rem;display:grid;gap:5px;}
.ag-alerte > b{color:var(--rouge);font-size:.95rem;}
.ag-etapes{color:var(--ink);font-weight:700;}
.ag-gen{font-size:.84rem;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.ag-info{font-size:.78rem;color:var(--muted);margin-top:8px;}
.ag-infos{border:1px solid var(--rule);padding:10px 12px;margin:10px 0 14px;}
.ag-infos summary,.ag-champ summary,.panneau details > summary{cursor:pointer;font-weight:700;font-size:.86rem;}
.ag-sous{font-weight:400;color:var(--muted);margin-left:6px;}
.ag-court{max-width:220px;}
.ag-liste{display:grid;gap:10px;}
.ag-h4{margin:14px 0 2px;font-size:.9rem;}
.ag-sec{font-size:.78rem;color:var(--muted);border-left:2px solid var(--rule);padding-left:9px;margin:6px 0;}
.ag-champ{border:1px solid var(--rule);background:var(--surface2);padding:10px 12px;}
.ag-champ.bloque{border-color:#4A2C2C;}
.ag-champ.na{opacity:.7;}
.ag-tete{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ag-tete > b{flex:1 1 auto;min-width:160px;}
.ag-compte{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--mint);}
.ag-compte.rouge{color:var(--rouge);font-weight:800;}
.ag-ou{font-size:.76rem;color:var(--muted);margin-top:4px;}
.ag-bloc{font-size:.8rem;color:var(--rouge);margin-top:6px;}
.ag-champ details{margin-top:6px;}
.ag-champ summary{font-weight:400;color:var(--muted);font-size:.78rem;}
.ag-texte{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.45;background:var(--bg);border:1px solid var(--rule);padding:10px;margin-top:6px;max-height:420px;overflow:auto;}
.ag-texte mark{background:#5A2E2E;color:#fff;padding:0 2px;}
.ag-reg-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.ag-reg-champ{margin-top:14px;}
.ag-lim{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:6px;margin:0;}
.ag-lim input{width:80px;padding:4px 6px;margin:0;}
.ag-tpl{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;margin-top:6px;}
.ag-vars{display:grid;gap:6px;margin-top:10px;font-size:.8rem;}
.ag-vars > div{display:flex;gap:10px;flex-wrap:wrap;}
.ag-vars code{color:var(--mint);}
.ag-vars span{color:var(--muted);}
.pf-ed-all{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.pf-ed-all .puce{font-size:.78rem;padding:5px 10px;}
#pf-ed-allnote{margin-top:8px;}
.ag-ins{background:transparent;border:1px solid var(--rule);color:var(--mint);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;padding:2px 7px;cursor:pointer;}
.ag-ins:hover{border-color:var(--mint);}


/* S7 (mission 07) : l'editeur des horaires reels, le meme dans l'Atelier et le Dashboard */
.hz-etat{font-size:.88rem;line-height:1.5;margin-bottom:10px;}
.hz-etat.hz-attention{color:var(--amber);border:1px solid #4A3E24;padding:9px 12px;border-radius:10px;}
.hz-texte{font-size:.84rem;color:var(--muted);margin-top:6px;white-space:pre-line;}
.hz-texte-fort{color:var(--ink);font-size:.92rem;line-height:1.55;margin:0 0 8px;}
.hz-aide{font-size:.76rem;color:var(--muted);margin:6px 0 10px;line-height:1.45;}
.hz-jours{display:flex;flex-direction:column;gap:6px;margin-bottom:6px;}
.hz-jour{display:grid;grid-template-columns:92px 86px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule);}
.hz-jour.ferme .hz-nom{color:var(--muted);}
.hz-nom{font-weight:800;font-size:.88rem;}
.hz-jour .puce{justify-self:start;}
.hz-services{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.hz-service{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--rule);border-radius:10px;padding:4px 6px;}
.hz-service input{width:auto;min-width:96px;padding:6px 8px;font-size:16px;border-radius:8px;background:var(--surface);}
.hz-service span{color:var(--muted);font-size:.8rem;}
.hz-x{background:none;border:none;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:2px 6px;}
.hz-x:hover{color:var(--rouge);}
.hz-exs{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.hz-ex{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem;background:var(--surface2);border:1px solid var(--rule);border-radius:10px;padding:7px 10px;}
.hz-ex-form{border:1px solid var(--rule);border-radius:12px;padding:10px 12px;margin-bottom:8px;}
.hz-ligne{display:flex;gap:10px;flex-wrap:wrap;}
.hz-ligne > span{flex:1;min-width:130px;}
.hz-ligne input{border-radius:9px;font-size:16px;}
.hz-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:12px;}
@media (max-width:560px){
  .hz-jour{grid-template-columns:1fr auto;}
  .hz-services{grid-column:1 / -1;}
}

/* ===== Mission 08 : Supervision ===== */
.sv-p{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-right:8px;vertical-align:middle;}
.sv-q{color:var(--muted);font-size:.78rem;}
.sv-rouge{color:#E5735F;}
nav.tabs button .b.sv-b-rouge{background:#3A1C1C;border-color:#5A2E2E;color:#F09A8A;}
.sv-pilule{background:#3A1C1C;border:1px solid #6A3434;color:#F4B1A5;font-weight:800;font-size:.76rem;padding:5px 11px;cursor:pointer;font-family:inherit;animation:sv-battre 2s ease-in-out infinite;}
.sv-pilule:hover{border-color:#E5735F;}
@keyframes sv-battre{0%,100%{box-shadow:0 0 0 0 rgba(229,115,95,.0);}50%{box-shadow:0 0 0 4px rgba(229,115,95,.18);}}
.sv-tete{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.sv-outils{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.sv-services{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.sv-svc{background:var(--surface);border:1px solid var(--rule);padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.sv-svc.sv-ko{border-color:#6A3434;background:#1C1010;}
.sv-svc.sv-attention{border-color:#4A3E24;}
.sv-svc-t{display:flex;align-items:center;font-size:.86rem;}
.sv-svc-e{font-weight:800;font-size:.95rem;}
.sv-ok .sv-svc-e{color:var(--mint);}
.sv-attention .sv-svc-e{color:var(--amber);}
.sv-ko .sv-svc-e{color:#F09A8A;}
.sv-inconnu .sv-svc-e{color:var(--muted);}
.sv-svc-d{font-size:.78rem;color:var(--ink);opacity:.82;line-height:1.4;overflow-wrap:anywhere;}
.sv-al{display:flex;gap:4px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--rule);}
.sv-al:last-child{border-bottom:none;}
.sv-al .sv-p{margin-top:6px;}
.sv-al-c{flex:1;min-width:0;}
.sv-al-t{font-size:.88rem;}
.sv-al-d{font-size:.83rem;color:var(--ink);opacity:.85;margin:2px 0 3px;overflow-wrap:anywhere;}
.sv-al-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:330px;}
.sv-al-f{opacity:.6;}
.sv-plus{display:block;width:100%;background:none;border:none;border-top:1px solid var(--rule);color:var(--mint);font:inherit;font-size:.8rem;font-weight:700;padding:10px 16px;text-align:left;cursor:pointer;}
.sv-plus:hover{background:var(--surface2);}
.sv-table{overflow-x:auto;}
.sv-ligne{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(5,minmax(120px,1fr)) minmax(90px,.7fr);gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rule);font-size:.82rem;}
.sv-ligne:last-child{border-bottom:none;}
.sv-ligne > div{display:flex;align-items:center;min-width:0;}
.sv-ligne > div > span{overflow-wrap:anywhere;}
.sv-entete{font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding-top:8px;padding-bottom:8px;}
.sv-r{cursor:pointer;}
.sv-r:hover,.sv-r:focus{background:var(--surface2);outline:none;}
.sv-r-rouge{box-shadow:inset 3px 0 0 #E5735F;}
.sv-r-off{opacity:.5;}
.sv-nom{flex-direction:column;align-items:flex-start !important;gap:1px;}
.sv-nom b{font-size:.88rem;}
.sv-reg{margin:0 0 16px;}
.sv-reg-in{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:0;}
.sv-reg-bloc{padding:4px 16px 16px;border-right:1px solid var(--rule);min-width:0;}
.sv-reg-bloc:last-child{border-right:none;}
.sv-rang{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sv-rang input{flex:1;min-width:140px;}
.sv-rang select{flex:1;min-width:160px;}
.sv-regles{display:flex;flex-direction:column;}
.sv-regle{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:.84rem;}
.sv-regle:last-child{border-bottom:none;}
.sv-regle-off{opacity:.55;}
.sv-regle-c{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end;}
.sv-regle-c .puce{padding:5px 9px;font-size:.72rem;}
.sv-seuil{display:flex;align-items:center;gap:5px;margin:0;font-weight:600;font-size:.74rem;color:var(--muted);}
.sv-seuil input{width:58px;padding:5px 7px;font-size:.8rem;text-align:right;}
.sv-etat{display:flex;flex-direction:column;}
.sv-etat-l{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:.84rem;align-items:start;}
.sv-etat-l > div{display:flex;flex-wrap:wrap;align-items:center;}
.sv-etat-l > div .sv-q{flex-basis:100%;margin-top:2px;}
.sv-volet .sv-al{padding:10px 0;}
.sv-volet{max-width:720px;}
.sv-jf{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--rule);}
.sv-volet .sv-jf{padding:0 0 10px;border-bottom:none;}
.sv-jf select{width:auto;flex:0 0 auto;}
.sv-j{border-bottom:1px solid var(--rule);}
.sv-j-l{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 16px;cursor:pointer;font-size:.8rem;}
.sv-volet .sv-j-l{padding:8px 0;}
.sv-j-l:hover{background:var(--surface2);}
.sv-j.on .sv-j-l{background:var(--surface2);}
.sv-j-h{font-variant-numeric:tabular-nums;color:var(--muted);min-width:118px;}
.sv-j-r{font-weight:700;}
.sv-j-a{font-weight:600;}
.sv-j-d{padding:0 16px 12px;}
.sv-volet .sv-j-d{padding:0 0 12px;}
.sv-j-d pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;}
@media(max-width:1100px){
  .sv-services{grid-template-columns:repeat(3,1fr);}
  .sv-reg-in{grid-template-columns:1fr;}
  .sv-reg-bloc{border-right:none;border-bottom:1px solid var(--rule);}
}
@media(max-width:820px){
  .sv-services{grid-template-columns:1fr 1fr;}
  .sv-entete{display:none;}
  .sv-ligne{grid-template-columns:1fr 1fr;gap:6px 12px;}
  .sv-nom{grid-column:1 / -1;}
  .sv-ligne > div[data-l]{flex-wrap:wrap;}
  .sv-ligne > div[data-l]::before{content:attr(data-l);flex-basis:100%;font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
  .sv-al{flex-wrap:wrap;}
  .sv-al-a{max-width:none;justify-content:flex-start;padding-left:17px;}
  .sv-etat-l{grid-template-columns:1fr;gap:2px;}
}
@media(max-width:520px){
  .sv-services{grid-template-columns:1fr;}
  .sv-outils{width:100%;}
}
@media(max-width:820px){
  .sv-al-c{flex:1 1 calc(100% - 20px);}
  .sv-al-a{flex-basis:100%;}
  .sv-pilule{padding:4px 8px;font-size:.7rem;white-space:nowrap;}
}
/* Mission 08 : l'en-tete du CRM tient sur un telephone (le lien des alertes WhatsApp s'ouvre la) */
@media(max-width:640px){
  header.top .ligne{gap:10px;}
  header.top .mrr{display:none;}
  header.top .actions{display:flex;gap:6px;min-width:0;overflow-x:auto;flex:1 1 auto;}
  header.top .actions .btn{flex-shrink:0;}
}
/* Mission 08 : reglages des alertes, les regles en pleine largeur */
.sv-reg-in{grid-template-columns:1fr 1fr;grid-template-areas:"wa ia" "regles regles";}
.sv-reg-wa{grid-area:wa;}
.sv-reg-ia{grid-area:ia;border-right:none;}
.sv-reg-regles{grid-area:regles;border-right:none;border-top:1px solid var(--rule);}
.sv-reg-wa{border-right:1px solid var(--rule);}
.sv-regles{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
.sv-regle:last-child{border-bottom:1px solid var(--rule);}
@media(max-width:1100px){
  .sv-reg-in{grid-template-columns:1fr;grid-template-areas:"wa" "ia" "regles";}
  .sv-reg-wa{border-right:none;}
  .sv-regles{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .sv-regle{grid-template-columns:1fr;}
  .sv-regle-c{justify-content:flex-start;}
}
.sv-regle .badge{white-space:nowrap;}

/* ===== Mission 09 : deux espaces, Commerce et Atelier (memes jetons, memes composants) ===== */
header.top .espaces{flex-shrink:0;}
header.top .espaces button{padding:7px 14px;display:inline-flex;align-items:center;gap:6px;}
header.top .espaces .b{display:inline-block;min-width:18px;padding:0 5px;border-radius:10px;font-size:.7rem;background:rgba(0,0,0,.25);text-align:center;}
header.top .espaces button:not(.on) .b{background:var(--surface);border:1px solid var(--rule);color:var(--mint);}
.tete-onglet{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.tete-onglet > div:first-child{flex:1;min-width:260px;}
.bloc-jour .ligne-item .quand{min-width:84px;}
.bloc-jour{margin-bottom:16px;}
.card .k small{font-size:.95rem;color:var(--muted);font-weight:700;}
.card .l.r{margin-top:4px;color:var(--ink);opacity:.8;}
.card.card-retard{border-color:#4A3E24;}
.card.card-retard .l.r{color:var(--amber);opacity:1;}
.ligne-action{cursor:default;flex-wrap:wrap;}
.ligne-action .quoi{cursor:pointer;min-width:200px;}
.ligne-action .quoi em{font-style:normal;font-weight:600;color:var(--muted);font-size:.76rem;margin-left:4px;}
.ligne-action .quoi .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;}
.ligne-item .acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0;}
.ligne-item .acts select{width:auto;max-width:190px;padding:5px 8px;font-size:.78rem;}
.liste-rdv .rdv-item{padding:10px 16px;}
.liste-rdv .rdv-item:last-child,#aj-rdv .rdv-item:last-child{border-bottom:none;}
#aj-rdv .rdv-item{padding:10px 16px;}
.pipe-outils{margin:-8px 0 12px;max-width:420px;}
.col.col-sortie{border-style:dashed;border-color:#28453A;}
.sortie-aide{font-size:.76rem;color:var(--muted);padding:2px 2px 4px;}
details.sources{margin-top:22px;}
details.sources > summary{cursor:pointer;font-weight:800;font-size:.9rem;}
details.sources[open] > summary{margin-bottom:12px;}
.fiche-etats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.fiche-etats > div{border:1px solid var(--rule);background:var(--surface);padding:9px 12px;font-size:.82rem;}
.fiche-etats span{display:block;font-size:.7rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.vide-fiche{color:var(--muted);font-size:.84rem;padding:8px 0;}
.fiche-etapes .check{cursor:default;align-items:baseline;}
.etape-n{font-weight:800;color:var(--muted);min-width:14px;}
.puces.etapes{margin-bottom:10px;}
.etat-prod{font-size:.88rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.etat-prod .badges{display:inline-flex;gap:6px;flex-wrap:wrap;}
.etat-prod-form{margin-top:4px;}
.etat-prod-form select{width:auto;}
.etape-etat{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-weight:600;}
.atelier-h3 > span:first-child{flex:1;min-width:0;}
.atelier-h3{gap:10px;flex-wrap:wrap;}
.atelier-bloc.bloc-vise{outline:2px solid var(--mint);outline-offset:2px;}
.prod-resume{display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);margin-bottom:12px;}
.prod-resume b{color:var(--ink);font-size:1rem;}
.titre-groupe{font-size:.9rem;font-weight:800;margin:18px 0 8px;}
.titre-groupe span{color:var(--mint);}
.tpl .th input{font-weight:800;margin-bottom:4px;}
.seq-resume{font-size:.84rem;color:var(--muted);}
.seq-etapes{display:flex;flex-direction:column;gap:6px;}
.seq-etape{display:grid;grid-template-columns:22px 92px 120px minmax(140px,1fr) minmax(140px,1.4fr) 32px;gap:8px;align-items:center;}
.seq-etape:not(:has([data-e=modele])){grid-template-columns:22px 92px 120px minmax(140px,2.4fr) 32px;}
.seq-n{font-weight:800;color:var(--muted);text-align:center;}
.seq-j{display:flex;align-items:center;gap:6px;margin:0;font-size:.76rem;}
.seq-j input{padding:8px;}
@media(max-width:820px){
  header.top .espaces button{padding:6px 10px;font-size:.8rem;}
  .fiche-etats{grid-template-columns:1fr;}
  .seq-etape,.seq-etape:not(:has([data-e=modele])){grid-template-columns:22px 1fr 1fr;}
  .seq-etape input[data-e=consigne],.seq-etape select[data-e=modele]{grid-column:2 / -1;}
  .ligne-item .acts{width:100%;padding-left:76px;}
}
@media(max-width:640px){
  header.top .actions .btn:not(#btn-nouveau):not(#btn-logout){display:none;}
}

/* ===== Mission 10 : la Decouverte (memes jetons, memes composants) ===== */
.dc-renvoi{margin-top:18px;font-size:.84rem;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px dashed var(--rule);padding:12px 14px;}
.dc-renvoi b{color:var(--ink);}
.dc-quota{font-size:.8rem;color:var(--muted);border:1px solid var(--rule);background:var(--surface);padding:8px 12px;white-space:nowrap;}
.dc-quota b{color:var(--mint);font-size:.95rem;}
.dc-quota.depasse b{color:var(--amber);}
.dc-vues{margin:4px 0 16px;}
.dc-n{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:10px;font-size:.7rem;background:rgba(0,0,0,.25);text-align:center;}
.puce:not(.on) .dc-n{background:var(--surface2);border:1px solid var(--rule);color:var(--mint);}
.dc-chercher{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-bottom:16px;align-items:stretch;}
.dc-form{padding:4px 16px 16px;}
.dc-form label{margin-top:14px;}
.dc-form .puces{margin-top:2px;}
.dc-types{margin-top:8px !important;}
.dc-types .puce,.dc-groupes .puce{font-size:.78rem;padding:5px 10px;}
.dc-alerte{margin-top:12px;border:1px solid #4A3E24;color:var(--amber);font-size:.82rem;padding:10px 12px;}
.dc-alerte b{color:var(--ink);}
.dc-cout{margin-top:12px;}
.dc-recentes{margin-top:12px;font-size:.78rem;color:var(--muted);line-height:1.9;}
button.lien{background:none;border:none;padding:0;color:var(--mint);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px;}
.dc-recentes button.lien{margin-right:8px;}
.dc-carte-bloc{display:flex;flex-direction:column;min-height:340px;}
.dc-carte{flex:1;min-height:320px;background:var(--surface2);position:relative;z-index:0;}
.dc-carte .leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.9) saturate(.5);}
.dc-carte .leaflet-control-attribution{background:rgba(15,15,14,.8);color:var(--muted);}
.dc-carte .leaflet-control-attribution a{color:var(--mint);}
.dc-carte-aide{font-size:.76rem;color:var(--muted);padding:8px 12px;border-top:1px solid var(--rule);}
.dc-res{margin-bottom:16px;}
.dc-res .atelier-h3{display:flex;justify-content:space-between;align-items:center;}
.dc-filtres{padding:10px 16px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:10px;}
.dc-filtres .puce{font-size:.78rem;padding:5px 10px;}
.dc-lot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.dc-lot select{width:auto;max-width:260px;padding:6px 8px;font-size:.8rem;}
.dc-case{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.8rem;color:var(--muted);font-weight:700;min-width:20px;}
.dc-case input{width:auto;accent-color:var(--green);width:16px;height:16px;}
.dc-item{border-bottom:1px solid var(--rule);}
.dc-item:last-child{border-bottom:none;}
.dc-item.fait .dc-quoi > b{color:var(--muted);}
.dc-ligne{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;}
.dc-score{flex-shrink:0;width:58px;border:1px solid var(--rule);background:var(--surface2);color:var(--ink);cursor:pointer;padding:6px 0;text-align:center;font-family:inherit;}
.dc-score b{display:block;font-size:1.15rem;font-weight:800;line-height:1.1;}
.dc-score span{display:block;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.dc-score.chaud{border-color:#28453A;}
.dc-score.chaud b,.dc-score.chaud span{color:var(--mint);}
.dc-score.tiede{border-color:#4A3E24;}
.dc-score.tiede b,.dc-score.tiede span{color:var(--amber);}
.dc-score.froid b,.dc-score.froid span{color:var(--muted);}
.dc-quoi{flex:1;min-width:0;}
.dc-quoi > b{display:block;font-weight:700;}
.dc-quoi .sous,.dc-table .sous{color:var(--muted);font-size:.78rem;}
.dc-quoi .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.dc-etat{margin-top:7px;font-size:.8rem;color:var(--muted);}
.dc-etat a{cursor:pointer;}
.dc-etat.jaune{color:var(--amber);}
.dc-etat.rouge{color:var(--rouge);}
.dc-ligne .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:300px;}
.dc-detail{padding:0 16px 14px 104px;}
.dc-detail-g{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;}
.dc-champ{font-size:.82rem;margin-bottom:6px;word-break:break-word;}
.dc-champ > span{display:block;font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.dc-horaires{list-style:none;font-size:.8rem;}
.dc-calcul{margin-top:10px;border:1px solid var(--rule);background:var(--surface2);}
.dc-calcul-t{font-size:.8rem;font-weight:800;padding:8px 12px;border-bottom:1px solid var(--rule);}
.dc-calc-l{display:flex;gap:12px;padding:8px 12px;font-size:.8rem;border-bottom:1px solid var(--rule);}
.dc-calc-l:last-child{border-bottom:none;}
.dc-calc-l span:last-child{color:var(--muted);}
.dc-calc-l b{color:var(--ink);}
.dc-pts{flex-shrink:0;min-width:48px;font-weight:800;color:var(--mint);font-size:1rem;}
.dc-pts small{color:var(--muted);font-size:.72rem;}
.dc-auto h3{color:var(--muted);}
.dc-bandes .card .k small{font-size:.95rem;}
.dc-table-wrap{overflow-x:auto;}
.dc-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.dc-table th{text-align:left;font-size:.7rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:9px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;}
.dc-table td{padding:9px 12px;border-bottom:1px solid var(--rule);vertical-align:top;}
.dc-table tr:last-child td{border-bottom:none;}
.dc-table a{cursor:pointer;font-weight:700;}
.dc-mini{display:inline-block;min-width:30px;text-align:center;font-weight:800;border:1px solid var(--rule);padding:1px 5px;}
.dc-mini.chaud{color:var(--mint);border-color:#28453A;}
.dc-mini.tiede{color:var(--amber);border-color:#4A3E24;}
.dc-mini.froid{color:var(--muted);}
.dc-res-ok{color:var(--mint);}
.dc-res-ko{color:var(--rouge);}
.dc-suivi-f{padding:10px 16px;border-bottom:1px solid var(--rule);}
.dc-suivi-f .puce{font-size:.78rem;padding:5px 10px;}
.dc-bloc{margin-bottom:16px;}
.dc-expl p{font-size:.86rem;margin-bottom:10px;color:var(--muted);}
.dc-expl p b{color:var(--ink);}
.dc-expl .dc-table{margin-bottom:12px;}
@media(max-width:980px){
  .dc-chercher{grid-template-columns:1fr;}
  .dc-carte-bloc{min-height:280px;}
  .dc-carte{min-height:260px;}
}
@media(max-width:700px){
  .dc-ligne{flex-wrap:wrap;gap:10px;padding:12px;}
  .dc-quoi{flex:1 1 calc(100% - 110px);}
  .dc-ligne .acts{max-width:none;width:100%;justify-content:flex-start;padding-left:30px;}
  .dc-detail{padding:0 12px 14px;}
  .dc-detail-g{grid-template-columns:1fr;}
  .dc-quota{white-space:normal;}
  .dc-lot select{max-width:100%;flex:1 1 100%;}
  .dc-res .atelier-h3{flex-direction:column;align-items:flex-start;gap:2px;}
  .dc-res .atelier-h3 .ag-sous{margin-left:0;}
}

/* ===== Mission 11 : le poste de commande des agents (memes jetons, memes composants) ===== */
.ax-etat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:14px;flex-wrap:wrap;}
.ax-etat-l{display:flex;gap:12px;align-items:flex-start;min-width:0;flex:1 1 320px;}
.ax-etat-l b{display:block;font-weight:800;}
.ax-etat-l span{color:var(--muted);font-size:.82rem;}
.ax-etat-l em{display:block;font-style:normal;color:var(--amber);font-size:.82rem;margin-top:4px;}
.ax-etat-a{display:flex;gap:8px;flex-wrap:wrap;}
.ax-pastille{width:10px;height:10px;border-radius:50%;background:var(--mint);flex-shrink:0;margin-top:5px;}
.ax-pastille.ko{background:var(--amber);}
.ax-agents{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.ax-agent{background:var(--surface);border:1px solid var(--rule);padding:13px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;}
.ax-agent:hover{border-color:#3A3936;}
.ax-agent.choisi{border-color:var(--mint);}
.ax-agent.off{opacity:.6;}
.ax-agent-t{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.ax-agent-t b{font-weight:800;}
.ax-agent-r{color:var(--muted);font-size:.78rem;line-height:1.35;}
.ax-agent-n{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.8rem;color:var(--muted);}
.ax-agent-n b{color:var(--mint);font-weight:800;}
.ax-agent-e{font-size:.76rem;color:var(--rouge);}
.ax-bascule{background:var(--surface2);border:1px solid var(--rule);color:var(--muted);font-weight:700;font-size:.72rem;padding:3px 9px;cursor:pointer;font-family:inherit;}
.ax-bascule.on{border-color:#28453A;color:var(--mint);}
.ax-filtres{margin-bottom:12px;flex-wrap:wrap;max-width:100%;}
.ax-note{color:var(--muted);font-size:.82rem;margin:0 0 12px;}
.ax-groupe{margin-bottom:18px;}
.ax-groupe h3{font-size:.9rem;font-weight:800;margin:4px 0 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.ax-groupe h3 span{color:var(--mint);}
.ax-groupe h3 em{font-style:normal;font-weight:400;color:var(--muted);font-size:.8rem;}
.ax-p{background:var(--surface);border:1px solid var(--rule);padding:13px 16px;margin-bottom:10px;}
.ax-p.urgent{border-left:3px solid var(--rouge);}
.ax-p-t{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.ax-p-titre{min-width:0;}
.ax-p-titre b{display:block;font-weight:700;}
.ax-type{display:block;font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;}
.ax-p-b{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.ax-pq{color:var(--muted);font-size:.82rem;margin-top:6px;}
.ax-corps{margin-top:10px;}
.ax-corps textarea{font-size:.86rem;line-height:1.45;}
.ax-corps input{margin-top:8px;}
.ax-action{font-size:.86rem;margin-bottom:8px;}
.ax-script{white-space:pre-wrap;background:var(--surface2);border:1px solid var(--rule);padding:10px 12px;font-size:.85rem;}
.ax-faits{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.82rem;color:var(--muted);align-items:center;}
.ax-desc{display:grid;gap:8px;}
.ax-desc label{margin:0;}
.ax-desc textarea{min-height:0;margin-top:4px;}
.ax-ligne2{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-bottom:8px;}
.ax-ligne2 label{margin:0;}
.ax-ligne2 .check{display:flex;gap:8px;align-items:center;font-weight:400;color:var(--ink);}
.ax-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.ax-copier{background:none;border:none;color:var(--mint);font-weight:700;font-size:.74rem;cursor:pointer;padding:0 0 0 6px;font-family:inherit;}
.ax-demande{margin-top:22px;}
.ax-demande-c{padding:4px 16px 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.ax-demande-c label:nth-child(3){grid-column:1 / -1;}
.ax-demande-c .btn{grid-column:1 / -1;justify-self:start;margin-top:12px;}
.ax-j .badge{flex-shrink:0;}
.ax-reg{margin-bottom:16px;}
.ax-reg-c{padding:6px 16px 16px;}
.ax-reg-g{margin-top:12px;}
.ax-reg-g > b{display:block;font-size:.84rem;margin-bottom:4px;}
.ax-reg-l{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);}
.ax-reg-l span{display:block;font-weight:700;font-size:.86rem;}
.ax-reg-l em{display:block;font-style:normal;color:var(--muted);font-size:.78rem;}
.ax-reg-l .pf-seg{flex-shrink:0;}
.ax-reg-l .pf-seg button{padding:7px 11px;font-size:.78rem;}
.ax-reg-l .pf-seg button:disabled{opacity:.35;cursor:not-allowed;}
.ax-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px;margin-bottom:6px;}
.ax-grille .check{display:flex;gap:8px;align-items:center;font-weight:400;color:var(--ink);margin-top:14px;}
.ax-zones{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.ax-zones select{width:auto;max-width:100%;}
.ax-x{background:none;border:none;color:inherit;cursor:pointer;font-size:.9rem;padding:0 0 0 4px;font-family:inherit;}
.ax-cout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 10px;}
@media(max-width:1000px){.ax-agents{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){
  .ax-agents{grid-template-columns:1fr 1fr;gap:8px;}
  .ax-agent{padding:10px;}
  .ax-agent-r{display:none;}
  .ax-p{padding:12px;}
  .ax-p-t{flex-direction:column;}
  .ax-p-b{justify-content:flex-start;}
  .ax-ligne2,.ax-grille,.ax-demande-c,.ax-cout{grid-template-columns:1fr;}
  .ax-reg-l{flex-direction:column;align-items:flex-start;}
  .ax-reg-l .pf-seg{width:100%;}
  .ax-reg-l .pf-seg button{flex:1;padding:7px 4px;}
  .ax-filtres button{padding:7px 9px;font-size:.76rem;}
}
/* Mission 11 : trois espaces dans l'en-tete, ils tiennent sur un telephone */
@media(max-width:560px){
  header.top .ligne{gap:10px;padding:0 12px;}
  header.top .espaces button{padding:6px 7px;font-size:.74rem;gap:4px;}
  header.top .espaces .b{min-width:15px;padding:0 4px;}
}
@media(max-width:420px){
  header.top .logo{font-size:0;}
  header.top .logo::before{content:"P";font-size:1rem;}
  header.top .logo i{font-size:1rem;}
}
/* Mission 12 : modules, facturation, MRR reel */
header.top .mrr{cursor:pointer;}
header.top .mrr em{font-style:normal;color:var(--rouge);font-weight:700;}
.ax-agents{grid-template-columns:repeat(5,1fr);}
.fa-alertes{margin-bottom:16px;}
.fa-alerte{padding:11px 16px;border-bottom:1px solid var(--rule);font-size:.86rem;}
.fa-alerte:last-child{border-bottom:none;}
.fa-alerte b{color:var(--amber);}
.fa-alerte a{cursor:pointer;font-weight:700;margin-left:4px;}
.fa-barre{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.fa-outils{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--rule);}
.fa-outils input[type=search]{max-width:260px;}
.fa-table td.n,.fa-table th.n{text-align:right;white-space:nowrap;}
.fa-table tfoot td{border-top:1px solid var(--rule);font-size:.84rem;}
.fa-table .fa-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.fa-sous{color:var(--muted);font-size:.74rem;font-weight:400;}
.fa-neg{color:var(--rouge);}
.fa-note{font-size:.78rem;color:var(--muted);padding:10px 16px;line-height:1.5;}
.fa-bloc-c .fa-note{padding:10px 0 0;}
.fa-avert{color:var(--amber);padding:0 0 10px !important;}
.fa-reglages{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fa-bloc h3 b{color:var(--amber);}
.fa-bloc-c{padding:4px 16px 16px;}
.fa-val{font-size:.86rem;padding:10px 0;}
.fa-prix{width:90px;text-align:right;padding:6px 8px;}
.fa-mods{border:1px solid var(--rule);margin-top:4px;}
.fa-mod{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--rule);flex-wrap:wrap;}
.fa-mod:last-child{border-bottom:none;}
.fa-mod.on{background:rgba(159,205,187,.05);}
.fa-mod-n{flex:1;min-width:170px;}
.fa-mod-n b{display:block;font-size:.88rem;}
.fa-mod-n span{font-size:.76rem;color:var(--muted);}
.fa-mod-e{display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.fa-abo{margin-top:12px;padding:12px;border:1px solid var(--rule);background:var(--surface2);}
.fa-abo-t{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.fa-abo .puce{font-size:.76rem;padding:5px 10px;}
.fa-fiche-f{margin-top:12px;}
.fa-ff{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--rule);flex-wrap:wrap;font-size:.82rem;}
.fa-ff-n{flex:1;min-width:150px;}
.fa-ff-m{font-weight:800;white-space:nowrap;}
.fa-ff-a{display:flex;gap:5px;flex-wrap:wrap;}
@media(max-width:1100px){.ax-agents{grid-template-columns:repeat(3,1fr);}}
@media(max-width:1000px){.fa-reglages{grid-template-columns:1fr;}}
@media(max-width:760px){.fa-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.ax-agents{grid-template-columns:1fr 1fr;}}
.fa-table td:first-child b{white-space:nowrap;}

/* ==========================================================================
   Mission 13 : l'installation express (plein ecran), la lecture de carte, le kit
   ========================================================================== */
.in-voile{position:fixed;inset:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;}
.in-haut{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--rule);background:var(--surface);flex-wrap:wrap;}
.in-titre{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap;}
.in-titre b{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;}
.in-marque{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);}
.in-chrono{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;}
.in-chrono span{font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--mint);}
.in-chrono small{font-size:.68rem;color:var(--muted);font-weight:700;}
.in-chrono.depasse span{color:var(--amber);}
.in-corps{flex:1;display:grid;grid-template-columns:250px 1fr;min-height:0;}
.in-cote{border-right:1px solid var(--rule);overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:4px;background:var(--bg);}
.in-e{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;background:none;border:1px solid transparent;color:var(--muted);padding:9px 10px;cursor:pointer;text-align:left;font-family:inherit;font-size:.86rem;font-weight:700;}
.in-e:hover{background:var(--surface2);}
.in-e.on{background:var(--surface2);border-color:var(--rule);color:var(--ink);}
.in-e i{font-style:normal;width:24px;height:24px;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800;}
.in-e i.ok{background:var(--green);border-color:var(--green);color:#fff;}
.in-e i.bl{border-color:#4A2C2C;color:var(--rouge);}
.in-e.fait{color:var(--ink);}
.in-e-n{min-width:0;}
.in-e-t{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--muted);}
.in-ia{display:block;font-size:.68rem;color:var(--amber);font-weight:700;}
.in-parallele{border:1px solid #4A3F22;background:rgba(232,176,75,.07);padding:10px 14px;margin:-4px 0 14px;font-size:.86rem;line-height:1.5;}
.in-parallele.en-cours{border-color:#28453A;background:rgba(159,205,187,.06);}
.in-cote-pied{margin-top:auto;padding:14px 4px 4px;}
.in-main{display:flex;flex-direction:column;min-height:0;overflow-y:auto;}
.in-contenu{flex:1;padding:22px 26px 30px;max-width:1120px;width:100%;}
.in-t{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.in-t h2{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;}
.in-objectif{font-size:.74rem;color:var(--muted);font-weight:700;}
.in-sous{color:var(--muted);font-size:.86rem;line-height:1.5;margin:6px 0 14px;}
.in-bloc{background:var(--surface);border:1px solid var(--rule);padding:16px 18px;margin-bottom:14px;}
.in-bloc h3{font-size:.8rem;font-weight:800;color:var(--mint);margin-bottom:10px;letter-spacing:.01em;}
.in-bloc-pied{border-top:1px solid var(--rule);margin-top:14px;padding-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.in-grille2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.in-grille2 > .in-bloc{margin-bottom:14px;}
.in-grille3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px;}
.in-liste{margin:0 0 0 18px;font-size:.88rem;line-height:1.55;display:grid;gap:6px;}
.in-go{border-color:#28453A;background:linear-gradient(180deg,rgba(18,128,95,.12),transparent);}
.in-gros{font-size:1rem;padding:15px 24px;}
.in-plan{display:flex;flex-wrap:wrap;gap:8px;}
.in-plan span{border:1px solid var(--rule);padding:6px 10px;font-size:.8rem;color:var(--muted);}
.in-plan b{color:var(--ink);}
.in-pied{position:sticky;bottom:0;background:rgba(15,15,14,.97);border-top:1px solid var(--rule);padding:12px 26px;display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;backdrop-filter:blur(8px);}
.in-pied.in-secoue{animation:in-secoue .45s ease;}
@keyframes in-secoue{20%{transform:translateX(-8px);}40%{transform:translateX(8px);}60%{transform:translateX(-5px);}80%{transform:translateX(5px);}}
.in-bloqs{flex:1;min-width:260px;display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto;}
.in-bloqs-t{font-size:.72rem;font-weight:800;color:var(--rouge);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;}
.in-bloqs.deborde{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);padding-bottom:14px;}
.in-bloqs-t.ok{color:var(--mint);}
.in-bl{display:flex;gap:9px;align-items:baseline;background:none;border:none;color:var(--ink);font-family:inherit;font-size:.84rem;text-align:left;cursor:pointer;padding:3px 0;}
.in-bl i{width:8px;height:8px;border-radius:50%;background:var(--rouge);flex-shrink:0;transform:translateY(-1px);}
.in-bl.att{color:var(--muted);}
.in-bl.att i{background:var(--amber);}
.in-bl:hover{color:var(--mint);}
.in-pied-actions .btn[aria-disabled=true]{opacity:.55;}
.in-vise{outline:2px solid var(--mint) !important;outline-offset:3px;transition:outline-color .3s;}
.in-sug{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #28453A;background:rgba(159,205,187,.06);padding:10px 14px;margin-bottom:10px;font-size:.86rem;flex-wrap:wrap;}
.in-live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#3A3936;margin-right:8px;vertical-align:middle;}
.in-live.on{background:var(--mint);box-shadow:0 0 0 3px rgba(159,205,187,.2);animation:in-pulse 1.6s ease-in-out infinite;}
@keyframes in-pulse{50%{opacity:.45;}}
.in-etat-live{font-size:.86rem;margin:6px 0;}
.in-alerte{border:1px solid #4A2C2C;color:var(--rouge);padding:9px 12px;font-size:.84rem;margin:8px 0;}
.in-note{border-left:3px solid var(--amber);padding:6px 10px;font-size:.8rem;color:var(--muted);margin-top:8px;background:rgba(199,154,75,.06);}
.in-tablette{display:flex;gap:16px;align-items:flex-start;}
.in-tablette p, .in-tablette div{min-width:0;overflow-wrap:anywhere;}
.in-tablette canvas{background:#fff;flex-shrink:0;border-radius:6px;}
.in-copie{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;}
.in-copie code{background:var(--surface2);border:1px solid var(--rule);padding:6px 10px;font-size:.84rem;color:var(--mint);word-break:break-all;flex:1;min-width:180px;font-family:inherit;font-weight:700;}
.in-copie span{font-size:.78rem;color:var(--muted);font-weight:700;}
.in-checklist{display:flex;flex-direction:column;}
.in-ck{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--rule);}
.in-ck:last-child{border-bottom:none;}
.in-ck.fait .in-ck-t > b{color:var(--muted);text-decoration:line-through;}
.in-ck-case{margin:0;cursor:pointer;display:block;position:relative;width:30px;height:30px;}
.in-ck-case input{position:absolute;left:0;top:0;width:26px;height:26px;margin:0;opacity:0;pointer-events:none;}
.in-ck-case span{display:block;width:26px;height:26px;border:2px solid #3A3936;}
.in-ck-case input:checked + span{background:var(--green);border-color:var(--green);}
.in-ck-case input:checked + span::after{content:"";display:block;width:7px;height:13px;border:solid #fff;border-width:0 3px 3px 0;transform:translate(8px,3px) rotate(45deg);}
.in-ck-case input:focus-visible + span{outline:2px solid var(--mint);outline-offset:2px;}
.in-ck-t b{font-size:.92rem;}
.in-ck-t .in-sous{margin:2px 0 4px;}
.in-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.in-mini{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;}
.in-mini textarea,.in-mini input{margin-bottom:2px;}
.in-mini [data-mi-pf]{margin-bottom:6px;}
.in-mini-photos{display:flex;flex-wrap:wrap;gap:8px;}
.in-mp{width:64px;height:64px;border:2px solid var(--rule);background:var(--surface2);padding:0;cursor:pointer;overflow:hidden;color:var(--muted);font-family:inherit;font-weight:700;font-size:.74rem;}
.in-mp img{width:100%;height:100%;object-fit:cover;display:block;}
.in-mp.on{border-color:var(--mint);}
.in-apercu{position:sticky;top:12px;}
.in-apercu-t{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.in-apercu-t h3{margin:0;flex:1;}
.in-apercu-cadre{background:#fff;border:1px solid var(--rule);margin:0 auto;overflow:hidden;}
.in-apercu-cadre iframe{width:100%;height:100%;border:0;display:block;}
.in-apercu-cadre.tel{width:390px;max-width:100%;height:700px;border-radius:24px;border:10px solid #1c1c1a;}
.in-apercu-cadre.ordi{width:100%;height:700px;}
.in-missions{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px;}
.in-mission{display:flex;align-items:center;gap:9px;border:1px solid var(--rule);padding:9px 10px;font-size:.84rem;color:var(--muted);}
.in-mission i{font-style:normal;width:22px;height:22px;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0;}
.in-mission.fait{color:var(--ink);border-color:#28453A;}
.in-mission.fait i{background:var(--green);border-color:var(--green);color:#fff;}
.in-rep{display:flex;flex-direction:column;margin-top:10px;}
.in-rep-i{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--rule);font-size:.88rem;}
.in-rep-i:last-child{border-bottom:none;}
.in-rep-i > i{font-style:normal;width:24px;height:24px;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;}
.in-rep-i.ok > i{background:var(--green);border-color:var(--green);color:#fff;}
.in-rep-i.ko > i{background:var(--rouge);border-color:var(--rouge);color:#fff;}
.in-rep-i.attention > i{background:var(--amber);border-color:var(--amber);color:#141311;}
.in-rep-i.encours > i{border-color:var(--mint);border-top-color:transparent;animation:in-tourne 1s linear infinite;}
@keyframes in-tourne{to{transform:rotate(360deg);}}
.in-rep-i.attente{color:var(--muted);}
.in-rep-i span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px;}
.in-rep-i.ko span{color:var(--rouge);}
.in-rep-i small{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;}
.in-rep-i .btn{margin-top:6px;}
.in-rep-conf{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.in-rep-conf label{display:flex;gap:8px;align-items:center;margin:0;font-size:.84rem;color:var(--ink);font-weight:600;cursor:pointer;}
.in-rep-conf input{width:18px;height:18px;accent-color:var(--green);}
.in-fini{border-color:var(--green);}
.in-fini h3{font-size:1.1rem;color:var(--ink);}
.in-liens{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.in-barres{display:flex;flex-direction:column;gap:7px;}
.in-barre{display:grid;grid-template-columns:170px 1fr 56px;gap:10px;align-items:center;font-size:.82rem;}
.in-barres.petit .in-barre{grid-template-columns:140px 1fr 48px;font-size:.76rem;}
.in-barre-n{color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.in-barre-p{position:relative;height:14px;background:var(--surface2);display:flex;}
.in-barre-p i{display:block;height:100%;}
.in-barre-p i.a,.in-legende i.a{background:var(--green);}
.in-barre-p i.m,.in-legende i.m{background:var(--amber);}
.in-barre-p b.cible{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55;}
.in-barre-t{font-variant-numeric:tabular-nums;text-align:right;font-weight:700;}
.in-legende{display:flex;gap:16px;flex-wrap:wrap;font-size:.74rem;color:var(--muted);margin-top:10px;}
.in-legende i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:middle;}
.in-legende b.cible{display:inline-block;width:2px;height:12px;background:var(--ink);opacity:.55;margin-right:6px;vertical-align:middle;}
.in-at h3{display:flex;align-items:baseline;gap:10px;}
.in-at-s{font-weight:600;color:var(--muted);font-size:.76rem;}
.in-at{margin-bottom:14px;}
.in-at-liste{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.in-at-i{background:var(--surface2);border:1px solid var(--rule);color:var(--ink);font-family:inherit;padding:9px 12px;text-align:left;cursor:pointer;}
.in-at-i b{display:block;font-size:.86rem;}
.in-at-i span{font-size:.74rem;color:var(--muted);}
.in-at-i.nouveau{border-style:dashed;}
.in-at-i:hover{border-color:var(--mint);}
.in-at-moy{display:flex;flex-direction:column;gap:8px;font-size:.84rem;}
.pf-ed-taille{margin-top:12px;border:1px solid var(--rule);padding:8px 12px;}
.pf-ed-taille summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted);}
.pf-ed-taille[open] summary{margin-bottom:4px;}
@media(max-width:900px){
  .in-corps{grid-template-columns:1fr;grid-template-rows:auto 1fr;}
  .in-cote{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--rule);padding:8px;}
  .in-e{grid-template-columns:22px auto;white-space:nowrap;flex:0 0 auto;padding:7px 9px;}
  .in-e-t{display:none;}
  .in-cote-pied{display:none;}
  .in-contenu{padding:16px 16px 24px;}
  .in-grille2,.in-grille3,.in-mini{grid-template-columns:1fr;}
  .in-pied{padding:10px 16px;}
  .in-apercu{position:static;}
  .in-apercu-cadre.tel{height:560px;}
  .in-barre{grid-template-columns:110px 1fr 48px;}
}
@media(max-width:600px){
  .in-tablette{flex-direction:column;}
  .in-bloqs{max-height:92px;min-width:0;}
  .in-bl{font-size:.8rem;}
  .in-pied{gap:8px;}
  .in-pied-actions,.in-pied-actions .btn{width:100%;}
  .st-ligne{grid-template-columns:1fr auto !important;}
  .st-ligne > :first-child{grid-column:1 / -1;}
}

/* La lecture de la carte : verification */
.ci-voile{position:fixed;inset:0;z-index:170;background:rgba(0,0,0,.72);display:flex;align-items:stretch;justify-content:center;padding:18px;}
.ci{width:100%;max-width:1180px;background:var(--bg);border:1px solid var(--rule);display:flex;flex-direction:column;min-height:0;}
.ci-haut{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;padding:16px 20px 8px;}
.ci-haut h2{font-size:1.2rem;font-weight:800;}
.ci-sous{color:var(--muted);font-size:.82rem;line-height:1.45;}
.ci-stats{display:flex;gap:6px;flex-wrap:wrap;padding:0 20px 8px;}
.ci-alerte{margin:0 20px 8px;border:1px solid #4A3E24;color:var(--amber);padding:8px 12px;font-size:.82rem;}
.ci-outils{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:6px 20px 10px;border-bottom:1px solid var(--rule);}
.ci-outils .ci-sous{flex:1;min-width:220px;}
.ci-corps{flex:1;display:grid;grid-template-columns:1fr;min-height:0;}
.ci-corps.avec-page{grid-template-columns:1fr 420px;}
.ci-liste{overflow-y:auto;padding:6px 20px 20px;min-height:0;}
.ci-page{border-left:1px solid var(--rule);overflow-y:auto;padding:12px;min-height:0;}
.ci-page img{width:100%;display:block;background:#fff;}
.ci-page-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.84rem;}
.ci-cat{margin-top:14px;}
.ci-cat-t{display:flex;align-items:center;gap:10px;position:sticky;top:0;background:var(--bg);padding:6px 0;z-index:2;}
.ci-cat-t input{font-weight:800;font-size:.95rem;color:var(--mint);max-width:340px;}
.ci-cat-t span{color:var(--muted);font-size:.8rem;}
.ci-p{display:grid;grid-template-columns:22px 64px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule);align-items:start;}
.ci-p.off{opacity:.45;}
.ci-p > input[type=checkbox]{width:18px;height:18px;margin-top:10px;accent-color:var(--green);}
.ci-ph button{width:64px;height:64px;padding:0;border:2px solid var(--rule);background:var(--surface2);cursor:pointer;overflow:hidden;color:var(--muted);font-family:inherit;font-size:.7rem;}
.ci-ph button.on{border-color:var(--mint);}
.ci-ph button:not(.on) img{opacity:.35;filter:grayscale(1);}
.ci-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ci-ch{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ci-l1{display:flex;gap:8px;}
.ci-l1 > input{flex:1;font-weight:700;}
.ci-prix{width:110px;flex-shrink:0;}
.ci-prix.manque input{border-color:var(--rouge);}
.ci-taille{font-size:.78rem;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.ci-taille input{width:130px;padding:5px 8px;font-size:.8rem;}
.ci-desc,.ci-supp{font-size:.8rem;padding:7px 10px;}
.ci-all{display:flex;gap:5px;flex-wrap:wrap;align-items:center;}
.ci-a{border:1px solid #28453A;background:rgba(159,205,187,.08);color:var(--mint);font-family:inherit;font-size:.72rem;font-weight:700;padding:3px 8px;cursor:pointer;}
.ci-a.prob{border-style:dashed;border-color:#4A3E24;background:none;color:var(--amber);}
.ci-all select{width:auto;padding:3px 6px;font-size:.72rem;}
.ci-doute{font-size:.76rem;color:var(--amber);}
.ci-lien{background:none;border:none;color:var(--muted);font-family:inherit;font-size:.74rem;text-decoration:underline;cursor:pointer;padding:0;text-align:left;}
.ci-pages{display:flex;gap:6px;flex-wrap:wrap;padding:8px 20px;border-top:1px solid var(--rule);}
.ci-pied{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--rule);background:var(--surface);}
.ci-err{color:var(--rouge);font-size:.84rem;flex:1;}
.ci-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px 20px;overflow-y:auto;flex:1;align-content:start;align-items:start;}
.ci-g{border:1px solid var(--rule);background:var(--surface);padding:8px;display:flex;flex-direction:column;gap:6px;}
.ci-g.off{opacity:.6;}
.ci-g img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.ci-g select{font-size:.78rem;padding:6px;}
@media(max-width:900px){
  .ci-voile{padding:0;}
  .ci-corps.avec-page{grid-template-columns:1fr;grid-template-rows:1fr 45%;}
  .ci-page{border-left:none;border-top:1px solid var(--rule);}
  .ci-p{grid-template-columns:22px 1fr;}
  .ci-ph{grid-column:2;}
  .ci-ch{grid-column:1 / span 2;}
  .ci-l1{flex-wrap:wrap;}
}

/* Le kit de lancement */
.kt-cible{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:.84rem;}
.kt-cible > span:first-child{font-weight:700;color:var(--muted);}
.kt-lien{font-size:.76rem;color:var(--muted);word-break:break-all;flex-basis:100%;}
.kt-err{border:1px solid #4A2C2C;color:var(--rouge);padding:8px 12px;font-size:.84rem;margin-bottom:10px;}
.kt-apercus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;}
.kt-apercus figure{margin:0;display:flex;flex-direction:column;gap:6px;}
.kt-cadre{background:var(--surface2);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.kt-cadre.a5{aspect-ratio:148/210;}
.kt-cadre.a4{aspect-ratio:210/297;}
.kt-cadre.carre{aspect-ratio:1;}
.kt-cadre.story{aspect-ratio:9/16;}
.kt-canvas{width:100%;height:100%;display:block;object-fit:contain;}
.kt-apercus figcaption{font-size:.78rem;font-weight:700;line-height:1.3;}
.kt-apercus figcaption small{color:var(--muted);font-weight:600;}
.kt-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;align-items:center;}
.kt-textes{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.kt-t{border:1px solid var(--rule);padding:10px 12px;background:var(--surface);}
.kt-t-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem;}
.kt-t p{font-size:.86rem;line-height:1.5;word-break:break-word;}
.kt-t textarea{font-size:.84rem;min-height:60px;}
@media(max-width:900px){ .kt-apercus{grid-template-columns:1fr 1fr;} .kt-textes{grid-template-columns:1fr;} }

/* Mission 14 : les tailles d'un plat dans la carte (CRM et Dashboard) */
.pf-taille{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);border:1px solid var(--rule);padding:0 6px;margin-right:6px;vertical-align:1px;}
.pf-prod.suite{margin-left:22px;}

/* Mission 15 : supprimer une categorie */
.pf-dlg-choix{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px;}
.pf-dlg-choix label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--rule);border-radius:12px;cursor:pointer;line-height:1.35;}
.pf-dlg-choix input[type=radio]{appearance:auto;-webkit-appearance:radio;width:18px;height:18px;min-width:18px;min-height:0;padding:0;margin:2px 0 0;border:0;flex:0 0 18px;box-shadow:none;background:none;accent-color:var(--ink);}
.pf-dlg-choix label > span{flex:1;min-width:0;}
.pf-dlg-choix b{display:block;font-weight:800;}
.pf-dlg-choix small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px;}
.pf-dlg-choix select{display:block;width:100%;min-width:0;margin-top:8px;}
.pf-err{color:var(--rouge);font-size:.85rem;font-weight:600;margin-top:6px;}
.pf-err:empty{display:none;}

/* Mission 16 : les options qui rapportent (js/options.js), Dashboard et CRM */
.op-vide,.op-note{font-size:.84rem;color:var(--muted);}
.op-note{margin-top:10px;line-height:1.45;}
.op-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.op-carte{border:1px solid var(--rule);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--surface);}
.op-carte > .pf-lb{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.op-big{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.op-big small{font-size:.8rem;font-weight:700;color:var(--muted);}
.op-sous{font-size:.84rem;color:var(--muted);line-height:1.45;}
.op-sous b{color:var(--ink);}
.op-rent{font-size:.8rem;font-weight:700;color:var(--muted);border-top:1px solid var(--rule);padding-top:8px;margin-top:4px;}
.op-rent.ok{color:var(--ink);}
.op-att{font-size:.8rem;font-weight:700;color:var(--amber);}
.op-err{font-size:.86rem;font-weight:700;color:var(--rouge);margin-top:8px;}
.op-c{display:flex;flex-direction:column;gap:2px;margin-top:6px;}
.op-puces{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--muted);margin-top:8px;}
.op-puces b{color:var(--ink);}
.op-lien{align-self:flex-start;background:none;border:0;padding:6px 0 0;font-weight:800;font-size:.82rem;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.op-camp{display:flex;flex-direction:column;gap:12px;}
.op-camp-t b{display:block;font-size:1.05rem;font-weight:800;}
.op-camp-t span{font-size:.84rem;color:var(--muted);}
.op-camp-en{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--rule);border-radius:14px;padding:12px 14px;}
.op-camp-en div{flex:1;min-width:0;}
.op-camp-en b{display:block;}
.op-camp-en span{font-size:.84rem;color:var(--muted);}
.op-camp-f{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) minmax(100px,1fr) auto;gap:10px;align-items:end;}
.op-camp-f label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--muted);}
.op-camp-f select,.op-camp-f input{width:100%;min-width:0;}
.op-camp-l{display:flex;flex-direction:column;}
.op-camp-l > div{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--rule);font-size:.86rem;align-items:center;}
.op-camp-l small{display:block;font-size:.76rem;color:var(--muted);}
.j-options{grid-column:1/-1;}
@media(max-width:700px){
  .op-camp-f{grid-template-columns:1fr 1fr;}
  .op-camp-f label:first-child,.op-camp-f .btn{grid-column:1/-1;}
}
