@font-face{font-family:"Public Sans";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/public-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/public-sans-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
:root{--fond:#eef1f4;--carte:#fff;--texte:#1d2430;--doux:#556070;--trait:#d9dfe6;--prim:#16304f;--prim2:#24476f;--acc:#f4c430;--vert:#1f8a4c;--rouge:#c23b33;--orange:#c77a12;--bleu:#2563a8;--rayon:12px}
@media (prefers-color-scheme:dark){:root{--fond:#0e1620;--carte:#16212e;--texte:#e6edf5;--doux:#9aabbd;--trait:#26364a;--prim:#7fb0e6;--prim2:#a3c8f0}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 "Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fond);color:var(--texte)}
a{color:var(--prim2)}h1,h2,h3,.kpi b,.logo{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-stretch:90%}h1{font-size:1.6rem;margin:0;letter-spacing:-.01em}h2{font-size:1.12rem;margin:0 0 .7rem}h3{margin:.3rem 0}
main{padding:16px;max-width:1300px;margin:0 auto}
.avec-menu main{margin-left:230px;padding-bottom:90px}
.menu{position:fixed;inset:0 auto 0 0;width:230px;background:#16304f;color:#fff;display:flex;flex-direction:column;padding:16px 10px;z-index:5}
.menu .logo{font-weight:800;font-size:1.45rem;padding:4px 10px 16px;letter-spacing:-.02em}.logo-mot{display:flex;align-items:center;gap:8px}.logo-mot svg{width:24px;height:24px;background:#f4c430;color:#16304f;border-radius:6px;padding:3px}.menu .logo small{display:block;font-weight:400;font-size:.8rem;opacity:.75}
.menu nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}
.menu nav a{color:#dbe5f0;text-decoration:none;padding:9px 10px;border-radius:8px;display:flex;align-items:center;gap:11px}.ico{width:19px;height:19px;flex:0 0 19px}
.menu nav a:hover{background:rgba(255,255,255,.08)}.menu nav a.on{background:#f4c430;color:#16304f;font-weight:700}
.menu .moi{display:flex;flex-direction:column;gap:4px;font-size:.85rem;padding:10px;border-top:1px solid rgba(255,255,255,.15)}.menu .moi a{color:#fff}.menu .moi select{width:100%}
.basbar{display:none}
.haut{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.recherche input{width:320px;max-width:100%}
.carte{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:16px;margin-bottom:14px}
.ok-bord{border-left:4px solid var(--vert)}.warn-bord{border-left:4px solid var(--orange)}
label{display:block;font-size:.85rem;color:var(--doux);margin-bottom:10px}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--trait);border-radius:8px;font:inherit;background:var(--carte);color:var(--texte)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--prim2);outline-offset:-1px}
label.case{display:flex;gap:8px;align-items:flex-start;color:var(--texte);font-size:.93rem}label.case input{width:auto;margin-top:3px}
.btn{display:inline-block;background:var(--prim);color:#fff;font-family:inherit;border:0;border-radius:9px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--prim2)}.btn.sec{background:transparent;color:var(--prim2);border:1px solid var(--trait)}.btn.plein{width:100%;display:block}.btn[disabled]{opacity:.5}
.btn.gros{padding:14px;font-size:1.1rem}
.lien{background:none;border:0;color:var(--prim2);cursor:pointer;padding:0;font:inherit;text-decoration:underline}
.grille2,.grille3{display:grid;gap:0 14px}.grille2{grid-template-columns:repeat(2,1fr)}.grille3{grid-template-columns:repeat(3,1fr)}
.grille2 .plein{grid-column:1/-1}
.colonnes{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.ligne-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.ligne-form label{margin-bottom:0;min-width:140px;flex:1}
.inline{display:inline}.boutons{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.filtres{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filtres form input,.filtres form select{margin:0;width:auto}
.chip{padding:6px 12px;border-radius:99px;border:1px solid var(--trait);text-decoration:none;color:var(--texte);background:var(--carte);font-size:.88rem}.chip.on{background:var(--prim);color:#fff;border-color:var(--prim)}
table.liste{width:100%;border-collapse:collapse}table.liste th{text-align:left;font-size:.78rem;color:var(--doux);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--trait)}
table.liste td{padding:9px 8px;border-bottom:1px solid var(--trait);vertical-align:top}table.liste tr[onclick]{cursor:pointer}table.liste tr[onclick]:hover td{background:rgba(20,89,91,.05)}
table.liste tfoot td{font-weight:600;border:0;padding-top:6px}tr.bonus td{color:var(--vert)}
.vide{text-align:center;color:var(--doux);padding:30px}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:600;white-space:nowrap}
.badge.bleu{background:#e2ecf8;color:var(--bleu)}.badge.vert{background:#e1f3e8;color:var(--vert)}.badge.orange{background:#fbefdc;color:var(--orange)}.badge.rouge{background:#f8e3e1;color:var(--rouge)}.badge.gris{background:#eceff0;color:#5d6b69}
.rouge-t{color:var(--rouge)}.vert-t{color:var(--vert)}.muted{color:var(--doux)}.small,small{font-size:.82rem}.gros{font-size:1.4rem;font-weight:700}
.flash{padding:11px 14px;border-radius:10px;margin-bottom:12px;background:#e1f3e8;color:#164d2c}.flash.err{background:#f8e3e1;color:#7a1f19}.flash.warn{background:#fbefdc;color:#6b4208}.flash.info{background:#e2ecf8;color:#1d4677}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:14px;text-decoration:none;color:var(--doux);font-size:.85rem}.kpi b{display:block;font-size:1.45rem;color:var(--texte)}
.kpi.vert{border-left:4px solid var(--vert)}.kpi.rouge{border-left:4px solid var(--rouge)}.kpi.orange{border-left:4px solid var(--orange)}
.actions-rapides{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.statuts{display:flex;gap:14px;flex-wrap:wrap}.statuts a{text-decoration:none;color:var(--texte)}
.entete-fiche{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);padding:14px;margin-bottom:14px}
.flux{display:flex;gap:4px;margin-top:10px;flex-wrap:wrap}.flux span{flex:1;min-width:90px;font-size:.75rem;text-align:center;padding:6px 2px;border-radius:6px;background:var(--fond);color:var(--doux)}.flux span.on{background:var(--prim);color:#fff}
.suggestions{position:relative}.suggestions .sug{display:block;width:100%;text-align:left;padding:9px 10px;border:1px solid var(--trait);border-top:0;background:var(--carte);cursor:pointer;color:var(--texte);font:inherit}
.suggestions .sug:first-child{border-top:1px solid var(--trait);border-radius:8px 8px 0 0}.suggestions .sug:hover{background:var(--fond)}
.cache{display:none}.masque{filter:blur(5px);cursor:pointer}.masque.vu{filter:none}
canvas.signature{width:100%;height:170px;border:1px dashed var(--doux);border-radius:10px;background:#fff;touch-action:none;display:block}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:10px}.galerie a{text-decoration:none;color:var(--doux)}.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.raisons{margin:.3rem 0 .8rem;padding-left:18px;color:var(--orange)}.info-bonus{font-weight:600}
.histo{list-style:none;padding:0;margin:0}.histo li{padding:6px 0;border-bottom:1px solid var(--trait)}
.pm{display:flex;gap:8px}.pm select{flex:1}.pm input{width:120px}
.mini{width:80px;display:inline-block;margin:0}
.devis-ligne{padding:8px 0;border-top:1px solid var(--trait)}
.barre-action{position:sticky;bottom:0;background:var(--fond);padding:10px 0}
dialog{border:0;border-radius:var(--rayon);padding:20px;max-width:480px;width:92%;background:var(--carte);color:var(--texte)}
.public{max-width:820px;margin:30px auto}.public.etroit{max-width:460px}.public h1{margin-bottom:14px}
.sfx{display:flex;align-items:center;gap:6px}.sfx b{color:var(--doux);font-weight:500;white-space:nowrap}
.frise{display:flex;list-style:none;padding:0;gap:4px;counter-reset:e}.frise li{flex:1;font-size:.75rem;text-align:center;padding-top:26px;position:relative;color:var(--doux)}
.frise li:before{counter-increment:e;content:counter(e);position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:var(--trait);line-height:22px;font-size:.75rem}
.frise li.fait{color:var(--texte);font-weight:600}.frise li.fait:before{background:var(--vert);color:#fff}
.statut-grand .badge{font-size:1rem;padding:6px 14px}.centre{text-align:center}#qrcode img,#qrcode canvas{margin:10px auto}
.piege{position:absolute;left:-9999px}
.barres{display:flex;gap:8px;align-items:flex-end;height:220px}.barre{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.pile{flex:1;width:100%;display:flex;flex-direction:column-reverse;max-width:46px}
.rep{background:var(--prim2)}.ven{background:var(--acc)}.legende span{display:inline-block;width:12px;height:12px;border-radius:3px;margin:0 4px 0 12px}
.vitrine .hero{padding:40px 0 20px}.vitrine .hero h1{font-size:2rem;max-width:760px;line-height:1.2}.vitrine .hero p{font-size:1.1rem;max-width:720px;color:var(--doux)}
.atouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.atouts .ico{font-size:1.6rem}.prix .montant{font-size:2rem;font-weight:800}.prix .montant small{font-size:.85rem;font-weight:400;color:var(--doux)}
.vitrine{max-width:1100px;margin:0 auto}.vitrine footer{padding:30px 0}
@media (max-width:900px){
 .avec-menu main{margin-left:0}.menu{display:none}
 .basbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--carte);border-top:1px solid var(--trait);z-index:5;padding-bottom:env(safe-area-inset-bottom)}
 .basbar a{flex:1;text-align:center;text-decoration:none;color:var(--texte);padding:8px 0;font-size:1.2rem;display:flex;flex-direction:column;align-items:center}.basbar a span{display:block;font-size:.7rem;color:var(--doux)}
 .basbar a.plus{font-size:1.8rem;color:#16304f;background:#f4c430;display:block;border-radius:50%;width:54px;height:54px;flex:0 0 54px;margin:-14px 6px 0;line-height:54px;padding:0}
 .colonnes,.grille3,.grille2{grid-template-columns:1fr}.recherche,.recherche input{width:100%}
 table.liste thead{display:none}table.liste td{display:block;border:0;padding:3px 8px}table.liste tr{display:block;border-bottom:1px solid var(--trait);padding:8px 0}
}
@media print{.menu,.basbar,.haut,.btn,.filtres,.flash{display:none}.avec-menu main{margin:0}}
