:root{--bg:#f6f2ea;--card:#fff;--ink:#1d2621;--muted:#6f7872;--line:#e8e2d7;--green:#2f2820;--green2:#6f9a0e;--deep:#2f2820;--sage:#eef4dc;--mango:#8ebb13;--mango-soft:#fcf0dc;--chili:#c4482f;--chili-soft:#f9e3dd;--blue:#3a6ea5;--blue-soft:#e3edf7;--r:14px;--sh:0 1px 2px rgba(30,40,35,.05),0 6px 20px rgba(30,40,35,.06)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:Geologica,Inter,sans-serif;font-weight:600;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
/* mise en page */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
aside.side{background:var(--deep);color:#e9efe9;padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}
.logo{display:flex;align-items:center;gap:10px;font-family:Geologica,Inter,sans-serif;font-weight:700;font-size:21px}
.logo .mark{width:38px;height:38px;border-radius:11px;background:var(--mango);display:grid;place-items:center;color:#1d2621;font-size:19px}
aside .logo{padding:4px 8px 18px;color:#fff}
aside .sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.45;padding:14px 10px 6px}
.nav{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:#cfdcd3;font-weight:500}
.nav:hover{background:rgba(255,255,255,.06);color:#fff}
.nav.on{background:rgba(142,187,19,.18);color:#fff}
.nav .n{margin-left:auto;font-size:11px;font-weight:700;border-radius:20px;padding:1px 7px;background:rgba(255,255,255,.1)}
.nav .n.warn{background:var(--mango);color:#1d2621}
.nav.off{opacity:.38;cursor:default}
.nav.off:hover{background:none;color:#cfdcd3}
.nav .soon{margin-left:auto;font-size:10px;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:0 6px}
.me{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;display:flex;align-items:center;gap:10px}
.me .av{width:36px;height:36px;border-radius:50%;background:var(--mango);color:#1d2621;display:grid;place-items:center;font-weight:700;flex:none}
.me small{display:block;opacity:.6;font-size:11.5px}
.me a{opacity:.7;font-size:12px}.me a:hover{opacity:1;text-decoration:underline}
main{min-width:0;padding:28px 32px 70px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.ph h1{font-size:29px}
.ph p{color:var(--muted);margin-top:4px}
.fil{font-size:13px;color:var(--muted);margin-bottom:6px}
.fil a:hover{color:var(--ink);text-decoration:underline}
/* éléments */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;font-weight:600;font-size:13.5px;border:1px solid var(--line);background:#fff;white-space:nowrap;transition:.15s}
.btn:hover{border-color:#cfc6b6}
.btn.pri{background:var(--green);color:#fff;border-color:var(--green)}
.btn.pri:hover{background:var(--green2)}
.btn.mango{background:var(--mango);border-color:var(--mango);color:#1d2621}
.btn.danger{color:var(--chili);border-color:#efc9bf}
.btn.sm{padding:5px 10px;font-size:12.5px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);border:1px solid rgba(232,226,215,.7)}
.card.p{padding:20px}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:1fr 1fr}
.kpi .l{color:var(--muted);font-size:13px;font-weight:500}
.kpi .v{font-family:Geologica,Inter,sans-serif;font-size:32px;font-weight:600;margin:6px 0 2px}
.kpi .d{font-size:13px}
.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.pill.g{background:var(--sage);color:var(--green)}.pill.m{background:var(--mango-soft);color:#94600f}.pill.r{background:var(--chili-soft);color:var(--chili)}.pill.b{background:var(--blue-soft);color:var(--blue)}.pill.n{background:#efebe3;color:#5e665f}
.flash{padding:12px 16px;border-radius:11px;margin-bottom:16px;font-weight:500}
.flash.ok{background:var(--sage);color:var(--green)}
.flash.erreur{background:var(--chili-soft);color:var(--chili)}
/* catalogue */
.cat-layout{display:grid;grid-template-columns:270px 1fr;gap:20px;align-items:start}
.cat-menu{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding:8px}
.cat-menu .gh{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;padding:12px 10px 4px}
.ci{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;font-size:13px}
.ci:hover{background:var(--bg)}
.ci.on{background:var(--sage);color:var(--green);font-weight:600}
.ci .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci .ct{font-size:11.5px;color:var(--muted)}
.ci .ac{width:7px;height:7px;border-radius:50%;background:var(--mango);flex:none}
.tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.inp{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;outline:0;width:100%}
.inp:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(142,187,19,.12)}
.tools .inp{width:auto;flex:1;min-width:220px}
.chip{padding:7px 13px;border-radius:30px;border:1px solid var(--line);background:#fff;font-weight:500;font-size:13px}
.chip.on{background:var(--green);color:#fff;border-color:var(--green)}
.chip .c{opacity:.6;margin-left:3px}
.grp{margin-bottom:18px;overflow:hidden}
.grp h3{font-size:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fcfaf6;display:flex;align-items:center;gap:10px}
.grp h3 small{font-family:Inter,sans-serif;font-weight:500;color:var(--muted);font-size:12px}
.grp h3 .btn{margin-left:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:8px 14px;border-bottom:1px solid var(--line)}
td{padding:9px 14px;border-bottom:1px solid #f1ece3;vertical-align:middle}
tr:last-child td{border-bottom:0}
tr.lien{cursor:pointer}
tr.lien:hover td{background:#fbf8f2}
tr:target td{background:#fdf6e6}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.thumb{width:40px;height:40px;border-radius:9px;object-fit:cover;background:var(--sage);display:grid;place-items:center;color:var(--green2);font-size:16px;flex:none}
.nomcell{display:flex;align-items:center;gap:11px}
.nomcell small{display:block;color:var(--muted);font-size:12px}
.vide{padding:50px;text-align:center;color:var(--muted)}
/* formulaires */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}
.field.full{grid-column:1/-1}
textarea.inp{min-height:80px;resize:vertical}
.check{display:flex;align-items:center;gap:9px;font-weight:500;padding:9px 0}
.check input{width:18px;height:18px;accent-color:var(--green2)}
.fiche-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.photo-box{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--sage);display:grid;place-items:center;color:var(--green2);margin-bottom:12px}
.photo-box img{width:100%;height:100%;object-fit:cover}
.marge{background:var(--bg);border-radius:10px;padding:12px 14px;margin-top:12px;font-size:13px}
.marge b{font-family:Geologica,Inter,sans-serif;font-size:20px;display:block}
.barre{position:sticky;bottom:0;background:rgba(246,242,234,.95);backdrop-filter:blur(6px);padding:14px 0;margin-top:18px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* connexion */
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.login .visu{background:linear-gradient(160deg,#2f2820,#2f2820);color:#f6f2ea;padding:56px;display:flex;flex-direction:column;justify-content:space-between}
.login .visu h1{font-size:44px;line-height:1.1;max-width:520px}
.login .visu p{opacity:.8;max-width:440px;margin-top:14px;font-size:16px}
.login .form{display:flex;align-items:center;justify-content:center;padding:40px}
.login .box{width:360px;max-width:100%}
.login .box h2{font-size:27px;margin:22px 0 6px}
.login label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1100px){.cat-layout,.fiche-layout{grid-template-columns:1fr}.cat-menu{position:static;max-height:260px}.g3{grid-template-columns:1fr}}
@media(max-width:820px){.app{grid-template-columns:1fr}aside.side{position:static;height:auto}.login{grid-template-columns:1fr}.login .visu{display:none}.form-grid,.g2{grid-template-columns:1fr}main{padding:20px 16px 60px}}
/* étape 2 : événements */
.sec-t{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin:4px 0 10px}
.form-grid.g4{grid-template-columns:repeat(4,1fr)}
.form-grid.g3f{grid-template-columns:repeat(3,1fr)}
.infos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px}
.infos div small{display:block;color:var(--muted);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.infos div b{font-weight:600}
.docs{display:flex;gap:10px;flex-wrap:wrap}
.moment{margin-bottom:20px;overflow:hidden;scroll-margin-top:16px}
.moment>.mh{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--deep);color:#fff;flex-wrap:wrap}
.moment>.mh h3{font-size:18px}
.moment>.mh .meta{opacity:.75;font-size:13px}
.moment>.mh .actions{margin-left:auto}
.moment>.mh .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.moment>.mh .btn:hover{background:rgba(255,255,255,.16)}
.medit{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr auto;gap:10px;padding:12px 18px;background:#fcfaf6;border-bottom:1px solid var(--line);align-items:end}
.medit label{font-size:11.5px;font-weight:600;color:var(--muted);display:block;margin-bottom:4px}
.lt td{padding:6px 12px}
.lt tr.cat td{background:#f7f3ec;font-weight:700;font-size:12.5px;color:var(--green)}
.lt tr.src td{background:var(--sage);font-family:Geologica,Inter,sans-serif;font-size:15px;font-weight:600;color:var(--deep)}
.lt input.inp{padding:5px 8px;border-radius:7px}
.lt .q{width:80px;text-align:right}
.lt .p{width:110px}
.lt tr.rep td{color:var(--muted)}
.lt tr.rep td:first-child{text-decoration:line-through}
.rep-lbl{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}
.repartir{display:inline-flex;gap:6px;align-items:center;margin-left:12px;font-weight:500;color:var(--ink)}
.repartir input{width:62px}
.ajout{padding:14px 18px;border-top:1px solid var(--line);background:#fcfaf6}
.res{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:10px}
.res label{display:flex;gap:10px;align-items:center;padding:7px 12px;border-bottom:1px solid #f1ece3;cursor:pointer}
.res label:hover{background:#fbf8f2}
.res label small{color:var(--muted);margin-left:auto;font-size:12px;text-align:right}
.res input{width:17px;height:17px;accent-color:var(--green2);flex:none}
.res .gh{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:9px 12px 4px;background:#fcfaf6}
.aide{color:var(--muted);font-size:12.5px}
@media(max-width:1100px){.infos,.form-grid.g4{grid-template-columns:1fr 1fr}.medit{grid-template-columns:1fr 1fr}}
/* étape 3 : devis */
.devis-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.tot{position:sticky;top:16px}
.totaux{width:100%}
.totaux td{padding:6px 2px;border:0;font-size:13.5px;vertical-align:top}
.totaux tr.st td{border-top:1px solid var(--line);font-weight:700;padding-top:9px}
.totaux tr.rem td{color:#a66a12}
.totaux tr.ttc td{border-top:2px solid var(--deep);font-family:Geologica,Inter,sans-serif;font-size:20px;font-weight:600;color:var(--deep);padding-top:10px}
.regl td{padding:6px 12px}
.regl input.inp{width:110px;text-align:right}
@media(max-width:1100px){.devis-grid{grid-template-columns:1fr}.tot{position:static}}
/* étape 4 : production */
.barre-p{display:block;height:7px;background:#ece6da;border-radius:99px;overflow:hidden;margin-top:4px}
.barre-p>span{display:block;height:100%;background:var(--green2);border-radius:99px;transition:width .3s}
.prog3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prog3 small{font-size:12.5px;color:var(--muted)}
.manq{margin:3px 0;font-size:13.5px}
.onglets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.onglets a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:600;font-size:15px}
.onglets a small{display:block;font-weight:500;color:var(--muted);font-size:12.5px;margin-top:2px}
.onglets a.on{border-color:var(--green2);box-shadow:0 0 0 2px var(--green2) inset;background:#f4f8f5}
.bloc-prod{margin-bottom:20px}
.bloc-prod h2{font-size:20px;background:var(--deep);color:#fff;padding:12px 16px;border-radius:12px 12px 0 0}
.bloc-prod h2 small{font-family:Inter,sans-serif;font-size:13px;font-weight:500;opacity:.75;margin-left:8px}
.bloc-prod h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--green);background:#f7f3ec;padding:9px 16px;border:1px solid var(--line);border-top:0;font-family:Inter,sans-serif;font-weight:700}
.lig{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 14px;background:#fff;border:1px solid var(--line);border-top:0;transition:background .2s}
.lig .q{font-size:20px;font-weight:700;text-align:center;color:var(--deep)}
.lig .t{font-size:15.5px;line-height:1.3}
.lig .t small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.lig .t small.com{color:#8a5a12;font-style:italic}
.lig .t small:empty{display:none}
.lig .bts{display:flex;gap:6px}
.lig .bts button{min-height:46px;min-width:46px;padding:0 14px;border-radius:10px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.lig .b-ok:hover{border-color:var(--green2)}
.lig .b-manq:hover{border-color:#b4432f}
.lig.ok{background:#eef6f0}
.lig.ok .b-ok{background:var(--green2);border-color:var(--green2);color:#fff}
.lig.ok .t{color:var(--muted)}
.lig.manq{background:#fbefec}
.lig.manq .b-manq{background:#b4432f;border-color:#b4432f;color:#fff}
.lig.envoi{opacity:.55}
.lig .zone-com{display:none;grid-column:2/-1;gap:8px}
.lig.ouvert .zone-com{display:flex}
.lig .rev{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.lig .rev input{width:70px;text-align:right}
@media(max-width:800px){.lig{grid-template-columns:48px minmax(0,1fr)}.lig .bts,.lig .rev{grid-column:2}.onglets,.prog3{grid-template-columns:1fr}}
/* étape 5 : pointage */
.pt th{font-size:11px;padding:8px 4px;white-space:nowrap}
.pt td{padding:6px 3px;vertical-align:middle}
.pt .inp{padding:6px 7px;border-radius:7px;font-size:13px}
.pt select.inp{width:118px}
.pt .nom{width:150px}
.pt .h{width:60px}
.pt .n{width:44px;text-align:right}
.pt .com{width:100%;max-width:520px;padding:4px 8px;font-size:12.5px}
.pt tr.sous td{padding-top:0;border-top:0}
.pt tr.sous td:empty{padding:0}
.pt td.c{text-align:center}
.pt input[type=checkbox]{width:19px;height:19px;accent-color:var(--green2)}
/* illustrations par défaut */
img.thumb{object-fit:cover}
.thumb.mini{width:30px;height:30px;border-radius:7px}
.photo-box{position:relative}
.illu-badge{position:absolute;left:10px;bottom:10px;background:rgba(47,40,32,.78);color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px}
/* étape 6 : espace client, stock */
.evt-client{display:flex;gap:18px;align-items:center;margin-bottom:14px;transition:box-shadow .2s}
.evt-client:hover{box-shadow:0 6px 24px rgba(47,40,32,.12)}
.evt-client img{width:120px;height:90px;border-radius:12px;object-fit:cover;flex:none}
.evt-client h2{font-size:20px;margin-bottom:4px}
.evt-client .droite{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.tim-c{width:100%}.tim-c td{border:0;padding:6px 4px;border-bottom:1px solid #f1ece3}.tim-c td:first-child{font-weight:700;width:90px;color:var(--deep)}
.menu-c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.menu-c>div{display:flex;gap:10px;align-items:center}
.menu-c small{display:block;color:var(--muted);font-size:11.5px}
.signe-ok{margin-top:14px;background:#eef6f0;border:1px solid #b9d3c3;border-radius:10px;padding:12px;color:var(--deep)}
@media(max-width:800px){.evt-client{flex-wrap:wrap}.evt-client .droite{margin-left:0;align-items:flex-start}.menu-c{grid-template-columns:1fr}}

/* =====================================================================
   VERSION 2 — design modernisé, titres centrés, tablette et téléphone
   ===================================================================== */
:root{--r:18px;--sh:0 1px 2px rgba(47,40,32,.04),0 10px 30px rgba(47,40,32,.07)}
body{font-size:14.5px}
main{padding:34px 40px 90px;max-width:1360px;width:100%;margin:0 auto}
.card{border:1px solid rgba(232,226,215,.55)}
.card.p{padding:22px 24px}
.btn{border-radius:12px;padding:10px 16px}
.btn.sm{border-radius:10px;padding:6px 11px}
.btn.pri{background:linear-gradient(180deg,#6f9a0e,#2f2820);box-shadow:0 2px 8px rgba(47,40,32,.25)}
.btn.mango{box-shadow:0 2px 8px rgba(142,187,19,.3)}
.inp{border-radius:11px;padding:10px 13px}
.pill{padding:3px 10px;font-size:11.5px}

/* en-têtes de page centrés */
.ph{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;margin-bottom:28px}
.ph>div:first-child{display:flex;flex-direction:column;align-items:center}
.ph h1{font-size:34px;line-height:1.15}
.ph h1:after,.hub h1:after{content:"";display:block;width:46px;height:3px;border-radius:3px;background:var(--mango);margin:12px auto 0}
.ph p{max-width:720px}
.ph .actions{justify-content:center}
.fil{text-align:center}
.titre-centre{text-align:center;font-size:24px;margin:30px 0 16px}
.titre-centre:after{content:"";display:block;width:36px;height:3px;border-radius:3px;background:var(--mango);margin:10px auto 0}
.vide{text-align:center}
.tools{justify-content:center}
.tools .inp{max-width:560px}

/* menu latéral */
aside.side{padding:22px 14px}
.nav{padding:10px 12px;border-radius:11px;position:relative}
.nav.on{background:rgba(142,187,19,.16)}
.nav.on:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--mango)}

/* bandeau d'un événement */
.hub{text-align:center;margin-bottom:24px}
.hub h1{font-size:34px;line-height:1.15}
.hub-sous{color:var(--muted);margin-top:10px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.etapes{display:flex;justify-content:center;gap:10px;margin:20px auto 14px;flex-wrap:wrap;max-width:980px}
.etape{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);min-width:190px;text-align:left;transition:.15s}
.etape:hover{border-color:#cfc6b6;transform:translateY(-1px)}
.etape .rond{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1ece3;font-size:16px;flex:none}
.etape b{display:block;font-size:14px}
.etape small{display:block;color:var(--muted);font-size:12px}
.etape.cours .rond{background:var(--mango-soft)}
.etape.fait .rond{background:var(--green2);color:#fff;font-weight:700}
.etape.on{border-color:var(--green2);box-shadow:0 0 0 2px var(--green2) inset,var(--sh)}
.hub-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.menu-deroulant{position:relative}
.menu-deroulant summary{list-style:none;cursor:pointer}
.menu-deroulant summary::-webkit-details-marker{display:none}
.menu-liste{position:absolute;z-index:20;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(47,40,32,.18);padding:6px;min-width:250px;text-align:left}
.menu-liste a,.menu-liste button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:9px;font-size:13.5px}
.menu-liste a:hover,.menu-liste button:hover{background:var(--bg)}
.bandeau-info{text-align:center;color:var(--muted);margin:-8px 0 20px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}

/* tableau de bord */
.accueil-tete{text-align:center;margin:6px 0 26px}
.accueil-tete h1{font-size:36px}
.accueil-tete h1:after{content:"";display:block;width:46px;height:3px;border-radius:3px;background:var(--mango);margin:12px auto 0}
.accueil-tete p{color:var(--muted);margin-top:10px}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:26px}
.tuile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px 16px;border-radius:var(--r);background:#fff;box-shadow:var(--sh);border:1px solid rgba(232,226,215,.55);text-align:center;transition:.15s}
.tuile:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(47,40,32,.12)}
.tuile .ico{font-size:28px;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--sage)}
.tuile.forte{background:linear-gradient(160deg,#6f9a0e,#2f2820);color:#fff}
.tuile.forte .ico{background:rgba(255,255,255,.12)}
.tuile b{font-size:15px}
.tuile small{color:var(--muted);font-size:12.5px}
.tuile.forte small{color:rgba(255,255,255,.7)}
.agenda{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.evt-carte{display:block;padding:18px;border-radius:var(--r);background:#fff;box-shadow:var(--sh);border:1px solid rgba(232,226,215,.55);transition:.15s}
.evt-carte:hover{transform:translateY(-2px)}
.evt-carte .date{display:inline-block;font-size:12px;font-weight:700;color:var(--green);background:var(--sage);border-radius:20px;padding:3px 10px;margin-bottom:8px}
.evt-carte h3{font-size:18px;margin-bottom:4px}
.evt-carte p{color:var(--muted);font-size:13px}
.mini-etapes{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.mini-etapes span{font-size:11.5px;padding:3px 9px;border-radius:20px;background:#f1ece3;color:#5e665f;font-weight:600}
.mini-etapes span.fait{background:var(--sage);color:var(--green)}
.mini-etapes span.cours{background:var(--mango-soft);color:#94600f}
.mini-etapes span.alerte{background:var(--chili-soft);color:var(--chili)}
.alerte-carte{border-radius:var(--r);padding:16px 18px;margin-bottom:14px}

/* formulaire événement : sections repliables */
details.section-form{margin-bottom:16px}
details.section-form>summary{list-style:none;cursor:pointer;padding:18px 24px;display:flex;align-items:center;gap:10px;font-weight:600}
details.section-form>summary::-webkit-details-marker{display:none}
details.section-form>summary:after{content:"▾";margin-left:auto;color:var(--muted);transition:.2s}
details.section-form[open]>summary:after{transform:rotate(180deg)}
details.section-form>summary small{color:var(--muted);font-weight:500}
details.section-form .corps{padding:0 24px 22px}

/* barre du haut (tablette et téléphone) */
.topbar,.voile{display:none}
@media (max-width:1000px){
 .topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;background:var(--deep);color:#fff;padding:10px 14px}
 .topbar .logo{font-size:18px}.topbar .logo .mark{width:32px;height:32px;font-size:16px}
 .burger{font-size:22px;width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.08);color:#fff}
 .av-mini{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--mango);color:#1d2621;display:grid;place-items:center;font-weight:700}
 .app{display:block}
 aside.side{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:60;transform:translateX(-105%);transition:transform .25s;height:100%}
 body.menu-ouvert aside.side{transform:none;box-shadow:0 0 60px rgba(0,0,0,.35)}
 body.menu-ouvert .voile{display:block;position:fixed;inset:0;background:rgba(10,20,15,.45);z-index:50}
 main{padding:22px 16px 90px}
 .ph h1,.hub h1{font-size:27px}
 .etape{min-width:0;flex:1 1 calc(50% - 10px)}
 .devis-grid{grid-template-columns:1fr}
 .fiche-layout{grid-template-columns:1fr}
}
@media (max-width:700px){
 .etape{flex:1 1 100%}
 .infos{grid-template-columns:1fr 1fr}
 .form-grid,.form-grid.g4{grid-template-columns:1fr !important}
 .medit{grid-template-columns:1fr}
 /* pointage en cartes sur téléphone */
 .pt thead,.pt tfoot{display:none}
 .pt,.pt tbody{display:block}
 .pt tbody tr:not(.sous){display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 12px 6px;border-top:1px solid var(--line)}
 .pt tbody tr:not(.sous) td{display:block;padding:0;border:0}
 .pt tbody tr:not(.sous) td[data-l]:before{content:attr(data-l);display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:3px}
 .pt td.large{grid-column:span 4}
 .pt td.moitie{grid-column:span 2}
 .pt .inp,.pt select.inp,.pt .nom,.pt .h,.pt .n{width:100%}
 .pt tr.sous{display:block;padding:0 12px 12px}
 .pt tr.sous td{display:block}
 .pt tr.sous td:first-child{display:none}
 .lig{grid-template-columns:48px minmax(0,1fr)}
 .barre{flex-wrap:wrap}
}
@media (max-width:700px){.barre{position:static;box-shadow:none;background:none;padding:14px 0 0;border:0}.barre .btn{flex:1 1 100%;justify-content:center}}
/* étape 7 : recherche unique, matériel conseillé */
.res .qte-res{width:70px;flex:none;padding:5px 8px;border-radius:8px;text-align:right;margin-left:8px}
.res label small{margin-left:auto}
.res .gh .pill{margin-right:4px}
.regle td{padding:8px 10px}
.regle .inp{padding:7px 9px}
.res input.qte-res{width:72px;height:32px;accent-color:auto}

/* ===================== ÉTAPE 8 : formules et calendrier ===================== */
.formule-barre{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}
.formule-barre form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.formule-barre select{flex:1 1 240px;width:auto}
.fb-t{font-weight:600;color:var(--accent,#b5651d)}
.fb-save summary{cursor:pointer;color:var(--muted,#777);font-size:.9em}
.fb-save form{margin-top:8px}.fb-save input.inp{flex:1 1 240px;width:auto}.fb-save .aide{flex-basis:100%;margin:0}
.formules{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.formule{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.fo-tete{display:flex;align-items:center;gap:10px}.fo-tete h3{margin:0;flex:1}
.fo-etoile{font-size:1.4em}.fo-nom{flex:1;font-weight:600;font-size:1.05em}
.fo-infos{display:flex;flex-direction:column;gap:6px}
.fo-lignes{width:100%;border-collapse:collapse}
.fo-lignes td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.fo-lignes td small{display:block;color:var(--muted,#888);font-size:.8em}
.fo-lignes td.unite{color:var(--muted,#888);font-size:.85em;white-space:nowrap}
.fo-lignes input.qte-res{width:64px;height:30px;text-align:right}
.fo-x{cursor:pointer;color:#b33;white-space:nowrap}
.fo-pied{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cal-nav{display:flex;justify-content:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.cal{padding:0;overflow:hidden}
.cal-jours,.cal-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-jours div{text-align:center;font-weight:600;padding:8px 0;background:var(--soft,#f6f2ec);font-size:.85em;text-transform:uppercase;letter-spacing:.04em}
.cal-case{min-height:104px;border-right:1px solid var(--line);border-top:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:3px}
.cal-case:nth-child(7n){border-right:0}
.cal-case.hors{background:#fafafa;color:#bbb}
.cal-case.auj .cal-num{background:var(--accent,#b5651d);color:#fff;border-radius:50%}
.cal-num{font-size:.8em;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.cal-evt{display:block;font-size:.78em;line-height:1.25;padding:4px 6px;border-radius:6px;border-left:3px solid #999;background:#f3f3f3;color:inherit;text-decoration:none;overflow:hidden}
.cal-evt:hover{filter:brightness(.95)}
.cal-evt small{display:block;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-confirme{border-color:#2e8b57!important;background:#e8f5ee}
.s-option{border-color:#d49a2a!important;background:#fdf4e2}
.s-termine{border-color:#7a7a7a!important;background:#efefef}
.s-annule{border-color:#c0392b!important;background:#fbeaea;text-decoration:line-through}
.cal-pts{display:flex;gap:3px;margin-top:3px}
.cal-pts .pt{width:7px;height:7px;border-radius:50%;background:#ddd;display:inline-block}
.cal-pts .pt.mi{background:#e0b04a}.cal-pts .pt.ok{background:#2e8b57}
.cal-leg{display:inline-block;padding:2px 8px;border-left:3px solid;border-radius:4px;margin:0 2px}
@media (max-width:760px){
 .cal-jours{display:none}
 .cal-sem{grid-template-columns:1fr}
 .cal-case{min-height:0;border-right:0}
 .cal-case.hors,.cal-case:not(.plein){display:none}
 .cal-num{width:auto;font-weight:600}
 .cal-case.auj .cal-num{padding:0 8px;border-radius:10px}
 .formules{grid-template-columns:1fr}
}
.cal-js{display:none;font-style:normal}
@media (max-width:760px){.cal-js{display:inline}}

/* ===================== ÉTAPE 9 : espaces ===================== */
.esp-chip{display:inline-block;background:#f2f7e3;color:#4f730a;border-radius:10px;padding:1px 8px;margin-left:4px;font-size:.85em}
.esp-panel{border-bottom:1px solid var(--line)}
.esp-panel>summary{padding:8px 18px;cursor:pointer}
.esp-panel form{padding:6px 18px 14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.esp-lignes{display:flex;flex-direction:column;gap:6px;width:100%}
.esp-l{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.esp-l input.inp{width:220px}.esp-l input.inp.n{width:90px}
.esp-th small{display:block;font-weight:400;opacity:.7;font-size:.8em}
.esp-th,.esp-td{background:#f8fbef}
input.esp-q{width:64px}
input.esp-q::placeholder{color:#7a8f84;opacity:1}
input.esp-q.force{border-color:#2e8b57;background:#f2f7e3;font-weight:600}

/* ===================== ÉTAPE 10 : recherche et historique ===================== */
.cherche-g{margin:4px 0 12px}
.cherche-g input{width:100%;border:0;border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:.92em}
.cherche-g input::placeholder{color:rgba(255,255,255,.65)}
.cherche-g input:focus{outline:2px solid #8ebb13;background:rgba(255,255,255,.2)}
.cherche-grand{display:flex;gap:8px;max-width:640px;margin:0 auto}
.cherche-grand .inp{flex:1;font-size:1.05em;padding:12px 14px}
.res-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.res-groupe{padding:0;overflow:hidden}
.res-titre{padding:12px 14px;font-weight:700;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.res-item{display:flex;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.res-item:last-child{border-bottom:0}
.res-item:hover{background:#faf7f1}
.res-item>span:nth-child(2),.res-item>span:first-child{flex:1;min-width:0}
.res-item small{display:block;color:var(--muted,#888);font-size:.82em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.histo{max-width:820px;margin:0 auto}
.histo-jour{font-weight:700;margin:18px 0 8px;text-transform:capitalize;color:var(--muted,#666)}
.histo-liste{padding:0}
.histo-l{display:flex;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);align-items:flex-start}
.histo-l:last-child{border-bottom:0}
.histo-h{font-variant-numeric:tabular-nums;color:var(--muted,#888);width:44px;flex:0 0 auto;padding-top:3px}
.histo-av{width:28px;height:28px;border-radius:50%;background:#8ebb13;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}
.histo-t{flex:1;min-width:0}
.histo-t small{color:var(--muted,#888)}
.histo-t ul{margin:4px 0 0 18px;font-size:.92em}
.histo-t p{margin:3px 0 0;font-size:.92em;white-space:pre-line}
@media (max-width:760px){.res-g{grid-template-columns:1fr}.histo-h{width:38px}}

/* =====================================================================
   VERSION 3 — catalogue en cartes + interface modernisée
   ===================================================================== */
:root{--bg:#f5f1e9;--line:#ebe4d8;--r:20px;--sh:0 1px 2px rgba(47,40,32,.04),0 8px 24px rgba(47,40,32,.06);--sh-h:0 4px 10px rgba(47,40,32,.06),0 18px 40px rgba(47,40,32,.12)}
body{background:radial-gradient(1200px 600px at 100% -10%,#f4f8e8 0,transparent 60%),var(--bg);background-attachment:fixed}
main{animation:apparition .25s ease-out}
@keyframes apparition{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
::selection{background:#f6d9a8}
:focus-visible{outline:2px solid var(--mango);outline-offset:2px}

/* menu latéral plus aéré */
aside.side{background:linear-gradient(180deg,#3a3229 0,#2f2820 100%);box-shadow:inset -1px 0 0 rgba(255,255,255,.04)}
aside .sec{opacity:.5;padding:16px 12px 6px}
.nav{font-size:14px;gap:12px}
.nav:hover{background:rgba(255,255,255,.07)}
.nav.on{background:linear-gradient(90deg,rgba(142,187,19,.22),rgba(142,187,19,.08))}

/* boutons, champs, cartes */
.btn{border-radius:12px;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn:not(.pri):not(.mango):not(.danger):hover{background:#fcfaf6}
.inp{background:#fffdf9;border-color:#e6dfd2;min-height:42px}
select.inp{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8a928c 50%),linear-gradient(135deg,#8a928c 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.card{border-color:rgba(235,228,216,.8)}
.chip{transition:.15s;display:inline-flex;align-items:center;gap:4px}
.chip:hover{border-color:#cfc6b6;background:#fcfaf6}
.chip.on:hover{background:var(--green2)}
.chip.sm{padding:5px 11px;font-size:12.5px}
th{background:#fcfaf6}
.flash{display:flex;align-items:center;gap:10px;box-shadow:var(--sh);border:1px solid rgba(0,0,0,.03);max-width:900px;margin-left:auto;margin-right:auto;transition:opacity .4s,transform .4s}
.flash.ok:before{content:"✓";font-weight:800}
.flash.erreur:before{content:"!";font-weight:800;width:20px;height:20px;border-radius:50%;background:var(--chili);color:#fff;display:inline-grid;place-items:center;font-size:12px;flex:none}
.flash.parti{opacity:0;transform:translateY(-6px)}
.lien-mango{color:#94600f;font-weight:600}
.lien-mango:hover{text-decoration:underline}

/* catalogue : recherche et tuiles */
.cat-cherche{display:flex;align-items:center;gap:8px;max-width:680px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 6px 6px 16px;box-shadow:var(--sh)}
.cat-cherche:focus-within{border-color:var(--green2);box-shadow:0 0 0 3px rgba(142,187,19,.12),var(--sh)}
.cat-cherche input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:15px;padding:8px 4px;min-width:0}
.cat-cherche select{border:0;background:#f5f1e9;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer}
.cat-cherche.petit{margin:0;flex:1;max-width:560px;box-shadow:none}
.cat-filtres,.pastilles{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.pastilles.filtres{margin-bottom:20px}
.pastilles.repliees{max-height:92px;overflow:hidden;position:relative}
.pastilles.repliees .plus{position:absolute;right:0;bottom:0;background:var(--mango-soft);border-color:#f0d6a8;box-shadow:-20px 0 20px var(--bg)}
.pastilles:not(.repliees) .plus{order:999}
.pt-ac{width:7px;height:7px;border-radius:50%;background:var(--mango);display:inline-block}
.cat-barre{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.vue-bascule{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:3px}
.vue-bascule button{width:36px;height:34px;border-radius:9px;color:var(--muted);font-size:16px}
.vue-bascule button.on{background:var(--green);color:#fff}
.cat-tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:10px}
.cat-tuiles.petites{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cat-tuile{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid rgba(235,228,216,.8);transition:transform .15s,box-shadow .15s}
.cat-tuile:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.ct-img{position:relative;aspect-ratio:16/9;background:var(--sage);display:block;overflow:hidden}
.cat-tuiles.petites .ct-img{aspect-ratio:2/1}
.ct-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cat-tuile:hover .ct-img img{transform:scale(1.04)}
.ct-ico{position:absolute;left:12px;bottom:-18px;width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.ct-txt{padding:16px 16px 16px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.cat-tuile .ct-ico+*{}
.ct-txt b{font-family:Geologica,Inter,sans-serif;font-size:18px;font-weight:600;line-height:1.2}
.cat-tuiles:not(.petites) .ct-txt{padding-top:24px}
.ct-txt small{color:var(--muted)}

/* catalogue : cartes produits */
.pc-section{margin-bottom:26px}
.pc-titre{font-size:18px;display:flex;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.pc-titre small{font-family:Inter,sans-serif;font-weight:600;font-size:12px;color:var(--muted);background:#efebe3;border-radius:20px;padding:1px 8px}
.pc-titre .btn{margin-left:auto}
.pc-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}
.pc{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh);border:1px solid rgba(235,228,216,.8);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .3s;scroll-margin-top:20px}
.pc:hover{transform:translateY(-2px);box-shadow:var(--sh-h)}
.pc:target{border-color:var(--mango);box-shadow:0 0 0 3px rgba(142,187,19,.3)}
.pc.archive{opacity:.6}
.pc.enregistre{border-color:var(--green2);box-shadow:0 0 0 3px rgba(142,187,19,.22)}
.pc.erreur{border-color:var(--chili)}
.pc-img{position:relative;display:block;aspect-ratio:4/3;background:var(--sage);overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.pc-saison{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.92);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}
.pc-corps{padding:11px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.pc-nom{font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-nom:hover{color:var(--green2)}
.pc-sous{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-pied{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pc-prix{font-family:Geologica,Inter,sans-serif;font-size:17px}
.pc-champ{display:inline-flex;align-items:center;gap:3px;background:#f7f4ee;border:1px solid transparent;border-radius:10px;padding:2px 8px;transition:.15s}
.pc-champ:hover,.pc-champ:focus-within{border-color:#d9d0c1;background:#fff}
.pc-champ input{width:62px;border:0;background:none;font:inherit;font-weight:700;font-size:14.5px;text-align:right;outline:0;padding:3px 0}
.pc-champ.stock input{width:42px;text-align:left}
.pc-champ span{color:var(--muted);font-size:12px}
.pc-coef{color:var(--muted);font-size:11.5px}
.pc-ac{cursor:pointer;border:0}
.pc-ac:hover{background:var(--sage);color:var(--green)}
.pc-ac:hover:after{content:" ✓"}
.pc.mini{flex-direction:row;align-items:center}
.pc.mini .pc-img{width:64px;flex:none;aspect-ratio:1}
.pc-grille.recents{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
/* affichage en liste */
.pc-grille.liste{grid-template-columns:1fr;gap:0;background:#fff;border-radius:16px;box-shadow:var(--sh);border:1px solid rgba(235,228,216,.8);overflow:hidden}
.pc-grille.liste .pc{flex-direction:row;align-items:center;border-radius:0;box-shadow:none;border:0;border-bottom:1px solid #f1ece3}
.pc-grille.liste .pc:last-child{border-bottom:0}
.pc-grille.liste .pc:hover{transform:none;background:#fcfaf6}
.pc-grille.liste .pc-img{width:52px;height:52px;flex:none;aspect-ratio:auto;margin:6px 0 6px 10px;border-radius:10px}
.pc-grille.liste .pc-saison{display:none}
.pc-grille.liste .pc-corps{flex-direction:row;align-items:center;gap:14px;padding:8px 14px}
.pc-grille.liste .pc-nom{flex:1;-webkit-line-clamp:1}
.pc-grille.liste .pc-sous{width:200px;flex:none}
.pc-grille.liste .pc-pied{margin:0;padding:0;flex:none;justify-content:flex-end;min-width:230px}

/* fiche d'un article */
.fiche-col{display:flex;flex-direction:column;gap:16px}
.fiche-layout{grid-template-columns:1fr 320px}
.inp-grand{font-size:17px;font-weight:600}
.inp-euro{position:relative}
.inp-euro .inp{padding-right:56px}
.inp-euro span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;pointer-events:none}
.saisons{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.saisons>span{color:var(--muted);font-size:13px;font-weight:600}
.bascule{cursor:pointer}
.bascule input{position:absolute;opacity:0;pointer-events:none}
.bascule span{display:inline-block;padding:8px 14px;border-radius:30px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:13px;transition:.15s;color:var(--muted)}
.bascule input:checked+span{background:var(--sage);border-color:#cfe19a;color:var(--green)}
.bascule input:focus-visible+span{outline:2px solid var(--mango)}
details.plus-prix>summary{list-style:none;cursor:pointer;padding:18px 24px;font-weight:600;display:flex;gap:10px;align-items:center}
details.plus-prix>summary::-webkit-details-marker{display:none}
details.plus-prix>summary small{color:var(--muted);font-weight:500}
details.plus-prix>summary:after{content:"▾";margin-left:auto;color:var(--muted);transition:.2s}
details.plus-prix[open]>summary:after{transform:rotate(180deg)}
details.plus-prix .form-grid{padding:0 24px 22px}
.photo-box.depot{position:relative;cursor:pointer;border:2px dashed transparent;transition:.15s}
.photo-box.depot:hover,.photo-box.depot.survol{border-color:var(--green2)}
.photo-box.depot.nouvelle{border-color:var(--mango)}
.depot-aide{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:rgba(47,40,32,.85);color:#fff;font-size:12px;font-weight:600;border-radius:20px;padding:5px 12px;white-space:nowrap;opacity:0;transition:.15s}
.photo-box.depot:hover .depot-aide,.photo-box.depot.survol .depot-aide{opacity:1}
.depot-vide{font-size:40px}
@media(max-width:1100px){.fiche-layout{grid-template-columns:1fr}}
@media(max-width:760px){
 .pc-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .pc-grille.liste .pc-sous{display:none}
 .pc-grille.liste .pc-corps{flex-wrap:wrap;gap:6px}
 .pc-grille.liste .pc-pied{min-width:0;width:100%;justify-content:flex-start}
 .cat-tuiles,.cat-tuiles.petites{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ct-txt b{font-size:15px}
 .pc-champ input{width:52px}
}
.pc-img{aspect-ratio:16/10}
.pc-sous:empty{display:none}
.pastilles .chip{max-width:340px}
.cat-barre .cat-cherche.petit{min-width:0}
@media(max-width:760px){
 .cat-barre{flex-wrap:nowrap}
 .cat-cherche{padding-left:12px}
 .cat-cherche.petit select{max-width:96px}
 .pastilles,.cat-filtres{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin-left:-16px;margin-right:-16px;padding:2px 16px 6px;scrollbar-width:none}
 .pastilles::-webkit-scrollbar{display:none}
 .pastilles .chip,.cat-filtres .chip{flex:none;white-space:nowrap}
 .pastilles.repliees{max-height:none}
 .pastilles .plus{display:none}
}

/* ===================== ÉTAPE 11 : stock des produits, commandes, planning ===================== */
.badge-nav{margin-left:auto;background:#c4482f;color:#fff;border-radius:20px;font-size:11px;font-weight:700;padding:1px 7px}
.chip .c.rouge{background:#c4482f;color:#fff}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kpi{background:#fff;border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--sh);border:1px solid rgba(235,228,216,.8);color:inherit}
.kpi small{color:var(--muted);font-size:12px;display:block}.kpi b{font-family:Geologica,Inter,sans-serif;font-size:19px;display:block;line-height:1.25}
.kpi em{font-style:normal;color:var(--muted);font-size:11.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.k-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex:none}
.mvt{margin-bottom:14px}.mvt>summary{padding:14px 18px;cursor:pointer;font-weight:600}
.mvt-f{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 16px}.mvt-f select{flex:1 1 220px}.mvt-f .n{width:110px}.mvt-f input[name=note]{flex:1 1 200px}
.tbl-stock{overflow-x:auto}.tbl-stock table{width:100%}
.tbl-stock td{vertical-align:middle}
.tbl-stock tr.e-manque td:first-child{box-shadow:inset 3px 0 0 #c4482f}
.tbl-stock tr.e-commander td:first-child{box-shadow:inset 3px 0 0 #8ebb13}
.tbl-stock .act{text-align:right;white-space:nowrap}
.tbl-stock input.inp{min-height:36px;padding:6px 10px}.tbl-stock input.inp.n{width:80px}
.tbl-stock tr.ajout td{background:#fcfaf6}
.niv{height:7px;background:#efebe3;border-radius:9px;overflow:hidden;margin-bottom:3px}
.niv i{display:block;height:100%;border-radius:9px}.niv i.g{background:#6f9a0e}.niv i.m{background:#8ebb13}.niv i.r{background:#c4482f}
.lbl{display:inline-block;font-size:10.5px;font-weight:700;border-radius:20px;padding:1px 7px;background:#eef4dc;color:#6f9a0e;margin-left:4px}
.lbl.cave{background:#f3e6f0;color:#8a3b6e}
.rouge{color:#c4482f}.vert{color:#6f9a0e}.mut{color:var(--muted)}
.stock-gros{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.stock-gros b{font-family:Geologica,Inter,sans-serif;font-size:34px}.stock-gros b span{font-size:15px;color:var(--muted)}
.mv{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.mv>span{width:56px;font-weight:700;text-align:right;flex:none}
.barre-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sugg-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.sugg{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.sugg-t{display:flex;gap:10px;align-items:center;margin-bottom:6px}.sugg-t small{display:block;font-size:12px}
.sugg-l{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}
.sugg-l small{display:block;font-size:11.5px}
.sugg-pied{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.cmd{padding:14px 18px;margin-bottom:10px}.cmd.fini{opacity:.65}
.cmd-t{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cmd-l{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0;font-size:13px}.cmd-l input.n{width:70px;min-height:30px;padding:3px 8px;margin-left:4px}
.cmd-a{display:flex;gap:8px;flex-wrap:wrap}
.stock-evt{margin-bottom:16px}.stock-evt>summary{padding:14px 18px;cursor:pointer;font-weight:600;display:flex;gap:10px;align-items:center}
.stock-evt-l{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0 18px;font-size:13.5px}
.stock-evt-l form button{background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.stock-evt-a{display:flex;gap:10px;align-items:center;padding:12px 18px 16px}
.alerte-plan{margin-bottom:16px;border-color:#f0d6a8;background:#fffaf0}.alerte-plan p{margin:4px 0;font-size:13.5px}
.plan{overflow-x:auto;padding:0}.plan table{width:100%;border-collapse:collapse;min-width:980px}
.plan th,.plan td{border-bottom:1px solid var(--line);border-right:1px solid #f1ece3;padding:8px;vertical-align:top;font-size:12.5px}
.plan th{text-align:center;font-size:12.5px}.plan th small{display:block;font-weight:500;color:#6f9a0e;cursor:help}
.plan th.auj{background:#fdf3e2}
.plan .pl-nom{width:190px;text-align:left}
.plan td.pl-nom{display:flex;gap:8px;align-items:center}.plan td.pl-nom small{display:block;color:var(--muted)}
.pl-evts td{background:#fcfaf6}
.pl-e{display:block;font-size:11.5px;line-height:1.25;padding:4px 6px;border-radius:6px;border-left:3px solid #999;margin-bottom:4px;color:inherit;font-weight:600}
.pl-e small{display:block;font-weight:400;opacity:.75}
.shift{display:block;background:#eef4dc;color:#4f730a;border-radius:8px;padding:4px 7px;margin-bottom:4px;font-weight:700;font-size:12px}
.shift small{display:block;font-weight:400;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.shift.rouge{background:#fbe3dd;color:#b4432f;outline:1.5px solid #e6b8ad}
.plan tr.conflit td.pl-nom b{color:#b4432f}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chip .c.rouge{display:inline-block;min-width:18px;padding:0 6px;border-radius:10px;text-align:center;font-weight:700}


/* =====================================================================
   CHARTE CHUTNEY & CO (couleurs et police de chutney-andco.com)
   vert #8ebb13 · brun #2f2820 · beige #e9dcc9 · crème #fbf9f4 · police Geologica
   ===================================================================== */
:root{--bg:#fbf9f4;--card:#fff;--ink:#2f2820;--muted:#7a7066;--line:#ece5d8;--green:#5f8a0c;--green2:#8ebb13;--deep:#2f2820;
 --sage:#eef4dc;--mango:#8ebb13;--beige:#e9dcc9;--sh:0 1px 2px rgba(47,40,32,.04),0 8px 24px rgba(47,40,32,.06);--sh-h:0 4px 10px rgba(47,40,32,.06),0 18px 40px rgba(47,40,32,.11)}
body{font-family:Geologica,Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3,.serif,.pc-titre,.ct-txt b,.kpi b,.pc-prix,.stock-gros b{font-family:Geologica,Inter,sans-serif;font-weight:500;letter-spacing:-.015em;color:var(--ink)}
.ph h1,.accueil-tete h1{font-weight:500}
::selection{background:#dcebb0}
/* menu : blanc comme l'en-tête du site */
aside.side{background:#fff;color:var(--ink);box-shadow:1px 0 0 var(--line)}
aside .logo,.topbar .logo{padding:2px 8px 14px;display:block}
.logo-img{display:block;height:58px;width:auto}
.topbar .logo-img{height:38px}
aside .sec{color:#9a9087;opacity:1}
.nav{color:#4a4037}
.nav:hover{background:#f6f3ec;color:var(--ink)}
.nav.on{background:#eef4dc;color:var(--ink);font-weight:600}
.nav.on:before{background:var(--green2)}
.nav .n{background:#f1ece3;color:var(--ink)}
aside .moi,aside .compte{color:var(--ink)}
.cherche-g input{background:#f6f3ec;color:var(--ink);border:1px solid var(--line)}
.cherche-g input::placeholder{color:#9a9087}
.cherche-g input:focus{outline:2px solid var(--green2);background:#fff}
.topbar{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line)}
.topbar .burger{color:var(--ink)}
/* boutons comme le bouton « Devis » du site */
.btn{border-radius:8px}
.btn.pri,.btn.pri:hover{background:#8ebb13;border-color:#8ebb13;color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(142,187,19,.3)}
.btn.pri:hover{background:#7fa811;border-color:#7fa811}
.btn.mango{background:#8ebb13;color:#fff;border-color:#8ebb13}
.chip.on,.vue-bascule button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip.on:hover{background:#4a4037}
.chip.on .c{background:rgba(255,255,255,.18);color:#fff}
.inp:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(142,187,19,.18)}
:focus-visible{outline-color:var(--green2)}
.lien-mango{color:#5f8a0c}
/* bandeau vert façon « NOUVEAU » du site, pour les titres de page */
.ph h1:after,.hub h1:after,.titre-centre:after,.accueil-tete h1:after{background:var(--green2)}
.flash.ok{background:#eef4dc;color:#4f730a}
.flash.ok:before{color:#5f8a0c}
.pill.g{background:#eef4dc;color:#4f730a}
/* écran de connexion */
.login .visu{background:#fbf9f4;color:var(--ink);position:relative;overflow:hidden;border-right:1px solid var(--line)}
.login .visu:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:22px solid var(--beige);right:-160px;bottom:-180px}
.login .visu:after{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--green2)}
.login .visu h1{color:var(--ink);position:relative}
.login .visu p,.login .visu small{color:#5c534a;position:relative}
.login .visu .logo-img{height:96px}
.login .box .logo-img{height:64px}
.login .box .logo{display:none}
@media(max-width:820px){.login .box .logo{display:block}}
/* tuiles et cartes */
.ct-ico{background:#fff}
.cal-case.auj .cal-num{background:var(--green2)}
.s-confirme{border-color:#8ebb13!important;background:#f2f7e3}
.me{border-top:1px solid var(--line)}
.me,.me b{color:var(--ink)}
.me small,.me a{color:#7a7066}
.me a:hover{color:var(--ink)}
.me .av,.histo-av{background:#8ebb13;color:#fff}
.tuile.forte{background:#8ebb13;border-color:#8ebb13;color:#fff;box-shadow:0 8px 24px rgba(142,187,19,.3)}.tuile.forte:hover{background:#7fa811}.tuile.forte small{color:rgba(255,255,255,.88)}.tuile.forte .ico{background:rgba(255,255,255,.22);color:#fff}

/* ===================== ÉTAPE 12 : lieux, allergènes, RSE ===================== */
.multi{display:flex;flex-wrap:wrap;gap:7px}
.multi .bascule span{padding:6px 12px;font-size:12.5px}
.lbl-sec{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.rse-carte{border-color:#d9e8b0;background:linear-gradient(180deg,#fbfdf5,#fff)}
.pc-lbs{font-size:13px;letter-spacing:1px;display:inline-flex;align-items:center;gap:3px}
.pc-lbs i{font-style:normal;font-size:10.5px;font-weight:700;background:#eef4dc;color:#4f730a;border-radius:10px;padding:0 6px;letter-spacing:0}
.alerte-alg{border-color:#f0c9a8;background:#fff6ee}.alerte-alg .sec-t{color:#b4562f}
.lieux-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.lieu-carte{padding:18px;display:flex;flex-direction:column;gap:6px;color:inherit;transition:transform .15s,box-shadow .15s}
.lieu-carte:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.lc-tete{display:flex;justify-content:space-between;align-items:center}
.lc-ico{width:40px;height:40px;border-radius:12px;background:#eef4dc;display:grid;place-items:center;font-size:18px}
.lieu-carte h3{font-size:18px;margin-top:6px}
.lc-pied{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:13px}
.rse-grille{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.barres{width:100%;height:190px;display:block;margin-top:8px}
.donut-zone{display:flex;gap:24px;align-items:center;margin-top:10px}
.donut{width:190px;height:190px;flex:none;transform:rotate(0deg)}
.legende{list-style:none;flex:1}.legende li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.legende i{width:11px;height:11px;border-radius:3px;flex:none}.legende b{margin-left:auto}
@media(max-width:900px){.rse-grille{grid-template-columns:1fr}.donut-zone{flex-direction:column}}

/* =====================================================================
   VERSION 4 — allure « logiciel »
   ===================================================================== */
body{font-feature-settings:"tnum" 1,"cv11" 1}
main{}
.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;margin:-34px -40px 26px;padding:12px 40px;
 background:rgba(251,249,244,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(236,229,216,.9)}
.ab-fil{display:flex;align-items:center;gap:9px;font-weight:600;font-size:13.5px;color:#5c534a;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-dot{width:8px;height:8px;border-radius:50%;background:#8ebb13;box-shadow:0 0 0 4px rgba(142,187,19,.18);flex:none}
.ab-cherche{margin-left:auto;display:flex;align-items:center;gap:30px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 8px 7px 12px;color:#8a7f73;font:inherit;font-size:13px;cursor:pointer;transition:.15s;min-width:280px;justify-content:space-between}
.ab-cherche:hover{border-color:#cfc6b6;box-shadow:var(--sh)}
kbd{font-family:Inter,system-ui,sans-serif;font-size:10.5px;font-weight:600;background:#f4f0e8;border:1px solid #e3dccd;border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:#6b6157}
.ab-sync{display:flex;align-items:center;gap:6px;font-size:12px;color:#5f8a0c;font-weight:600;background:#eef4dc;border-radius:20px;padding:4px 10px}
.ab-sync i{width:7px;height:7px;border-radius:50%;background:#8ebb13;animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(142,187,19,.55)}70%{box-shadow:0 0 0 7px rgba(142,187,19,0)}100%{box-shadow:0 0 0 0 rgba(142,187,19,0)}}
.ab-cloche{position:relative}
.ab-cloche>button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px;position:relative}
.ab-cloche>button b{position:absolute;top:-5px;right:-5px;background:#c4482f;color:#fff;font-size:10px;border-radius:10px;padding:1px 5px;font-family:Inter,sans-serif}
.ab-panneau{display:none;position:absolute;right:0;top:46px;width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(47,40,32,.18);overflow:hidden;animation:apparition .15s}
.ab-cloche.ouvert .ab-panneau{display:block}
.ab-p-t{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--line);font-size:13px}
.ab-panneau a{display:flex;gap:10px;padding:11px 16px;border-bottom:1px solid #f3eee6;font-size:13px;color:inherit}
.ab-panneau a:hover{background:#faf8f3}.ab-panneau small{display:block;color:var(--muted);font-size:11.5px}
.ab-av{width:38px;height:38px;border-radius:50%;background:#2f2820;color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.palette{position:fixed;inset:0;z-index:100;background:rgba(47,40,32,.38);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding-top:12vh}
.palette.ouvert{display:flex;animation:apparition .12s}
.pal-boite{width:640px;max-width:calc(100vw - 30px);background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden;border:1px solid #e9e2d4}
.pal-champ{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.pal-champ input{flex:1;border:0;outline:0;font:inherit;font-size:16px;background:none}
.pal-res{max-height:52vh;overflow-y:auto;padding:6px}
.pal-g{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#9a9087;font-weight:700;padding:10px 12px 4px}
.pal-i{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:10px;color:inherit}
.pal-i.on,.pal-i:hover{background:#eef4dc}
.pal-i small{display:block;color:var(--muted);font-size:12px}
.pal-ico{width:30px;height:30px;border-radius:8px;background:#f4f0e8;display:grid;place-items:center;flex:none}
.pal-i.on .pal-ico{background:#8ebb13;color:#fff}
.pal-pied{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--line);font-size:11.5px;color:#8a7f73;background:#fcfaf6}
.pal-pied kbd{margin-right:3px}
/* chiffres clés */
.kpi-bande{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
.kb{position:relative;background:#fff;border:1px solid rgba(236,229,216,.9);border-radius:16px;padding:16px 18px 12px;box-shadow:var(--sh);overflow:hidden;color:inherit;transition:transform .15s,box-shadow .15s}
.kb:hover{transform:translateY(-2px);box-shadow:var(--sh-h)}
.kb small{display:block;color:var(--muted);font-size:12px;font-weight:500}
.kb b{display:block;font-size:30px;font-weight:600;letter-spacing:-.02em;margin:4px 0 2px;font-family:Geologica,Inter,sans-serif}
.kb svg{display:block;width:100%;height:38px;margin-top:4px}
.kb em{font-style:normal;font-size:11px;color:#a69c90}
/* finitions */
.card{border-radius:14px}
.card,.kb,.pc,.cat-tuile{border-color:rgba(232,224,210,.95)}
table th{font-size:11px;letter-spacing:.06em}
.btn{transition:all .15s}
.btn:focus-visible{box-shadow:0 0 0 3px rgba(142,187,19,.35)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ddd5c7;border-radius:10px;border:2px solid #fbf9f4}::-webkit-scrollbar-track{background:transparent}
aside .sec{font-size:10px;letter-spacing:.12em}
@media(max-width:1100px){.kpi-bande{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-sync{display:none}.ab-cherche{min-width:0}}
@media(max-width:820px){.appbar{margin:-20px -16px 18px;padding:10px 16px;top:58px}.ab-fil{display:none}.ab-cherche{margin-left:0;flex:1}.ab-cherche kbd{display:none}}

/* =====================================================================
   VERSION 5 — tableau des ventes, toasts, mode sombre
   ===================================================================== */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:10px}
.kcol{background:#f3efe6;border:1px solid #e9e1d2;border-radius:16px;padding:10px;min-height:300px;transition:background .15s,box-shadow .15s}
.kcol.survol{background:#eef4dc;box-shadow:0 0 0 2px #8ebb13 inset}
.kcol header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 6px 12px}
.kcol header i{width:10px;height:10px;border-radius:50%;background:#c9a227}
.k-confirme header i{background:#8ebb13}.k-termine header i{background:#7a7066}.k-annule header i{background:#c4482f}
.kcol header b{font-size:14px}.kcol header small{flex-basis:100%;color:var(--muted);font-size:11.5px}
.kn{margin-left:auto;background:#fff;border-radius:20px;font-size:12px;font-weight:700;padding:1px 9px;border:1px solid var(--line)}
.kzone{display:flex;flex-direction:column;gap:9px;min-height:60px}
.kcarte{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #ebe3d5;border-radius:12px;padding:11px 12px;color:inherit;box-shadow:0 1px 2px rgba(47,40,32,.05);cursor:grab;transition:transform .12s,box-shadow .12s}
.kcarte:hover{box-shadow:var(--sh-h);transform:translateY(-1px)}
.kcarte.vole{opacity:.45;transform:rotate(2deg)}
.kcarte.pose{animation:pose .5s}
@keyframes pose{0%{transform:scale(1.04);box-shadow:0 0 0 3px #8ebb13}100%{transform:none}}
.kcarte.passe{border-left:3px solid #e29b33}
.kc-h{display:flex;justify-content:space-between;align-items:center;gap:6px}
.kc-date{font-size:11.5px;font-weight:700;color:#5f8a0c}
.kc-t{font-size:14px;line-height:1.3}
.kc-p{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:#5c534a}
.kvide{display:none;border:2px dashed #d8cfbf;border-radius:12px;padding:14px;text-align:center;color:#a69c90;font-size:12px}
.kzone:not(:has(.kcarte)) .kvide,.kcol.survol .kvide{display:block}
.k-annule .kcarte,.k-termine .kcarte{opacity:.8}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120px);background:#2f2820;color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;z-index:200;transition:transform .3s;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.toast.vu{transform:translate(-50%,0)}.toast.err{background:#c4482f}
.confetti{position:fixed;width:8px;height:12px;border-radius:2px;z-index:300;pointer-events:none;animation:confetti 1.1s ease-out forwards}
@keyframes confetti{to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}
.ab-theme{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:15px}
.ab-theme .sombre{display:none}
@media(max-width:1000px){.kanban{grid-template-columns:repeat(4,260px)}}

/* ---------- mode sombre ---------- */
html.transition-theme *{transition:background-color .3s,color .3s,border-color .3s!important}
html[data-theme=dark]{--bg:#16130f;--card:#211c17;--ink:#f1ebe2;--muted:#a99f92;--line:#342c24;--sage:#2b3519;--mango-soft:#3a2d17;--chili-soft:#3d1f19;--blue-soft:#1d2836;--beige:#4a4035;
 --sh:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--sh-h:0 4px 10px rgba(0,0,0,.35),0 18px 40px rgba(0,0,0,.35);color-scheme:dark}
html[data-theme=dark] body{background:#16130f;color:var(--ink)}
html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] .kpi b,html[data-theme=dark] .kb b{color:#f6f1e9}
html[data-theme=dark] aside.side{background:#1c1814;box-shadow:1px 0 0 #2c251e}
html[data-theme=dark] .nav{color:#cfc5b8}html[data-theme=dark] .nav:hover{background:#26201a;color:#fff}
html[data-theme=dark] .nav.on{background:#2b3519;color:#fff}
html[data-theme=dark] .logo-img{background:#fbf9f4;border-radius:12px;padding:4px 8px}
html[data-theme=dark] .me,html[data-theme=dark] .me b{color:var(--ink)}
html[data-theme=dark] .appbar{background:rgba(22,19,15,.82);border-bottom-color:#2c251e}
html[data-theme=dark] .ab-fil{color:#cfc5b8}
html[data-theme=dark] .ab-cherche,html[data-theme=dark] .ab-cloche>button,html[data-theme=dark] .ab-theme{background:#211c17;border-color:#342c24;color:#cfc5b8}
html[data-theme=dark] .ab-theme .clair{display:none}html[data-theme=dark] .ab-theme .sombre{display:inline}
html[data-theme=dark] .ab-sync{background:#2b3519;color:#b5dc4a}
html[data-theme=dark] .ab-av{background:#8ebb13}
html[data-theme=dark] kbd{background:#2a231c;border-color:#3d342a;color:#cfc5b8}
html[data-theme=dark] .card,html[data-theme=dark] .kb,html[data-theme=dark] .kpi,html[data-theme=dark] .tuile,html[data-theme=dark] .pc,html[data-theme=dark] .cat-tuile,
html[data-theme=dark] .evt-carte,html[data-theme=dark] .kcarte,html[data-theme=dark] .ab-panneau,html[data-theme=dark] .pal-boite,html[data-theme=dark] .sugg,
html[data-theme=dark] .cat-cherche,html[data-theme=dark] .vue-bascule,html[data-theme=dark] .lieu-carte,html[data-theme=dark] .chip,html[data-theme=dark] .btn:not(.pri):not(.danger),
html[data-theme=dark] .kn,html[data-theme=dark] .bascule span,html[data-theme=dark] .etape,html[data-theme=dark] .hub-etape,html[data-theme=dark] details.card{background:#211c17;border-color:#342c24;color:var(--ink)}
html[data-theme=dark] .chip.on,html[data-theme=dark] .vue-bascule button.on{background:#8ebb13;border-color:#8ebb13;color:#16130f}
html[data-theme=dark] .inp,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#1a1612;border-color:#3a3129;color:var(--ink)}
html[data-theme=dark] .pc-champ{background:#2a231c}html[data-theme=dark] .pc-champ input{color:#fff}
html[data-theme=dark] th{background:#1d1814;color:#a99f92}
html[data-theme=dark] td,html[data-theme=dark] th{border-color:#2f2820}
html[data-theme=dark] tr:hover td{background:#26201a}
html[data-theme=dark] .kcol{background:#1c1814;border-color:#2c251e}html[data-theme=dark] .kcol.survol{background:#2b3519}
html[data-theme=dark] .pal-i.on,html[data-theme=dark] .pal-i:hover{background:#2b3519}html[data-theme=dark] .pal-ico{background:#2a231c}
html[data-theme=dark] .pal-pied,html[data-theme=dark] .pal-champ{background:#1c1814;border-color:#342c24}
html[data-theme=dark] .pal-champ input{color:#fff}
html[data-theme=dark] .flash.ok,html[data-theme=dark] .pill.g{background:#2b3519;color:#b5dc4a}
html[data-theme=dark] .pill.n{background:#2a231c;color:#cfc5b8}
html[data-theme=dark] .pill.m{background:#3a2d17;color:#f0c27a}
html[data-theme=dark] .alerte-carte,html[data-theme=dark] .card[style*="fbf1ee"]{background:#2a1a15!important;border-color:#4a2a20!important}
html[data-theme=dark] .alerte-alg{background:#2d2015;border-color:#4a3420}
html[data-theme=dark] .ci:hover{background:#26201a}
html[data-theme=dark] .cal-case{border-color:#2c251e}html[data-theme=dark] .cal-case.hors{background:#1a1612}
html[data-theme=dark] .cal-jours div{background:#1d1814}
html[data-theme=dark] .cal-evt,html[data-theme=dark] .pl-e{background:#26201a}
html[data-theme=dark] .s-confirme{background:#25301a!important}html[data-theme=dark] .s-option{background:#33291a!important}
html[data-theme=dark] .ct-img,html[data-theme=dark] .pc-img{background:#2a231c}
html[data-theme=dark] .histo-l,html[data-theme=dark] .mv,html[data-theme=dark] .sugg-l,html[data-theme=dark] .lc-pied{border-color:#2f2820}
html[data-theme=dark] .rse-carte{background:#1e2216;border-color:#33401f}
html[data-theme=dark] .plan th.auj{background:#2b2418}html[data-theme=dark] .shift{background:#2b3519;color:#cfe19a}
html[data-theme=dark] .pl-evts td,html[data-theme=dark] .tbl-stock tr.ajout td{background:#1d1814}
html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3a3129;border-color:#16130f}
html[data-theme=dark] .topbar{background:#1c1814;color:var(--ink)}
html[data-theme=dark] .lien-mango{color:#b5dc4a}
html[data-theme=dark] .mut,html[data-theme=dark] .aide{color:#a99f92}
html[data-theme=dark] .tuile.forte{background:#8ebb13;border-color:#8ebb13;color:#fff}html[data-theme=dark] .tuile.forte .ico{background:rgba(255,255,255,.22)}

/* ===================== ÉTAPE 13 : tutoriel et bulles d'aide ===================== */
.ab-aide{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:800;font-size:16px;color:#5f8a0c}
.ab-aide:hover{background:#eef4dc}
html[data-theme=dark] .ab-aide{background:#211c17;border-color:#342c24;color:#b5dc4a}
.bulle-aide{position:fixed;z-index:500;max-width:280px;background:#2f2820;color:#fbf9f4;font-size:12.5px;line-height:1.45;padding:8px 11px;border-radius:9px;
 box-shadow:0 10px 28px rgba(0,0,0,.25);pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s}
.bulle-aide.vue{opacity:1;transform:none}
.bulle-aide:before{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;background:#2f2820;transform:translateX(-50%) rotate(45deg)}
.bulle-aide.haut:before{top:auto;bottom:-5px}
html[data-theme=dark] .bulle-aide,html[data-theme=dark] .bulle-aide:before{background:#fbf9f4;color:#2f2820}
.tuto-voile{display:none;position:fixed;inset:0;z-index:600}
.tuto-voile.plein{background:rgba(22,19,15,.55);backdrop-filter:blur(2px)}
.tuto-spot{display:none;position:fixed;z-index:601;border-radius:14px;box-shadow:0 0 0 9999px rgba(22,19,15,.55),0 0 0 3px #8ebb13,0 0 24px 6px rgba(142,187,19,.45);
 pointer-events:none;transition:all .3s ease}
.tuto-carte{display:none;position:fixed;z-index:602;width:360px;max-width:calc(100vw - 24px);background:#fff;color:#2f2820;border-radius:16px;padding:18px 20px 14px;
 box-shadow:0 24px 60px rgba(0,0,0,.35);transition:left .3s,top .3s;animation:apparition .2s}
.tuto-carte.centre{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:440px;text-align:center}
.tuto-carte h3{font-size:18px;margin:4px 0 6px}
.tuto-carte p{font-size:14px;line-height:1.5;color:#4a4037}
.tc-num{font-size:11px;font-weight:700;letter-spacing:.08em;color:#8ebb13;text-transform:uppercase}
.tc-bts{display:flex;align-items:center;gap:8px;margin-top:14px}.tc-bts span{flex:1}
.tc-bts button{border:0;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:#f3efe6;color:#2f2820}
.tc-bts .tc-suiv{background:#8ebb13;color:#fff}
.tc-bts .tc-passer{background:none;color:#8a7f73;padding-left:0}
.tc-points{display:flex;justify-content:center;gap:5px;margin-top:12px}
.tc-points i{width:6px;height:6px;border-radius:50%;background:#e3dccd}.tc-points i.on{background:#8ebb13;width:16px;border-radius:4px}
.aide-astuces{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:8px}
.aide-astuces .card{display:flex;gap:12px;align-items:flex-start}.aide-astuces p{color:var(--muted);font-size:13px;margin-top:2px}
.aide-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.aide-carte{padding:16px 18px;display:flex;flex-direction:column;gap:6px;color:inherit;transition:transform .15s,box-shadow .15s}
.aide-carte:hover{transform:translateY(-2px);box-shadow:var(--sh-h)}
.aide-carte p{color:var(--muted);font-size:13px;flex:1}
.aide-go{color:#5f8a0c;font-weight:600;font-size:13px}
@media(max-width:900px){.aide-astuces{grid-template-columns:1fr}}

/* =====================================================================
   ÉTAPE 14 — HACCP
   ===================================================================== */
.hc-alertes{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.hc-al{display:flex;align-items:center;gap:8px;padding:11px 15px;border-radius:12px;font-weight:600;font-size:14px;background:var(--mango-soft);color:#7a4f0c}
.hc-al.rouge{background:var(--chili-soft);color:var(--chili)}
.hc-al span{margin-left:auto}
.hc-equip{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:20px}
.hc-carte{padding:16px;border-top:4px solid var(--mango)}
.hc-carte.rouge{border-top-color:var(--chili);box-shadow:0 0 0 2px var(--chili-soft),var(--sh)}
.hc-c-h b{display:block;font-size:15px}
.hc-c-h small{color:var(--muted);font-size:12px}
.hc-ms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.hc-m{border-radius:10px;padding:8px 10px;background:#f4f1ea}
.hc-m small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.hc-m b{display:block;font-family:Geologica,Inter,sans-serif;font-size:22px;font-weight:600;line-height:1.2}
.hc-m em{font-style:normal;font-size:11.5px;color:var(--muted)}
.hc-m.ok{background:var(--sage)}.hc-m.ok b{color:var(--green2)}
.hc-m.ko{background:var(--chili-soft)}.hc-m.ko b{color:var(--chili)}
.hc-m.vide b{color:#c9c1b4}
.hc-rapide{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hc-temp{position:relative;display:inline-flex;align-items:center}
.hc-temp .inp{width:96px;padding-right:32px;text-align:right;font-size:16px;font-weight:600}
.hc-temp i{position:absolute;right:10px;font-style:normal;color:var(--muted);font-size:12.5px;pointer-events:none}
.hc-action{flex-basis:100%;background:var(--chili-soft);border-radius:10px;padding:10px;margin:8px 0}
.hc-action b{display:block;color:var(--chili);font-size:13px;margin-bottom:6px}
form.hors-norme .hc-temp .inp{border-color:var(--chili);color:var(--chili)}
.hc-2col{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.hc-types{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.hc-type input{position:absolute;opacity:0}
.hc-type span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:20px;text-align:center;transition:.15s;background:var(--card)}
.hc-type span b{font-size:11.5px;font-weight:600;line-height:1.2}
.hc-type input:checked+span{border-color:var(--green2);box-shadow:0 0 0 2px var(--green2) inset;background:var(--sage)}
.hc-ligne{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.hc-ligne .inp{flex:1;min-width:150px;width:auto}
.hc-ligne .hc-temp .inp{flex:none}
.hc-norme{font-size:13px;font-weight:600;min-height:18px;margin:2px 0 8px}
.hc-norme.ok{color:var(--green2)}.hc-norme.ko{color:var(--chili)}
.hc-net{display:block}
.hc-prog{height:10px;border-radius:10px;background:#efe9df;overflow:hidden;margin:4px 0 10px;position:relative}
.hc-prog i{display:block;height:100%;background:linear-gradient(90deg,#b5d65a,var(--mango));border-radius:10px;transition:width .4s}
.hc-prog.large{width:220px;height:26px;margin:0}
.hc-prog.large span{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:12.5px}
.hc-tbl{width:100%;border-collapse:collapse;font-size:13px}
.hc-tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.hc-tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.hc-tbl .num{text-align:right}
.hc-tbl tr.ko td{background:var(--chili-soft)}
.hc-ac{color:var(--chili);font-weight:600}
.mv.ko{background:var(--chili-soft);border-radius:8px;padding-left:6px}
.hc-lot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--line)}
.hc-lot .inp{width:auto;flex:1;min-width:110px}
.hc-lot-n{flex:1.4;min-width:160px}
.hc-lot-n b{display:block}.hc-lot-n small{color:var(--muted);font-size:12px}
.hc-lot.fait{opacity:.75}
.hc-photo{cursor:pointer}.hc-photo.on{background:var(--sage);border-color:var(--green2)}
.hc-mini{width:46px;height:46px;object-fit:cover;border-radius:8px}
.hc-autre{margin-top:10px}.hc-autre summary{cursor:pointer;font-weight:600;color:var(--green2);padding:6px 0}
.hc-jour.complet{border-color:var(--green2)}
.hc-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.hc-tache{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 4px;cursor:pointer;font:inherit;color:inherit;transition:.15s}
.hc-tache:last-child{border-bottom:0}
.hc-tache:hover{background:rgba(142,187,19,.06)}
.hc-case{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid #cfc6b6;display:grid;place-items:center;margin-top:1px;transition:.15s}
.hc-tache.fait .hc-case{background:var(--mango);border-color:var(--mango)}
.hc-tache.fait .hc-case::after{content:"✓";color:#fff;font-weight:800;font-size:15px}
.hc-tache.fait b{text-decoration:line-through;opacity:.6}
.hc-tache.pas-due{opacity:.5}
.hc-tache.attente{opacity:.4;pointer-events:none}
.hc-t b{display:block;font-size:14.5px}
.hc-t small{display:block;color:var(--muted);font-size:12px}
.hc-t em{display:block;font-style:normal;font-size:12px;color:var(--green2);font-weight:600;margin-top:2px}
.hc-reg{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.hc-reg .inp{width:auto;flex:1;min-width:90px;padding:7px 10px}
.hc-reg .inp.large{flex:2;min-width:180px}
.hc-reg .hc-temp .inp{width:82px;min-width:0;flex:none;font-size:14px}
.hc-reg.nouveau{padding-top:10px;border-top:1px dashed var(--line);margin-top:6px}
.hc-bandeau{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;font-size:15px}
.hc-bandeau span{color:var(--muted);font-size:13px}
.hc-bandeau em{margin-left:auto;font-style:normal;font-weight:700;color:var(--green2)}
html[data-theme=dark] .hc-m{background:rgba(255,255,255,.05)}
html[data-theme=dark] .hc-m.ok{background:rgba(142,187,19,.15)}
html[data-theme=dark] .hc-m.ko,html[data-theme=dark] .hc-action,html[data-theme=dark] .hc-tbl tr.ko td,html[data-theme=dark] .mv.ko{background:rgba(224,96,70,.16)}
html[data-theme=dark] .hc-prog{background:rgba(255,255,255,.08)}
html[data-theme=dark] .hc-type input:checked+span{background:rgba(142,187,19,.15)}
@media(max-width:900px){.hc-2col{grid-template-columns:1fr}.hc-types{grid-template-columns:repeat(3,1fr)}.hc-prog.large{width:100%}}
.hc-temp[hidden],.hc-action[hidden]{display:none!important}
.hc-ligne .hc-temp{flex:none}
.hc-m b{font-size:20px;white-space:nowrap}
.hc-d{flex:none;width:150px;white-space:nowrap;font-size:12.5px}
.hc-2col .mv .pill{flex:none;max-width:none;overflow:visible}

/* =====================================================================
   ÉTAPE 15 — Fiches techniques et liste du matériel
   ===================================================================== */
.ft-carte{display:block;border-left:4px solid var(--mango)}
.ft-carte p{font-size:13.5px;margin-bottom:6px}
.ft-lien{color:var(--green2);font-size:13px}
.ft-explique{margin-bottom:16px;font-size:13.5px;line-height:1.55;background:var(--sage);border-color:transparent}
.ft-copier{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.ft-copier .inp{width:auto;flex:1;min-width:220px}
.ft-bloc{margin-bottom:16px}
.ft-ligne{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:7px 0;border-bottom:1px dashed var(--line)}
.ft-ligne .inp{padding:7px 10px}
.ft-ligne .ft-nom{flex:2;min-width:220px;width:auto}
.ft-ligne .n{width:80px;text-align:right}
.ft-ligne .ft-u{width:96px}
.ft-ligne .ft-mode{width:240px}
.ft-ligne .ft-lot{width:76px;text-align:right}
.ft-ligne .ft-lot[hidden]{display:none}
.ft-ligne.nouveau{border-bottom:0;padding-top:12px}
.pres-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.pres-h{display:flex;gap:10px;align-items:center}
.pres-nom{font-weight:700;font-size:15px}
.pres-lab{display:block;font-size:12.5px;font-weight:600;margin:4px 0}
.pres-crit{font-family:inherit;font-size:13px;line-height:1.6}
.pres-apercu{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pres-apercu label{flex:1;min-width:110px}
.pres-apercu small,.lm-choix small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:3px}
.pres-bt{display:flex;gap:8px;justify-content:space-between}
.pres-carte.nouveau{border:2px dashed var(--line);box-shadow:none}
.lm-barre{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.lm-alerte{background:var(--mango-soft);border-color:transparent;margin-bottom:16px;font-size:13.5px}
.lm-sf{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lm-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.lm-h .sec-t{margin:0}
.lm-h form{margin-left:auto}
.lm-pres{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.lm-pres-carte{border-left:4px solid var(--mango-soft);box-shadow:none;border:1px solid var(--line);border-left-width:4px}
.lm-pres-carte.complet{border-left-color:var(--mango)}
.lm-pres-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.lm-pres-h b{font-size:15px}
.lm-q{font-family:Geologica,Inter,sans-serif;font-size:17px;font-weight:600;white-space:nowrap}
.lm-choix{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.lm-pres-bt{grid-column:1/-1;display:flex;justify-content:flex-end}
.lm-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.lm-det{border-bottom:1px solid var(--line);padding:10px 0}
.lm-det summary{cursor:pointer}
.lm-ft{font-size:12.5px;color:var(--green2);margin-left:8px}
.lm-det-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;font-size:13px}
.lm-det-g p{margin:3px 0}
.lm-ok{background:var(--sage);border-color:transparent;margin-bottom:16px}
.lm-compteur{margin-bottom:12px}
html[data-theme=dark] .ft-explique,html[data-theme=dark] .lm-ok{background:rgba(142,187,19,.12)}
html[data-theme=dark] .lm-alerte{background:rgba(240,170,60,.12)}
@media(max-width:900px){.lm-2col,.lm-det-g{grid-template-columns:1fr}.pres-grille{grid-template-columns:1fr}.ft-ligne .ft-mode{width:100%}}
.pres-fam{grid-column:1/-1;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 -4px}
