:root{--encre: #17251f;--vert: #1e6e52;--vert-fonce: #14523d;--vert-pale: #e8f1ec;--papier: #f7f6f2;--carte: #ffffff;--ligne: #e3e0d6;--or: #b8860b;--or-pale: #fbf3df;--rouge: #a3352c;--rouge-pale: #f9ecea;--gris: #6b7269}*{box-sizing:border-box}body{margin:0;font-family:Public Sans,Segoe UI,system-ui,sans-serif;background:var(--papier);color:var(--encre)}.serif{font-family:Fraunces,Georgia,serif}.mono{font-family:SF Mono,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.entete{background:var(--vert-fonce);color:#f4f2ea;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.entete .marque{font-family:Fraunces,Georgia,serif;font-size:24px}.entete .sous-marque{font-size:12px;opacity:.75;letter-spacing:.08em;text-transform:uppercase;margin-left:12px}.onglets{display:flex;gap:4px;padding:0 28px;background:var(--vert-fonce);border-bottom:1px solid var(--vert-fonce);overflow-x:auto}.onglets button{background:none;border:none;border-bottom:3px solid transparent;padding:14px 16px;font-size:14px;font-family:Public Sans,sans-serif;color:#f4f2ea99;cursor:pointer;white-space:nowrap}.onglets button.actif{border-bottom-color:var(--or);color:#f4f2ea;font-weight:700}.contenu{padding:26px 28px;max-width:1080px;margin:0 auto}.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:10px;padding:20px}.grille-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.rangee-kpi{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.kpi{flex:1 1 200px;min-width:200px;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--vert)}.kpi.ton-or:before{background:var(--or)}.kpi.ton-rouge:before{background:var(--rouge)}.kpi .titre{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gris);font-weight:700}.kpi .valeur{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;margin-top:10px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .valeur .devise{font-size:14px;color:var(--gris);font-weight:500;margin-left:4px}.kpi .note{font-size:12px;color:var(--gris);margin-top:6px}table{width:100%;border-collapse:collapse}th{text-align:left;padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--gris);border-bottom:2px solid var(--encre)}td{padding:9px 10px;border-bottom:1px solid var(--ligne);font-size:13.5px}td.num,th.num{text-align:right;font-family:SF Mono,Consolas,monospace;font-variant-numeric:tabular-nums}tr.debut-piece td{border-top:2px solid var(--ligne)}label{font-size:12px;font-weight:600;color:var(--gris);display:block;margin-bottom:5px}input,select,textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--ligne);font-size:14px;font-family:Public Sans,sans-serif;background:#fff}.champ{margin-bottom:12px}button.principal{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;font-family:Public Sans,sans-serif;cursor:pointer}button.principal:disabled{opacity:.6;cursor:wait}button.secondaire{background:transparent;color:var(--vert);border:1px solid var(--vert);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;font-family:Public Sans,sans-serif;cursor:pointer}.badge{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge.ok{background:var(--vert-pale);color:var(--vert-fonce)}.badge.attente{background:var(--or-pale);color:var(--or)}.badge.alerte{background:var(--rouge-pale);color:var(--rouge)}.erreur{background:var(--rouge-pale);color:var(--rouge);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.info{background:var(--vert-pale);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.ecran-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,var(--vert-fonce) 0 220px,var(--papier) 220px)}.boite-auth{width:100%;max-width:420px}.boite-auth .marque{font-family:Fraunces,Georgia,serif;font-size:34px;color:#f4f2ea;text-align:center}.boite-auth .sous-marque{font-size:12px;color:#f4f2eabb;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:22px}.bascule-auth{display:flex;gap:6px;margin-bottom:16px}.bascule-auth button{flex:1;padding:9px;border-radius:8px;border:1px solid var(--ligne);background:#fff;cursor:pointer;font-weight:600;font-family:Public Sans,sans-serif;color:var(--gris)}.bascule-auth button.actif{background:var(--vert);border-color:var(--vert);color:#fff}h3.titre-carte{font-family:Fraunces,Georgia,serif;margin:0 0 14px;font-size:18px;font-weight:600}.legende{font-size:12px;color:var(--gris)}.carte-graphique{min-height:300px}.legende-graphique{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.legende-graphique .item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gris)}.legende-graphique .pastille{width:10px;height:10px;border-radius:3px}.carte{overflow-x:auto}@media (max-width: 900px){.contenu{padding:20px 16px}.entete{padding:12px 16px}.onglets{padding:0 8px}}@media (max-width: 600px){.contenu{padding:14px 10px}.carte{padding:14px;border-radius:8px}.entete{padding:10px 14px}.entete .marque{font-size:20px}.entete .sous-marque{display:none}.onglets button{padding:12px 11px;font-size:13px}.kpi{flex:1 1 100%;min-width:0}.kpi .valeur{font-size:24px}.grille-2{grid-template-columns:1fr}th{padding:6px;font-size:10px}td{padding:7px 6px;font-size:12.5px}form>div[style*=grid]{display:block!important}button.principal{padding:12px 18px;width:100%}button.secondaire{padding:8px 12px}.legende-graphique{gap:10px}}@media (pointer: coarse){.onglets button{min-height:44px}input,select{min-height:42px}}.accueil{background:var(--papier)}.accueil-entete{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1080px;margin:0 auto}.accueil-marque{font-family:Fraunces,Georgia,serif;font-size:24px;color:var(--vert-fonce);font-weight:600}.btn-plein{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:Public Sans,sans-serif}.btn-fantome{background:transparent;color:var(--vert-fonce);border:1px solid var(--vert);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:Public Sans,sans-serif}.btn-plein.grand,.btn-fantome.grand{padding:13px 26px;font-size:15px}.hero{max-width:820px;margin:0 auto;padding:60px 24px 50px;text-align:center}.hero-eyebrow{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--or);margin-bottom:22px}.hero-titre{font-family:Fraunces,Georgia,serif;font-size:clamp(30px,5vw,48px);line-height:1.12;color:var(--encre);font-weight:600;margin:0 0 22px;letter-spacing:-.01em}.hero-sous-titre{font-size:17px;line-height:1.6;color:var(--gris);max-width:640px;margin:0 auto 32px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.bloc{max-width:1080px;margin:0 auto;padding:54px 24px}.bloc-titre{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,3.5vw,32px);text-align:center;color:var(--encre);font-weight:600;margin:0 0 40px}.grille-fonctions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.carte-fonction{background:var(--carte);border:1px solid var(--ligne);border-radius:10px;padding:22px}.carte-fonction h3{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--vert-fonce);margin:0 0 8px}.carte-fonction p{font-size:14px;line-height:1.55;color:var(--gris);margin:0}.bloc-demarrer{background:var(--vert-pale);max-width:none}.bloc-demarrer>*{max-width:1080px;margin-left:auto;margin-right:auto}.etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.etape{text-align:center;padding:0 12px}.etape-num{width:46px;height:46px;border-radius:50%;background:var(--vert);color:#fff;font-family:Fraunces,serif;font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.etape h3{font-family:Fraunces,Georgia,serif;font-size:19px;color:var(--encre);margin:0 0 10px}.etape p{font-size:14px;line-height:1.6;color:var(--gris);margin:0}.bloc-aide{text-align:center}.accueil-pied{text-align:center;padding:30px 24px;font-size:12.5px;color:var(--gris);border-top:1px solid var(--ligne)}@media (max-width: 600px){.accueil-entete{padding:14px 16px;flex-wrap:wrap;gap:10px}.accueil-marque{font-size:20px}.hero{padding:40px 16px 34px}.bloc{padding:40px 16px}}
