:root{--fond:#f3efe8;--fond-carte:#fffcf7;--encre:#1c1917;--muted:#57534e;--accent:#0f4c3a;--accent-doux:#d8ebe3;--danger:#7f1d1d;--danger-fond:#fef2f2;--ok:#166534;--bordure:#e7e0d5;--rayon:.35rem;color:var(--encre);background:var(--fond);font-family:Segoe UI,Helvetica Neue,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #d8ebe3 0%, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #e8dfd0 0%, transparent 50%), var(--fond);min-height:100vh;margin:0}main{max-width:40rem;margin:0 auto;padding:2rem 1.25rem 4rem}.entete{margin-bottom:1.75rem}.marque{letter-spacing:-.02em;color:var(--accent);margin:0;font-size:1.75rem;font-weight:700}.entete h1{margin:.15rem 0 0;font-size:1.35rem;font-weight:600}.sous-titre{color:var(--muted);margin:.35rem 0 0}.carte-form{background:var(--fond-carte);border:1px solid var(--bordure);border-radius:var(--rayon);margin-bottom:1.25rem;padding:1.25rem 1.35rem}.carte-form h2{margin:0 0 .5rem;font-size:1.15rem}.aide{color:var(--muted);margin:0 0 1rem;font-size:.95rem}label{flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.9rem;font-weight:600;display:flex}label.case,label.fichier{font-weight:500}label.case{flex-direction:row;align-items:flex-start;gap:.6rem}.ligne-horaire{border-bottom:1px solid var(--bordure);gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;display:grid}@media (width>=560px){.ligne-horaire{grid-template-columns:7rem 1fr 1fr;align-items:end}}.actions-ligne{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}input[type=number],input[type=time],input[type=text],input[type=email],input[type=tel],input[type=date],input:not([type]){font:inherit;border:1px solid var(--bordure);border-radius:var(--rayon);background:#fff;padding:.55rem .65rem;font-weight:400}input[type=checkbox]{margin-top:.2rem}input[type=file]{margin-top:.35rem;font-weight:400}.grille-2{gap:.75rem;display:grid}@media (width>=560px){.grille-2{grid-template-columns:1fr 1fr}}fieldset{border:1px solid var(--bordure);border-radius:var(--rayon);margin:0 0 1rem;padding:.85rem 1rem .25rem}legend{color:var(--accent);padding:0 .35rem;font-size:.85rem;font-weight:700}button{font:inherit;border-radius:var(--rayon);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:.65rem 1.1rem;font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}button.lien{color:var(--accent);background:0 0;padding:0;font-weight:500;text-decoration:underline}.bandeau-msg{background:var(--accent-doux);border-radius:var(--rayon);margin-bottom:1rem;padding:.75rem 1rem}.statut-bandeau{border-radius:var(--rayon);background:var(--accent-doux);border:1px solid var(--bordure);margin-bottom:1.25rem;padding:.85rem 1rem}.statut-bandeau[data-statut=en_anomalie],.statut-bandeau[data-statut=inscription]{background:#fff7ed}.statut-bandeau[data-statut=en_anomalie] .motif{color:var(--danger)}.statut-bandeau p{margin:.25rem 0}.motif{font-size:.95rem}.badge-rbq{color:var(--muted);font-size:.9rem}.ok{color:var(--ok)}.manque{color:var(--danger)}.liste-verif{margin:0 0 1rem;padding-left:1.2rem}.compte{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.pied{color:var(--muted);margin-top:2.5rem;font-size:.85rem}.pied p{margin:0}.contrat-texte{white-space:pre-wrap;word-break:break-word;border:1px solid var(--bordure);border-radius:var(--rayon);background:#f7f4ef;max-height:22rem;margin:0 0 1.25rem;padding:.85rem 1rem;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.8rem;line-height:1.45;overflow:auto}.contrat-signe{background:var(--accent-doux);border-radius:var(--rayon);margin-bottom:1rem;padding:.75rem 1rem}.contrat-signe p{margin:0 0 .65rem}.contrat-signature label{margin-bottom:.85rem;display:block}.sous-section{margin:1.25rem 0 .65rem;font-size:1.05rem;font-weight:600}.champ-tarif{margin-bottom:1rem}.fourchette{color:var(--muted);margin:.15rem 0 .4rem;font-size:.9rem}.prix-row{align-items:center;gap:.4rem;max-width:12rem;display:flex}.prix-row input{flex:1;min-width:0}.suffixe{color:var(--muted)}.bandeau-ajustement{border-radius:var(--rayon);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;margin:0 0 1rem;padding:.85rem 1rem}.case{align-items:flex-start;gap:.5rem;font-weight:500;display:flex}.case input{margin-top:.25rem}.option-titre{margin:0 0 .35rem;font-weight:600}
