@font-face{font-family:"Bagel Fat One";src:url(/fonts/bagel.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--creme:#FBF5EA;--carte:#FFFCF6;--encre:#16223F;--doux:#4A5675;--soleil:#F4C95D;--vert:#3FA66B;--rouge:#D2553F;--ligne:#E6DCC8;--r:18px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--creme);color:var(--encre);font:16px/1.5 Inter,-apple-system,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.kpi b,.step-n{font-family:"Bagel Fat One",Georgia,serif;font-weight:400;letter-spacing:.2px}
h1{font-size:34px;line-height:1.1;margin:0 0 6px}h2{font-size:24px;margin:28px 0 12px}h3{font-size:19px;margin:0 0 8px}
p,li,td,label,.hint{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
a{color:var(--encre)}
.muted{color:var(--doux)}.center{text-align:center}.pad{padding:40px}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:12px 22px;background:var(--encre);color:var(--creme)}
.brand{font-size:26px;color:var(--soleil);display:flex;align-items:baseline;gap:8px}
.brand span{font:600 12px Inter,sans-serif;color:var(--creme);opacity:.7;letter-spacing:1px;text-transform:uppercase}
nav{display:flex;gap:6px;flex-wrap:wrap;flex:1}
nav button{background:transparent;color:var(--creme);border:2px solid transparent;border-radius:999px;padding:8px 16px;font:700 15px Inter,sans-serif;cursor:pointer}
nav button:hover{border-color:rgba(251,245,234,.35)}
nav button.on{background:var(--soleil);color:var(--encre)}
.who{font-size:13px;opacity:.85;text-align:right}
main{max-width:1180px;margin:0 auto;padding:26px 22px 80px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.btn{display:inline-flex;align-items:center;gap:8px;font:800 16px Inter,sans-serif;background:var(--encre);color:var(--soleil);border:0;border-radius:999px;padding:13px 22px;cursor:pointer;box-shadow:0 3px 0 rgba(22,34,63,.25)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px);box-shadow:none}
.btn.sol{background:var(--soleil);color:var(--encre)}
.btn.clair{background:var(--carte);color:var(--encre);border:2px solid var(--encre);box-shadow:none}
.btn.petit{padding:8px 14px;font-size:14px}
.btn.rouge{background:var(--rouge);color:#fff}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.carte{background:var(--carte);border:2px solid var(--encre);border-radius:var(--r);padding:20px}
.grille{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.kpis{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:22px}
.kpi{background:var(--carte);border:2px solid var(--encre);border-radius:var(--r);padding:16px 18px}
.kpi b{display:block;font-size:30px;line-height:1.1}
.kpi span{font-size:13px;color:var(--doux);font-weight:600}
.kpi.sol{background:var(--soleil)}
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--carte);border:2px solid var(--encre);border-radius:var(--r);overflow:hidden}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--ligne);font-size:15px;vertical-align:top}
th{background:var(--encre);color:var(--creme);font-size:13px;font-weight:700;letter-spacing:.3px}
tr:last-child td{border-bottom:0}
tbody tr.clic{cursor:pointer}tbody tr.clic:hover td{background:#FFF3D6}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.total td{font-weight:800;background:#FFF3D6}
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:#EFE6D3;white-space:nowrap}
.tag.ok{background:#D9F0E1;color:#1F6B40}.tag.wait{background:#FFEBB8;color:#6B4B00}.tag.ko{background:#F8D7CF;color:#8A2A18}.tag.ess{background:var(--encre);color:var(--soleil)}
.champs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.champ{display:flex;flex-direction:column;gap:6px}
.champ.large{grid-column:1/-1}
.champ>span{font-size:13px;font-weight:800;letter-spacing:.2px}
input,select,textarea{font:16px Inter,sans-serif;color:var(--encre);background:#fff;border:2px solid #CDBFA5;border-radius:12px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--encre);box-shadow:0 0 0 3px rgba(244,201,93,.6)}
textarea{min-height:90px;resize:vertical}
.case{display:flex;gap:12px;align-items:flex-start;font-weight:600;cursor:pointer}
.case input{width:26px;height:26px;flex:none;accent-color:var(--encre);margin:0}
.hint{font-size:13.5px;color:var(--doux)}
.bloc{margin-top:22px}
.ligne-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.fiche-grille{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
@media(max-width:900px){.fiche-grille{grid-template-columns:1fr}.who{display:none}}
dl.info{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
dl.info dt{font-weight:800;font-size:13.5px}dl.info dd{margin:0}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--encre);color:var(--soleil);padding:13px 22px;border-radius:999px;font-weight:800;z-index:50}
.retour{background:none;border:0;font:800 15px Inter,sans-serif;color:var(--encre);cursor:pointer;padding:0;margin-bottom:12px;text-decoration:underline}
.cle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ligne)}
.cle:last-child{border-bottom:0}
/* ---------- onboarding tablette ---------- */
body.tab .top{display:none}
body.tab main{max-width:860px;padding:22px 26px 60px}
.ob-haut{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.ob-logo{font:28px "Bagel Fat One",Georgia,serif;color:var(--encre)}
.ob-quitter{background:none;border:0;color:var(--doux);font:700 14px Inter,sans-serif;cursor:pointer;text-decoration:underline}
.etapes{display:flex;gap:8px;margin-bottom:24px}
.etapes i{flex:1;height:7px;border-radius:9px;background:#E6DCC8}.etapes i.on{background:var(--encre)}.etapes i.fait{background:var(--vert)}
.ob h1{font-size:40px}
.ob .champs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ob input,.ob select,.ob textarea{font-size:18px;padding:15px 16px}
.offres{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.offre{background:var(--carte);border:3px solid #CDBFA5;border-radius:22px;padding:22px;cursor:pointer;text-align:left;font:inherit;color:inherit}
.offre.on{border-color:var(--encre);background:#FFF3D6;box-shadow:0 4px 0 var(--encre)}
.offre h3{font-size:26px}.offre .prix{font:30px "Bagel Fat One",Georgia,serif}.offre .prix small{font:600 14px Inter,sans-serif;color:var(--doux)}
.bascule{display:inline-flex;background:#EFE6D3;border-radius:999px;padding:5px;gap:4px}
.bascule button{border:0;background:transparent;border-radius:999px;padding:11px 22px;font:800 16px Inter,sans-serif;cursor:pointer;color:var(--encre)}
.bascule button.on{background:var(--encre);color:var(--soleil)}
.cgv{max-height:340px;overflow:auto;background:#fff;border:2px solid #CDBFA5;border-radius:16px;padding:6px 20px;font-size:14.5px}
.cgv h4{margin:16px 0 4px;font-size:15px}
.recap{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:17px}
.recap dt{font-weight:800}.recap dd{margin:0}
.ob-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.ob .btn{font-size:19px;padding:17px 30px}
.grand-ok{font:64px "Bagel Fat One",Georgia,serif;color:var(--vert);line-height:1}
@media(max-width:700px){.offres{grid-template-columns:1fr}.ob h1{font-size:32px}}
.champs .large{grid-column:1/-1}
.case>span{font-weight:400}.case b{font-weight:800}
.fichier{justify-content:center;cursor:pointer;padding:14px 18px}
.recap dd,.cle .hint,.hint{text-wrap:balance}
.who a.sortir{color:var(--soleil);font-weight:700}
.demo{background:var(--soleil);color:var(--encre);padding:9px 22px;font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.demo select{width:auto;padding:6px 10px;font-size:14px}
.connexion{min-height:100vh;display:grid;place-items:center;padding:20px}
.connexion .carte{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px}
.connexion form{display:flex;flex-direction:column;gap:14px}
.brand-c{font:48px "Bagel Fat One",Georgia,serif;line-height:1}
[hidden]{display:none!important}
