:root{--paie-especes: #12b76a;--paie-especes-pale: #dcfae6;--paie-especes-texte: #067647;--paie-especes-plein: #067647;--paie-cb: #2e90fa;--paie-cb-pale: #d1e9ff;--paie-cb-texte: #175cd3;--paie-cb-plein: #175cd3;--paie-gr: #f79009;--paie-gr-pale: #fef0c7;--paie-gr-texte: #b54708;--paie-gr-plein: #b54708;--paie-cheque: #9e77ed;--paie-cheque-pale: #ebe9fe;--paie-cheque-texte: #6941c6;--paie-cheque-plein: #6941c6;--paie-credit: #ee46bc;--paie-credit-pale: #fce7f6;--paie-credit-texte: #c11574;--paie-credit-plein: #c11574;--paie-virement: #06aed4;--paie-virement-pale: #cff9fe;--paie-virement-texte: #0e7090;--paie-virement-plein: #0e7090;--paie-autre: #98a2b3;--paie-autre-pale: #eaecf0;--paie-autre-texte: #475467;--paie-autre-plein: #475467}:root{--fond: #f2f6fc;--carte: #ffffff;--trait: #cfdcee;--texte: #0d1f33;--doux: #55697f;--accent: #1257d6;--accent-fonce: #0e46ad;--bleu-nuit: #12325c;--accent-pale: #e6efff;--vert: #127a4a;--ambre: #92400e;--rouge: #c0322f;--rouge-pale: #fdeceb}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{height:100%;overflow:hidden;background:var(--fond);color:var(--texte);font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none;touch-action:manipulation}.borne{height:100vh;height:100svh;height:100dvh;display:flex;flex-direction:column}.ecran{flex:1;min-height:0;display:flex;flex-direction:column}.ecran.centre{align-items:center;gap:1.5rem;padding:1.5rem;overflow-y:auto}.ecran.centre>:first-child{margin-top:auto}.ecran.centre>:last-child{margin-bottom:auto}.cache{display:none!important}.entete{text-align:center}.entete .site{font-size:clamp(1.8rem,8vw,2.8rem);font-weight:800;line-height:1.1;color:var(--accent);letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:.2rem}.entete .heure{font-size:clamp(2.8rem,11vw,5rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.entete .date{color:var(--doux)}.entete .date:first-letter{text-transform:uppercase}.portes{display:grid;grid-auto-rows:1fr;gap:1rem;width:min(420px,92vw)}.porte{display:grid;align-content:center;gap:.25rem;padding:1.5rem 1.2rem;border:0;border-radius:16px;background:var(--accent);color:#fff;cursor:pointer;text-align:left;box-shadow:0 2px 10px #1257d638}.porte:active{background:var(--accent-fonce)}.porte-titre{font-size:1.35rem;font-weight:700}.porte-sous{font-size:.92rem;opacity:.85}.porte.creuse{background:var(--carte);color:var(--texte);border:1px solid var(--trait);box-shadow:none}.porte.creuse .porte-titre{color:var(--accent)}.porte.creuse .porte-sous{color:var(--doux);opacity:1}.porte.creuse:active{background:var(--accent-pale)}.porte.muette{min-height:4.5rem;background:var(--bleu-nuit);box-shadow:0 2px 10px #0b1f3840}.porte.muette:active{background:#0a1a2e}.pointes{display:grid;gap:.5rem;width:min(420px,92vw)}.pointes h2{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--doux)}.pointes .compte{min-width:1.7rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent-pale);color:var(--accent);text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums}.pointes ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.4rem}.pointes li{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;min-width:0;padding:.5rem .75rem;border:1px solid var(--trait);border-radius:10px;background:var(--carte)}.pointes .qui{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.pointes .quand{flex:none;color:var(--doux);font-size:.9rem;font-variant-numeric:tabular-nums}.pointes .vide{color:var(--doux);font-size:.92rem}.liste-voitures{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.8rem}.liste-voitures ul{list-style:none;display:grid;gap:.5rem;max-width:1100px;margin:0 auto}.liste-voitures li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.3rem .8rem;padding:.6rem .8rem;border:1px solid var(--trait);border-radius:12px;background:var(--carte)}.liste-voitures .quand{color:var(--doux);font-variant-numeric:tabular-nums;font-size:.95rem}.liste-voitures li.passee{border-left:3px solid var(--trait-fort)}.liste-voitures .quand small{display:block;font-size:.78rem;font-weight:600}.liste-voitures .quoi{display:grid;min-width:0}.liste-voitures .quoi b{font-size:1.05rem;font-weight:700}.liste-voitures .compte{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;border-radius:999px;background:var(--fond);color:var(--doux);font-size:.78rem;font-weight:700;vertical-align:.05em}.liste-voitures .compte.antenne{background:#fdf0c3;color:#7a5c00}.liste-voitures .quoi small{color:var(--doux);font-size:.88rem}.liste-voitures .quoi em{color:var(--ambre);font-size:.88rem;font-style:normal}.liste-voitures .combien{display:grid;justify-items:end;gap:.25rem;font-variant-numeric:tabular-nums;white-space:nowrap}.liste-voitures .combien>b{font-weight:700}.liste-voitures .reglement{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.encaisse{display:grid;gap:.5rem;max-width:1100px;margin:0 auto .7rem;padding:.7rem .8rem;border:1px solid var(--trait);border-radius:12px;background:var(--carte)}.encaisse-tete{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;color:var(--doux)}.encaisse-tete b{font-size:1.5rem;font-weight:700;color:var(--texte);font-variant-numeric:tabular-nums}.moyens{display:flex;flex-wrap:wrap;gap:.35rem}.moyen{display:inline-flex;align-items:baseline;gap:.35rem;padding:.25rem .6rem;border-radius:999px;font-size:.88rem;font-weight:600}.moyen b{font-variant-numeric:tabular-nums}.paie{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.82rem;font-weight:600}.paie-especes,.moyen.paie-especes{background:var(--paie-especes-pale);color:var(--paie-especes-texte)}.paie-cb,.moyen.paie-cb{background:var(--paie-cb-pale);color:var(--paie-cb-texte)}.paie-gr,.moyen.paie-gr{background:var(--paie-gr-pale);color:var(--paie-gr-texte)}.paie-cheque,.moyen.paie-cheque{background:var(--paie-cheque-pale);color:var(--paie-cheque-texte)}.paie-credit,.moyen.paie-credit{background:var(--paie-credit-pale);color:var(--paie-credit-texte)}.paie-virement,.moyen.paie-virement{background:var(--paie-virement-pale);color:var(--paie-virement-texte)}.paie-autre,.moyen.paie-autre{background:var(--paie-autre-pale);color:var(--paie-autre-texte)}.chercher-plaque{position:relative;max-width:1100px;margin:0 auto .5rem}.chercher-plaque .champ{padding-right:3.2rem;text-transform:uppercase}.chercher-plaque .champ::placeholder{text-transform:none}.chercher-plaque .champ::-webkit-search-cancel-button{display:none}.vider-plaque{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:grid;place-items:center;width:2.7rem;height:2.7rem;border:0;border-radius:10px;background:none;color:var(--doux);font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}.compte-plaque{max-width:1100px;margin:-.2rem auto .5rem;color:var(--doux);font-size:.92rem}.liste-voitures .vide{color:var(--doux);text-align:center;padding:1.5rem .8rem}@media(min-width:700px){.liste-voitures{padding:1.1rem}}.points{display:flex;gap:.75rem;height:1.5rem}.points span{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--trait);background:var(--carte)}.points span.plein{background:var(--accent);border-color:var(--accent)}.ecran.acces .entete .date{color:var(--bleu-nuit);font-weight:700;font-size:1.1rem}.ecran.acces .points span.plein{background:var(--bleu-nuit);border-color:var(--bleu-nuit)}.pave{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:min(340px,90vw)}.pave button{aspect-ratio:1.4;font-size:1.9rem;font-weight:600;color:var(--texte);background:var(--carte);border:1px solid var(--trait);border-radius:14px;cursor:pointer;box-shadow:0 1px 2px #0d1f330f}.pave button:active{background:var(--accent-pale);border-color:var(--accent)}.pave button.efface{font-size:1.15rem;color:var(--doux);box-shadow:none}.action{width:100%;padding:1.1rem;font-size:1.25rem;font-weight:700;border:0;border-radius:14px;cursor:pointer;color:#fff;background:var(--accent);box-shadow:0 2px 6px #1257d63d}.action:active{background:var(--accent-fonce)}.action:disabled{background:var(--trait);color:var(--doux);box-shadow:none;cursor:not-allowed}.action.attente{background:var(--carte);color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}.action.attente:active{background:var(--accent-pale)}.action.secondaire{width:min(340px,90vw);padding:.9rem;font-size:1rem;background:var(--carte);color:var(--accent);border:1px solid var(--trait);box-shadow:none}.message{min-height:1.4rem;text-align:center;color:var(--rouge);font-weight:600}.confirmation{text-align:center;display:grid;gap:.4rem}.confirmation .grand{font-size:clamp(2rem,9vw,3rem);font-weight:700;color:var(--vert)}.confirmation.erreur .grand{color:var(--rouge);font-size:clamp(1.6rem,7vw,2.4rem)}.confirmation .date:empty{display:none}.scene{flex:1;min-height:0;display:grid;place-items:center;padding:1.5rem;overflow-y:auto}.carton{width:100%;max-width:26rem;display:grid;gap:.7rem;padding:1.6rem 1.4rem;background:var(--carte);border:1px solid var(--trait);border-radius:18px;box-shadow:0 1px 2px #0d1f330f,0 18px 40px -24px #0d1f3373}.legende-carton{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--doux)}.alerte{display:grid;gap:.2rem;padding:.8rem .9rem;border-radius:12px;background:var(--rouge-pale);border:1px solid var(--rouge);font-size:.92rem;line-height:1.35}.alerte b{color:var(--rouge);font-weight:700}.alerte span{color:var(--doux)}.ardoise-tete{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1rem;background:var(--carte);border-bottom:1px solid var(--trait)}.ardoise-tete .site{font-size:.95rem;font-weight:700;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.ardoise-tete .heure-petite{font-variant-numeric:tabular-nums;color:var(--doux);font-size:.92rem;white-space:nowrap}.retour{min-height:44px;padding:0 .9rem;font-size:.95rem;font-weight:600;color:var(--doux);background:transparent;border:1px solid var(--trait);border-radius:10px;cursor:pointer}.ardoise{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.8rem}.bloc.manquant{border-color:var(--rouge);box-shadow:0 0 0 3px #c0322f26}.bloc.manquant legend{color:var(--rouge)}.champ{width:100%;min-height:48px;padding:.7rem .8rem;font:inherit;font-size:1rem;color:var(--texte);background:var(--fond);border:1.5px solid var(--trait);border-radius:11px}.champ::placeholder{color:var(--doux)}.champ:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.ardoise-pied{border-top:1px solid var(--trait);background:var(--carte);padding:.6rem .8rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px));display:grid;gap:.45rem;box-shadow:0 -2px 14px #0d1f3314}.ardoise-pied .message{min-height:0}.ardoise-pied .message:empty{display:none}.ardoise-pied .action{padding:.8rem;font-size:1.1rem}.somme{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.somme-detail{font-size:.92rem;color:var(--doux)}.somme b{font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}@media(min-width:700px){.ardoise{padding:1.1rem}.ardoise-pied{padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom,0px))}.ardoise-pied .action{padding:1rem;font-size:1.2rem}}@media(min-width:900px){.ardoise>*,.ardoise-pied>*{max-width:1100px;width:100%;margin-left:auto;margin-right:auto}}
