:root{--color-primary: #e11b22;--color-secondary: #1e9e4a;--color-danger: #e11b22;--color-warning: #f5b301;--color-info: #1e9e4a;--color-bg: #f7f7f5;--color-text: #333333;--color-text-secondary: #6b6b6b;--font-famille: "Segoe UI Historic", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;--radius: 8px;--spacing-1: 8px;--spacing-2: 16px;--spacing-3: 24px;--tap-target-min: 48px}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body{margin:0;padding:0;font-family:var(--font-famille);background:var(--color-bg);color:var(--color-text)}#app{max-width:480px;margin:0 auto;min-height:100vh;padding:var(--spacing-2);padding-bottom:calc(var(--tap-target-min) + var(--spacing-3))}h1{color:var(--color-primary);font-size:1.5rem}.tagline{color:var(--color-text-secondary);margin-top:-var(--spacing-1)}form{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--color-text-secondary)}input{min-height:var(--tap-target-min);padding:0 var(--spacing-1);font-size:1rem;border:1px solid #ccc;border-radius:var(--radius)}button{min-height:var(--tap-target-min);min-width:44px;padding:0 var(--spacing-2);font-size:1rem;font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius);cursor:pointer}.btn-danger{background:var(--color-danger)}.password-field{position:relative;display:flex}.password-field input{flex:1;padding-right:calc(var(--tap-target-min) - var(--spacing-1))}.password-toggle{position:absolute;top:0;right:0;bottom:0;min-height:auto;min-width:var(--tap-target-min);padding:0;background:none;border:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}button.link-btn{background:none;color:var(--color-info);font-weight:400;padding:0;min-height:auto}button:disabled{opacity:.6;cursor:not-allowed}.code-display{font-family:Courier New,monospace;font-size:1.4rem;font-weight:700;letter-spacing:2px;text-align:center;color:var(--color-secondary);background:var(--color-bg);border:1px dashed var(--color-secondary);border-radius:var(--radius);padding:var(--spacing-2);margin:var(--spacing-2) 0;word-break:break-all}.error{color:var(--color-danger);font-size:.9rem}.success{color:var(--color-secondary);font-size:.9rem;font-weight:600}header{display:flex;justify-content:space-between;align-items:center}ul{list-style:none;padding:0}li{padding:var(--spacing-1) 0;border-bottom:1px solid #e0e0e0}li.empty{color:var(--color-text-secondary);border-bottom:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #e0e0e0;max-width:480px;margin:0 auto;padding:6px 0}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;color:var(--color-text-secondary);text-decoration:none;min-height:var(--tap-target-min);justify-content:center;flex:1}.bottom-nav-item.active{color:var(--color-primary);font-weight:600}.bottom-nav-icon{font-size:1.3rem}.stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-1);margin-bottom:var(--spacing-2)}.stat-card{background:#fff;border-radius:var(--radius);padding:var(--spacing-1) var(--spacing-2);border:1px solid #e0e0e0}.stat-card .value{font-size:1.4rem;font-weight:700;color:var(--color-primary)}.stat-card .label{font-size:.75rem;color:var(--color-text-secondary)}.admin-nav{display:flex;gap:16px;margin-top:24px;padding-top:12px;border-top:1px solid #e0e0e0}.admin-nav .bottom-nav-item{flex-direction:row;color:var(--color-text-secondary)}.admin-nav .bottom-nav-item.active{color:var(--color-primary);font-weight:600}#impersonation-banner{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-warning);color:#fff;font-size:.85rem}#impersonation-banner[hidden]{display:none}#impersonation-banner button{background:none;border:1px solid #fff;color:#fff;padding:4px 10px;border-radius:4px}#abonnement-banner{max-width:480px;margin:0 auto;padding:10px 16px;background:var(--color-warning);color:var(--color-text);font-size:.85rem;line-height:1.35}#abonnement-banner.expire{background:var(--color-danger);color:#fff;font-weight:600}#abonnement-banner:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}#abonnement-banner span{flex:1 1 220px}#abonnement-banner button{flex:none;min-height:36px;padding:6px 16px;border:1px solid currentColor;border-radius:var(--radius);background:#fff;color:var(--color-text);font-weight:600;cursor:pointer}#abonnement-banner .abonnement-banner-erreur{flex:1 1 100%;margin:0;font-weight:400}.badge{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.badge-ok{background:var(--color-secondary)}.badge-proche{background:var(--color-warning)}.badge-critique{background:var(--color-danger)}.badge-archive{background:#9e9e9e}.article-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-1) 0;border-bottom:1px solid #e0e0e0;text-decoration:none;color:inherit}.article-row .stock-value{font-weight:600}.toolbar{display:flex;gap:var(--spacing-1);margin-bottom:var(--spacing-2);align-items:center}.toolbar select,.toolbar input{min-height:40px;border:1px solid #ccc;border-radius:var(--radius);padding:0 8px}.type-toggle{display:flex;gap:var(--spacing-1)}.type-toggle button{flex:1;background:#eee;color:var(--color-text)}.type-toggle button.selected{background:var(--color-primary);color:#fff}.bar-chart{display:flex;gap:4px;align-items:flex-end;height:60px;margin-bottom:var(--spacing-2)}.bar-chart .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.65rem;color:var(--color-text-secondary)}.bar-chart .bar{width:100%;background:var(--color-secondary);border-radius:2px 2px 0 0}.bar-chart .bar.sortie{background:var(--color-danger)}body.full-width-page #app{max-width:none;padding:0}.legal-page h2{font-size:1.05rem;margin-top:var(--spacing-3)}.legal-page ul{list-style:disc;padding-left:var(--spacing-2)}.legal-page li{border-bottom:none;padding:2px 0}.legal-updated{color:var(--color-text-secondary);font-size:.85rem}.compte-section{margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid #e0e0e0}.compte-section h2{font-size:1.05rem;margin-bottom:var(--spacing-1)}.compte-section h3{font-size:.9rem;color:var(--color-text-secondary);margin:var(--spacing-2) 0 var(--spacing-1)}.article-row .stock-value{text-align:right}.article-row .stock-lots{display:block;font-size:12px;font-weight:400;color:var(--color-text-secondary)}label.checkbox-label{flex-direction:row;align-items:center;gap:var(--spacing-1)}label.checkbox-label input{width:auto;min-height:0}.quantite-row{display:flex;gap:var(--spacing-1)}.quantite-row select{width:auto}p.hint{margin:0;font-size:13px;font-weight:600;color:var(--color-secondary)}p.warning{margin:0;padding:var(--spacing-1) 12px;font-size:13px;border-radius:var(--radius);background:#fff3e0;color:#8a5200}.bouton-large{width:100%;margin:var(--spacing-1) 0}.carte-total{background:#fff;border:1px solid #e0e0e0;border-left:4px solid var(--color-secondary);border-radius:var(--radius);padding:var(--spacing-2);margin:var(--spacing-2) 0}.carte-total .value{font-size:1.6rem;font-weight:700;color:var(--color-primary)}.carte-total .label,p.periode,p.aide,.ligne-pied{font-size:.8rem;color:var(--color-text-secondary)}p.aide{text-align:center;margin:0 0 var(--spacing-2)}.ligne-entete{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-1)}.ligne-entete>:last-child{flex:none;text-align:right}.ligne-detail{font-size:.9rem}.caisse-screen h2,.arret-screen h2{font-size:1.05rem;margin:var(--spacing-3) 0 var(--spacing-1)}.arret-screen summary{min-height:var(--tap-target-min);display:flex;align-items:center;color:var(--color-info);cursor:pointer}p.ecart{margin:var(--spacing-2) 0;padding:var(--spacing-2);border:1px solid currentColor;border-radius:var(--radius);font-size:1.25rem;font-weight:700}p.ecart-bon{color:var(--color-secondary)}p.ecart-manque{color:var(--color-danger)}.installation-carte{background:#fff;border-top:3px solid var(--color-secondary);border-radius:var(--radius);padding:var(--spacing-2);margin:var(--spacing-1) 0 var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-1)}.installation-carte[hidden]{display:none}.installation-titre{font-weight:600;margin:0}.installation-texte{color:var(--color-text-secondary);margin:0}.installation-etapes{margin:0;padding-left:1.2em}.installation-carte .link-btn{align-self:flex-start}#file-attente-banner{max-width:480px;margin:0 auto;padding:10px 16px;background:#fff;border-left:3px solid var(--color-secondary);color:var(--color-text);font-size:.85rem;line-height:1.35}#file-attente-banner:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}#file-attente-banner a{color:var(--color-info);font-weight:600}.file-element{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-1) 0;border-bottom:1px solid #e5e5e5}.file-etat{color:var(--color-text-secondary);font-size:.85rem}.file-actions{display:flex;gap:var(--spacing-1);align-items:center}.file-dialogue{max-width:420px;border:none;border-radius:var(--radius);padding:var(--spacing-3)}.file-dialogue::backdrop{background:#0006}.file-dialogue h2{margin-top:0}.file-dialogue-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-1)}:root{--m-contour: #857371;--m-contour-doux: #d8c2bf;--m-surface: #fff8f7;--m-selection: #ffdad5;--m-texte-variante: #534341;--m-carte-rosee: #fdf0ee;--m-encart-vert: #e8f5ed;--m-texte-vert: #167235;--m-ombre: 0 1px 3px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .12);--m-ombre-fab: 0 3px 5px rgba(0, 0, 0, .2), 0 6px 10px rgba(0, 0, 0, .14)}.m-icone{flex:none;display:block}.m-appbar{display:flex;align-items:center;gap:4px;min-height:64px;margin:calc(-1 * var(--spacing-2)) calc(-1 * var(--spacing-2)) 0;padding:8px 4px 8px 16px;background:#fff}.m-appbar-retour{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:-12px;margin-right:12px;color:var(--color-text)}.m-appbar-titres{flex:1;min-width:0}.m-appbar h1{margin:0;font-size:22px;font-weight:400;line-height:28px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-appbar-sous-titre{margin:0;font-size:12px;color:var(--color-text-secondary)}.m-appbar-actions{display:flex;align-items:center}.m-lisere{height:5px;margin:0 calc(-1 * var(--spacing-2)) var(--spacing-2);background:var(--color-primary)}.m-action,button.m-action{display:inline-flex;align-items:center;gap:8px;min-height:40px;min-width:0;padding:0 12px;background:none;border:none;border-radius:20px;color:var(--color-primary);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}.m-btn,button.m-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 16px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:600;text-decoration:none;box-shadow:var(--m-ombre);cursor:pointer}.m-btn-vert,button.m-btn-vert{background:var(--color-secondary)}.m-btn-contour,button.m-btn-contour{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;padding:10px 24px;border:1px solid var(--m-contour);border-radius:20px;background:none;color:var(--color-primary);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}button.m-btn:disabled{background:#e0e0e0;color:#9e9e9e;box-shadow:none;opacity:1}.m-champ{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--color-text-secondary)}.m-champ input,.m-champ select,.m-champ textarea,input.m-input,select.m-input{width:100%;min-height:52px;padding:14px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--color-text);font:inherit;font-size:16px}.m-champ input:focus,.m-champ select:focus,input.m-input:focus,select.m-input:focus{outline:none;border:2px solid var(--color-primary);padding:13px 11px}.m-recherche{position:relative;display:flex;flex-direction:row;align-items:center}.m-recherche .m-icone{position:absolute;left:12px;color:var(--m-texte-variante);pointer-events:none}.m-recherche input{padding-left:48px}.m-recherche input:focus{padding-left:47px}.m-aide{margin:0;font-size:13px;color:var(--color-text-secondary)}select.m-deroulant{min-height:48px;min-width:0;padding:0 4px;border:none;border-bottom:1px solid var(--m-contour-doux);border-radius:0;background:transparent;color:var(--color-text);font:inherit;font-size:16px}.m-puces{display:flex;align-items:center;gap:8px;margin-bottom:8px}.m-puce{display:inline-flex;align-items:center;gap:6px;min-width:0;height:32px;padding:0 12px;border:1px solid var(--m-contour-doux);border-radius:8px;background:var(--m-surface);color:var(--m-texte-variante);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;flex-direction:row}.m-puce input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.m-puce:has(input:checked){background:var(--m-selection);border-color:var(--m-selection);color:#3b0907}.m-liste{margin:0;padding:0;list-style:none}.m-liste>li,.m-liste>a{border-bottom:1px solid var(--m-contour-doux);padding:0}.m-liste>:last-child{border-bottom:none}.m-tuile{display:flex;align-items:center;gap:16px;min-height:72px;padding:8px 16px;color:inherit;text-decoration:none}.m-tuile-corps{flex:1;min-width:0}.m-tuile-titre{font-size:16px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-tuile-sous-titre{font-size:14px;color:var(--color-text-secondary)}.m-tuile-fin{flex:none;text-align:right}.m-pastille{flex:none;width:10px;height:10px;border-radius:50%}.m-statut{font-size:11px;font-weight:600}.m-vide{padding:32px 16px;text-align:center;color:var(--color-text-secondary)}.m-fab{position:fixed;bottom:76px;right:max(16px,calc(50% - 224px));display:flex;align-items:center;justify-content:center;gap:12px;width:56px;height:56px;border:none;border-radius:16px;background:var(--color-primary);color:#fff;box-shadow:var(--m-ombre-fab);text-decoration:none;font-size:16px;font-weight:500;z-index:5;cursor:pointer}.m-fab-etendu{width:auto;padding:0 20px 0 16px}.m-fab-vert{background:var(--color-secondary)}.m-encart-vert{padding:16px;border-radius:12px;background:var(--m-encart-vert);color:var(--m-texte-vert)}.m-carte{border-radius:12px;background:var(--m-carte-rosee);box-shadow:var(--m-ombre)}.m-section-titre{margin:24px 0 8px;font-size:16px;font-weight:700;color:var(--color-text)}.m-segments{display:inline-flex;flex:none;height:40px;border:1px solid var(--m-contour);border-radius:20px;overflow:hidden}.m-segments button{min-height:0;min-width:0;padding:0 16px;border:none;border-radius:0;background:none;color:var(--color-text);font-size:14px;font-weight:500}.m-segments button+button{border-left:1px solid var(--m-contour)}.m-segments button.selected{background:var(--m-selection);color:#3b0907}.m-bascule{display:flex;padding:4px;border-radius:12px;background:var(--color-bg-alt, #efefed)}.m-bascule button{flex:1;min-height:44px;border-radius:22px;background:none;color:var(--color-text-secondary);font-size:15px;font-weight:700}.m-bascule button.selected{background:var(--color-secondary);color:#fff}.m-bascule button.selected.sortie{background:var(--color-primary)}.bottom-nav{height:60px;padding:0;border-top:1px solid #e0e0e0;z-index:6}.bottom-nav-item{min-height:0;gap:2px;font-size:10.5px;font-weight:400}.bottom-nav-item.active{font-weight:700}.stock-filtres{display:flex;align-items:center;gap:8px;margin-bottom:16px}.stock-filtres .m-recherche{flex:1 1 60%;min-width:0}.stock-filtres select{flex:1 1 40%}.m-liste .article-row{border-bottom:none;padding:8px 16px}.article-sous-titre{display:flex;align-items:center;gap:6px;margin-top:2px}.article-categorie{padding:1px 7px;border-radius:100px;background:var(--m-encart-vert);color:var(--m-texte-vert);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-tuile-fin .stock-value{display:block;font-weight:700;color:var(--color-text)}.m-tuile-fin .stock-lots{display:block;font-size:11px;color:var(--color-text-secondary)}.m-snackbar{position:fixed;left:50%;bottom:60px;transform:translate(-50%);width:min(480px,100%);padding:14px 16px;background:#322f2f;color:#f5eff0;font-size:14px;z-index:20}.m-retour-ligne button.m-appbar-retour,button.m-appbar-retour{min-height:0;min-width:0;padding:0;border:none;background:none;color:var(--color-text)}[hidden]{display:none!important}.m-formulaire{display:flex;flex-direction:column;gap:14px}.m-formulaire .m-champ>span:first-child{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.m-selecteur,button.m-selecteur{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:0 12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--color-text);font:inherit;font-size:16px;font-weight:400;text-align:left}.m-selecteur .m-icone{color:var(--m-texte-variante)}.m-selecteur-vide{color:#9e9e9e}.quantite-row{display:flex;align-items:center;gap:8px}.quantite-row input{flex:1;min-width:0}.m-conversion{margin:0;font-size:12.5px;font-weight:600;color:var(--color-primary)}.m-total{margin:0;padding:12px 14px;border-radius:8px;font-size:18px;font-weight:700}.m-puce.selected{background:var(--m-selection);border-color:var(--m-selection);color:#3b0907}button.m-puce{min-height:32px}.m-formulaire button[type=submit]{margin-top:6px}.ticket-screen{padding-bottom:150px}.ticket-lignes{display:flex;flex-direction:column;gap:8px}.ticket-ligne{display:flex;align-items:center;gap:8px;padding:10px 4px 10px 14px}.ticket-ligne-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ticket-ligne-corps strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-ligne-corps span{font-size:13px}.m-icone-btn,button.m-icone-btn{display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:none;border-radius:50%;background:none;color:var(--color-text-secondary)}.ticket-lignes .m-btn-contour{margin-top:4px}.ticket-pied{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(480px,100%);padding:12px 16px;background:#fff;border-top:1px solid #e0e0e0}.ticket-total{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.ticket-total span{font-size:15px;color:var(--color-text-secondary)}.ticket-total strong{font-size:22px;font-weight:700}.m-panneau{width:min(480px,100%);max-width:100%;height:75vh;margin:auto auto 0;padding:16px;border:none;border-radius:28px 28px 0 0;background:#fff}.m-panneau::backdrop{background:#00000052}.m-panneau-liste{margin-top:12px}.m-panneau-article,button.m-panneau-article{width:100%;min-height:64px;border:none;border-radius:0;background:none;color:inherit;font:inherit;font-weight:400;text-align:left}.m-panneau-article .m-tuile-sous-titre{display:block}.m-intro{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.appro-screen,.ventes-screen{padding-bottom:96px}.m-mouvement{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.m-mouvement-fleche{margin-top:2px}.m-mouvement-fleche.entree{color:var(--color-secondary)}.m-mouvement-fleche.sortie{color:var(--color-danger)}.m-mouvement-corps{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.m-mouvement-corps strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-mouvement-quantite{font-size:13px;color:var(--color-text)}.m-mouvement-details{font-size:12px;color:var(--color-text-secondary)}.m-mouvement-montant{flex:none;font-weight:700}.m-vente-groupee{padding:10px 0}.m-vente-entete{display:flex;justify-content:space-between;margin-bottom:4px}.m-vente-entete strong:first-child{font-weight:600}.m-vente-ligne{display:flex;justify-content:space-between;gap:8px;padding-top:2px;font-size:13px}.m-vente-ligne span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-vente-montant{flex:none;color:var(--color-text-secondary)}.m-vente-groupee .m-mouvement-details{display:block;margin-top:2px}.m-encart-vert.carte-total{margin:0 0 16px;border:none;background:var(--m-encart-vert)}.m-encart-vert.carte-total .label{font-size:13px;color:var(--m-texte-vert)}.m-encart-vert.carte-total .value{margin:4px 0 2px;font-size:26px;font-weight:700;color:var(--m-texte-vert)}.periode-carte{margin-bottom:12px}.periode-titre{margin:0 0 10px;font-size:13px}.periode-ligne{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px}.periode-ligne strong{font-size:17px;font-weight:700}.caisse-aide{margin:4px 0 0;font-size:12.5px;color:var(--color-text-secondary)}.caisse-section-entete{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.caisse-screen h2,.caisse-section-entete h2{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.caisse-titre-arrets{margin-top:24px!important;margin-bottom:4px!important}.caisse-vide{margin:8px 0;font-size:13px;color:#9e9e9e}.caisse-depenses,.caisse-arrets{margin:0;padding:0;list-style:none}.caisse-depenses li,.caisse-arrets li{padding:0;border:none}.caisse-depense{display:flex;align-items:center;gap:8px;padding:2px 0}.caisse-depense-corps{flex:1;min-width:0;display:flex;flex-direction:column}.caisse-depense strong{font-weight:600}.caisse-arret{display:flex;align-items:center;gap:8px;min-height:64px;color:inherit;text-decoration:none}.caisse-arret-corps{flex:1;display:flex;flex-direction:column}.caisse-arret-corps strong{font-weight:600}.caisse-arret-corps span{font-size:12.5px}.caisse-arret .m-icone{color:#9e9e9e}.m-dialogue{width:min(360px,calc(100% - 48px));padding:24px;border:none;border-radius:28px;background:#fff}.m-dialogue::backdrop{background:#00000052}.m-dialogue h2{margin:0 0 8px;font-size:24px;font-weight:400}.m-dialogue .m-champ>span:first-child{font-size:12px}.m-dialogue-actions{display:flex;justify-content:flex-end;gap:8px}.m-action-forte{font-weight:700}.stats-screen .stat-cards{gap:10px;margin-bottom:16px}.stats-screen .stat-card{padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.stats-screen .stat-card:before{content:"";display:block;height:3px;margin-bottom:8px;background:var(--accent)}.stats-screen .stat-card .value{font-size:20px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-screen .stat-card .label{font-size:12px;color:var(--color-text-secondary)}.stats-boutons{display:flex;flex-direction:column;gap:8px}.stats-titre{margin:20px 0 10px;font-size:14px;font-weight:700;color:var(--color-text)}.stats-cadre{border:1px solid #e0e0e0;border-radius:8px;background:#fff}.stats-screen .bar-chart{height:90px;padding:10px;margin:0;gap:0}.bar-paire{display:flex;justify-content:center;align-items:flex-end;gap:2px}.stats-screen .bar-chart .bar{width:7px;border-radius:0;background:#4caf50}.stats-screen .bar-chart .bar.sortie{background:var(--color-danger)}.stats-screen .bar-chart .bar-col span{margin-top:3px;font-size:9.5px;color:#9e9e9e}.stats-ligne{display:flex;justify-content:space-between;gap:8px;padding:10px 14px}.stats-ligne>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-secondaire,.stats-date{flex:none;color:var(--color-text-secondary)}.stats-date{font-size:12px}.stats-ligne-double{flex-direction:column;gap:2px}.stats-ligne-haut{display:flex;justify-content:space-between;gap:8px}.stats-auteur{font-size:11.5px;color:#9e9e9e}.signe-sortie{color:var(--color-danger)}.signe-entree{color:var(--color-primary)}.comptage-progression{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.comptage-barre{height:6px;margin-bottom:16px;border-radius:3px;background:#e8e3e2;overflow:hidden}.comptage-barre>div{height:100%;background:var(--color-primary)}.comptage-lignes{margin:0;padding:0;list-style:none}.comptage-ligne{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--m-contour-doux)}.comptage-ligne:last-child{border-bottom:none}.comptage-ligne-corps{flex:1;min-width:0;flex-direction:column;gap:2px;color:var(--color-text-secondary);font-size:13px}.comptage-ligne-corps strong{font-size:15px;font-weight:600;color:var(--color-text)}.comptage-ligne input{width:92px;min-height:52px;padding:0 8px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;text-align:center}.comptage-ligne input:focus{outline:none;border:2px solid var(--color-primary)}.comptage-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.comptage-actions .m-btn-contour{width:auto}.arret-periode{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.arret-carte{margin:0 0 12px}.arret-carte .label{font-size:13px}.arret-carte .value{margin:4px 0 8px;font-size:26px;font-weight:700}.arret-carte .ligne-entete{font-size:13px;margin-top:4px}.arret-carte .ligne-entete strong{font-weight:700}.arret-detail summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;color:var(--color-primary);font-size:14px;font-weight:500;list-style:none;cursor:pointer}.arret-detail summary::-webkit-details-marker{display:none}.arret-detail summary .m-icone{transform:rotate(90deg)}.arret-detail[open] summary .m-icone{transform:rotate(-90deg)}.arret-detail .masquer,.arret-detail[open] .voir{display:none}.arret-detail[open] .masquer{display:inline}.arret-detail ul{margin:0;padding:0;list-style:none}.arret-detail li{padding:10px 0;border:none}.arret-detail .ligne-pied{font-size:13px}.m-separateur{height:1px;margin:16px 0;border:none;background:var(--m-contour-doux)}.arret-screen h2{margin:0 0 8px;font-size:16px;font-weight:600}.arret-ligne{margin:0 0 8px;font-size:15px}.arret-ligne strong{font-weight:700}.arret-screen .m-champ{margin-bottom:12px}.arret-screen p.ecart{display:flex;align-items:center;gap:12px;margin:12px 0 16px;padding:16px 20px;border:1px solid currentColor;border-radius:12px;font-size:22px;font-weight:700}.arret-screen p.ecart-manque{background:#f8e1df}.arret-screen p.ecart-bon{background:var(--m-encart-vert);color:var(--m-texte-vert)}.arret-aide{margin:8px 0 0;font-size:12.5px;text-align:center;color:var(--color-text-secondary)}.m-dialogue-actions button{margin-top:0!important}button.m-action-forte{font-weight:700}#app form label{gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary)}#app form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#app form select,#app form textarea,#app .toolbar input,#app .toolbar select{width:100%;min-height:52px;padding:14px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--color-text);font-size:16px}#app form input:not([type=checkbox]):not([type=radio]):focus,#app form select:focus,#app form textarea:focus{outline:none;border:2px solid var(--color-primary);padding:13px 11px}#app form button[type=submit]{min-height:48px;border-radius:8px;font-size:15px;font-weight:600;box-shadow:var(--m-ombre)}.btn-secondary{background:var(--color-secondary)}.compte-section{margin:0 0 16px;padding:14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.compte-section h2{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--color-text)}.compte-section p{margin:0}.abonnement-titre{font-size:20px;font-weight:700}.compte-section .abonnement-detail,.compte-section .abonnement-tarif{margin-top:2px;font-size:13px}.abonnement-tarif{color:var(--color-text-secondary)}.compte-section #payer-btn{margin-top:10px}.abonnement-sous-titre{margin:14px 0 6px;font-size:13px;font-weight:600;color:var(--color-text)}.abonnement-paiement{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.abonnement-paiement strong{font-weight:600}.abonnement-vide{font-size:13px;color:#9e9e9e}.auth-screen h1{margin:32px 0 4px;font-size:26px;font-weight:700;color:var(--color-primary)}.auth-screen .tagline{margin:0 0 24px;font-size:13.5px;color:var(--color-text-secondary)}.auth-screen a{color:var(--color-primary);font-weight:600}.auth-screen>p{font-size:13.5px;color:var(--color-text-secondary)}.auth-screen a{text-decoration:none}#landing .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#landing .fixed{position:fixed}#landing .top-0{top:0}#landing .z-20{z-index:20}#landing .mx-auto{margin-left:auto;margin-right:auto}#landing .my-7{margin-top:1.75rem;margin-bottom:1.75rem}#landing .my-8{margin-top:2rem;margin-bottom:2rem}#landing .mb-2{margin-bottom:.5rem}#landing .mb-4{margin-bottom:1rem}#landing .mb-5{margin-bottom:1.25rem}#landing .mb-6{margin-bottom:1.5rem}#landing .mb-8{margin-bottom:2rem}#landing .ml-1{margin-left:.25rem}#landing .mr-2{margin-right:.5rem}#landing .mr-3{margin-right:.75rem}#landing .mr-auto{margin-right:auto}#landing .mt-10{margin-top:2.5rem}#landing .mt-4{margin-top:1rem}#landing .mt-8{margin-top:2rem}#landing .block{display:block}#landing .flex{display:flex}#landing .inline-flex{display:inline-flex}#landing .grid{display:grid}#landing .hidden{display:none}#landing .h-5{height:1.25rem}#landing .h-6{height:1.5rem}#landing .h-9{height:2.25rem}#landing .w-5{width:1.25rem}#landing .w-6{width:1.5rem}#landing .w-64{width:16rem}#landing .w-full{width:100%}#landing .max-w-2xl{max-width:42rem}#landing .max-w-lg{max-width:32rem}#landing .max-w-screen-md{max-width:768px}#landing .max-w-screen-sm{max-width:640px}#landing .max-w-screen-xl{max-width:1280px}#landing .flex-shrink-0,#landing .shrink-0{flex-shrink:0}#landing .flex-col{flex-direction:column}#landing .flex-wrap{flex-wrap:wrap}#landing .items-center{align-items:center}#landing .items-baseline{align-items:baseline}#landing .justify-center{justify-content:center}#landing .justify-between{justify-content:space-between}#landing .gap-4{gap:1rem}#landing .gap-6{gap:1.5rem}#landing .gap-8{gap:2rem}#landing :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}#landing :is(.space-y-16>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}#landing :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}#landing :is(.space-y-5>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#landing .place-self-center{place-self:center}#landing .self-center{align-self:center}#landing .whitespace-nowrap{white-space:nowrap}#landing .break-all{word-break:break-all}#landing .rounded-3xl{border-radius:1.5rem}#landing .rounded-lg{border-radius:.5rem}#landing .border{border-width:1px}#landing .border-8{border-width:8px}#landing .border-b{border-bottom-width:1px}#landing .border-t{border-top-width:1px}#landing .border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}#landing .border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#landing .border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}#landing .border-gray-900{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}#landing .bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}#landing .bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(225 27 34 / var(--tw-bg-opacity, 1))}#landing .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#landing .p-2{padding:.5rem}#landing .p-4{padding:1rem}#landing .p-6{padding:1.5rem}#landing .px-4{padding-left:1rem;padding-right:1rem}#landing .px-5{padding-left:1.25rem;padding-right:1.25rem}#landing .py-2{padding-top:.5rem;padding-bottom:.5rem}#landing .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}#landing .py-3{padding-top:.75rem;padding-bottom:.75rem}#landing .py-5{padding-top:1.25rem;padding-bottom:1.25rem}#landing .py-8{padding-top:2rem;padding-bottom:2rem}#landing .pb-5{padding-bottom:1.25rem}#landing .pb-8{padding-bottom:2rem}#landing .pl-3{padding-left:.75rem}#landing .pr-4{padding-right:1rem}#landing .pt-24{padding-top:6rem}#landing .pt-8{padding-top:2rem}#landing .text-left{text-align:left}#landing .text-center{text-align:center}#landing .text-2xl{font-size:1.5rem;line-height:2rem}#landing .text-3xl{font-size:1.875rem;line-height:2.25rem}#landing .text-4xl{font-size:2.25rem;line-height:2.5rem}#landing .text-5xl{font-size:3rem;line-height:1}#landing .text-base{font-size:1rem;line-height:1.5rem}#landing .text-sm{font-size:.875rem;line-height:1.25rem}#landing .text-xl{font-size:1.25rem;line-height:1.75rem}#landing .font-bold{font-weight:700}#landing .font-extrabold{font-weight:800}#landing .font-light{font-weight:300}#landing .font-medium{font-weight:500}#landing .font-semibold{font-weight:600}#landing .leading-none{line-height:1}#landing .leading-tight{line-height:1.25}#landing .tracking-tight{letter-spacing:-.025em}#landing .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}#landing .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#landing .text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#landing .text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}#landing .text-primary-600{--tw-text-opacity: 1;color:rgb(225 27 34 / var(--tw-text-opacity, 1))}#landing .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#landing .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#landing .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#landing .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#landing *,#landing :before,#landing :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}#landing{font-family:var(--font-famille);color:#111827;background:#fff;line-height:1.5}#landing h1,#landing h2,#landing h3,#landing p,#landing ul,#landing ol{margin:0}#landing ul,#landing ol{padding:0;list-style:none}#landing li{border:none;padding:0}#landing img{display:block;max-width:100%}#landing a{text-decoration:none}#landing button{min-height:0;min-width:0;background:none;color:inherit;font-weight:inherit;border-radius:0}#landing details summary{list-style:none;cursor:pointer}#landing details summary::-webkit-details-marker{display:none}#landing details[open] .chevron{transform:rotate(180deg)}#landing header{display:block}#landing .hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}#landing .hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}#landing .hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(184 21 27 / var(--tw-bg-opacity, 1))}#landing .hover\:text-primary-600:hover{--tw-text-opacity: 1;color:rgb(225 27 34 / var(--tw-text-opacity, 1))}#landing .hover\:underline:hover{text-decoration-line:underline}@media (min-width: 640px){#landing .sm\:inline-flex{display:inline-flex}#landing .sm\:hidden{display:none}#landing .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#landing .sm\:flex-row{flex-direction:row}#landing .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}#landing .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){#landing .md\:flex-row{flex-direction:row}#landing .md\:items-center{align-items:center}#landing .md\:justify-between{justify-content:space-between}#landing .md\:text-5xl{font-size:3rem;line-height:1}#landing .md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1024px){#landing .lg\:order-1{order:1}#landing .lg\:order-2{order:2}#landing .lg\:col-span-5{grid-column:span 5 / span 5}#landing .lg\:col-span-7{grid-column:span 7 / span 7}#landing .lg\:mb-12{margin-bottom:3rem}#landing .lg\:mb-8{margin-bottom:2rem}#landing .lg\:ml-10{margin-left:2.5rem}#landing .lg\:mr-auto{margin-right:auto}#landing .lg\:mt-0{margin-top:0}#landing .lg\:flex{display:flex}#landing .lg\:grid{display:grid}#landing .lg\:hidden{display:none}#landing .lg\:w-72{width:18rem}#landing .lg\:w-auto{width:auto}#landing .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}#landing .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#landing .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}#landing .lg\:flex-row{flex-direction:row}#landing .lg\:gap-8{gap:2rem}#landing :is(.lg\:space-x-8>:not([hidden])~:not([hidden])){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}#landing :is(.lg\:space-y-20>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}#landing .lg\:border-0{border-width:0px}#landing .lg\:p-0{padding:0}#landing .lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}#landing .lg\:py-16{padding-top:4rem;padding-bottom:4rem}#landing .lg\:py-24{padding-top:6rem;padding-bottom:6rem}#landing .lg\:pt-28{padding-top:7rem}#landing .lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1280px){#landing .xl\:gap-0{gap:0px}#landing .xl\:gap-16{gap:4rem}#landing .xl\:p-8{padding:2rem}#landing .xl\:text-6xl{font-size:3.75rem;line-height:1}}
