:root{--action: #f5a800;--action-texte: #111111;--sombre: #111111;--sombre-texte: #ffffff;--fond: #ffffff;--fond-2: #f4f4f5;--texte: #18181b;--texte-doux: #52525b;--bordure: #e4e4e7;--succes: #16a34a;--alerte: #dc2626;--rayon: 8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Arabic,sans-serif;color:var(--texte);background:var(--fond-2);line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--fond-2);color:var(--texte)}h1{font-size:1.5rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:0 0 1rem}button{font:inherit;cursor:pointer}input,select{font:inherit}.bouton{border:0;border-radius:var(--rayon);padding:.6rem 1rem;font-weight:600}.bouton.principal{background:var(--action);color:var(--action-texte)}.bouton.principal:hover:not(:disabled){filter:brightness(.95)}.bouton.secondaire{background:var(--fond);color:var(--texte);border:1px solid var(--bordure);padding:.35rem .7rem;font-weight:500}.bouton:disabled{opacity:.55;cursor:not-allowed}.bouton:focus-visible,.lien:focus-visible,input:focus-visible,select:focus-visible,.menu-lien:focus-visible{outline:3px solid var(--action);outline-offset:2px}.lien{background:none;border:0;padding:0;color:var(--texte);text-decoration:underline}.lien.clair{color:var(--sombre-texte);opacity:.85;text-align:start}.page-connexion,.ecran-centre{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--sombre)}.carte-connexion{width:100%;max-width:400px;background:var(--fond);border-radius:12px;padding:2rem;border-top:6px solid var(--action)}.marque{display:flex;flex-direction:column;margin-bottom:1.25rem}.marque-nom{font-weight:800;font-size:1.3rem}.marque-slogan{color:var(--texte-doux);font-style:italic;font-size:.9rem}form label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem;font-weight:500;font-size:.95rem}form input,form select{padding:.6rem .75rem;border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond);color:var(--texte)}.carte-connexion .bouton.principal{width:100%;margin-top:.25rem}.liens-connexion{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.9rem}.message{padding:.6rem .75rem;border-radius:var(--rayon);font-size:.92rem}.message.erreur{background:#fef2f2;color:#991b1b}.message.succes{background:#f0fdf4;color:#166534}.aide{color:var(--texte-doux);font-size:.88rem}.disposition{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.menu-lateral{background:var(--sombre);color:var(--sombre-texte);display:flex;flex-direction:column;padding:1.25rem .75rem;position:sticky;top:0;height:100vh;overflow-y:auto}.menu-marque{font-weight:800;color:var(--action);padding:0 .5rem;font-size:1.05rem}.menu-entreprise{font-size:.8rem;opacity:.7;padding:0 .5rem 1rem}.menu-lateral nav{display:flex;flex-direction:column;gap:2px;flex:1}.menu-lien{display:flex;justify-content:space-between;align-items:center;color:var(--sombre-texte);text-decoration:none;padding:.38rem .6rem;border-radius:6px;font-size:.9rem}.menu-lien:hover:not(.desactive){background:#ffffff14}.menu-lien.actif{background:var(--action);color:var(--action-texte);font-weight:600}.menu-lien.desactive{opacity:.45;cursor:default}.menu-lien small{font-size:.68rem}.menu-pied{border-top:1px solid rgba(255,255,255,.15);padding:.75rem .5rem 0;display:flex;flex-direction:column;gap:.4rem}.menu-utilisateur{font-weight:600;font-size:.9rem}.contenu{padding:1.75rem;min-width:0}.sous-titre{color:var(--texte-doux);margin:0 0 1.25rem}.entete-page{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.cartes-indicateurs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.carte-indicateur{background:var(--fond);border-radius:10px;padding:1rem;border:1px solid var(--bordure);display:flex;flex-direction:column}.indicateur-libelle{color:var(--texte-doux);font-size:.85rem}.indicateur-valeur{font-size:1.6rem;font-weight:700}.indicateur-valeur.petit{font-size:1.05rem}.tableau-conteneur{overflow-x:auto;background:var(--fond);border-radius:10px;border:1px solid var(--bordure)}.tableau{width:100%;border-collapse:collapse;font-size:.93rem}.tableau th{text-align:start;background:var(--fond-2);color:var(--texte-doux);font-weight:600;padding:.65rem .8rem;white-space:nowrap}.tableau td{padding:.65rem .8rem;border-top:1px solid var(--bordure);vertical-align:middle}.tableau .actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.ligne-inactive td{color:var(--texte-doux)}.pastille{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;margin-inline-start:.35rem}.pastille.ok{background:#dcfce7;color:#166534;margin-inline-start:0}.pastille.ko{background:#fee2e2;color:#991b1b;margin-inline-start:0}.pastille.neutre{background:var(--fond-2);color:var(--texte-doux)}.fond-fenetre{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:10}.fenetre{background:var(--fond);border-radius:12px;padding:1.5rem;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.fenetre-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.liste-cases{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.case{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;margin:0!important;font-weight:400!important}.champ-recherche{width:100%;max-width:520px;padding:.6rem .75rem;border:1px solid var(--bordure);border-radius:var(--rayon);margin-bottom:1rem;background:var(--fond)}.barre-filtres{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-start}.barre-filtres select{padding:.6rem .75rem;border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond)}.discret{color:var(--texte-doux)}.fenetre.large{max-width:760px}.fenetre textarea{padding:.6rem .75rem;border:1px solid var(--bordure);border-radius:var(--rayon);font:inherit}.grille-2{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}.grille-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 .75rem}.carte-bloc{background:var(--fond);border:1px solid var(--bordure);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.carte-bloc h2{margin:0}.puces{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.puce{background:var(--fond-2);border-radius:6px;padding:.2rem .55rem;font-size:.85rem;font-family:ui-monospace,monospace}.ligne-ajout{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.5rem;margin:.75rem 0;align-items:end}.ligne-ajout input,.ligne-ajout select{padding:.5rem .6rem;border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond);min-width:0}.ligne-ajout .en-ligne{grid-column:1 / -1;margin:0}.ligne-ajout-4{grid-template-columns:2fr 1fr 1fr auto}.liste-choix{max-height:240px;overflow-y:auto;border:1px solid var(--bordure);border-radius:var(--rayon);padding:.5rem .75rem;display:grid;gap:.35rem}.saisie-comptage{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap}.saisie-comptage input{width:7rem;padding:.4rem .5rem;border:1px solid var(--bordure);border-radius:var(--rayon)}.caisse{display:grid;grid-template-columns:1fr 360px;gap:1.25rem;align-items:start}.caisse-droite{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.6rem;margin:0}.caisse-droite label{margin-bottom:.25rem;display:flex;flex-direction:column;gap:.3rem;font-weight:500}.caisse-droite select,.caisse-droite input{min-width:0;width:100%;padding:.55rem .7rem;border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond)}.total-caisse{display:flex;justify-content:space-between;align-items:baseline;background:var(--sombre);color:var(--sombre-texte);border-radius:10px;padding:.9rem 1rem}.total-caisse strong{font-size:1.8rem;color:var(--action)}.ligne-paiement{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.ligne-paiement input:nth-child(3){grid-column:1 / -1}.bouton-encaisser{font-size:1.15rem;padding:.9rem;display:flex;justify-content:space-between}.scan .champ-recherche{max-width:none;font-size:1.05rem}.resultats{display:grid;gap:.3rem;margin-bottom:1rem}.resultat{display:grid;grid-template-columns:1fr auto auto;gap:1rem;text-align:start;background:var(--fond);border:1px solid var(--bordure);border-radius:var(--rayon);padding:.6rem .8rem}.resultat:hover{border-color:var(--action)}.texte-alerte{color:var(--alerte)}.quantite{display:inline-flex;align-items:center;gap:.25rem}.quantite input{width:4rem;text-align:center;padding:.35rem;border:1px solid var(--bordure);border-radius:var(--rayon)}.quantite .bouton{padding:.3rem .6rem}.petit-champ{width:4.5rem;padding:.35rem;border:1px solid var(--bordure);border-radius:var(--rayon)}.ouverture-caisse{max-width:440px}.ouverture-caisse form{display:flex;flex-direction:column}.ticket{font-family:ui-monospace,Courier New,monospace;font-size:.9rem;background:var(--fond);padding:.5rem;display:flex;flex-direction:column;gap:.15rem}.ticket hr{border:0;border-top:1px dashed var(--bordure);width:100%}.ticket-ligne{display:flex;justify-content:space-between;gap:1rem}.code-autorisation{font-size:1.5rem;letter-spacing:.2em}.ligne-plafond{display:grid;grid-template-columns:1fr 5rem auto auto;gap:.5rem;align-items:center;margin-bottom:.4rem}.ligne-plafond input{padding:.4rem;border:1px solid var(--bordure);border-radius:var(--rayon)}@media print{body *{visibility:hidden}.ticket,.ticket *{visibility:visible}.ticket{position:absolute;inset:0 auto auto 0;width:72mm;font-size:11px}.non-imprime{display:none}}@media (max-width: 760px){.disposition{grid-template-columns:1fr}.menu-lateral{position:static;height:auto}.menu-lateral nav{flex-direction:row;flex-wrap:wrap}.menu-lien.desactive{display:none}.contenu{padding:1rem}.liste-cases,.grille-2,.grille-3,.ligne-ajout,.ligne-ajout-4,.caisse{grid-template-columns:1fr}.caisse-droite{position:static}.tableau-conteneur{background:none;border:0}.tableau thead{display:none}.tableau tr{display:block;background:var(--fond);border:1px solid var(--bordure);border-radius:10px;margin-bottom:.75rem;padding:.4rem .8rem}.tableau td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.35rem 0;text-align:end}.tableau td[data-label]:before{content:attr(data-label);color:var(--texte-doux);font-size:.85rem;text-align:start}.tableau .actions{justify-content:flex-start;padding-top:.5rem}}
