:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fond:#10161d;--surface:#1a232d;--surface-haute:#232f3b;--bordure:#2a3644;--texte:#eef2f6;--texte-discret:#93a1b0;--accent:#2a5ca7;--succes:#24523a;--alerte:#6e2620;--attention:#8a5a1a}*{box-sizing:border-box}html,body{background:var(--fond);height:100%;color:var(--texte);touch-action:manipulation;-webkit-text-size-adjust:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{height:100%}h1{margin:0 0 12px;font-size:1.6rem}h2{margin:16px 0 8px;font-size:1.05rem}h3{text-transform:uppercase;letter-spacing:.05em;color:var(--texte-discret);margin:20px 0 8px;font-size:.9rem}h4{color:var(--texte-discret);margin:14px 0 6px;font-size:.85rem}.plein{min-height:100vh;padding:16px}.centre{justify-content:center;align-items:center;display:flex}.colonne{flex-direction:column;gap:16px}.centre-texte{text-align:center}.discret{color:var(--texte-discret);font-size:.9rem}.mono{font-family:ui-monospace,monospace;font-size:.8rem}.grand{font-size:1.4rem}.erreur{color:#e8837a}.carte-login{background:var(--surface);text-align:center;border-radius:16px;width:100%;max-width:360px;padding:24px}.pin-points{justify-content:center;gap:14px;margin:20px 0;display:flex}.pin-point{border:2px solid var(--bordure);border-radius:50%;width:16px;height:16px}.pin-point.rempli{background:var(--texte);border-color:var(--texte)}.pavier{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.touche{background:var(--surface-haute);min-height:64px;color:var(--texte);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:flex}.touche:active{background:var(--accent)}.touche.discrete{background:var(--fond);color:var(--texte-discret)}.champ{text-align:left;margin-bottom:12px;display:block}.champ span{color:var(--texte-discret);margin-bottom:4px;font-size:.85rem;display:block}input,select{border:1px solid var(--bordure);background:var(--fond);width:100%;color:var(--texte);border-radius:10px;padding:12px;font-size:1rem}input[type=color]{height:46px;padding:4px}input[type=checkbox]{width:20px;height:20px}.btn{background:var(--surface-haute);min-height:46px;color:var(--texte);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:1rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.principal{background:var(--accent)}.btn.discret{color:var(--texte-discret);background:0 0;font-weight:500}.btn.lien{color:var(--texte-discret);background:0 0;text-decoration:underline}.btn.alerte{background:var(--alerte)}.btn.annuler{letter-spacing:.06em;background:#c0392b;border-radius:0;min-height:56px}.caisse{flex-direction:column;height:100vh;display:flex}.barre{background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.barre-titre{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.barre-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pastille{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:8px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.pastille.sync{background:var(--accent)}.pastille.hors-ligne{background:var(--attention)}.bandeau{text-align:center;width:100%;color:var(--texte);cursor:pointer;border:none;padding:12px;font-size:.95rem}.bandeau.succes{background:var(--succes)}.bandeau.bloc{text-align:left;line-height:1.6}.erreur-bandeau{background:var(--alerte)}.bandeau-licence{background:var(--alerte);border-radius:10px;padding:12px;font-size:.95rem;line-height:1.4}.grille{flex:1;padding:12px;overflow-y:auto}.produits{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.produit{border:2px solid var(--bordure);background:var(--surface);min-height:84px;color:var(--texte);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;justify-content:space-between;gap:6px;padding:10px 8px;display:flex;position:relative}.produit:active{transform:scale(.97)}.produit.au-panier{background:var(--surface-haute)}.produit.epuise{opacity:.4}.produit-nom{font-size:.9rem;line-height:1.2}.produit-prix{font-weight:700}.badge{background:var(--accent);border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 6px;font-size:.85rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.barre-panier{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface)}.btn.payer{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;min-height:64px;font-size:1.15rem;font-weight:700}.btn.payer:disabled{background:var(--surface-haute);color:var(--texte-discret)}.voile{z-index:20;background:#0009;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.modale{background:var(--surface);border-radius:14px;flex-direction:column;width:min(96vw,560px);max-height:92vh;display:flex;overflow-y:auto}.modale-total{background:var(--accent);text-align:center;padding:16px;font-size:1.4rem}.recap{margin:0;padding:12px;list-style:none}.recap li{border-bottom:1px solid var(--bordure);align-items:center;gap:10px;padding:6px 0;display:flex}.recap-nom{flex:1}.btn-moins{background:var(--surface-haute);width:34px;height:34px;color:var(--texte);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.paiements{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:0 12px 12px;display:grid}.btn.paiement{flex-direction:column;gap:6px;min-height:92px}.mode-cash{background:#2f6d4a}.mode-card{background:#2a5ca7}.mode-voucher{background:#7a5aa8}.mode-free{background:#8a5a1a}.liste{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.carte{background:var(--surface);border-radius:12px;padding:12px}.carte.cliquable{color:var(--texte);text-align:left;cursor:pointer;border:none;flex-direction:column;align-items:flex-start;gap:4px;font-size:1rem;display:flex}.carte.annulation{border-left:4px solid #c0392b}.carte.inactif{opacity:.5}.carte-tete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.mention{color:#e8837a;margin-top:6px;font-size:.85rem}.onglets{background:var(--surface);gap:6px;padding:10px 12px 0;display:flex;overflow-x:auto}.onglet{background:var(--surface-haute);min-width:max-content;color:var(--texte-discret);cursor:pointer;white-space:nowrap;border:none;border-radius:10px 10px 0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 14px;font-size:.95rem;font-weight:600;display:inline-flex}.onglet.actif{background:var(--fond);color:var(--texte)}.ligne-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ligne-form input,.ligne-form select{flex:1;min-width:140px}.ligne-form .court{flex:0 120px;min-width:100px}.ligne-form input[type=color]{flex:0 0 52px;min-width:52px}.champ-date{color:var(--texte-discret);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:.9rem;display:flex}.champ-date input{background:0 0;border:none;padding:12px 0}.cases{flex-wrap:wrap;gap:8px;display:flex}.case{background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:.95rem;display:flex}.detail-tete{background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.tableau{border-collapse:collapse;width:100%;margin:8px 0;font-size:.9rem}.tableau th,.tableau td{text-align:right;border-bottom:1px solid var(--bordure);padding:8px}.tableau th:first-child,.tableau td:first-child{text-align:left}.tableau th{color:var(--texte-discret);font-size:.8rem}.tableau .total td{border-bottom:none;font-weight:700}.chiffres{flex-wrap:wrap;gap:10px;display:flex}.chiffre{background:var(--surface);text-align:center;border-radius:12px;flex:1;min-width:130px;padding:14px}.chiffre .valeur{font-size:1.4rem;font-weight:700;display:block}.chiffre .libelle{color:var(--texte-discret);margin-top:4px;font-size:.8rem;display:block}.histogramme{background:var(--surface);border-radius:12px;align-items:flex-end;gap:4px;height:140px;padding:10px;display:flex;overflow-x:auto}.barre{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:30px;height:100%;display:flex}.barre-valeur{background:var(--accent);border-radius:4px 4px 0 0;width:100%}.barre-libelle{color:var(--texte-discret);margin-top:4px;font-size:.7rem}.entete-client{width:100%;color:var(--texte);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:0 0 8px;font-size:1rem;display:flex}.badge-statut,.badge{white-space:nowrap}.badge.statut-active{background:var(--succes);border-radius:999px;height:auto;padding:6px 12px;font-size:.8rem;position:static}.badge.statut-expiring{background:var(--attention);border-radius:999px;height:auto;padding:6px 12px;font-size:.8rem;position:static}.badge.statut-expired{background:var(--alerte);border-radius:999px;height:auto;padding:6px 12px;font-size:.8rem;position:static}.badge.statut-suspended{background:#4a2e5e;border-radius:999px;height:auto;padding:6px 12px;font-size:.8rem;position:static}.usage{color:var(--texte-discret);border-top:1px solid var(--bordure);flex-wrap:wrap;gap:6px 14px;padding-top:8px;font-size:.85rem;display:flex}.secret{background:#00000040;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;display:flex}.secret-texte{flex-direction:column;gap:2px;min-width:0;display:flex}.secret-libelle{text-transform:uppercase;letter-spacing:.05em;opacity:.75;font-size:.78rem}.secret-valeur{word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,monospace;font-size:1.25rem;font-weight:700}.btn.secret-copier{background:var(--surface-haute);flex-shrink:0;min-height:40px;padding:8px 14px;font-size:.9rem}.btn.secret-copier.copie{background:var(--succes)}.bandeau-tete{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.ligne-compte{border-bottom:1px solid var(--bordure);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.ligne-compte:last-child{border-bottom:none}.liste{width:100%;max-width:1100px;margin:0 auto}.onglets,.barre,.detail-tete{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}.bandeau{max-width:1100px;margin-left:auto;margin-right:auto}.produit-titre{align-items:center;gap:10px;min-width:0;display:flex}.fleches{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.btn.fleche{background:var(--surface-haute);border-radius:6px;min-height:26px;padding:2px 8px}.bandeau.intervention{background:var(--attention);font-size:.9rem}.pastille.caisse{background:var(--surface-haute);letter-spacing:.05em;margin-left:8px;font-family:ui-monospace,monospace}.caisses-rapides{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:12px 0;display:grid}.btn.caisse-bouton{flex-direction:column;gap:2px;min-height:64px;font-family:ui-monospace,monospace;font-size:1.2rem}.bandeau.ecole{background:var(--attention);justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.btn.discret.attention{background:var(--attention);color:var(--texte)}
