:root{--anthracite:#6f7076;--orange:#f39c1f;--sable:#f4cd98;--blanc:#fff;color:var(--sable);background:var(--anthracite);-webkit-font-smoothing:antialiased;font-family:Jost,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--anthracite);min-height:100dvh;margin:0}.accueil{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px 16px;display:flex}.logo{width:160px;height:160px}h1{letter-spacing:.02em;margin:0;font-size:28px;font-weight:500}.statut{color:var(--orange);margin:0;font-size:14px}.test{margin-top:16px;font-size:15px;line-height:1.6}.test p{margin:0}.test strong{color:var(--blanc);font-weight:500}.erreur{color:var(--orange)}.ecran-client{--encre:#2e2f33;--encre-douce:#55565c;--fond:#fbf7f1;--bord:#cfc6b8;--chip:#f1eadf;--rouge:#a93226;background:var(--fond);min-height:100dvh;color:var(--encre);flex-direction:column;display:flex}.entete{background:var(--anthracite);padding:calc(24px + env(safe-area-inset-top)) 20px 72px;align-items:center;gap:16px;display:flex}.entete img{flex-shrink:0;width:104px;height:104px}.entete div{flex-direction:column;gap:6px;min-width:0;display:flex}.entete-titre{color:var(--blanc);font-size:26px;font-weight:600;line-height:1.05}.entete-sous-titre{color:var(--blanc);font-size:17px;font-weight:500}.contenu{width:100%;max-width:480px;padding:0 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex-grow:1;gap:14px;margin:-52px auto 0;display:flex}.carton{background:var(--blanc);border-radius:20px;flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 1px 2px #2e2f3314,0 8px 24px #2e2f3314}.carton h2{margin:0;font-size:22px;font-weight:600}.carton p{margin:0;line-height:1.4}.discret{color:var(--encre-douce);font-size:15px}.bandeau-ok{color:#1f6b3e;background:#eaf6ef;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.bandeau-ok svg{flex-shrink:0}.champ{flex-direction:column;gap:6px;min-width:0;display:flex}.champ>label{font-size:15px;font-weight:600}.ecran-client input[type=text],.ecran-client input[type=email],.ecran-client input[type=tel],.ecran-client input[type=password]{border:1.5px solid var(--bord);background:var(--blanc);width:100%;min-height:50px;color:var(--encre);border-radius:12px;padding:0 14px;font-family:inherit;font-size:17px}.ecran-client input::placeholder{color:#9a9ba1}.ecran-client input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}.ecran-client input[aria-invalid=true]{background:#fff6f5;border:2px solid #c0392b}.ligne-tel{gap:8px;display:flex}.indicatif{background:var(--chip);border-radius:12px;align-items:center;min-height:50px;padding:0 12px;font-size:17px;font-weight:500;display:flex}.saisie-code{letter-spacing:.12em}.deux-colonnes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.champ>label.case{cursor:pointer;align-items:flex-start;gap:12px;font-size:15px;font-weight:400;line-height:1.4;display:flex}.case input{width:22px;height:22px;accent-color:var(--orange);flex-shrink:0;margin:0}.case a,.ecran-client a{color:#3e3f44}.erreur-champ{color:#b42318;background:#fdecea;border:2px solid #c0392b;border-radius:12px;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;font-size:16px;font-weight:600;line-height:1.35;display:flex}.erreur-champ svg{flex-shrink:0;margin-top:-1px}.saisie-pin{letter-spacing:.3em}.saisie-pin:placeholder-shown{letter-spacing:normal}.champ-pin{position:relative}.ecran-client .champ-pin input{padding-right:46px}.oeil{color:#55565c;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:46px;height:100%;display:flex;position:absolute;top:0;right:0}.note{color:var(--encre-douce);align-items:flex-start;gap:10px;margin:0;font-size:14px;line-height:1.35;display:flex}.note svg{color:var(--anthracite);flex-shrink:0;margin-top:1px}.espace{flex-grow:1}.bouton-principal{background:var(--orange);min-height:56px;color:var(--encre);cursor:pointer;border:0;border-radius:14px;font-family:inherit;font-size:18px;font-weight:600}.bouton-principal:disabled{opacity:.6;cursor:default}.succes h2{color:var(--encre)}.carte-titre{justify-content:space-between;align-items:baseline;display:flex}.carte-titre h2{font-size:18px}.carte-titre span{color:var(--encre-douce);font-size:15px}.carte-titre b{color:var(--encre);font-size:22px;font-weight:700}.tampons{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.tampon{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;display:flex}.tampon.plein{background:var(--orange);color:var(--encre)}.tampon.vide{color:#8a6a3a;background:#fdf6ec;border:2px dashed #e3b877;font-size:15px;font-weight:600}.discret b{color:var(--encre)}.carte-offerte{background:var(--orange);color:var(--encre);border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 8px 24px #f39c1f4d}.carte-offerte h1{margin:0 0 4px;font-size:20px;font-weight:700;line-height:1.2}.carte-offerte p{color:#3a2a10;margin:0;font-size:14px;line-height:1.35}.carte-offerte-icone{background:var(--blanc);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.carte-qr{align-items:center;padding:16px 12px}.carte-qr h2{color:var(--encre-douce);font-size:15px;font-weight:500}.qr{aspect-ratio:1;width:100%;max-width:380px;color:var(--anthracite);background:var(--blanc);border:1px solid #ece6dc;border-radius:14px;display:block}.qr-attente{background:#f6f2ec}.carte-suspendue{text-align:center;flex-direction:column;gap:8px;padding:12px 0;display:flex}.carte-suspendue h2{color:#b42318;font-size:20px;font-weight:700}.horloge{color:var(--encre-douce);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:14px;display:flex}.horloge b{color:var(--encre);font-variant-numeric:tabular-nums;font-weight:600}.pastille{background:#2e9d5b;border-radius:50%;width:8px;height:8px;transition:opacity .3s}.pastille.eteinte{opacity:.35}.nav-client{background:var(--blanc);padding:8px 8px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #ece6dc;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:sticky;bottom:0}.nav-client a{min-height:48px;color:var(--encre-douce);flex-direction:column;align-items:center;gap:4px;padding:6px 0;font-size:12px;font-weight:500;text-decoration:none;display:flex}.nav-client a[aria-current=page]{color:var(--encre);font-weight:600}.nav-client a[aria-current=page] svg{color:var(--orange)}.lien-secondaire{text-align:center;min-height:44px;color:var(--encre-douce);justify-content:center;align-items:center;font-size:15px;display:flex}.ecran-client .lien-secondaire{color:var(--encre-douce)}.alerte-telephone{border:2px solid #c0392b}.alerte-telephone h2{color:#b42318;font-size:18px}.bouton-whatsapp{min-height:52px;color:var(--blanc);background:#1f7a4d;border-radius:14px;justify-content:center;align-items:center;font-size:17px;font-weight:600;text-decoration:none;display:flex}.ecran-client .bouton-whatsapp{color:var(--blanc)}.inactif{opacity:.55;cursor:default}.bouton-lien{cursor:pointer;background:0 0;border:0;font-family:inherit;text-decoration:underline}.code-genere{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.code-genere span{color:var(--encre-douce);font-size:14px}.code-genere b{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.apercu-message{color:#1e3a24;white-space:pre-line;overflow-wrap:anywhere;background:#e7f6e9;border-radius:12px 12px 12px 4px;padding:12px 14px;font-size:14px;line-height:1.4}.onglets{background:var(--chip);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid;position:relative}.onglets button{min-height:44px;color:var(--encre);cursor:pointer;background:0 0;border:0;border-radius:10px;font-family:inherit;font-size:15px;font-weight:600}.onglets button[aria-selected=true]{background:var(--blanc);box-shadow:0 1px 2px #2e2f331f}.scan{aspect-ratio:3/4;background:#26272b;border-radius:20px;width:100%;max-height:60vh;position:relative;overflow:hidden}.scan video{object-fit:cover;width:100%;height:100%;display:block}.scan p{text-align:center;color:var(--blanc);text-shadow:0 1px 3px #0009;margin:0;font-size:15px;position:absolute;bottom:16px;left:0;right:0}.scan-cadre{aspect-ratio:1;width:62%;height:auto;margin:auto;position:absolute;inset:0}.scan-cadre span{border:5px solid var(--orange);width:22%;height:22%;position:absolute}.scan-cadre span:first-child{border-bottom:0;border-right:0;border-top-left-radius:14px;top:0;left:0}.scan-cadre span:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:14px;top:0;right:0}.scan-cadre span:nth-child(3){border-top:0;border-right:0;border-bottom-left-radius:14px;bottom:0;left:0}.scan-cadre span:nth-child(4){border-top:0;border-left:0;border-bottom-right-radius:14px;bottom:0;right:0}.bouton-secondaire{border:1.5px solid var(--bord);background:var(--blanc);min-height:48px;color:var(--encre);cursor:pointer;border-radius:14px;font-family:inherit;font-size:16px;font-weight:500}.client-caisse{justify-content:space-between;align-items:center;gap:12px;display:flex}.client-caisse div{flex-direction:column;gap:2px;min-width:0;display:flex}.client-caisse div b{font-size:20px;font-weight:700}.client-caisse div span,.client-caisse>span{color:var(--encre-douce);font-size:14px}.client-caisse>span b{color:var(--encre);font-size:22px}.jauge{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;display:grid}.jauge i{background:var(--chip);border-radius:5px;height:10px}.jauge i.pleine{background:var(--orange)}.info-offerte{color:#6b4510;background:#fdf0dc;border-radius:12px;margin:0;padding:10px 14px;font-size:15px;font-weight:600}.libelle{font-size:15px;font-weight:600}.compteur{justify-content:space-between;align-items:center;gap:12px;display:flex}.compteur button{border:1.5px solid var(--bord);background:var(--blanc);width:64px;height:64px;color:var(--encre);cursor:pointer;border-radius:16px;font-family:inherit;font-size:30px}.compteur button.plus{background:var(--anthracite);color:var(--blanc);border:0}.compteur output{text-align:center;font-variant-numeric:tabular-nums;flex-grow:1;font-size:48px;font-weight:700}.resultat-caisse{text-align:center;align-items:center;padding-block:28px}.resultat-caisse h2{font-size:24px;font-weight:700}.resultat-caisse p{color:var(--encre-douce);font-size:17px}.resultat-caisse p b{color:var(--encre)}.pastille-resultat{width:96px;height:96px;color:var(--blanc);border-radius:50%;justify-content:center;align-items:center;display:flex}.pastille-resultat.ok{background:#2e9d5b}.pastille-resultat.refus{background:#c0392b}
