:root{--fond:#f4f7f9;--surface:#ffffff;--bord:#dde3ea;--texte:#14202b;--texte-doux:#5a6b7b;--marque:#0f4c81;--marque-fonce:#0b3860;--marque-clair:#e8f0f8;--accent:#0f9d76;--accent-fonce:#0b7a5b;--accent-clair:#e4f5ef;--bon:#12664f;--bon-fond:#e6f4ef;--alerte:#8a5a00;--alerte-fond:#fdf3e2;--mauvais:#9b1c1c;--mauvais-fond:#fdecec;--rayon:10px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--fond);color:var(--texte);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:var(--marque);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:24px;margin:0 0 6px;letter-spacing:-.01em}h2{font-size:17px;margin:28px 0 10px}.sous-titre{color:var(--texte-doux);font-size:14px;margin:0 0 22px}.shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0e2740,#10243a);color:#cfdcea;padding:22px 16px;display:flex;flex-direction:column;gap:22px}.sidebar .marque{color:#fff;font-size:19px;font-weight:700;letter-spacing:.01em}.sidebar .sous-marque{color:#8ba4be;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{color:#cfdcea;padding:9px 11px;border-radius:7px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar nav a:hover{background:#1b3552;text-decoration:none}.sidebar nav a[aria-current=page]{background:#1f4670;color:#fff;font-weight:600}.sidebar nav a .coche{font-size:12px;color:var(--accent)}.sidebar .pied{margin-top:auto;font-size:12px;color:#8ba4be;display:grid;grid-gap:8px;gap:8px}.sidebar .pied a{color:#b7c8da}main{padding:28px 32px 72px;max-width:960px;width:100%}.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.carte{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:16px 18px}.stat .valeur{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat .etiquette{color:var(--texte-doux);font-size:13px}.stat .precision{color:var(--texte-doux);font-size:12px;margin-top:4px}.pastille{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pastille.good{background:var(--bon-fond);color:var(--bon)}.pastille.warn{background:var(--alerte-fond);color:var(--alerte)}.pastille.bad{background:var(--mauvais-fond);color:var(--mauvais)}.pastille.neutral{background:#eef1f4;color:var(--texte-doux)}.vide{padding:28px;text-align:center;color:var(--texte-doux);background:var(--surface);border:1px dashed var(--bord)}.avis,.vide{border-radius:var(--rayon)}.avis{padding:12px 14px;margin-bottom:16px;font-size:14px;border:1px solid}.avis.info{background:var(--marque-clair);border-color:#c3d8ec;color:#123f68}.avis.alerte{background:var(--alerte-fond);border-color:#f0d9ab;color:var(--alerte)}.avis.erreur{background:var(--mauvais-fond);border-color:#f3c6c6;color:var(--mauvais)}.avis.succes{background:var(--accent-clair);border-color:#b8e5d6;color:var(--accent-fonce)}.avis h3{margin:0 0 4px;font-size:14px}.avis p{margin:0}form.bloc{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:18px;display:grid;grid-gap:14px;gap:14px;max-width:560px}label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}label .aide{display:block;font-weight:400;color:var(--texte-doux);font-size:12px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--bord);border-radius:7px;font:inherit;background:#fff;color:var(--texte)}input[type=color]{padding:2px;height:40px}input:focus,select:focus,textarea:focus{outline:2px solid var(--marque);outline-offset:1px}.bouton,button{font:inherit;font-weight:600;padding:10px 18px;border-radius:7px;border:1px solid transparent;background:var(--marque);color:#fff;cursor:pointer;display:inline-block;text-align:center}.bouton:hover,button:hover{background:var(--marque-fonce);text-decoration:none}.bouton.accent,button.accent{background:var(--accent)}.bouton.accent:hover,button.accent:hover{background:var(--accent-fonce)}.bouton.secondaire,button.secondaire{background:#fff;color:var(--texte);border-color:var(--bord)}.bouton.secondaire:hover,button.secondaire:hover{background:#f3f6f9}button:disabled{opacity:.5;cursor:not-allowed}.rangee{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.paire{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #eef1f4;font-size:14px}.paire:last-child{border-bottom:none}.paire .cle{color:var(--texte-doux)}.mono{font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,monospace;font-size:13px}.connexion{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.connexion .accroche{background:linear-gradient(160deg,#0f4c81,#0b3860 60%,#0e2740);color:#eaf2fa;padding:56px 48px;display:flex;flex-direction:column;justify-content:center;gap:20px}.connexion .accroche .logo{font-size:22px;font-weight:800;letter-spacing:.01em}.connexion .accroche h1{font-size:34px;line-height:1.15;margin:0;color:#fff;max-width:15ch}.connexion .accroche ul{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-gap:12px;gap:12px;max-width:42ch}.connexion .accroche li{display:flex;gap:10px;align-items:flex-start;color:#cfe0f0;font-size:15px}.connexion .accroche li b{color:#fff;font-weight:600}.connexion .accroche .puce{color:#58d0a8;font-weight:700;flex:0 0 auto}.connexion .volet{display:grid;place-items:center;padding:32px 24px}.connexion .boite{width:100%;max-width:400px}.connexion .boite h2{margin:0 0 4px;font-size:20px}.connexion .etapes{display:flex;gap:6px;margin:0 0 18px;font-size:12px;color:var(--texte-doux)}.connexion .etapes span{padding:3px 9px;border-radius:999px;background:#eef1f4}.connexion .etapes span.actif{background:var(--marque);color:#fff;font-weight:600}.checklist{display:grid;grid-gap:8px;gap:8px;margin:8px 0 24px}.etape{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:13px 16px}.etape.fait{border-color:#bfe6d8;background:var(--accent-clair)}.etape .marqueur{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:#eef1f4;color:var(--texte-doux);border:1px solid var(--bord)}.etape.fait .marqueur{background:var(--accent);color:#fff;border-color:var(--accent)}.etape .titre{font-weight:600;font-size:14px}.etape .desc{font-size:12.5px;color:var(--texte-doux)}.etape .droite{margin-left:auto;display:flex;align-items:center;gap:10px}.etape .req{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--alerte);font-weight:600}.etape.fait .req{color:var(--accent-fonce)}.etape .opt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux)}.progression{height:8px;background:#e6ebf0;border-radius:999px;overflow:hidden;margin:6px 0 20px}.progression>span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.tarif-grille{display:grid;grid-template-columns:1.2fr repeat(3,1fr);grid-gap:8px 12px;gap:8px 12px;align-items:end;max-width:640px}.tarif-grille .entete{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux);font-weight:600}.tarif-grille .cat{font-weight:600;align-self:center}.moyens{display:grid;grid-gap:8px;gap:8px;max-width:560px}.moyen{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:12px 16px}.moyen input[type=checkbox]{width:auto}.moyen .nom{font-weight:600;font-size:14px}.moyen .detail{font-size:12.5px;color:var(--texte-doux)}.actions-bas{display:flex;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap}@media (max-width:900px){.connexion,.shell{grid-template-columns:1fr}.connexion .accroche{padding:36px 28px}.tarif-grille{grid-template-columns:1fr 1fr}}