:root{--fond:#fff;--texte:#1f2937;--discret:#6b7280;--carte:#f3f4f6;--bordure:#d1d5db;--accent:#0f766e;--sur-accent:#fff;--alerte:#b91c1c;--alerte-fond:#fef2f2;--attention:#92400e;--attention-fond:#fffbeb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--texte);background:var(--fond);font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--fond:#111827;--texte:#f9fafb;--discret:#9ca3af;--carte:#1f2937;--bordure:#374151;--accent:#2dd4bf;--sur-accent:#042f2e;--alerte:#fca5a5;--alerte-fond:#450a0a;--attention:#fcd34d;--attention-fond:#451a03;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--fond:#111827;--texte:#f9fafb;--discret:#9ca3af;--carte:#1f2937;--bordure:#374151;--accent:#2dd4bf;--sur-accent:#042f2e;--alerte:#fca5a5;--alerte-fond:#450a0a;--attention:#fcd34d;--attention-fond:#451a03;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--fond);padding-bottom:calc(64px + env(safe-area-inset-bottom));margin:0}main{max-width:720px;margin:0 auto;padding:16px}h1{margin:0 0 16px;font-size:1.4rem}h2{color:var(--discret);margin:24px 0 8px;font-size:1rem;font-weight:600}input,select,button{font:inherit;color:inherit}input[type=search],input[type=text],input[type=tel],input[type=date],input[type=number],select{border:1px solid var(--bordure);background:var(--fond);border-radius:10px;width:100%;min-height:44px;padding:8px 12px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bouton{border:1px solid var(--bordure);background:var(--carte);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.bouton.principal{background:var(--accent);color:var(--sur-accent);border-color:var(--accent)}.bouton:disabled{opacity:.6;cursor:progress}.bouton.large{width:100%;margin-top:12px;display:flex}.icone{border:1px solid var(--bordure);background:var(--fond);cursor:pointer;border-radius:10px;flex:none;width:44px;height:44px;font-size:1.1rem}.icone:disabled{opacity:.4;cursor:default}.nav{background:var(--carte);border-top:1px solid var(--bordure);padding-bottom:env(safe-area-inset-bottom);z-index:10;display:flex;position:fixed;inset:auto 0 0}.nav a{text-align:center;color:var(--discret);flex:1;padding:14px 8px;font-size:.9rem;font-weight:600;text-decoration:none}.nav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.tuiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tuile{background:var(--carte);border:1px solid #0000;border-radius:12px;gap:4px;padding:12px;display:grid}.tuile span{color:var(--discret);font-size:.85rem}.tuile strong{font-variant-numeric:tabular-nums;font-size:1.1rem}.barre{background:var(--carte);border-radius:5px;height:10px;overflow:hidden}.barre>div{background:var(--accent);height:100%}.liste{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.vide{color:var(--discret);margin:0;padding:8px 0}.produit{text-align:left;border:1px solid var(--bordure);background:var(--fond);cursor:pointer;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;width:100%;min-height:56px;padding:10px 12px;display:grid;position:relative}.produit:active{background:var(--carte)}.produit .nom{font-weight:600}.produit .prix{font-variant-numeric:tabular-nums}.produit .stock{color:var(--discret);grid-column:1;font-size:.85rem}.produit .pastille{background:var(--accent);color:var(--sur-accent);border-radius:999px;grid-area:2/2;justify-self:end;padding:0 8px;font-size:.85rem;font-weight:700}.stock.attention{color:var(--attention)}.stock.alerte{color:var(--alerte);font-weight:600}.ligne{background:var(--carte);border-radius:12px;padding:10px 12px}.ligne-haut{justify-content:space-between;align-items:center;gap:8px;display:flex}.ligne-haut .nom{font-weight:600}.ligne-haut .icone{width:36px;height:36px;color:var(--discret);background:0 0;border:none}.ligne-bas{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;display:flex}.quantite{align-items:center;gap:4px;display:flex}.quantite input{text-align:center;width:56px;padding:8px 4px}.prix-unitaire{color:var(--discret);align-items:center;gap:6px;display:flex}.prix-unitaire input{text-align:right;width:110px;color:var(--texte)}.total-ligne{font-variant-numeric:tabular-nums;margin-left:auto}.note{color:var(--discret);margin:6px 0 0;font-size:.85rem}.note.attention{color:var(--attention);background:var(--attention-fond);border-radius:8px;padding:6px 8px}.note.alerte{color:var(--alerte);background:var(--alerte-fond);border-radius:8px;padding:6px 8px}.modes{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mode{position:relative}.mode input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.mode span{border:1px solid var(--bordure);text-align:center;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 8px;font-weight:600;display:flex}.mode input:checked+span{background:var(--accent);color:var(--sur-accent);border-color:var(--accent)}.mode input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.champs{gap:12px;margin-top:16px;display:grid}.champs label{color:var(--discret);gap:4px;font-size:.9rem;display:grid}.champs label>*{color:var(--texte)}.erreurs{color:var(--alerte)}.erreurs ul{background:var(--alerte-fond);border-radius:10px;margin:16px 0 0;padding:10px 12px 10px 28px}.pied-vente{bottom:calc(52px + env(safe-area-inset-bottom));background:var(--fond);border-top:1px solid var(--bordure);justify-content:space-between;align-items:center;gap:12px;margin:16px -16px 0;padding:12px 16px;display:flex;position:sticky}.pied-vente>div{display:grid}.pied-vente span{color:var(--discret);font-size:.85rem}.pied-vente strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.confirmation{text-align:center;padding-top:32px}.confirmation .coche{background:var(--accent);width:64px;height:64px;color:var(--sur-accent);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:2rem;font-weight:700;display:grid}.confirmation .montant{font-variant-numeric:tabular-nums;margin:0;font-size:1.8rem;font-weight:700}.entete{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.entete h1{margin:0}.retour{color:var(--accent);margin-bottom:4px;padding:8px 0;font-weight:600;text-decoration:none;display:inline-block}a.produit{color:inherit;text-decoration:none}.produit .marge{color:var(--discret);justify-self:end;font-size:.85rem}.produit .marge.alerte,.tuile .alerte{color:var(--alerte)}.tuile .attention{color:var(--attention)}a.tuile.lien{color:inherit;border:1px solid #0000;text-decoration:none}a.tuile.lien:hover{border-color:var(--bordure)}.filtres{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.filtre{cursor:pointer;border:1px solid var(--bordure);background:var(--fond);border-radius:999px;flex:none;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:600}.filtre[aria-pressed=true]{background:var(--accent);color:var(--sur-accent);border-color:var(--accent)}.filtre .compte{opacity:.75;font-variant-numeric:tabular-nums}.badge{vertical-align:middle;background:var(--carte);color:var(--discret);border:1px solid var(--bordure);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.message{background:var(--carte);border-left:4px solid var(--accent);border-radius:8px;margin:0 0 16px;padding:10px 12px;font-weight:600}.message:focus{outline:none}.carte{background:var(--carte);border-radius:12px;margin-top:0;padding:12px}.carte input[type=text],.carte select{background:var(--fond)}.carte>p{margin:0 0 12px}.deux-colonnes{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.champs .aide{color:var(--discret);font-size:.8rem}.champs>.aide{margin:0}.erreur-champ{font-size:.85rem;color:var(--alerte)!important}.erreur-champ:empty{display:none}input[aria-invalid=true]{border-color:var(--alerte)}.champs label.case{color:var(--texte);align-items:center;gap:10px;min-height:44px;display:flex}.case input{width:22px;height:22px;accent-color:var(--accent);flex:none}.bouton.danger{color:var(--alerte);border-color:var(--alerte);background:0 0}.confirmer p{margin:0 0 12px}.boutons{flex-wrap:wrap;gap:8px;display:flex}.avertissements:empty{display:none}.avertissements .note{margin:0}p.erreurs:empty{display:none}.navigation-mois{justify-content:space-between;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.navigation-mois h2{color:var(--texte);text-transform:capitalize;text-align:center;margin:0;font-size:1.1rem}.total-mois{background:var(--carte);border-radius:12px;gap:2px;padding:14px 16px;display:grid}.total-mois strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.total-mois span{color:var(--discret);font-size:.9rem}.repartition{gap:4px;margin:0;padding:0;list-style:none;display:grid}.barre-cat{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;width:100%;min-height:44px;padding:8px 10px;display:grid}.barre-cat:hover{background:var(--carte)}.barre-cat[aria-pressed=true]{background:var(--carte);border-color:var(--accent)}.barre-cat .libelle{font-weight:600}.barre-cat .valeur{font-variant-numeric:tabular-nums}.barre-cat .valeur small{color:var(--discret);margin-left:4px}.barre-cat .piste{background:var(--carte);border-radius:4px;grid-column:1/-1;height:8px;overflow:hidden}.barre-cat[aria-pressed=true] .piste,.barre-cat:hover .piste{background:var(--fond)}.barre-cat .piste>span{background:var(--accent);border-radius:4px;height:100%;display:block}.lien-discret{color:var(--accent);cursor:pointer;background:0 0;border:none;min-height:32px;padding:4px 0 4px 8px;font-size:.9rem;font-weight:600}h2 .aide{font-size:.85rem;font-weight:400}.jour{color:var(--discret);margin:16px 0 0;font-size:.85rem;font-weight:600}.jour:first-letter{text-transform:uppercase}.depense{border:1px solid var(--bordure);min-height:56px;color:inherit;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:10px 12px;text-decoration:none;display:grid}.depense:active{background:var(--carte)}.depense .nom{font-weight:600}.depense .montant{font-variant-numeric:tabular-nums;font-weight:600}.depense .details{color:var(--discret);grid-column:1/-1;font-size:.85rem}fieldset.groupe{border:none;gap:6px;min-width:0;margin:0;padding:0;display:grid}fieldset.groupe legend{color:var(--discret);margin-bottom:6px;padding:0;font-size:.9rem}.modes.trois{grid-template-columns:repeat(3,1fr)}@media (width<=400px){.modes.trois{grid-template-columns:repeat(2,1fr)}}.mode input[aria-invalid=true]+span{border-color:var(--alerte)}.montant-saisie{font-variant-numeric:tabular-nums;font-weight:600;font-size:1.3rem!important}.champs label>.titre-champ{color:var(--discret)}.facultatif{font-size:.85rem;font-weight:400}.bandeau{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:10px 14px;font-weight:600;text-decoration:none;display:flex}.bandeau.attention{background:var(--attention-fond);color:var(--attention)}.solde-mois{background:var(--carte);border-radius:12px;gap:2px;margin-bottom:12px;padding:14px 16px;display:grid}.solde-mois span{color:var(--discret);font-size:.9rem}.solde-mois strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.negatif,.tuile strong.negatif{color:var(--alerte)}.objectif{margin-top:12px}.objectif p{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 6px;font-size:.9rem;display:flex}.objectif p span:first-child{color:var(--discret)}.tuiles.trois{grid-template-columns:repeat(3,1fr);gap:8px}.tuiles.trois .tuile{min-width:0;padding:10px}.tuiles.trois .tuile strong{font-size:1rem}.tuiles.trois .tuile{align-content:start}.tuile small{color:var(--discret);font-size:.8rem}.entete .bouton{min-height:44px;padding:0 14px;font-size:.9rem}.objectif-vide{margin-top:10px;padding-left:0;text-decoration:none;display:inline-block}.bouton.fichier{position:relative;overflow:hidden}.bouton.fichier input{opacity:0;cursor:pointer;position:absolute;inset:0}.bouton.fichier:focus-within{outline:2px solid var(--accent);outline-offset:2px}.carte .note{margin:0}.champs label.bouton{color:var(--texte);font-size:1rem;display:flex}a.bouton:not(.principal){color:var(--texte)}.champs label.bouton{text-align:center;justify-content:center}.tri{color:var(--discret);align-items:center;gap:8px;margin:4px 0;font-size:.9rem;display:flex}.tri select{width:auto;color:var(--texte);flex:1}.client{border:1px solid var(--bordure);min-height:56px;color:inherit;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:10px 12px;text-decoration:none;display:grid}.client:active{background:var(--carte)}.client .nom{font-weight:600}.client .montant{font-variant-numeric:tabular-nums;font-weight:600}.client .details{color:var(--discret);font-size:.85rem}.client .droite{text-align:right}.badge.fidele{background:var(--accent);color:var(--sur-accent);border-color:var(--accent)}.sous-titre{margin:-8px 0 12px}.contact{margin-bottom:16px}.contact .bouton{flex:auto}.fidelite{margin:8px 0 0}.fidelite a{color:var(--accent)}.ticket{border:1px solid var(--bordure);border-radius:12px;padding:10px 12px}.ticket-haut{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.ticket-haut span{color:var(--discret)}.ticket-haut strong{font-variant-numeric:tabular-nums}.ticket ul{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ticket li li,.ticket ul li{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.ticket ul li span:last-child{font-variant-numeric:tabular-nums;color:var(--discret)}.nav a{padding:14px 2px;font-size:.8rem}.modes .mode.credit{grid-column:1/-1}.mode.credit span{border-style:dashed}#bloc-credit{margin-top:12px}#bloc-credit .note{margin:0}.bandeau.credit{background:var(--carte);color:var(--texte);border:1px solid var(--attention)}.credit-client{background:var(--attention-fond);border-radius:12px;margin-bottom:16px;padding:12px 14px}.credit-entete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.credit-entete>div{display:grid}.credit-entete span{color:var(--attention);font-size:.9rem;font-weight:600}.credit-entete strong{font-variant-numeric:tabular-nums;color:var(--texte);font-size:1.6rem}.credit-client form{margin-top:12px}.credit-client input[type=text],.credit-client input[type=date]{background:var(--fond)}.badge.doit{color:var(--attention);background:var(--attention-fond);border-color:var(--attention)}.reglement{border:1px solid var(--bordure);border-radius:12px;padding:10px 12px}.reglement .lien-discret{padding-left:0;font-size:.85rem}.reglement .confirmer p{margin:6px 0 10px;font-size:.9rem}.credit-client .note{margin:10px 0 0}.credit-client>.aide{margin:8px 0 0}.relance{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.relance .bouton{flex:auto}.relance .bouton:not(.principal){background:var(--fond)}.relance .aide{flex-basis:100%;margin:0}.etat-credit{margin:6px 0 0;font-size:.85rem;font-weight:600}.etat-credit.regle{color:var(--accent)}.etat-credit.du{color:var(--attention)}.etat-credit.retard{color:var(--alerte)}.badge.retard{color:var(--alerte);background:var(--alerte-fond);border-color:var(--alerte)}.bandeau.credit.retard{border-color:var(--alerte)}.badge{white-space:nowrap}a.bouton-icone{color:var(--texte);place-items:center;text-decoration:none;display:grid}.bouton-icone.desactive{opacity:.4;place-items:center;display:grid}.jour-choisi{flex:1}.jour-choisi input{text-align:center;font-weight:600}.visuellement-cache{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.centre{text-align:center;margin:0 0 8px}.caisse{background:var(--carte);border-radius:12px;padding:4px 14px 12px}.caisse h2{margin-top:12px}.modes-caisse,.reglements-jour{gap:6px;margin:0;padding:0;list-style:none;display:grid}.modes-caisse li,.reglements-jour li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.modes-caisse .vide-caisse{color:var(--discret)}.modes-caisse .total-caisse{border-top:1px solid var(--bordure);margin-top:2px;padding-top:8px;font-size:1.1rem}.reglements-jour li{color:var(--discret);font-size:.9rem}.caisse .aide{margin:12px 0 6px}.caisse .note{margin:12px 0 0}.ticket .lien-discret{margin-top:4px;padding-left:0;font-size:.85rem}.ticket .confirmer p{margin:6px 0 10px;font-size:.9rem}.ticket-haut a{color:var(--accent)}.reglements-jour li span:last-child,.modes-caisse li strong{white-space:nowrap}.ticket [data-action=annuler]{color:var(--discret);font-weight:400;text-decoration:underline}.evolution{color:var(--discret);font-size:.8rem}.evolution.hausse{color:var(--accent)}.evolution.baisse{color:var(--alerte)}.barre-stat{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:6px 2px;display:grid}.barre-stat .libelle{overflow-wrap:anywhere;min-width:0;font-weight:600}.barre-stat .valeur{font-variant-numeric:tabular-nums;white-space:nowrap}.barre-stat .piste{background:var(--carte);border-radius:4px;grid-column:1/-1;height:8px;overflow:hidden}.barre-stat .piste>span{background:var(--accent);border-radius:4px;height:100%;display:block}.barre-stat .detail-ligne{color:var(--discret);grid-column:1/-1;font-size:.8rem}.repartition.stat,.histogramme{margin-top:8px}.zone-trace{border-bottom:1px solid var(--bordure);height:160px;margin-left:36px;position:relative}.graduation{border-top:1px dashed var(--bordure);position:absolute;left:0;right:0}.graduation span{color:var(--discret);white-space:nowrap;font-variant-numeric:tabular-nums;padding-right:6px;font-size:.7rem;position:absolute;right:100%;transform:translateY(-50%)}.colonnes{align-items:end;gap:2px;display:grid;position:absolute;inset:0}.colonne{cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;align-items:flex-end;height:100%;padding:0;display:flex}.colonne .barre-v{background:var(--accent);opacity:.55;border-radius:4px 4px 0 0;width:100%}.colonne.actuelle .barre-v,.colonne.choisie .barre-v,.colonne:hover .barre-v,.colonne:focus-visible .barre-v{opacity:1}.colonne:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.etiquettes{gap:2px;margin-top:4px;margin-left:36px;display:grid}.etiquettes span{color:var(--discret);text-align:center;font-size:.7rem;overflow:hidden}.detail-histogramme{min-height:2.6em;margin:8px 0 0;font-size:.9rem}.tableau-donnees{margin-top:8px;font-size:.9rem}.tableau-donnees summary{color:var(--accent);cursor:pointer;align-items:center;min-height:32px;font-weight:600;display:flex}.tableau-donnees table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px}.tableau-donnees th,.tableau-donnees td{border-bottom:1px solid var(--bordure);text-align:right;padding:6px 4px}.tableau-donnees th[scope=row],.tableau-donnees th:first-child{text-align:left;font-weight:600}.tableau-donnees thead th{color:var(--discret);font-weight:600}.entete .boutons{flex-wrap:nowrap;gap:6px}.ligne-inv{border:1px solid var(--bordure);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.ligne-inv[hidden]{display:none}.inv-haut{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inv-haut .nom{font-weight:600}.inv-haut .aide{color:var(--discret);font-size:.85rem}.inv-bas{align-items:center;gap:12px;display:flex}.inv-bas .compte{color:var(--discret);align-items:center;gap:8px;font-size:.9rem;display:flex}.inv-bas input{text-align:center;width:90px;font-size:1.1rem;font-weight:600}.ecart{font-variant-numeric:tabular-nums;text-align:right;margin-left:auto;font-weight:700}.ecart.negatif{color:var(--alerte)}.ecart.positif{color:var(--attention)}.ecart.conforme{color:var(--accent)}.ligne-inv .motif{color:var(--discret);gap:4px;font-size:.85rem;display:grid}.ligne-inv .motif select{color:var(--texte)}.inventaire-fiche{margin:10px 0 0}.inventaire-fiche a{color:var(--accent);font-weight:600}strong.negatif{color:var(--alerte)}.entete .bouton{white-space:nowrap}@media (width<=400px){.entete .boutons .bouton{padding:0 10px}.entete h1{font-size:1.25rem}}.ecart,#ecart-total{white-space:nowrap}#ecart-total{font-size:1.05rem}.inv-bas{flex-wrap:wrap;row-gap:4px}.inv-bas input{width:76px}.ligne-inv{min-width:0}.commande{background:var(--carte);border-radius:12px;margin-bottom:16px;padding:4px 14px 14px}.commande h2{color:var(--texte);margin-top:12px}.commande .aide{margin:0}.entete-section{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 8px;display:flex}.entete-section h2{margin:0}.entete-section .bouton{min-height:40px;padding:0 14px;font-size:.9rem}.notes{white-space:pre-wrap;background:var(--carte);border-radius:12px;margin:0;padding:10px 12px}.produit .prix small{color:var(--discret);font-size:.8rem}textarea{border:1px solid var(--bordure);background:var(--fond);width:100%;font:inherit;color:var(--texte);resize:vertical;border-radius:10px;padding:8px 12px}.carte textarea{background:var(--fond)}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entete{flex-wrap:wrap}.entete h1{flex:auto}
