:root{--couleur-fond:#0f1720;--couleur-surface:#18232f;--couleur-surface-haute:#22303e;--couleur-bordure:#2f4052;--couleur-texte:#f2efe7;--couleur-texte-attenue:#a9b8c6;--couleur-accent:#4caf7d;--couleur-accent-contraste:#08160f;--couleur-alerte:#e0913f;--couleur-erreur:#e06a6a;--espace-1:.5rem;--espace-2:1rem;--espace-3:1.5rem;--espace-4:2rem;--espace-5:3rem;--rayon:.75rem;--rayon-large:1rem;--cible-tactile:56px;--cible-action:68px;--cible-decisive:88px;--texte-s:.95rem;--texte-m:1.05rem;--texte-l:1.4rem;--texte-xl:2rem;--ombre-carte:0 1px 2px #00000040, 0 8px 24px #0003;--largeur-contenu:1600px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--couleur-fond);color:var(--couleur-texte);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--texte-m);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.5}a{color:inherit}@media (pointer:coarse){*{scrollbar-width:none}::-webkit-scrollbar{display:none}}@media (pointer:fine){*{scrollbar-width:thin;scrollbar-color:var(--couleur-bordure) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--couleur-bordure);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--couleur-texte-attenue)}}h1,h2,h3,h4,p,dl{margin:0}h1{font-size:var(--texte-xl)}h2{font-size:var(--texte-l)}h3,h4{font-size:var(--texte-m)}button,input,select{font:inherit;min-height:var(--cible-tactile);border-radius:var(--rayon);border:1px solid var(--couleur-bordure);background:var(--couleur-surface-haute);color:var(--couleur-texte);padding:0 var(--espace-2)}input,select{width:100%}input[type=checkbox]{width:1.5rem;height:1.5rem;min-height:0;accent-color:var(--couleur-accent)}button{min-width:var(--cible-tactile);cursor:pointer;transition:background-color .12s ease-out}button[type=submit],.action-tactile{min-height:var(--cible-action);padding:0 var(--espace-3)}.action-decisive{min-height:var(--cible-decisive);padding:0 var(--espace-3);font-size:var(--texte-l);font-weight:600}button:hover:not(:disabled){background:var(--couleur-bordure)}button:disabled{opacity:.45;cursor:not-allowed}button[type=submit],button[aria-pressed=true]{background:var(--couleur-accent);border-color:var(--couleur-accent);color:var(--couleur-accent-contraste);font-weight:600}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--couleur-accent);outline-offset:2px}label{gap:var(--espace-1);font-size:var(--texte-s);color:var(--couleur-texte-attenue);flex-direction:column;display:flex}label:has(input[type=checkbox]){align-items:center;gap:var(--espace-2);flex-direction:row}.app-shell{height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.app-bandeau{justify-content:space-between;align-items:center;gap:var(--espace-2);padding:var(--espace-1) var(--espace-2);background:var(--couleur-surface);border-bottom:1px solid var(--couleur-bordure);flex-wrap:nowrap;display:flex}.app-navigation{gap:var(--espace-1);flex-wrap:nowrap;min-width:0;display:flex;overflow-x:auto}.app-navigation a{min-height:var(--cible-tactile);padding:0 var(--espace-1);border-radius:var(--rayon);color:var(--couleur-texte-attenue);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}@media (width<=62rem){.app-bandeau{flex-wrap:wrap}.app-navigation{flex-wrap:wrap;overflow-x:visible}}.app-navigation a[aria-current=page]{background:var(--couleur-surface-haute);color:var(--couleur-texte);font-weight:600}.app-contenu{width:100%;max-width:var(--largeur-contenu);padding:clamp(var(--espace-2), 2vw, var(--espace-4));flex:1;margin-inline:auto;overflow:auto}.sync-status{font-size:var(--texte-s);color:var(--couleur-texte-attenue);white-space:nowrap;margin:0}.sync-status--offline,.sync-status--pending{color:var(--couleur-alerte);font-weight:600}.ecran-caisse{gap:var(--espace-2);grid-template-columns:minmax(0,1.5fr) minmax(13rem,.75fr) minmax(15rem,.85fr);align-items:start;display:grid}@media (width>=1280px){.ecran-caisse{gap:var(--espace-3);grid-template-columns:minmax(0,2fr) minmax(15rem,.9fr) minmax(17rem,1fr)}}@media (width<=900px){.ecran-caisse{grid-template-columns:minmax(0,1fr)}.ecran-caisse .grille-produits{order:1}.ecran-caisse .panier{order:2;position:static}.ecran-caisse .fidelite{order:3}.ecran-caisse__vendeur{order:4}}.grille-produits,.fidelite,.panier{background:var(--couleur-surface);border:1px solid var(--couleur-bordure);border-radius:var(--rayon-large);padding:var(--espace-3)}.grille-produits{gap:var(--espace-2);flex-direction:column;display:flex}.grille-produits__filtres{gap:var(--espace-1);flex-wrap:wrap;display:flex}.grille-produits__liste{gap:var(--espace-2);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin:0;padding:0;list-style:none;display:grid}.grille-produits__liste button{justify-content:center;align-items:flex-start;gap:var(--espace-1);width:100%;min-height:var(--cible-decisive);padding:var(--espace-2);text-align:left;flex-direction:column;display:flex}.grille-produits__nom{font-size:var(--texte-m);font-weight:600}.grille-produits__stock{font-size:var(--texte-s);color:var(--couleur-texte-attenue)}.fidelite{gap:var(--espace-2);flex-direction:column;display:flex}.recherche-client ul,.fidelite ul{gap:var(--espace-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recherche-client button{text-align:left;width:100%}.panier{top:var(--espace-2);gap:var(--espace-2);flex-direction:column;display:flex;position:sticky}.panier__lignes{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.panier__lignes li{grid-template-columns:1fr auto auto var(--cible-tactile);align-items:center;gap:var(--espace-2);padding:var(--espace-1) 0;border-bottom:1px solid var(--couleur-bordure);display:grid}.panier__total{justify-content:space-between;align-items:baseline;gap:var(--espace-2);font-size:var(--texte-l);padding-top:var(--espace-1);margin:0;display:flex}.ecran-caisse__vendeur{font-size:var(--texte-s);color:var(--couleur-texte-attenue);grid-column:1/-1;margin:0}.modale__contenu ul{gap:var(--espace-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.modale__contenu ul.selecteur-format__liste{gap:var(--espace-2);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.modale__contenu ul.apercu-tarifs{gap:var(--espace-1);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.selecteur-format__liste button{width:100%;min-height:var(--cible-decisive)}.encaissement__modes,.encaissement__carte,.encaissement__especes{gap:var(--espace-2);flex-direction:column;display:flex}.encaissement__modes{gap:var(--espace-2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.encaissement__modes button{min-height:var(--cible-decisive);font-size:var(--texte-l);font-weight:600}.encaissement__modes .encaissement__renoncer{min-height:var(--cible-tactile);font-size:var(--texte-m);grid-column:1/-1;font-weight:400}.ecran-ventes,.ecran-clients,.ecran-stock,.ecran-commandes,.ecran-administration,.tableau-de-bord,.ecran-fiscalite,.recapitulatif{background:var(--couleur-surface);border:1px solid var(--couleur-bordure);border-radius:var(--rayon-large);padding:var(--espace-4);gap:var(--espace-2);flex-direction:column;max-width:70rem;display:flex}@media (height<=820px){h1{font-size:var(--texte-l);line-height:1.2}.ecran-ventes,.ecran-clients,.ecran-stock,.ecran-commandes,.ecran-administration,.tableau-de-bord,.ecran-fiscalite,.recapitulatif{padding:var(--espace-3)}}.ecran-commandes__filtres{gap:var(--espace-1);flex-wrap:wrap;display:flex}.ecran-commandes ul,.ecran-fiscalite ul,.tableau-de-bord ul{gap:var(--espace-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ecran-commandes li,.ecran-fiscalite li{align-items:center;gap:var(--espace-2);padding:var(--espace-2);background:var(--couleur-surface-haute);border-radius:var(--rayon);flex-wrap:wrap;display:flex}.table-defilante{max-width:100%;overflow-x:auto}.table-defilante th,.table-defilante td{white-space:nowrap}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--espace-1) var(--espace-2);border-bottom:1px solid var(--couleur-bordure)}th{font-size:var(--texte-s);color:var(--couleur-texte-attenue);text-transform:uppercase;letter-spacing:.04em}td span{font-size:var(--texte-s);color:var(--couleur-alerte);display:inline-block}.formulaire{gap:var(--espace-2);flex-direction:column;max-width:32rem;display:flex}.formulaire ul{gap:var(--espace-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.formulaire li{justify-content:space-between;align-items:center;gap:var(--espace-2);padding:var(--espace-2);background:var(--couleur-surface-haute);border-radius:var(--rayon);flex-wrap:wrap;display:flex}[role=tablist]{gap:var(--espace-1);border-bottom:1px solid var(--couleur-bordure);padding-bottom:var(--espace-2);flex-wrap:wrap;align-items:center;display:flex}.formulaire [role=group],.modale__contenu [role=group]{gap:var(--espace-2);padding:var(--espace-2);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);flex-direction:column;display:flex}.ecran-connexion{gap:var(--espace-3);width:min(24rem,100%);margin:var(--espace-5) auto;padding:var(--espace-4);background:var(--couleur-surface);border:1px solid var(--couleur-bordure);border-radius:var(--rayon-large);box-shadow:var(--ombre-carte);flex-direction:column;display:flex}.ecran-connexion h1{text-align:center}.ecran-connexion__identite{gap:var(--espace-3);flex-direction:column;display:flex}@media (width>=46rem){.ecran-connexion{width:min(46rem,100%);margin-block:var(--espace-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.ecran-connexion h1,.ecran-connexion .message-erreur,.ecran-connexion button[type=submit]{grid-column:1/-1}}.recapitulatif{text-align:center;align-items:center;width:min(30rem,100%);margin-inline:auto}.recapitulatif p:first-of-type{font-size:var(--texte-xl);font-weight:600}.recapitulatif__actions{gap:var(--espace-2);flex-wrap:wrap;justify-content:center;display:flex}.liste-clients{gap:var(--espace-2);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin:0;padding:0;list-style:none;display:grid}.liste-clients button{width:100%;padding:var(--espace-2);text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:6rem;display:flex}.liste-clients__nom{font-weight:600;font-size:var(--texte-m)}.liste-clients__detail{font-size:var(--texte-s);color:var(--couleur-texte-attenue)}.fiche-client{background:var(--couleur-surface-haute);border-radius:var(--rayon);padding:var(--espace-3);gap:var(--espace-1);flex-direction:column;display:flex}.fiche-client ul{gap:var(--espace-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fiche-client button{align-self:flex-start}.fidelite__nom{font-size:var(--texte-l);margin:0;font-weight:600}.message-erreur{color:var(--couleur-erreur);font-weight:600}.pave-pin{grid-template-columns:repeat(3, minmax(var(--cible-action), 1fr));gap:var(--espace-2);max-width:19rem;display:grid}.pave-pin button{min-height:var(--cible-action);font-size:var(--texte-l)}.pave-pin button:nth-child(10){grid-column:2}.panier__stepper{gap:var(--espace-1);display:inline-flex}.panier__stepper button{min-width:var(--cible-action);min-height:var(--cible-action)}.encaissement__rapide{gap:var(--espace-1);flex-wrap:wrap;display:flex}.encaissement__fidelite{color:var(--couleur-accent,inherit);font-weight:600}.kpi-grille{gap:var(--espace-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;display:grid}.kpi{background:var(--couleur-surface);border:1px solid var(--couleur-bordure);border-radius:var(--rayon);padding:var(--espace-1) var(--espace-2);flex-direction:column;gap:0;display:flex}.kpi dt{color:var(--couleur-texte-attenue);font-size:var(--texte-s);line-height:1.3}.kpi dd{font-size:var(--texte-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1.15}.tableau-de-bord__cartes{align-items:start;gap:var(--espace-3);grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));display:grid}.tableau-de-bord__cartes>section{gap:var(--espace-2);flex-direction:column;display:flex}.selecteur-periode{border:1px solid var(--couleur-bordure);border-radius:var(--rayon);display:inline-flex;overflow:hidden}.selecteur-periode button{border:none;border-radius:0;min-width:96px}.selecteur-periode button+button{border-left:1px solid var(--couleur-bordure)}.selecteur-periode button[aria-pressed=true]{background:var(--couleur-accent);color:var(--couleur-accent-contraste);font-weight:700}.etat-vide{color:var(--couleur-texte-attenue);font-style:italic}.badge-rembourse{color:var(--couleur-texte-attenue);font-weight:600}.etat-stock{color:var(--couleur-texte-attenue)}.etat-stock--faible{color:var(--couleur-alerte);font-weight:700}.lien-fiscalite{min-height:var(--cible-tactile);padding:0 var(--espace-2);border-radius:var(--rayon);align-items:center;margin-left:auto;display:inline-flex}.retour-action__pile{bottom:var(--espace-3);align-items:center;gap:var(--espace-1);z-index:50;pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.retour-action{padding:var(--espace-2) var(--espace-3);border-radius:var(--rayon);background:var(--couleur-surface-haute);border:1px solid var(--couleur-accent);color:var(--couleur-texte);margin:0;font-weight:600;box-shadow:0 4px 16px #0006}.retour-action--error{border-color:var(--couleur-erreur)}.palier{gap:var(--espace-2);display:flex}.palier label{flex:1}.apercu-tarifs{gap:var(--espace-1);font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}dialog.modale{border:1px solid var(--couleur-bordure);border-radius:var(--rayon-large);background:var(--couleur-surface);color:var(--couleur-texte);width:min(34rem, calc(100vw - 2 * var(--espace-3)));max-height:min(42rem, calc(100vh - 2 * var(--espace-3)));box-shadow:var(--ombre-carte);padding:0;overflow:hidden}dialog.modale::backdrop{background:#0000008c}.modale__contenu{gap:var(--espace-2);padding:var(--espace-3) var(--espace-4) var(--espace-4);max-height:inherit;flex-direction:column;display:flex;overflow:auto}@media (width>=60rem){dialog.modale{width:min(54rem, calc(100vw - 2 * var(--espace-3)));max-height:calc(100vh - 2 * var(--espace-3))}.modale__contenu{align-content:start;column-gap:var(--espace-3);grid-template-columns:1fr 1fr;display:grid}.modale__contenu>*{grid-column:1/-1}.modale__contenu>label,.modale__contenu>button{grid-column:auto}}.modale__entete{justify-content:space-between;align-items:center;gap:var(--espace-2);display:flex}.modale__entete button{flex-shrink:0}.guide-installation__etapes{gap:var(--espace-2);padding-left:var(--espace-3);flex-direction:column;margin:0;display:flex}.guide-installation__icone{vertical-align:-.2em;width:1.15em;height:1.15em;margin:0 .15em}.guide-installation__reussite{color:var(--couleur-accent);font-weight:600}
