:root{--couleur: #1f4e79;--fond: #f3f5f8;--carte: #ffffff;--texte: #1c2430;--gris: #6b7686;--bord: #d9dee6;--ok: #1e7b45;--erreur: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texte);background:var(--fond)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:12px;border:1px solid var(--bord);border-radius:8px;background:#fff;min-height:48px}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--couleur) 35%,transparent);border-color:var(--couleur)}label{display:block;font-size:14px;color:var(--gris);margin:10px 0}label input,label select{margin-top:4px;color:var(--texte)}button{min-height:48px;padding:0 18px;border-radius:8px;border:1px solid var(--bord);background:#fff;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input:disabled,select:disabled,textarea:disabled{background:#f0f2f5;color:var(--gris);cursor:not-allowed}button.principal{background:var(--couleur);border-color:var(--couleur);color:#fff;font-weight:600}button.grand{min-height:60px;font-size:18px;width:100%}button.discret{background:transparent}h1,h2,h3{margin:0 0 12px}h2{font-size:20px}.erreur{color:var(--erreur)}.vide{color:var(--gris)}.d{text-align:right;white-space:nowrap}.chargement,.centre-ecran{min-height:100vh;display:grid;place-items:center}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:20px}.connexion{width:min(380px,92vw)}.connexion h1{text-align:center;color:var(--couleur)}.appli{height:100vh;display:flex;flex-direction:column}.barre{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--couleur);color:#fff}.marque{font-weight:700;font-size:17px;white-space:nowrap;max-width:26ch;overflow:hidden;text-overflow:ellipsis}.barre{flex-wrap:wrap;row-gap:4px}.modules{order:1}.utilisateur{order:2}.onglets{display:flex;gap:2px;order:3;flex:1 1 100%;overflow-x:auto}.onglets button{background:transparent;color:#fff;border-color:transparent;white-space:nowrap;padding:0 12px}.onglets button.actif{background:#fff3;border-color:#fff6}.utilisateur{display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap}.utilisateur .discret{color:#fff;border-color:#fff6;min-height:40px}.pastille{background:#ffffff2e;padding:4px 10px;border-radius:999px;font-size:14px}.bandeau{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:1000;width:min(640px,calc(100vw - 32px));display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:10px;color:#fff;cursor:pointer;box-shadow:0 8px 24px #0f172a59;animation:bandeau-entree .15s ease-out}.bandeau .texte{flex:1}.bandeau .fermer{flex:none;font-size:20px;line-height:1;opacity:.85}@keyframes bandeau-entree{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.bandeau.ok{background:var(--ok)}.bandeau.erreur{background:var(--erreur);color:#fff}main{flex:1;min-height:0;overflow:auto;padding:16px}.grille-caisses{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vente{display:grid;grid-template-columns:1fr minmax(400px,44%);gap:16px;height:100%}.recherche,.ticket{display:flex;flex-direction:column;min-height:0}.champ-recherche{font-size:20px;min-height:60px}.resultats{margin-top:12px;overflow:auto;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start}.article{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:14px;min-height:96px}.article .designation{font-weight:600}.article .code{color:var(--gris);font-size:13px}.article .prix{margin-top:auto;color:var(--couleur);font-weight:700;font-size:18px}.ticket{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:16px}.lignes{flex:1;overflow:auto}.ligne{display:grid;grid-template-columns:minmax(0,1fr) auto 80px 92px 40px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--bord)}.ligne-nom small{display:block;color:var(--gris)}.quantite{display:flex;align-items:center;gap:4px}.quantite button{width:44px;padding:0;font-size:22px}.quantite input{width:64px;text-align:center;padding:8px}.remise{margin:0;font-size:12px}.remise input{padding:8px;min-height:40px}.montant{text-align:right;font-weight:600}.montant .barre-prix{display:block;font-weight:400;color:var(--gris);text-decoration:line-through;font-size:13px}.supprimer{padding:0;width:40px;color:var(--erreur);font-size:22px}.total{display:flex;justify-content:space-between;align-items:baseline;font-size:22px;padding:14px 0}.total strong{font-size:32px;color:var(--couleur)}.actions{display:flex;gap:10px;align-items:center;margin-top:12px}.actions .grand{flex:1}.fond-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:grid;place-items:center;padding:16px}.modal{background:#fff;border-radius:14px;padding:24px;width:min(520px,100%);max-height:94vh;overflow:auto}.mode{display:flex;gap:8px;align-items:flex-end}.mode label{flex:1;margin:6px 0}.billets{display:flex;flex-wrap:wrap;gap:8px}.rendu{font-size:22px}.rendu strong{color:var(--ok)}.rendu.manque{color:var(--erreur)}.deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.liste{width:100%;border-collapse:collapse}.liste td,.liste th{padding:10px 8px;border-bottom:1px solid var(--bord);text-align:left}.liste td.d,.liste th.d{text-align:right}.liste tbody tr{cursor:pointer}.liste tr.choisi{background:color-mix(in srgb,var(--couleur) 10%,transparent)}.liste tr.fort td{font-weight:700}.total-ligne{font-size:18px}.formulaire{max-width:560px}.choix{display:flex;gap:8px}.choix button{flex:1}.choix button.actif{background:var(--couleur);color:#fff;border-color:var(--couleur)}.ligne-form{display:flex;gap:10px;align-items:flex-end;margin:12px 0;flex-wrap:wrap}.ligne-form input{flex:1}.ligne-form label{flex:1;margin:0}.petit-champ{width:110px;text-align:right}.retour{max-width:900px}@media(max-width:900px){.vente{grid-template-columns:1fr;height:auto}.utilisateur>span:not(.pastille){display:none}.marque{max-width:14ch}.deux-colonnes{grid-template-columns:1fr}.barre{flex-wrap:wrap}.onglets{order:3;flex-basis:100%}.ligne{grid-template-columns:auto 80px 1fr 40px}.ligne-nom{grid-column:1 / -1}}.situation .titre-section td{padding-top:18px;font-weight:700;color:var(--couleur);border-bottom:2px solid var(--couleur);cursor:default}.situation tbody tr{cursor:default}.situation small{color:var(--gris)}.situation .heure{width:56px;color:var(--gris);font-variant-numeric:tabular-nums}.situation .entree{color:var(--ok)}.situation .sortie{color:var(--erreur)}.situation .sous-total td{font-weight:600;background:#f7f8fa}.rendu-liste{display:block;color:var(--gris);font-size:12px;font-weight:400}.modules{display:flex;background:#ffffff1f;border-radius:10px;padding:3px;gap:2px}.modules button{background:transparent;color:#fff;border:0;min-height:40px;padding:0 14px;font-weight:600}.modules button.actif{background:#fff;color:var(--couleur)}.barre-outils{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.barre-outils .recherche-liste{flex:1 1 240px;width:auto}.barre-outils select{width:auto;flex:0 0 auto}.nouvelles{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.statut{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:#eef1f5;color:var(--gris);margin-left:8px;vertical-align:middle;font-weight:600}.statut.valide{background:#e3f3e9;color:var(--ok)}.statut.envoye{background:#e6eefb;color:#1d4f9c}.statut.refuse{background:#fbe7e6;color:var(--erreur)}.piece{display:flex;flex-direction:column;gap:12px;max-width:1100px;margin:0 auto}.piece-entete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.piece-entete h2{margin:0;flex:1}.pdf{display:flex;gap:8px}a.bouton{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:8px;border:1px solid var(--bord);background:#fff;color:inherit;text-decoration:none}.piece-infos{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.piece-infos>div{min-width:180px}.piece-infos>div:first-child{flex:1 1 320px}.etiquette{display:block;font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.depot{margin:0;min-width:180px}.lignes-piece td{vertical-align:middle}.lignes-piece tbody tr{cursor:default}.champ-num{width:76px;text-align:right;padding:8px;min-height:42px}.champ-prix{width:104px;text-align:right;padding:8px;min-height:42px}.remise-choix{display:inline-flex;gap:4px;align-items:center}.bascule{min-height:42px;width:42px;padding:0;font-weight:700}.avertissement{background:#fff6e0;border:1px solid #f0d58a;color:#7a5600;border-radius:8px;padding:8px 12px;margin:8px 0 0}.totaux{margin-left:auto;width:min(340px,100%);margin-top:12px}.totaux.gauche{margin-left:0}.totaux>div{display:flex;justify-content:space-between;padding:4px 0}.totaux .fort{font-weight:700;font-size:20px;border-top:2px solid var(--couleur);padding-top:8px;color:var(--couleur)}.liens{display:flex;flex-wrap:wrap;gap:8px}button.lien{background:none;border:0;color:var(--couleur);text-decoration:underline;padding:0 4px;min-height:0}.actions-piece{flex-wrap:wrap}button.danger{color:var(--erreur)}.ajout-article,.choix-client{position:relative;margin-top:12px}.propositions{position:absolute;left:0;right:0;z-index:5;background:#fff;border:1px solid var(--bord);border-radius:8px;box-shadow:0 8px 24px #0f172a26;max-height:320px;overflow:auto}.propositions button{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid var(--bord);border-radius:0;text-align:left}.propositions button:hover{background:#f3f5f8}.client-choisi{display:inline-flex;gap:8px;align-items:baseline}label.case{display:flex;gap:10px;align-items:center;color:var(--texte)}label.case input{width:auto;min-height:0;margin:0}.ventes-liste{max-width:1200px;margin:0 auto}@media(max-width:900px){.nouvelles{margin-left:0}.lignes-piece{font-size:14px}.champ-prix{width:88px}}.filtres button{min-height:44px}.defilement{overflow-x:auto}.liste tr.sans-clic{cursor:default}.deux-champs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deux-champs label{margin:10px 0}td.ok{color:var(--ok)}.onglets-internes{margin-bottom:12px;max-width:640px}.formulaire.large{max-width:820px}.bloc-transfert{padding:10px 0;border-bottom:1px solid var(--bord)}.valeur{display:block;margin-top:4px;color:var(--texte)}.compta{max-width:1280px;margin:0 auto}.modal.large{width:min(760px,100%)}.liste.etat td,.liste.etat th{padding:7px 8px}.liste th.centre{text-align:center}td.negatif{color:var(--erreur)}tr.detail-compte td{font-size:13px;color:var(--gris);padding-top:4px;padding-bottom:4px}tr.titre-ecriture td{background:#f7f8fa;cursor:pointer}.bloc-compte{margin-bottom:12px}.piece-origine{margin:12px 0;background:#f7f9fc}.modules{flex-wrap:wrap}.total strong.en-calcul{opacity:.45}.vignette{display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:6px;background:#fff;border:1px solid var(--bord);padding:0;min-height:0;vertical-align:middle}.vignette img{width:100%;height:100%;object-fit:contain;display:block}.vignette.cliquable{cursor:zoom-in}.vignette.vide-photo{background:#f3f5f8;border-style:dashed}.article .photo-article{width:100%;aspect-ratio:4 / 3;border-radius:8px;background:#fff;border:1px solid var(--bord);overflow:hidden;display:grid;place-items:center}.article .photo-article img{width:100%;height:100%;object-fit:contain}.ligne-nom{display:flex;gap:10px;align-items:center}.ligne-nom>div{min-width:0}.propositions button .avec-photo{display:inline-flex;gap:10px;align-items:center}.photo-agrandie{margin:0;background:#fff;border-radius:14px;padding:12px;max-width:min(92vw,820px);cursor:zoom-out}.photo-agrandie img{display:block;max-width:100%;max-height:78vh;margin:0 auto;object-fit:contain}.photo-agrandie figcaption{margin-top:8px;font-weight:600;text-align:center}.fiche-photo{display:flex;gap:14px;align-items:center;margin:8px 0 12px}.fiche-photo .actions-photo{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.avec-photo{display:inline-flex;gap:10px;align-items:center}.propositions button{align-items:center}.ligne-nom{gap:8px}.utilisateur button.lien.nom-utilisateur{color:#fff;text-decoration:none;border-bottom:1px dashed rgba(255,255,255,.6);padding:0;border-radius:0}.administration .carte+.carte,.parametres .carte,.referentiels .carte{margin-bottom:14px}.administration h3{margin:0 0 10px;color:var(--couleur)}.liste tr.inactif td{color:var(--gris)}.liste td .statut+.statut{margin-left:6px}.choix-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:4px 0 12px}.choix-roles .role{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px;border:1px solid var(--bord);border-radius:10px;cursor:pointer;color:var(--texte)}.choix-roles .role.actif{border-color:var(--couleur);background:color-mix(in srgb,var(--couleur) 8%,#fff)}.choix-roles .role.fige{cursor:default;opacity:.7}.choix-roles .role input{width:auto;min-height:0;margin:3px 0 0}.choix-roles .role .principal-role{font-style:normal;font-size:11px;color:var(--couleur);margin-left:4px}.choix-roles .role small{display:block;color:var(--gris);font-size:12px;margin-top:2px}label.case.avec-aide{align-items:flex-start;margin:10px 0}label.case.avec-aide input{margin-top:3px}label.case.avec-aide small{display:block;font-size:12px}.mdp-provisoire{display:grid;gap:6px;padding:14px;background:#f3f5f8;border-radius:10px;font-size:18px}.mdp-provisoire strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.grille-champs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 14px}.grille-champs label{margin:8px 0}.grille-champs label.large{grid-column:1 / -1}.grille-champs .couleur{display:flex;gap:8px}.grille-champs .couleur input[type=color]{width:52px;padding:2px;flex:none}.barre-enregistrer{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:12px;background:var(--fond);border-top:1px solid var(--bord)}.barre-enregistrer .vide{margin-right:auto}.ligne-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.ligne-action select{width:auto}.logos .apercus{display:flex;gap:12px;flex-wrap:wrap}.apercu-logo{max-height:64px;max-width:220px;object-fit:contain;border:1px solid var(--bord);border-radius:6px;padding:4px;background:#fff}.entete-section{display:flex;justify-content:space-between;align-items:center;gap:10px}.entete-section h3{margin:0}.pagination{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:10px}textarea{font:inherit;resize:vertical;min-height:64px}.barre-enregistrer button.grand{flex:0 0 auto;width:auto;min-width:220px}.titre-fiche{margin:0;font-size:20px}.titre-fiche .statut{margin-left:8px;vertical-align:middle}.indicateurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:12px}.indicateur{background:var(--carte);border:1px solid var(--bord);border-radius:10px;padding:10px 12px;display:grid;gap:2px}.indicateur span{font-size:12px;color:var(--gris)}.indicateur strong{font-size:20px;font-variant-numeric:tabular-nums}.indicateur strong.ok{color:var(--ok)}.indicateur strong.erreur{color:var(--erreur)}.indicateur.contact strong{font-size:16px}.fiche-tiers .onglets-internes{margin-bottom:12px}.liste.releve td,.liste.releve th{font-variant-numeric:tabular-nums}.liste tr.info td{color:var(--gris)}.fiche-lecture th{width:200px;color:var(--gris);font-weight:500}fieldset.reserve-gerant{border:1px dashed var(--bord);border-radius:10px;padding:4px 12px 8px;margin:10px 0}fieldset.reserve-gerant legend{font-size:12px;color:var(--gris);padding:0 6px}fieldset.reserve-gerant:disabled{opacity:.6}.graphe-mois{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;height:200px;margin:8px 0 16px}.graphe-mois .colonne{display:grid;grid-template-rows:18px 1fr 18px;align-items:end;cursor:default}.graphe-mois .valeur{font-size:11px;text-align:center;color:var(--texte);white-space:nowrap;overflow:visible}.graphe-mois .piste{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--bord)}.graphe-mois .barre-mois{width:min(28px,70%);background:var(--couleur);border-radius:4px 4px 0 0;min-height:0}.graphe-mois .colonne:hover .barre-mois{filter:brightness(1.15)}.graphe-mois .mois{font-size:11px;color:var(--gris);text-align:center}.ligne-action input{flex:1 1 200px;width:auto}.fiche-tiers .onglets-internes{max-width:none;flex-wrap:wrap}.fiche-tiers .onglets-internes button,.onglets-internes button{white-space:nowrap}.fiche-tiers .onglets-internes button{flex:0 0 auto;padding:0 18px}.encaisser .bloc{border:1px solid var(--bord);border-radius:10px;padding:10px 14px;margin:10px 0}.encaisser .bloc h3{margin:0 0 6px}.bandeau-local{border-radius:8px;padding:10px 14px;margin-top:10px}.bandeau-local.ok{background:#e3f3e9;color:var(--ok)}.bandeau-local.erreur{background:#fbe7e6;color:var(--erreur)}.bandeau-local ul{margin:6px 0 0;padding-left:18px;color:var(--texte)}.fond-modal{z-index:100}.fond-modal.prioritaire{z-index:900}details.comptes-article{margin:8px 0}details.comptes-article summary{cursor:pointer;color:var(--couleur)}.reprise .onglets-internes{max-width:720px}.reprise .lignes-piece input[type=date],.reprise .lignes-piece select{min-width:0}.reprise ul.erreur,.reprise ul.avertissement{margin:8px 0;padding-left:20px}.reprise div.erreur{background:#fbe7e6;border-radius:8px;padding:8px 12px;margin-top:12px}.reprise div.erreur ul{margin:4px 0;padding-left:20px;max-height:240px;overflow:auto}.avertissement{color:#8a5a00}.succes{color:var(--ok);font-weight:600}.encart{border:1px dashed var(--bord);border-radius:8px;padding:8px;margin-top:6px}.actions.gauche{justify-content:flex-start}@media(max-width:700px){.reprise .liste.lignes-piece{display:block;overflow-x:auto}}@media(min-width:901px){.barre{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:16px}.barre>.marque{grid-column:1;justify-self:start;min-width:0;max-width:min(26ch,100%)}.barre>.modules{grid-column:2;justify-self:center}.barre>.utilisateur{grid-column:3;justify-self:end;margin-left:0}.barre>.onglets{grid-column:1 / -1;grid-row:2}.barre>.onglets button:first-child{margin-left:auto}.barre>.onglets button:last-child{margin-right:auto}}.en-calcul{opacity:.45}td,th,li,.modal h2,.carte h2,h3,h4,p{unicode-bidi:plaintext}.conditionnements{margin:8px 0 12px}.ligne-cond{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.ligne-cond select{width:auto;min-width:110px}.ligne-cond .champ-num{width:70px}.ligne-cond .champ-prix{width:100px}.ligne-cond .champ-cb{width:130px}.ligne-cond .case{margin:0;font-size:.85em}select.unite-ligne{width:auto;min-width:0;min-height:0;padding:2px 4px;font-size:.85rem;margin:2px 4px 2px 0}.ligne-nom small .lien,.lignes-piece small .lien{padding:0}.arrondi{font-size:.85em}.entete-ticket{display:flex;justify-content:space-between;align-items:center;gap:8px}.tarif-ticket{display:flex;align-items:center;gap:6px;margin:0}.tarif-ticket select{width:auto;min-height:0;padding:4px 8px}.tarifs table{margin-top:4px}.tarifs .champ-prix{width:90px}.lots-saisie{display:flex;flex-direction:column;gap:4px;margin-top:4px}.lots-saisie .ligne-lot{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.lots-saisie input{width:110px;min-height:0;padding:4px 6px}.lots-saisie input.court{width:70px}.lots-saisie input[type=date]{width:140px}.lots-saisie select{width:auto;max-width:100%;min-height:0;padding:4px 6px;font-size:.85em}.lots-saisie .lien{align-self:flex-start;font-size:.85em}.lots-ligne{display:flex;flex-wrap:wrap;gap:6px}.avertissement-lot{color:#9a6700;font-weight:600}.lots-article table{margin-top:4px}.lots-caisse{grid-column:1 / -1}.lots-caisse .lots-saisie{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin-top:0}tr[tabindex]:focus-visible{outline:2px solid var(--bleu, #1f4e79);outline-offset:-2px}.graphe-barres{display:grid;gap:2px;height:200px;margin:8px 0 4px}.graphe-barres .colonne{display:grid;grid-template-rows:1fr 18px;align-items:end;cursor:default;min-width:0}.graphe-barres .piste{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--bord)}.graphe-barres .barre-mois{width:min(28px,80%);background:var(--couleur);border-radius:4px 4px 0 0;min-height:0}.graphe-barres .colonne:hover .barre-mois,.graphe-barres .colonne.survol .barre-mois{filter:brightness(1.15)}.graphe-barres .mois{font-size:11px;color:var(--gris);text-align:left;white-space:nowrap;overflow:visible}.info-survol{min-height:22px;margin:0 0 8px;font-variant-numeric:tabular-nums}.activite .choix{flex-wrap:wrap}.activite .choix button{flex:0 0 auto}.liste td.erreur{color:var(--erreur)}@media(min-width:901px)and (max-width:1500px){.modules button{padding:0 10px}}.avertissement-carte{border:2px solid #f0d58a;background:#fffaf0;margin-bottom:12px}.alerte-sauvegarde{display:flex;gap:12px;align-items:center;background:#fff6e0;border-bottom:2px solid #f0d58a;color:#7a5600;padding:8px 16px}.alerte-sauvegarde .texte{flex:1}.dernier-ticket{border:2px solid var(--couleur);border-radius:10px;padding:10px 14px;margin-bottom:12px;background:#f6f9fd}.dernier-ticket p{margin:4px 0}.rendu-grand{font-size:22px}.rendu-grand strong{color:var(--couleur)}.tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.tuile{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:92px;padding:8px;text-align:left;background:#fff;border:1px solid var(--bord);border-radius:10px;color:var(--texte);white-space:normal}.tuile img{width:100%;height:56px;object-fit:contain}.tuile .designation{font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tuile .prix{font-weight:700;margin-top:auto}.tuile:active{background:#eef3fa}.bandeau-veille{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fdecec;border:2px solid var(--erreur);color:#7a1a1a;border-radius:10px;padding:10px 14px;margin-bottom:12px}.bandeau-veille span{flex:1 1 260px}.pastille.pastille-veille{background:#fdecec;color:#7a1a1a;font-weight:600}.suite-liste{margin:10px 0 0;color:var(--gris);font-size:14px}.modal.confirmation{width:min(480px,100%)}.modal.confirmation p{white-space:pre-line}button.danger.grand{background:var(--erreur);border-color:var(--erreur);color:#fff;font-weight:600}input[aria-invalid=true]{border-color:var(--erreur)}.liste td small.erreur,.quantite small.erreur{display:block;font-size:12px}@media(max-width:600px){.barre{padding:4px 8px;gap:6px;row-gap:2px}.barre>.marque{display:none}.modules{order:1;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.modules button{flex:0 0 auto;min-height:36px;padding:0 10px;font-size:14px}.utilisateur{order:2;flex:1 1 100%;min-width:0;justify-content:space-between;gap:6px}.utilisateur .pastille{flex:0 1 auto;min-width:0;font-size:12px;padding:2px 8px;overflow:hidden;text-overflow:ellipsis}.utilisateur .nom-utilisateur{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.utilisateur .discret{min-height:32px;padding:0 10px}.onglets{order:3;scrollbar-width:none}.onglets button{min-height:36px;padding:0 10px;font-size:14px}main{padding:8px}.carte{overflow-x:auto}.tuiles{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.ligne{grid-template-columns:1fr auto 40px}.ligne .remise{grid-column:1 / 2}.grille-caisses{grid-template-columns:1fr}.choix{flex-wrap:wrap}.choix button{flex:1 1 auto}.bandeau-veille{padding:8px 10px;font-size:14px}}.alerte-stock{display:block;margin-top:2px}.lien.bloc{display:block;text-align:left;padding:6px 0}.actions-piece{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.prix-ligne{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}.prix-ligne select{width:auto;min-height:32px;padding:2px 6px;font-size:13px}.prix-ligne .prix-saisi{display:inline-flex;gap:4px;align-items:center;margin:0;font-size:13px;color:var(--gris)}.prix-ligne .prix-saisi input{width:96px;min-height:32px;padding:2px 6px;text-align:right}.resultats>.etiquette,.resultats>.tuiles{grid-column:1 / -1}.prix-ligne .prix-saisi{white-space:nowrap}.echeancier{display:grid;gap:8px}.echeancier .barre-outils{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.echeancier .barre-outils input.court{width:60px}.echeancier label.en-ligne{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.echeancier label.en-ligne input{width:auto}.echeancier table.liste{max-width:560px}.echeancier table.liste input{width:100%;max-width:200px}table.liste tr.ligne-total td{border-top:2px solid var(--gris, #888)}.echeancier .barre-outils input,.echeancier .barre-outils button{width:auto;flex:0 0 auto}.defile-x{overflow-x:auto}.balance-agee td,.balance-agee th{white-space:nowrap}.menu-modules{display:none;position:relative;order:1}.menu-modules .ouvrir-menu{background:#ffffff24;color:#fff;border:0;min-height:40px;font-weight:600;padding:0 14px;white-space:nowrap}.menu-modules .fond-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140}.menu-modules .liste-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:150;min-width:240px;background:#fff;border-radius:12px;box-shadow:0 12px 32px #0f172a4d;padding:6px;display:grid;gap:2px}.menu-modules .liste-menu button{text-align:left;border:0;border-radius:8px;min-height:48px;color:var(--texte)}.menu-modules .liste-menu button.actif{background:color-mix(in srgb,var(--couleur) 12%,#fff);color:var(--couleur);font-weight:700}.menu-modules .liste-menu hr{border:0;border-top:1px solid var(--bord);margin:4px 0;width:100%}.menu-modules .liste-menu small{color:var(--gris)}@media(max-width:1099px){.barre{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:4px}.barre>.marque{order:0;max-width:22ch}.barre>.modules{display:none}.menu-modules{display:block}.barre>.utilisateur{order:2;margin-left:auto}.barre>.onglets{order:3;flex:1 1 100%}.barre>.onglets button:first-child{margin-left:0}}@media(max-width:600px){.barre>.utilisateur{flex:0 1 auto;min-width:0;justify-content:flex-end}.barre>.utilisateur .nom-utilisateur{display:none}.menu-modules .liste-menu{min-width:min(280px,calc(100vw - 24px))}}@media(min-width:700px)and (max-width:900px){.vente{grid-template-columns:1fr minmax(320px,46%);height:100%}.resultats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.barre-ticket-mobile{display:none}@media(max-width:699px){.vente{padding-bottom:72px}.barre-ticket-mobile{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:8px;align-items:center;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--bord);box-shadow:0 -6px 18px #0f172a1f}.barre-ticket-mobile .resume-ticket{flex:1;min-width:0;font-size:15px}.barre-ticket-mobile .resume-ticket strong{font-size:19px;color:var(--couleur)}.barre-ticket-mobile button{min-height:48px}.barre-ticket-mobile button.principal{padding:0 22px}}@media(max-width:600px){table.liste[data-cartes] thead{display:none}table.liste[data-cartes],table.liste[data-cartes] tbody,table.liste[data-cartes] tfoot{display:block;width:100%}table.liste[data-cartes] tr{display:block;background:#fff;border:1px solid var(--bord);border-radius:10px;padding:6px 12px;margin-bottom:8px}table.liste[data-cartes] tr.choisi{border-color:var(--couleur)}table.liste[data-cartes] td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0;padding:3px 0;text-align:right;white-space:normal;min-height:0}table.liste[data-cartes] td:before{content:attr(data-etiquette);color:var(--gris);font-size:13px;text-align:left;flex:0 1 auto;white-space:nowrap}table.liste[data-cartes] td[data-etiquette=""]:before{content:none}table.liste[data-cartes] td:empty{display:none}table.liste[data-cartes] td:first-child{justify-content:flex-start;text-align:left;font-weight:600;font-size:16px;padding-bottom:4px}table.liste[data-cartes] td:first-child:before{content:none}table.liste[data-cartes] tr.ligne-total,table.liste[data-cartes] tr.fort{background:#f7f8fa}table.liste[data-cartes=liste] td.d{text-align:right}table.liste[data-cartes=saisie] td{align-items:center}table.liste[data-cartes=saisie] td .champ-num,table.liste[data-cartes=saisie] td .champ-prix{width:130px;min-height:44px}table.liste[data-cartes=saisie] td:last-child:has(>button.supprimer:only-child){justify-content:flex-end}.carte:has(>table.liste[data-cartes]){overflow-x:visible}.carte:has(>table.liste[data-cartes]),.carte:has(>.defile-x>table.liste[data-cartes]){background:transparent;border:0;padding:0}}@media(max-width:900px){.barre>.marque{max-width:16ch}.barre>.utilisateur .nom-utilisateur{display:none}}@media(max-width:699px){.barre-ticket-mobile .resume-ticket{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.barre-ticket-mobile .resume-ticket strong{font-size:18px}.barre-ticket-mobile button{padding:0 14px}}.carte.injoignable{width:min(420px,calc(100vw - 32px));text-align:center}@media(min-width:700px)and (max-width:1099px){.ligne{grid-template-columns:auto minmax(0,1fr) 40px;grid-auto-flow:dense}.ligne .remise{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.ligne .remise input{width:120px}.ligne .montant{white-space:nowrap}}.ouvrir-tiroir{margin-top:8px;width:100%;color:var(--gris);min-height:40px}.avec-scanner{display:flex;gap:6px;align-items:stretch}.avec-scanner>input{flex:1;min-width:0}.bouton-scanner{flex:0 0 auto;width:56px;padding:0;font-size:22px}.connexion-mobile ol{padding-left:20px;line-height:1.6}.qr-codes{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.qr-codes figure{margin:0;text-align:center;background:#fff;border:1px solid var(--bord);border-radius:12px;padding:10px}.qr-codes img{display:block}.qr-attente{width:240px;height:240px;background:#f3f5f8;border-radius:8px}.statut.service{background:#efe9f8;color:#5b3a8c;margin-left:4px}.nature-article{margin:4px 0 2px}.fiche-intervention .carte{margin-bottom:12px}.details-intervention{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0}.details-intervention dt{color:var(--texte-doux, #667)}.details-intervention dd{margin:0}.actions-intervention{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photos-intervention{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.vignette-intervention{position:relative}.vignette-intervention img{width:96px;height:96px;object-fit:cover;border-radius:6px;border:1px solid #dde}.vignette-intervention .supprimer{position:absolute;top:-6px;right:-6px}.zone-signature{width:100%;height:200px;border:1px dashed #99a;border-radius:6px;background:#fff;touch-action:none;display:block;margin:8px 0}.signature-intervention{max-width:280px;max-height:120px;border-bottom:1px solid #ccd}.lignes-intervention td.d{white-space:nowrap}.statut.accepte{background:#e3f3e9;color:var(--ok)}.statut.annule{background:#eceef1;color:#667}@media(max-width:600px){.actions-intervention button.grand{width:100%}}.liste-modules{list-style:none;padding:0;margin:8px 0}.liste-modules li{padding:8px 0;border-bottom:1px solid #eef0f3}.activation{max-width:560px}.activation textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.code-activation{display:flex;align-items:center;gap:12px;margin:6px 0 14px}.code-activation strong{font-family:ui-monospace,monospace;font-size:18px;letter-spacing:1px;white-space:nowrap;padding:6px 12px;border:1px dashed var(--bord);border-radius:6px;background:#fff}.activation .fichier input{width:auto}.carte.licence table.fiche th{text-align:left;padding:4px 16px 4px 0;color:var(--gris);font-weight:500}.centre-ecran .assistance{margin-top:12px;color:var(--gris);font-size:13px;text-align:center}.centre-ecran{align-content:center}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--bord)}.checklist li.fait .point{color:var(--gris);text-decoration:line-through}.checklist .boutons-point{display:flex;gap:6px;flex-shrink:0}.checklist .boutons-point button{min-height:36px;padding:4px 10px}.historique-equipement{padding-left:18px;margin:4px 0 10px}.historique-equipement li{margin:4px 0}.equipements-contrat{border:1px solid var(--bord);border-radius:6px;padding:6px 10px;margin:6px 0}.planning-semaine{overflow-x:auto}.calendrier{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}.calendrier th,.calendrier td{border:1px solid var(--bord);padding:4px;vertical-align:top;font-size:13px}.calendrier thead th.aujourdhui{background:color-mix(in srgb,var(--couleur) 12%,#fff)}.calendrier tbody th{width:120px;text-align:left;font-weight:600}.calendrier td{min-height:60px;height:64px}.creneau{display:block;width:100%;text-align:left;margin:0 0 4px;padding:4px 6px;font-size:12px;line-height:1.25;border:1px solid var(--bord);border-left:4px solid var(--couleur);border-radius:4px;background:#fff;cursor:pointer;min-height:0}.creneau small{display:block;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creneau.terminee{border-left-color:#2e7d32;opacity:.8}.creneau.en_cours{border-left-color:#ef6c00}.creneau.annulee{opacity:.45;text-decoration:line-through}.semaine .barre-outils{gap:10px;flex-wrap:wrap;align-items:center}.pastille.pastille-distant{background:#fff4d6;color:#6b4e00;font-weight:600}.acces-distant .carte{margin-bottom:16px}.acces-distant label:not(.case){display:block;margin:10px 0}.acces-distant label.case{display:flex;gap:8px;align-items:center;margin:6px 0}.acces-distant label input:not([type=checkbox]),.acces-distant textarea{display:block;width:100%;max-width:640px;margin-top:4px;font-family:inherit}.acces-distant textarea{font-family:ui-monospace,monospace;font-size:12px}.acces-distant ol{padding-left:20px;line-height:1.6}.etat-tunnel{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:600;font-size:14px}.etat-tunnel.bon{background:#e3f4e8;color:#17602f}.etat-tunnel.attente{background:#fff4d6;color:#6b4e00}.etat-tunnel.mauvais{background:#fdecec;color:#7a1a1a}.etat-tunnel.neutre{background:#eef1f5;color:#3b4a5c}.erreur.petit{font-size:13px;margin-top:4px}.modal .mode.en-ligne{align-items:end}.paye-en-ligne{color:#17602f;font-weight:700;white-space:nowrap}.paiement-qr{border:2px solid var(--couleur, #1F4E79);border-radius:10px;padding:14px;margin:12px 0;text-align:center}.paiement-qr img,.paiement-qr .qr-attente{display:block;margin:8px auto;width:280px;height:280px;max-width:100%}.paiement-qr .qr-attente{background:#eef1f5;border-radius:8px}.etat-qr{font-weight:700;font-size:18px}.etat-qr.paye{color:#17602f}.etat-qr.echoue,.etat-qr.expire{color:#7a1a1a}.paiements-en-ligne .carte{margin-bottom:16px}.compte-marchand label:not(.case){display:block;margin:10px 0}.compte-marchand label:not(.case) input,.compte-marchand select{display:block;width:100%;max-width:520px;margin-top:4px}.compte-marchand label.case{display:flex;gap:8px;align-items:center;margin:10px 0}.restauration .salle h3{margin-top:0}.tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.tables.petites{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:8px 0}.table{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;min-height:96px;border-radius:10px;border:2px solid var(--bord);background:#fff;text-align:left;font-size:14px}.tables.petites .table{min-height:0;flex-direction:row;align-items:center;flex-wrap:wrap}.table strong{font-size:18px}.table.libre{border-style:dashed}.table.occupee{border-color:var(--couleur);background:color-mix(in srgb,var(--couleur) 8%,#fff)}.table.a-envoyer{border-color:#b26a00;background:#fff6e6}.table.prete{border-color:var(--ok);background:#e9f6ee}.fini{opacity:.55}.pastille-etat{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--ok);color:#fff;font-size:12px;font-weight:600}.pastille-etat.attente{background:#b26a00}.entete-commande{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.entete-commande h3{margin:0;flex:1}.lignes-commande{list-style:none;padding:0;margin:0}.lignes-commande li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bord);flex-wrap:wrap}.lignes-commande .designation{flex:1;min-width:140px}.lignes-commande .etat{font-size:12px;color:var(--gris)}.lignes-commande .montant{min-width:70px;text-align:right;font-variant-numeric:tabular-nums}.lignes-commande li.etat-annulee{text-decoration:line-through;opacity:.5}.lignes-commande li.etat-prete .etat{color:var(--ok);font-weight:700}.lignes-commande li.etat-attente .etat{color:#b26a00;font-weight:700}.total-commande{text-align:right;font-size:18px}.barre-commande{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.compteur{display:flex;align-items:center;gap:12px}.compteur button{min-width:48px;font-size:20px;padding:0}.compteur strong{min-width:28px;text-align:center;font-size:20px}.compteur.petit button{min-width:40px;min-height:40px}.categories-carte{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.categories-carte button{flex:0 0 auto}.categories-carte button.actif{background:var(--couleur);color:#fff;border-color:var(--couleur)}.articles-carte{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:10px 0}.articles-carte button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:80px;padding:10px;text-align:left}.panier-carte{border-top:2px solid var(--bord);padding-top:8px;position:sticky;bottom:0;background:var(--carte)}.ligne-panier{display:grid;grid-template-columns:44px 30px 44px 1fr;gap:6px;align-items:center;margin-bottom:6px}.ligne-panier input{grid-column:1 / -1;min-height:40px;padding:6px 10px}.ligne-panier button{min-width:44px;padding:0}.paiement-table{display:grid;gap:10px}.ecran-poste .bons{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.bon{background:#fff;border:2px solid var(--couleur);border-radius:10px;padding:12px}.bon.fini{border-color:var(--ok)}.bon header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bon header strong{font-size:22px}.bon ul{list-style:none;padding:0;margin:0 0 10px}.bon li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:18px;border-bottom:1px dashed var(--bord)}.bon li.etat-prete{color:var(--ok);text-decoration:line-through}.bon li em{color:#b26a00;font-style:normal;font-weight:700}.reglage-salle{border-bottom:1px solid var(--bord);padding-bottom:12px;margin-bottom:12px}.liste-simple{list-style:none;padding:0}.liste-simple li{display:flex;gap:8px;margin-bottom:6px}@media(max-width:600px){.barre-commande{grid-template-columns:1fr}.tables{grid-template-columns:repeat(2,1fr)}}.tuiles-hotel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px;align-items:stretch}.tuiles-hotel .carte{display:flex;flex-direction:column;gap:4px;margin:0}.tuiles-hotel .carte span{color:var(--gris);font-size:13px}.tuiles-hotel .carte strong{font-size:24px}.barre-planning{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.barre-planning .espace{flex:1}.grille-defilante{overflow-x:auto}.grille-planning{display:grid;grid-auto-rows:44px;gap:2px 0;min-width:720px}.entete-planning{font-size:12px;color:var(--gris);text-align:center;align-self:end;padding-bottom:4px}.entete-planning.aujourdhui{color:var(--couleur);font-weight:700}.chambre-planning{grid-column:1;display:flex;flex-direction:column;justify-content:center;padding-left:6px;border-left:4px solid var(--ok);font-size:13px}.chambre-planning small{color:var(--gris);font-size:11px}.chambre-planning.etat-sale,.chambre-planning.etat-en_menage{border-left-color:#b26a00}.chambre-planning.etat-hors_service{border-left-color:var(--erreur);opacity:.7}.case-planning{min-height:0;padding:0;border-radius:0;border:0;border-left:1px solid var(--bord);background:transparent}.case-planning:hover:not(:disabled){background:color-mix(in srgb,var(--couleur) 10%,#fff)}.barre-sejour{z-index:1;margin:5px 3px;min-height:0;padding:0 8px;border-radius:6px;border:0;font-size:12px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#fff;background:var(--couleur)}.barre-sejour.reserve{background:color-mix(in srgb,var(--couleur) 55%,#fff)}.barre-sejour.termine{background:#9aa4b2}.barre-sejour.externe{background:#d97706}.barre-sejour .source{font-weight:700;margin-right:4px}.legende-planning{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.legende-planning .barre-sejour{display:inline-block;margin:0;padding:4px 8px}.modal.large{max-width:760px}.deux-colonnes-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px}.client-reservation{grid-column:1 / -1;padding:8px 0}.note-sejour td{vertical-align:top}.encaisser-sejour{border-top:2px solid var(--bord);margin-top:12px;padding-top:8px;display:grid;gap:8px;max-width:480px}.encaisser-sejour h4{margin:0}.paiement-en-ligne{display:grid;gap:8px}.pastille-etat.statut-reserve{background:color-mix(in srgb,var(--couleur) 55%,#fff)}.pastille-etat.statut-en_cours{background:var(--couleur)}.pastille-etat.statut-termine,.pastille-etat.statut-annule,.pastille-etat.statut-absent{background:#9aa4b2}a.bouton{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:8px;border:1px solid var(--bord);background:#fff;color:var(--texte);text-decoration:none}.chambres-menage{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.chambre-menage{margin:0;border-left:6px solid var(--ok)}.chambre-menage header{display:flex;justify-content:space-between;align-items:baseline}.chambre-menage header strong{font-size:26px}.chambre-menage.etat-sale{border-left-color:#b26a00}.chambre-menage.etat-en_menage{border-left-color:var(--couleur)}.chambre-menage.etat-hors_service{border-left-color:var(--erreur)}.chambre-menage .actions{flex-wrap:wrap}.liste-chambres{list-style:none;padding:0;display:grid;gap:6px}.liste-chambres button{width:100%;text-align:left}.exports{display:flex;gap:8px;flex-wrap:wrap}.champ-article{margin:10px 0;font-size:14px;color:var(--gris);display:grid;gap:6px}.choix-chambres{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px;max-height:220px;overflow-y:auto}.choix-chambres .case{margin:0}.barres-jours{display:flex;align-items:flex-end;gap:2px;height:140px;border-bottom:1px solid var(--bord);overflow-x:auto}.barre-jour{flex:1 0 14px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.barre-jour span{width:100%;background:var(--couleur);border-radius:3px 3px 0 0;min-height:1px}.barre-jour.prevision span{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--couleur) 45%,#fff) 0,color-mix(in srgb,var(--couleur) 45%,#fff) 4px,#fff 4px,#fff 7px);border:1px solid var(--couleur)}.barre-jour small{font-size:9px;color:var(--gris)}.etats-hotel .deux-colonnes{margin:12px 0}.assistant{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--fond);display:flex;flex-direction:column;overflow:hidden}.entete-assistant{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--couleur);color:#fff}.entete-assistant h2{margin:0;font-size:20px}.entete-assistant small{color:#fffc}.entete-assistant button{color:#fff;border-color:#ffffff80}.corps-assistant{flex:1;display:grid;grid-template-columns:280px 1fr;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.etapes-assistant{display:flex;flex-direction:column;gap:4px;padding:12px;overflow-y:auto;border-right:1px solid var(--bord);background:var(--carte)}.etapes-assistant button{text-align:left;display:flex;align-items:center;gap:10px;border:0;background:transparent}.etapes-assistant button.actif{background:color-mix(in srgb,var(--couleur) 12%,#fff);font-weight:700}.etapes-assistant button.sautee{color:var(--gris)}.pastille-etape{flex:0 0 26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--bord);font-size:13px}.etapes-assistant button.faite .pastille-etape{background:var(--ok);border-color:var(--ok);color:#fff}.panneau-assistant{overflow-y:auto;min-height:0;padding:16px 20px 0}.panneau-assistant h3{margin-top:0;font-size:22px}.pied-assistant{position:sticky;bottom:0;background:var(--fond);padding:10px 0;border-top:1px solid var(--bord);justify-content:flex-end}@media(max-width:760px){.corps-assistant{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.etapes-assistant{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--bord)}.etapes-assistant button{flex:0 0 auto}}.tuiles-hotel .carte.alerte-tuile{border-color:var(--danger, #b42318)}.tuiles-hotel .carte.alerte-tuile strong{color:var(--danger, #b42318)}td.alerte-texte{color:var(--danger, #b42318);font-weight:600}.defilement-horizontal{overflow-x:auto}.plan-salle{position:relative;width:100%;aspect-ratio:16 / 10;min-height:280px;border:1px dashed var(--bord);border-radius:10px;background:repeating-linear-gradient(0deg,transparent 0 39px,color-mix(in srgb,var(--bord) 45%,transparent) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,color-mix(in srgb,var(--bord) 45%,transparent) 39px 40px);touch-action:none;overflow:hidden}.plan-salle .table-plan{position:absolute;transform:translate(-50%,-50%);width:84px;height:72px;padding:4px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;line-height:1.1;cursor:pointer}.plan-salle .table-plan.rond{border-radius:50%;width:78px;height:78px}.plan-salle .table-plan.long{width:128px;height:60px}.plan-salle.edition .table-plan{cursor:grab;background:var(--carte);border:2px solid var(--couleur)}.plan-salle.edition .table-plan.choisie{box-shadow:0 0 0 3px color-mix(in srgb,var(--couleur) 35%,transparent)}.plan-salle .table-plan span{font-size:11px}@media(max-width:600px){.plan-salle{aspect-ratio:3 / 4}.plan-salle .table-plan{width:64px;height:56px;font-size:11px}.plan-salle .table-plan.rond{width:60px;height:60px}.plan-salle .table-plan.long{width:96px;height:48px}}.point-journee{border-left:4px solid #f0b429;padding:6px 10px;margin:8px 0;background:#fffaf0;border-radius:0 8px 8px 0}.point-journee ul{margin:4px 0 0;padding-left:18px}.bandeau-ok{background:#e8f6ee;border:1px solid #9fd8b4;color:#135c33;border-radius:8px;padding:8px 12px}button.whatsapp{border-color:#25d366;color:#128c4a}button.whatsapp:hover{background:#e9fbf0}.whatsapp-actions:empty{display:none}.choix-compte{display:flex;flex-direction:column;gap:4px}.choix-compte .actions-compte{display:flex;gap:14px;align-items:center;font-size:.9em}.choix-compte .actions-compte .case{margin:0;font-weight:400}.choix-compte .nouveau-compte{display:flex;flex-direction:column;gap:6px;padding:10px;margin-top:4px;border:1px dashed var(--bord);border-radius:6px;background:var(--fond)}.choix-compte .nouveau-compte .actions{display:flex;gap:8px;justify-content:flex-end}fieldset.sans-cadre{border:0;padding:0;margin:0;min-width:0}fieldset.sans-cadre:disabled{opacity:.75}.a-remettre .filtres{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.fiches-remise{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.fiche-remise{border:1px solid #d0d7de;border-left:6px solid #9aa4ae;border-radius:8px;padding:10px 12px;background:#fff}.fiche-remise.ok{border-left-color:#1a7f37}.fiche-remise.attente{border-left-color:#bf8700}.fiche-remise.bloque{border-left-color:#cf222e}.fiche-remise header{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.fiche-remise header .pastille{margin-left:auto}.fiche-remise ul{margin:6px 0;padding-left:18px}.fiche-remise li{margin:2px 0}.pastille.etat-ok{background:#dafbe1;color:#116329}.pastille.etat-attente{background:#fff8c5;color:#7d4e00}.pastille.etat-bloque{background:#ffebe9;color:#a40e26}.section-rapport{margin-top:14px}.section-rapport h3{margin:6px 0}.filtres-mouvements{flex-wrap:wrap;align-items:flex-end}.filtres-mouvements .recherche-article{flex:1 1 260px;min-width:220px}.article-choisi{display:flex;gap:8px;align-items:center;flex:1 1 260px}
