:root{--encre:#15233b;--opale:#0e7480;--opale-fonce:#0a5a63;--sable:#f4c95d;--brume:#f3f5f7;--gris:#4a5568;--blanc:#fff;--ligne:#d5dbe2;--ligne-forte:#8a95a5;--danger:#b42318;--danger-fond:#fdecea;--succes-fond:#e6f3f4;--titre:"Bricolage Grotesque", system-ui, sans-serif;--texte:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--rayon:12px;--rayon-petit:10px;--cible:48px;--marge:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--brume);color:var(--encre);font-family:var(--texte);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;font-weight:500;line-height:1.5}h1,h2,h3{font-family:var(--titre);margin:0;line-height:1.15}a{color:var(--opale)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--opale);outline-offset:2px}[hidden]{display:none!important}.page{max-width:640px;padding:calc(env(safe-area-inset-top) + 20px) var(--marge) calc(env(safe-area-inset-bottom) + 32px);flex-direction:column;gap:20px;margin:0 auto;display:flex}.page-avec-barre{padding-bottom:calc(env(safe-area-inset-bottom) + 112px)}.page-admin{max-width:960px}.chargement{text-align:center;color:var(--gris);padding:48px var(--marge)}.entete{flex-direction:column;gap:6px;display:flex}.entete-ligne{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.entete-ligne:empty{display:none}.lien-retour{min-height:var(--cible);align-items:center;gap:4px;margin-left:-4px;padding:0 4px;font-weight:700;text-decoration:none;display:inline-flex}.sur-titre{color:var(--gris);letter-spacing:.02em;margin:0;font-size:14px;font-weight:700}.titre{outline:none;font-size:30px;font-weight:800}.titre:after{content:"";background:var(--sable);border-radius:2px;width:36px;height:4px;margin-top:10px;display:block}.entete-actions{margin-top:10px}.titre-bloc{margin:4px 0 12px;font-size:20px;font-weight:800}.bandeau-admin{border-radius:var(--rayon-petit);background:var(--encre);color:var(--blanc);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:8px;padding:10px 14px;font-size:15px;display:flex}.bandeau-admin a{color:var(--blanc);align-items:center;min-height:32px;font-weight:700;display:inline-flex}.btn{min-height:var(--cible);border-radius:var(--rayon-petit);cursor:pointer;text-align:center;touch-action:manipulation;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-large{width:100%;min-height:52px;font-size:17px}.btn-principal{background:var(--encre);color:var(--blanc)}.btn-principal:hover{background:#1f3355}.btn-secondaire{background:var(--blanc);color:var(--encre);border-color:var(--ligne-forte)}.btn-secondaire:hover{border-color:var(--encre)}.btn-danger{background:var(--danger);color:var(--blanc)}.btn-lien{color:var(--opale);text-underline-offset:3px;background:0 0;padding:0 8px;text-decoration:underline}.btn-lien:disabled{color:var(--gris);text-decoration:none}.btn-texte{min-height:44px;color:var(--opale);cursor:pointer;border-radius:var(--rayon-petit);background:0 0;border:none;padding:0 10px;font-weight:700}.btn-texte-danger{color:var(--danger)}.btn-icone{border-radius:var(--rayon-petit);border:1.5px solid var(--ligne);background:var(--blanc);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:inline-flex}.btn-icone:disabled{opacity:.35;cursor:default}.actions-ligne{flex-wrap:wrap;gap:10px;display:flex}.actions-secondaires{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.raccourci{margin-top:-4px}.panneau{background:var(--blanc);border-radius:var(--rayon);padding:18px}.panneau h1{margin-bottom:8px;font-size:22px}.panneau p{margin:0 0 12px}.panneau p:last-child{margin-bottom:0}.panneau-discret{border:1.5px solid var(--ligne);background:0 0}.panneau-succes{background:var(--succes-fond)}.liste-simple{margin:0 0 12px;padding-left:20px}.vide{color:var(--gris);margin:0 0 12px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:14px;font-weight:700;display:inline-flex}.badge-neutre{color:var(--gris);background:#e3e7ec}.badge-programme{background:var(--sable);color:var(--encre)}.badge-actif{background:var(--succes-fond);color:var(--opale-fonce)}.liste-sections{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.carte-section{border-radius:var(--rayon);background:var(--blanc);min-height:72px;color:var(--encre);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:16px 18px;text-decoration:none;display:grid}.carte-section:hover{box-shadow:0 0 0 1.5px var(--ligne-forte)}.carte-section-titre{font-family:var(--titre);font-size:19px;font-weight:800}.carte-section-meta{color:var(--gris);grid-column:1;font-size:15px}.carte-section .badge{grid-column:1;justify-self:start}.chevron{color:var(--gris);grid-area:1/2/span 3;font-size:28px}.section-infos{color:var(--gris);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:-8px 0 0;display:flex}.groupe+.groupe{margin-top:12px}.items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.item{background:var(--blanc);border-radius:var(--rayon);padding:6px 12px 8px 6px}.item-haut{align-items:center;gap:8px;display:flex}.item-corps{border-radius:var(--rayon-petit);min-width:0;min-height:56px;color:var(--encre);flex-direction:column;flex:1;justify-content:center;gap:2px;padding:6px 8px;text-decoration:none;display:flex}.item-corps:hover .item-nom{text-decoration:underline}.item-nom{overflow-wrap:anywhere;font-size:17px;font-weight:700}.item-meta{color:var(--gris);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:15px;display:flex}.item-prix{color:var(--encre);font-weight:700}.etiquette{border:1px solid var(--ligne);border-radius:999px;padding:1px 8px;font-size:13px;font-weight:700}.item-actions{border-top:1px solid var(--brume);align-items:center;gap:6px;margin-top:4px;padding:8px 0 0 6px;display:flex}.item-actions .btn-texte:first-of-type{margin-left:auto}.item.indisponible .item-nom,.item.indisponible .item-meta{color:var(--gris)}.item.indisponible .item-nom{text-decoration:line-through;text-decoration-thickness:1.5px}.barre-bas{padding:12px var(--marge) calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--ligne);z-index:5;background:#f3f5f7f5;position:fixed;bottom:0;left:0;right:0}.barre-bas .btn{max-width:608px;margin:0 auto;display:flex}.interrupteur{min-height:var(--cible);cursor:pointer;align-items:center;gap:12px;font-weight:700;display:inline-flex;position:relative}.interrupteur input{opacity:0;cursor:pointer;z-index:1;width:52px;height:32px;margin:0;position:absolute}.interrupteur-piste{background:#a7b0bc;border-radius:16px;flex:none;width:52px;height:32px;transition:background .15s;position:relative}.interrupteur-piste:after{content:"";background:var(--blanc);border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #15233b4d}.interrupteur input:checked+.interrupteur-piste{background:var(--opale)}.interrupteur input:checked+.interrupteur-piste:after{transform:translate(20px)}.interrupteur input:focus-visible+.interrupteur-piste{outline:3px solid var(--opale);outline-offset:2px}.interrupteur-compact{flex-direction:column;gap:2px;min-width:72px;padding:4px 0}.interrupteur-compact .interrupteur-texte{color:var(--gris);font-size:13px}.interrupteur-compact input{top:4px}@media (prefers-reduced-motion:reduce){.interrupteur-piste,.interrupteur-piste:after{transition:none}}.formulaire{flex-direction:column;gap:18px;display:flex}.champ{border:none;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.champ-groupe{flex-direction:column;gap:10px;display:flex}.champ-label{padding:0;font-weight:700}.champ-aide{color:var(--gris);margin:0;font-size:15px}.champ-saisie{width:100%;min-height:var(--cible);border:1.5px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);padding:10px 14px;font-size:16px}.champ-saisie:focus{border-color:var(--opale);outline:none;box-shadow:0 0 0 3px #0e748040}textarea.champ-saisie{resize:vertical;min-height:80px}select.champ-saisie{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--encre) 50%), linear-gradient(135deg, var(--encre) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:40px}.champ-code{letter-spacing:.4em;text-align:center;max-width:280px;font-size:28px;font-weight:700}.message-formulaire{border-radius:var(--rayon-petit);background:var(--danger-fond);color:var(--danger);margin:0;padding:12px 14px;font-weight:700}.actions-formulaire{flex-direction:column;gap:10px;margin-top:4px;display:flex}.supprimer-bas{align-self:center;margin-top:8px}.puces-liste{flex-wrap:wrap;gap:8px;display:flex}.puce{border:1.5px solid var(--ligne-forte);background:var(--blanc);cursor:pointer;touch-action:manipulation;border-radius:999px;min-height:44px;padding:0 14px;font-size:15px;font-weight:700}.puce[aria-pressed=true]{background:var(--encre);border-color:var(--encre);color:var(--blanc)}.puces-raccourcis .puce{min-height:40px;color:var(--opale-fonce);border-style:dashed;font-size:15px}.choix{gap:8px}.choix-option{position:relative}.choix-option input{width:22px;height:22px;accent-color:var(--encre);margin:-11px 0 0;position:absolute;top:50%;left:16px}.choix-option label{border:1.5px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);cursor:pointer;flex-direction:column;justify-content:center;min-height:56px;padding:10px 14px 10px 52px;display:flex}.choix-option input:checked+label{border-color:var(--encre);box-shadow:inset 0 0 0 1px var(--encre)}.choix-option input:focus-visible+label{outline:3px solid var(--opale);outline-offset:2px}.choix-titre{font-weight:700}.choix-aide{color:var(--gris);font-size:15px}.programmation .dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.programmation .btn-lien{align-self:flex-start;padding-left:0}.champ-case{gap:0}.page-connexion{justify-content:center;max-width:440px;min-height:100dvh}.marque{align-items:center;gap:12px;display:flex}.marque img{border-radius:12px}.marque-nom{color:var(--gris);margin:0;font-weight:700}.page-connexion .titre{font-size:40px}.connexion-zone{flex-direction:column;gap:18px;display:flex}.intro{color:var(--gris);margin:0}.intro strong{color:var(--encre);overflow-wrap:anywhere}.pied{border-top:1px solid var(--ligne);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:20px;display:flex}.pied .btn-lien:last-child{margin-left:auto}.selecteur-client{max-width:360px}.liste-clients{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.client{background:var(--blanc);border-radius:var(--rayon);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.client-infos{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.client-nom{font-family:var(--titre);font-size:19px;font-weight:800}.client-meta{color:var(--gris);flex-wrap:wrap;gap:4px 12px;font-size:15px;display:flex}.client-meta code{background:var(--brume);border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.client-actions{flex-wrap:wrap;gap:8px;display:flex}@media (min-width:720px){.titre{font-size:36px}.client{flex-direction:row;justify-content:space-between;align-items:center}.actions-formulaire{flex-direction:row-reverse;justify-content:flex-start}.actions-formulaire .btn-large{width:auto;min-width:180px}.page-admin .formulaire{max-width:560px}}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);border-radius:var(--rayon-petit);background:var(--encre);max-width:calc(100% - 32px);color:var(--blanc);opacity:0;pointer-events:none;z-index:20;text-align:center;padding:12px 18px;font-weight:700;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.toast.visible{opacity:1;transform:translate(-50%)}.toast[data-type=erreur]{background:var(--danger)}.dialogue{border-radius:var(--rayon);width:min(420px,100% - 32px);color:var(--encre);border:none;padding:22px}.dialogue::backdrop{background:#15233b73}.dialogue-texte{margin:0 0 20px;font-size:17px;font-weight:700}.dialogue .actions-ligne{justify-content:flex-end}.erreur-page h1{margin-bottom:8px}
