:root{--color-primary:#4a2e6b;--color-primary-dark:#351f4f;--color-primary-light:#613b8b;--color-primary-gradient:linear-gradient(135deg, #4a2e6b 0%, #6e3f9b 100%);--color-primary-subtle:#4a2e6b14;--color-accent-vivid:#4a2e6b;--color-accent-vivid-hover:#381e57;--color-accent-vivid-alpha:#4a2e6b14;--color-accent-gradient:linear-gradient(135deg, #4a2e6b 0%, #613b8b 100%);--color-brand-gradient:linear-gradient(135deg, #4a2e6b 0%, #613b8b 100%);--color-accent-soft:#e2e8f0;--color-accent-soft-alpha:#e2e8f099;--color-blue:#3b82f6;--color-blue-subtle:#3b82f614;--color-cyan:#0284c7;--color-cyan-subtle:#0284c714;--color-purple:#7c3aed;--color-purple-subtle:#7c3aed14;--color-amber:#d97706;--color-amber-subtle:#d9770614;--color-emerald:#059669;--color-emerald-subtle:#05966914;--color-rose:#dc2626;--color-rose-subtle:#dc262614;--color-bg-app:#f8fafc;--color-bg-mesh:#f8fafc;--color-surface-card:#fff;--color-surface-card-glass:#fff;--color-surface-subtle:#f8fafc;--color-surface-muted:#f1f5f9;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-focus:#4a2e6b;--color-text-main:#1e293b;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-text-on-primary:#fff;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Plus Jakarta Sans", sans-serif;--font-serif:"Playfair Display", Georgia, serif;--font-cursive:"Pacifico", cursive;--radius-xs:4px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 6px #0f172a0d;--shadow-md:0 6px 18px #4a2e6b0f;--shadow-lg:0 12px 28px #4a2e6b17;--shadow-float:0 20px 40px #4a2e6b1f;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.24s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-body);background:var(--color-bg-mesh);color:var(--color-text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.45;overflow-x:hidden}h1,.h1{color:var(--color-primary);letter-spacing:-.02em;font-size:1.35rem;font-weight:800;line-height:1.25}h2,.h2{color:var(--color-primary);font-size:1.15rem;font-weight:700;line-height:1.3}h3,.h3{color:var(--color-primary);font-size:.98rem;font-weight:700;line-height:1.35}h4,.h4{color:var(--color-text-main);font-size:.88rem;font-weight:700}p,span,div{font-size:.88rem}.text-muted{color:var(--color-text-muted)}.text-xs{font-size:.75rem}.text-sm{font-size:.82rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;min-height:34px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary,.btn-accent,.btn-success{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #4a2e6b38}.btn-primary:hover,.btn-accent:hover,.btn-success:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #4a2e6b52}.btn-secondary{background-color:var(--color-surface-card);color:var(--color-primary);border-color:var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-muted);border-color:var(--color-primary-light)}.btn-cancel{color:#fff;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.04em;background-color:#64748b;font-weight:700}.btn-cancel:hover{background-color:#475569}.btn-sm{border-radius:var(--radius-xs);min-height:30px;padding:6px 12px;font-size:.78rem}.btn-pill{border-radius:var(--radius-full)}.card{background-color:var(--color-surface-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), border-color var(--transition-normal);padding:14px 18px}.card:hover{box-shadow:var(--shadow-md);border-color:#d6c5e3cc}.card-glass{background:var(--color-surface-card-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fffc}.stat-widget{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:transform var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:12px;padding:12px 14px;display:flex}.stat-widget:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon-wrapper{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-info{flex-direction:column;min-width:0;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.stat-value{color:var(--color-text-main);font-size:1.15rem;font-weight:800;line-height:1.2}.badge{border-radius:var(--radius-xs);letter-spacing:.01em;white-space:nowrap;border:1px solid var(--color-border);background-color:var(--color-surface-muted);color:#334155;align-items:center;gap:5px;padding:2px 7px;font-size:.72rem;font-weight:500;line-height:1.35;display:inline-flex}.data-table .badge-status,.data-table td>.badge,.badge-status{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;min-width:96px;height:25px;padding:2px 8px;font-weight:600;display:inline-flex}.data-table th.col-statut,.data-table td.col-statut,.data-table th.th-statut,.data-table td.td-statut{text-align:center!important}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot-slate{background-color:#64748b}.status-dot-blue{background-color:#3b82f6}.status-dot-emerald{background-color:#059669}.status-dot-purple{background-color:#7c3aed}.status-dot-amber{background-color:#d97706}.status-dot-rose{background-color:#dc2626}.badge-subtle,.badge-secondary{color:#475569;background-color:#f8fafc;border-color:#e2e8f0}.badge-primary{color:#334155;background-color:#f8fafc;border-color:#e2e8f0}.badge-vert,.badge-success{color:#166534;background-color:#f4fbf7;border-color:#d1efe0}.badge-orange,.badge-warning{color:#92400e;background-color:#fef9f5;border-color:#fde8d7}.badge-rouge,.badge-danger{color:#991b1b;background-color:#fef5f5;border-color:#fadcdc}.badge-blue,.badge-info,.badge-purple{color:#475569;background-color:#f8fafc;border-color:#e2e8f0}.badge-wrap{word-break:break-word;line-height:1.25;white-space:normal!important}.form-group{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.form-label{color:#334155;align-items:center;gap:3px;font-size:.78rem;font-weight:600;display:flex}.form-label .required-star{color:#ef4444;font-weight:700}.form-input,.form-select,.form-textarea{width:100%;min-height:38px;font-family:var(--font-body);color:#1e293b;border-radius:var(--radius-xs);background-color:#fff;border:1px solid #e2e8f0;outline:none;padding:8px 12px;font-size:.84rem;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:0 1px 2px #0f172a08}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8;font-size:.82rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 2px #4a2e6b1f}.form-hint{color:#64748b;margin-top:2px;font-size:.72rem}.form-stepper{border-bottom:1px solid #e2e8f0;align-items:center;margin-bottom:16px;padding-bottom:0;display:flex;overflow-x:auto}.form-stepper-item{color:#64748b;white-space:nowrap;cursor:default;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:.76rem;font-weight:600;display:flex}.form-stepper-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:700}.form-stepper-item.completed{color:var(--color-emerald)}.data-table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface-card);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;width:100%;max-width:100%;position:relative;overflow-x:auto}.data-table-wrapper::-webkit-scrollbar{height:6px}.data-table-wrapper::-webkit-scrollbar-track{background:0 0}.data-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.data-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:520px;font-size:.82rem}.data-table th{background-color:var(--color-surface-subtle);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:normal;padding:8px 10px;font-size:.7rem;font-weight:700;line-height:1.2}.data-table td{border-bottom:1px solid var(--color-border-light);vertical-align:middle;background-color:var(--color-surface-card);padding:8px 10px;line-height:1.35}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:#faf8fc}.data-table.table-sticky-code th:first-child{background-clip:padding-box;line-height:1.15;overflow:hidden;z-index:12!important;background-color:var(--color-surface-subtle)!important;white-space:normal!important;box-sizing:border-box!important;letter-spacing:.01em!important;text-align:center!important;width:1%!important;min-width:52px!important;max-width:68px!important;padding:6px 4px!important;font-size:.68rem!important;position:sticky!important;left:0!important;box-shadow:2px 0 5px -1px #0f172a1f!important}.data-table.table-sticky-code td:first-child{word-break:break-word;background-clip:padding-box;line-height:1.15;overflow:hidden;z-index:10!important;white-space:normal!important;box-sizing:border-box!important;text-align:center!important;background-color:#fff!important;width:1%!important;min-width:52px!important;max-width:68px!important;padding:6px 4px!important;font-size:.74rem!important;position:sticky!important;left:0!important;box-shadow:2px 0 5px -1px #0f172a1f!important}.data-table.table-sticky-code tr:hover td:first-child{background-color:#faf8fc!important}@media (width>=900px){.data-table.table-sticky-code th:first-child,.data-table.table-sticky-code td:first-child{min-width:72px!important;max-width:90px!important}}.segmented-progress{border-radius:var(--radius-full);background-color:var(--color-surface-muted);gap:2px;width:100%;height:8px;display:flex;overflow:hidden}.segmented-progress-bar{height:100%;transition:width var(--transition-normal)}.modal-overlay,.modal-backdrop{-webkit-backdrop-filter:blur(5px);z-index:1000;box-sizing:border-box;background-color:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content,.modal-card{background-color:var(--color-surface-card);border-radius:var(--radius-xl);-webkit-overflow-scrolling:touch;width:100%;max-width:580px;max-height:90dvh;box-shadow:var(--shadow-float);border:1px solid var(--color-border);box-sizing:border-box;padding:20px;overflow-y:auto}.modal-card.modal-lg{max-width:680px}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.modal-title{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:700}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px;display:inline-flex}.btn-icon:hover{background-color:var(--color-surface-subtle);color:var(--color-text-main);border-color:var(--color-border)}.form-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.form-grid-4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.responsive-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.responsive-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;display:grid}.activity-breakdown-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.mobile-scroll-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.mobile-scroll-tabs>*{flex-shrink:0}.app-topbar{border-bottom:1px solid var(--color-border);z-index:90;height:60px;box-shadow:var(--shadow-xs);box-sizing:border-box;background-color:#fff;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:sticky;top:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sync-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.88)}}.spin-animation{animation:1s linear infinite spin}.sync-blinking-animation{animation:.8s ease-in-out infinite sync-blink,1.4s linear infinite spin}@keyframes syncDotPulse{0%{opacity:.45;transform:scale(.85);box-shadow:0 0 #f59e0bb3}50%{opacity:1;transform:scale(1.25);box-shadow:0 0 0 6px #f59e0b00}to{opacity:.45;transform:scale(.85);box-shadow:0 0 #f59e0b00}}.sync-dot-pulse{animation:1.1s ease-in-out infinite syncDotPulse!important}@media (width>=1441px){html{font-size:15px}}@media (width<=1200px){.dashboard-kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px}}@media (width<=1024px){html{font-size:13.5px}.dashboard-main-grid{grid-template-columns:1fr!important;gap:16px!important}.card{padding:16px}.hide-on-tablet{display:none!important}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.indicators-kpi-grid{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}}@media (width<=768px){html{font-size:13px}.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}.app-topbar{gap:8px!important;height:52px!important;padding:0 10px!important}.card{border-radius:var(--radius-md);padding:12px}.stat-widget{padding:10px 12px}.stat-value{font-size:1.05rem}.indicators-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}}@media (width<=640px){.modal-overlay,.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-content{width:100%!important;max-width:100%!important;max-height:88dvh!important;padding:16px 14px calc(16px + env(safe-area-inset-bottom,12px)) 14px!important;border-radius:12px 12px 0 0!important;margin:0!important}.form-grid-2,.form-grid-3,.form-grid-4,.responsive-grid-2{grid-template-columns:1fr!important;gap:8px!important}.modal-content [style*=gridTemplateColumns],.modal-content [style*=grid-template-columns],.modal-backdrop [style*=gridTemplateColumns],.modal-backdrop [style*=grid-template-columns],.modal-overlay [style*=gridTemplateColumns],.modal-overlay [style*=grid-template-columns]{grid-template-columns:1fr!important}.activity-breakdown-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.form-input,.form-select,.form-textarea{font-size:16px!important}.btn-mobile-icon-only span{display:none!important}.btn-mobile-icon-only{min-width:34px!important;padding:7px 10px!important}}@media (width<=480px){html{font-size:13.5px}.card{padding:10px 8px!important}.app-topbar{height:50px!important;padding:0 6px!important}.stat-widget{padding:8px 10px!important}}.mobile-bottom-nav{display:none}@media (width<=900px){.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);z-index:850;height:60px;padding-bottom:max(6px, env(safe-area-inset-bottom,6px));box-sizing:border-box;background:#fffffff2;border-top:1px solid #e2e8f0d9;justify-content:space-around;align-items:center;padding-left:2px;padding-right:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0f172a14}.bottom-nav-item{cursor:pointer;min-width:44px;max-width:62px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 1px;transition:transform .12s cubic-bezier(.4,0,.2,1),color .15s;display:flex;position:relative}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-icon-wrapper{justify-content:center;align-items:center;width:26px;height:22px;display:flex;position:relative}.bottom-nav-label{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;max-width:58px;font-size:.61rem;font-weight:600;line-height:1;overflow:hidden}.bottom-nav-item.active .bottom-nav-label{color:var(--color-primary);font-weight:700}.bottom-nav-action-btn{z-index:5;max-width:60px;margin-top:-14px}.bottom-nav-fab{background:linear-gradient(135deg, var(--color-primary) 0%, #6b4592 100%);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s;display:flex;box-shadow:0 6px 16px #4a2e6b66}.bottom-nav-action-btn:active .bottom-nav-fab{transform:scale(.9);box-shadow:0 2px 8px #4a2e6b4d}}.dashboard-kpi-grid{box-sizing:border-box;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;min-width:0;max-width:100%;display:grid}@media (width<=900px){.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}@media (width<=360px){.dashboard-kpi-grid{gap:6px!important}}.kpi-tile-card{box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;padding:12px 14px;display:flex;overflow:hidden}@media (width<=600px){.kpi-tile-card{gap:6px!important;padding:10px!important}.kpi-tile-title{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:.65rem!important;overflow:hidden!important}.kpi-tile-value{font-size:1.1rem!important;line-height:1.1!important}}.indicators-kpi-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;width:100%;min-width:0;display:grid}@media (width<=600px){.indicators-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}}.card,.dashboard-main-grid,.dashboard-main-grid>*{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.table-scroll-container,.data-table-wrapper{-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important}.caisse-kpi-grid{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:100%;display:grid}@media (width<=768px){.caisse-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.caisse-kpi-hero{grid-column:1/-1!important}}.caisse-tabs-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.caisse-tabs-bar::-webkit-scrollbar{display:none}.caisse-tabs-bar>*{white-space:nowrap;flex-shrink:0}.caisse-action-bar{box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:100%;margin-top:2px;display:flex}@media (width<=768px){.data-table{min-width:480px}.data-table th{padding:6px;font-size:.65rem;line-height:1.15}.data-table td{padding:6px;font-size:.72rem;line-height:1.25}.data-table th:first-child{text-align:center!important;min-width:46px!important;max-width:62px!important;padding:6px 2px!important;font-size:.62rem!important}.data-table td:first-child{text-align:center!important;min-width:46px!important;max-width:62px!important;padding:6px 2px!important;font-size:.72rem!important}}img,video,canvas,svg{max-width:100%}#main-app-content{overflow-wrap:break-word}.data-table-wrapper,.table-scroll-container,.mobile-scroll-tabs,.caisse-tabs-bar{overscroll-behavior-x:contain}:where(a,button,input,select,textarea,summary,[role=button],[role=radio],[role=tab],[tabindex]):focus-visible{outline:2px solid var(--color-primary-light,#7c5ba8);outline-offset:2px}@media (pointer:coarse){:where(.btn,.btn-icon,.form-input,.form-select,select.form-input,.bottom-nav-item,.sidebar-nav-item,.topbar-hamburger-btn,.sidebar-hamburger-btn):not(.data-table *){min-height:44px}.btn-icon,.topbar-hamburger-btn,.sidebar-hamburger-btn{min-width:44px}:where(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:max(16px,1em)}}@media (width<=480px){#main-app-content [style*="grid-template-columns: 1fr 1fr;"],#main-app-content [style*="grid-template-columns: 2fr 1fr;"]{grid-template-columns:minmax(0,1fr)!important}.form-grid-3,.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (height<=500px) and (orientation:landscape){.modal-overlay,.modal-backdrop{align-items:flex-start;padding:8px}.modal-content,.modal-card{max-height:calc(100dvh - 16px)}#main-app-content{padding-bottom:calc(62px + env(safe-area-inset-bottom,8px))!important}}@media (width>=1920px){#main-app-content:not(.dashboard-snap-active)>*{max-width:1760px;margin-left:auto;margin-right:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body:has(.modal-backdrop) aside[aria-label^="Proposition d'installation"]{display:none!important}.caisse-cartes-mobile{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:none}.caisse-cartes-mobile li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.caisse-cartes-mobile summary{cursor:pointer;flex-direction:column;gap:2px;min-height:44px;padding:10px 12px;list-style:none;display:flex}.caisse-cartes-mobile summary::-webkit-details-marker{display:none}.caisse-cartes-mobile summary b{font-size:1.02rem}.caisse-cartes-mobile summary span{font-size:.82rem;font-weight:600}.caisse-cartes-mobile summary small{color:var(--color-text-muted);font-size:.74rem}.caisse-cartes-mobile dl{flex-direction:column;gap:4px;margin:0;padding:0 12px 10px;font-size:.8rem;display:flex}.caisse-cartes-mobile dl div{justify-content:space-between;gap:10px;display:flex}.caisse-cartes-mobile dt{color:var(--color-text-muted)}.caisse-cartes-mobile dd{text-align:right;margin:0}.caisse-cartes-mobile .entree{color:#047857}.caisse-cartes-mobile .sortie{color:#b91c1c}@media (width<=767px){.caisse-cartes-mobile{display:flex}.caisse-table-ordi{display:none}}.messages-flottants{z-index:3000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:min(92vw,520px);display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.message-flottant{pointer-events:auto;border:1px solid var(--color-border);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 8px 8px 12px;font-size:.82rem;font-weight:600;line-height:1.3;animation:.18s ease-out message-entree;display:flex;box-shadow:0 4px 14px #28144624}.message-flottant.ok{color:#047857;border-color:#a7f3d0}.message-flottant.err{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.message-flottant span{overflow-wrap:anywhere;min-width:0}.message-flottant button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.message-flottant button:hover{background:#0000000f}@keyframes message-entree{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.message-flottant{animation:none}}.confirmation-en-ligne{color:#b91c1c;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}@media (width<=768px){html{font-size:13.5px}[style*="font-size: 0.5"],[style*="font-size: 0.6"],[style*="font-size: 0.7"]{font-size:max(10.5px,.78rem)!important}.bottom-nav-label{font-size:.78rem}.app-topbar button,.topbar-hamburger-btn,.sidebar-hamburger-btn{min-width:44px!important;min-height:44px!important}#main-app-content :is(input,select,textarea).form-input,#main-app-content select.form-select,#main-app-content input.form-input[type=search],#main-app-content select#pagination-page-size{min-height:44px!important}#main-app-content a[href^=tel\:]{align-items:center;min-height:44px;display:inline-flex}}[style*="font-size: 0.5"],[style*="font-size: 0.6"],.cpa-marque small{font-size:max(10.5px,.76rem)!important}@media (width<=768px){#main-app-content button[title^=Affichage\ en]{min-width:44px;min-height:44px}}.data-table th{font-size:max(10.5px,.74rem)}.app-topbar [style*="font-size: 0.74rem"]{font-size:max(10.5px,.74rem)!important}@media (width<=768px){.pagination-nav button{min-width:44px!important;min-height:44px!important}}.ged{flex-direction:column;gap:12px;min-width:0;display:flex}.ged-entete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ged-entete h2{color:var(--color-text-main);margin:0;font-size:1.15rem;font-weight:800}.ged-entete p{color:var(--color-text-muted);margin:2px 0 0;font-size:.8rem}.ged-entete .btn,.ged-etat .btn,.ged-suite .btn,.ged-filtres-actions .btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.ged-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ged-stats li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:auto 1fr;grid-template-areas:"i v""i l";align-items:center;column-gap:10px;min-width:0;padding:8px 12px;display:grid}.ged-stats svg{color:var(--color-primary);grid-area:i}.ged-stats b{color:var(--color-text-main);grid-area:v;font-size:1.05rem;line-height:1.2}.ged-stats .ged-stat-texte{overflow-wrap:anywhere;font-size:.8rem;font-weight:700}.ged-stats span{color:var(--color-text-muted);grid-area:l;font-size:.72rem}.ged-outils{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:8px;padding:10px;display:flex}.ged-recherche-ligne{gap:8px;display:flex}.ged-recherche{flex:1;min-width:0;position:relative}.ged-recherche svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.ged-recherche input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--color-text-main);background:#fff;padding:0 12px 0 34px;font-size:.85rem}.ged-bouton-filtres{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ged-filtres{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;display:none}.ged-filtres.ouvert{display:grid}.ged-filtres label{flex-direction:column;gap:3px;min-width:0;display:flex}.ged-filtres label span{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.ged-filtres select{width:100%;min-height:38px}.ged-filtres-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.ged-compte{color:var(--color-text-muted);margin:0;font-size:.75rem}.ged-badge,.ged-statut{white-space:nowrap;color:#334155;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;line-height:1.5;display:inline-block}.ged-statut-ok{color:#0f6b3a;background:#ecfdf3}.ged-titre{max-width:100%;font:inherit;color:var(--color-text-main);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-size:.88rem;font-weight:700;display:block}.ged-titre:hover{color:var(--color-primary);text-decoration:underline}.ged-resume{color:var(--color-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:.76rem;line-height:1.4;display:-webkit-box;overflow:hidden}.ged-cartes{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ged-carte{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.ged-carte-tete{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ged-carte-infos{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.74rem;display:flex}.ged-menu{flex-shrink:0;position:relative}.ged-menu summary{cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-text-muted);justify-content:center;align-items:center;margin:-6px -6px -6px 0;list-style:none;display:inline-flex}.ged-menu summary::-webkit-details-marker{display:none}.ged-menu summary span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ged-menu[open] summary,.ged-menu summary:hover{background:var(--color-surface-subtle,#f1f5f9)}.ged-menu-liste{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:210px;box-shadow:var(--shadow-float);background:#fff;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 2px);right:0}.ged-menu-liste button{min-height:44px;font:inherit;color:var(--color-text-main);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:0 10px;font-size:.82rem;display:flex}.ged-menu-liste button:hover{background:var(--color-surface-subtle,#f1f5f9)}.ged-actions-bureau{gap:6px;display:none}.ged-actions-bureau .btn{align-items:center;gap:5px;padding:4px 9px;font-size:.74rem;display:inline-flex}.ged-tableau{padding:0;display:none;overflow:hidden}.ged-tableau .data-table th,.ged-tableau .data-table td{vertical-align:top}.ged-cellule-doc{min-width:260px;max-width:460px}.ged-nowrap{white-space:nowrap;color:#334155;font-size:.8rem}.ged-cellule-actions{white-space:nowrap}.ged-etat{text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.ged-etat p{margin:0;font-size:.85rem}.ged-etat-erreur{text-align:left;color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;flex-flow:wrap;justify-content:space-between;padding:10px 14px;font-size:.82rem}.ged-squelette{gap:8px;display:grid}.ged-squelette span{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f1f5f9 25%,#e8edf3 50%,#f1f5f9 75%) 0 0/200% 100%;height:72px;animation:1.4s linear infinite ged-brillance}@keyframes ged-brillance{to{background-position:-200% 0}}.ged-suite{justify-content:center;display:flex}@media (width>=768px){.ged-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ged-bouton-filtres{display:none}.ged-filtres{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.ged-filtres-actions{grid-column:auto;align-self:end}}@media (width>=1100px){.ged-cartes{display:none}.ged-tableau{display:block}.ged-actions-bureau{display:inline-flex}.ged-tableau .ged-menu{display:none}}@media (pointer:coarse){.ged-titre{padding:6px 0}}.comptoir{flex-direction:column;gap:10px;min-width:0;display:flex}.cpt-navigation{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.cpt-navigation::-webkit-scrollbar{display:none}.cpt-navigation button{min-height:44px;font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.cpt-navigation button.actif{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cpt-contenu{min-width:0}.cpt-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;font:inherit;color:var(--color-text-main);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.cpt-btn:disabled{opacity:.55;cursor:not-allowed}.cpt-btn-principal{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cpt-btn-principal:disabled{opacity:1;background:#94a3b8;border-color:#94a3b8}.cpt-btn-danger{color:#991b1b;background:#fff;border-color:#fca5a5}.cpt-btn-grand{flex:1;min-height:48px;font-size:.95rem}.cpt-icone{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.cpt-icone:hover{color:#991b1b;background:#fef2f2}.cpt-lien{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.cpt-recherche{flex:1;min-width:min(100%,220px);position:relative}.cpt-recherche svg{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.cpt-recherche input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--color-text-main);background:#fff;padding:0 12px 0 40px;font-size:1rem}.cpt-onglets{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.cpt-onglets::-webkit-scrollbar{display:none}.cpt-onglets button{border:1px solid var(--color-border);min-height:40px;font:inherit;color:var(--color-text-main);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex-shrink:0;padding:0 14px;font-size:.82rem;font-weight:600}.cpt-onglets button.actif{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cpt-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;line-height:1.5;display:inline-block}.cpt-badge-ok{color:#0f6b3a;background:#ecfdf3}.cpt-badge-faible{color:#7a4b00;background:#fff4db}.cpt-badge-rupture{color:#991b1b;background:#fef2f2}.cpt-photo{color:#94a3b8;border-radius:var(--radius-sm);background:#f1f5f9;justify-content:center;align-items:center;display:flex;overflow:hidden}.cpt-photo img{object-fit:cover;width:100%;height:100%}.cpt-vide{text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;font-size:.85rem;display:flex}.cpt-erreur{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fca5a5;padding:10px 12px;font-size:.82rem}.cpt-message{color:#7a4b00;font-size:.75rem}.cpt-message-erreur{color:#991b1b;font-weight:600}.cpt-note,.cpt-compte{color:var(--color-text-muted);margin:0;font-size:.78rem}.cpt-confirmation{color:#0f6b3a;border-radius:var(--radius-sm);background:#ecfdf3;margin:0;padding:8px 12px;font-size:.82rem;font-weight:600}.cpt-sous-titre{color:var(--color-text-main);margin:14px 0 6px;font-size:.9rem;font-weight:700}.cpt-compteur{background:var(--color-primary);color:#fff;text-align:center;border-radius:999px;min-width:22px;padding:0 6px;font-size:.75rem;line-height:22px;display:inline-block}.vendre{flex-direction:column;gap:12px;padding-bottom:88px;display:flex}.vendre-catalogue{flex-direction:column;gap:10px;min-width:0;display:flex}.vendre-grille{grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.vendre-carte{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:8px;min-width:0;padding:8px;display:flex}.vendre-carte .cpt-photo{aspect-ratio:4/3;width:100%}.vendre-carte-corps{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.vendre-nom{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.25;display:-webkit-box;overflow:hidden}.vendre-prix{color:var(--color-primary);font-size:1rem;font-weight:800}.vendre-stock{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.vendre-stock small{color:var(--color-text-muted);font-size:.72rem}.vendre-carte.rupture .cpt-photo,.vendre-carte.rupture .vendre-nom,.vendre-carte.rupture .vendre-prix{opacity:.5}.vendre-carte .cpt-btn{width:100%}.vendre-barre{left:8px;right:8px;bottom:calc(var(--cpt-bas,68px) + env(safe-area-inset-bottom,0px));z-index:800;border:1px solid var(--color-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:8px 8px 8px 14px;display:flex;position:fixed;box-shadow:0 6px 24px #0f172a38}.vendre-barre-infos{flex-direction:column;min-width:0;line-height:1.25;display:flex}.vendre-barre-infos b{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.vendre-barre-infos span{color:var(--color-text-main);white-space:nowrap;font-size:1.15rem;font-weight:800}.vendre-barre .cpt-btn{flex-shrink:0;min-height:48px}.vendre-panier{z-index:900;overscroll-behavior:contain;max-height:88dvh;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);box-sizing:border-box;visibility:hidden;background:#fff;border-radius:14px 14px 0 0;flex-direction:column;gap:10px;transition:transform .22s,visibility 0s linear .22s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%);box-shadow:0 -8px 30px #0f172a2e}.vendre-panier.ouvert{visibility:visible;transition:transform .22s;transform:translateY(0)}.vendre-panier-tete{justify-content:space-between;align-items:center;gap:8px;display:flex}.vendre-panier-tete h3{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.vendre-vide{text-align:center;color:var(--color-text-muted);margin:0;padding:20px 8px;font-size:.85rem}.vendre-ticket{border-radius:var(--radius-sm);color:#0f6b3a;background:#ecfdf3;flex-direction:column;gap:2px;padding:10px 12px;font-size:.82rem;display:flex}.vendre-ticket strong{align-items:center;gap:6px;display:inline-flex}.vendre-monnaie{color:#0f6b3a;font-weight:700}.cpt-alerte-stock{color:#7a4b00;font-weight:600}.vendre-lignes{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vendre-lignes>li{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;padding:8px 0;display:flex}.vendre-ligne-haut,.vendre-ligne-bas{justify-content:space-between;align-items:center;gap:8px;display:flex}.vendre-ligne-nom{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-size:.88rem;font-weight:600;display:flex}.vendre-ligne-nom small{color:var(--color-text-muted);font-weight:400}.vendre-quantite{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.vendre-quantite button{width:44px;height:44px;color:var(--color-text-main);cursor:pointer;background:#f8fafc;border:none;justify-content:center;align-items:center;display:inline-flex}.vendre-quantite button:disabled{opacity:.4;cursor:not-allowed}.vendre-quantite input{box-sizing:border-box;border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:center;width:48px;height:44px;font:inherit;-moz-appearance:textfield;font-size:1rem;font-weight:700}.vendre-quantite input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vendre-quantite input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vendre-option summary{min-height:44px;color:var(--color-primary);cursor:pointer;align-items:center;font-size:.82rem;font-weight:600;display:flex}.vendre-option-champs,.cpt-formulaire,.cpt-reglage{flex-direction:column;gap:8px;display:flex}.vendre-option-champs label,.cpt-formulaire label,.cpt-reglage label:not(.cpt-interrupteur),.cpt-filtres label,.cpt-annuler{flex-direction:column;gap:3px;min-width:0;display:flex}.vendre-option-champs label span,.cpt-formulaire label span,.cpt-reglage label span,.cpt-filtres label span,.vendre-recu label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.vendre-totaux{flex-direction:column;gap:4px;margin:0;display:flex}.vendre-totaux>div,.cpt-faits>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.vendre-totaux dt,.vendre-totaux dd{margin:0;font-size:.85rem}.vendre-a-payer{border-top:1px solid var(--color-border);padding-top:6px}.vendre-a-payer dt,.vendre-a-payer dd{color:var(--color-text-main);font-weight:800;font-size:1.15rem!important}.vendre-paiement{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.vendre-paiement legend{margin-bottom:6px;padding:0;font-size:.85rem;font-weight:700}.cpt-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.cpt-modes button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;min-height:44px;font:inherit;color:var(--color-text-main);cursor:pointer;background:#fff;padding:0 8px;font-size:.82rem;font-weight:600}.cpt-modes button.actif{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cpt-modes-sec button.actif{border-color:var(--color-primary);color:var(--color-primary);background:#f3eef8}.vendre-recu{flex-direction:column;gap:4px;display:flex}.vendre-actions{gap:8px;display:flex}.cpt-section,.cpt-detail{flex-direction:column;gap:10px;min-width:0;display:flex}.cpt-filtres{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;display:grid}.cpt-filtres .cpt-recherche,.cpt-filtres .cpt-onglets{grid-column:1/-1}.cpt-filtres select,.cpt-filtres input[type=date]{width:100%;min-height:44px}.cpt-liste,.cpt-lignes,.cpt-produits,.cpt-barres{margin:0;padding:0;list-style:none}.cpt-liste{flex-direction:column;gap:6px;display:flex}.cpt-ligne-vente{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:56px;font:inherit;text-align:left;color:var(--color-text-main);cursor:pointer;background:#fff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.cpt-ligne-vente:hover{border-color:var(--color-primary)}.cpt-ligne-principale{flex-direction:column;min-width:0;display:flex}.cpt-ligne-principale small,.cpt-lignes small,.cpt-produit-corps small{color:var(--color-text-muted);font-size:.74rem;font-weight:400}.cpt-ligne-resume{color:var(--color-text-muted);overflow-wrap:anywhere;order:5;grid-column:1/-1;font-size:.78rem}.cpt-ligne-stock{grid-template-columns:48px minmax(0,1fr) auto auto}.cpt-ligne-stock .cpt-photo{width:48px;height:48px}.cpt-barre{color:var(--color-text-muted);text-decoration:line-through}.cpt-detail-tete{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.cpt-detail-tete h3{margin:0;font-size:1.05rem}.cpt-detail-tete .cpt-photo{width:56px;height:56px}.cpt-lignes>li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;font-size:.85rem;display:flex}.cpt-lignes>li>span{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.cpt-faits{flex-direction:column;gap:4px;margin:0;font-size:.85rem;display:flex}.cpt-faits dt{color:var(--color-text-muted)}.cpt-faits dd{text-align:right;margin:0}.cpt-faits-cartes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cpt-faits-cartes>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px}.cpt-faits-cartes dd{text-align:left;font-size:1rem}.cpt-annulee{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;margin:0;padding:10px 12px;font-size:.82rem}.cpt-annuler{border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fca5a5;padding:12px}.cpt-ligne-boutons{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.cpt-produits{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:8px;display:grid}.cpt-produits>li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:4px 10px;padding:10px;display:grid}.cpt-produits>li.inactif{background:#f8fafc}.cpt-produits .cpt-photo{width:56px;height:56px}.cpt-produit-corps{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;font-size:.86rem;display:flex}.cpt-produit-prix{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;display:flex}.cpt-produits .cpt-interrupteur{grid-column:1/-1}.cpt-interrupteur{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:.85rem;font-weight:600;display:flex}.cpt-interrupteur input{width:22px;height:22px;accent-color:var(--color-primary)}.cpt-colonnes{grid-template-columns:minmax(0,1fr);gap:4px 24px;display:grid}.cpt-barres>li{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 0;font-size:.82rem;display:grid}.cpt-barre-piste{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.cpt-barre-piste>span{background:var(--color-primary);height:100%;display:block}.cpt-numerotee{list-style:inside decimal}.vendre-panier[data-etape=panier] .vendre-section-paiement,.vendre-panier[data-etape=paiement] .vendre-section-panier{display:none}.vendre-section-panier,.vendre-section-paiement,.vendre-section-ticket{flex-direction:column;gap:10px;display:flex}.vendre-resume-paiement{border-radius:var(--radius-sm);background:#f3eef8;justify-content:space-between;align-items:baseline;margin:0;padding:10px 12px;font-size:.9rem;display:flex}.vendre-resume-paiement b{color:var(--color-primary);font-size:1.3rem}.vendre-bureau-seul{display:none}.vendre-retour{padding-left:10px}.vendre-panier .vendre-actions,.vendre-section-ticket>.cpt-btn-grand{z-index:3;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));background:#fff;position:sticky;bottom:0;box-shadow:0 -8px 8px -8px #0f172a2e}.vendre-section-ticket>.cpt-btn-grand{box-sizing:border-box;width:100%}.vendre-resume-paiement{z-index:3;position:sticky;top:0}.zone-ticket{flex-direction:column;gap:8px;display:flex}.zone-ticket-etat{color:var(--color-text-muted);align-items:center;gap:6px;margin:0;font-size:.8rem;font-weight:600;display:flex}.zone-ticket-connectee{color:#0f6b3a}.zone-ticket-erreur{color:#991b1b}.zone-ticket-actions{flex-wrap:wrap;gap:8px;display:flex}.zone-ticket-actions .cpt-btn{flex:160px}.zone-ticket-message{color:var(--color-text-muted);margin:0;font-size:.8rem}.zone-ticket-message.erreur{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;padding:8px 10px}.zone-ticket-options summary{min-height:44px;color:var(--color-primary);cursor:pointer;align-items:center;font-size:.82rem;font-weight:600;display:flex}.zone-ticket-options-corps{flex-direction:column;gap:8px;display:flex}@media (width>=900px){.vendre{grid-template-columns:minmax(0,1fr) minmax(310px,360px);align-items:start;gap:14px;padding-bottom:0;display:grid}.vendre-grille{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}.vendre-barre,.vendre-fermer,.vendre-retour,.vendre-mobile-seul{display:none!important}.vendre-bureau-seul{display:inline-flex}.vendre-panier[data-etape=panier] .vendre-section-paiement,.vendre-panier[data-etape=paiement] .vendre-section-panier{display:flex}.vendre-panier{top:var(--cpt-haut,0px);z-index:1;max-height:calc(100dvh - var(--cpt-haut,0px) - var(--cpt-reserve,130px));border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none;visibility:visible;transition:none;position:sticky;transform:none}.cpt-filtres{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cpt-filtres .cpt-recherche{grid-column:1/-1}.cpt-colonnes{grid-template-columns:repeat(2,minmax(0,1fr))}.cpt-faits-cartes{grid-template-columns:repeat(4,minmax(0,1fr))}.cpt-ligne-vente{grid-template-columns:170px minmax(0,1fr) auto auto}.cpt-ligne-resume{order:0;grid-column:auto}.cpt-ligne-stock{grid-template-columns:48px minmax(0,1fr) auto 64px}}@media (width>=1500px){.vendre{grid-template-columns:minmax(0,1fr) 400px}.vendre-grille{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}}@media (height<=500px) and (orientation:landscape) and (width<=899px){.vendre-panier{max-height:96dvh}.vendre-barre{bottom:calc(var(--cpt-bas-paysage,62px) + env(safe-area-inset-bottom,0px));min-height:44px}}.cpt-ouverture{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:12px}.cpt-attendu{border-radius:var(--radius-sm);background:#f3eef8;flex-direction:column;gap:2px;padding:12px;display:flex}.cpt-attendu b{color:var(--color-primary);font-size:1.3rem}.cpt-attendu small{color:var(--color-text-muted)}.recu{display:none}@media print{body *{visibility:hidden!important}.recu,.recu *{visibility:visible!important}.recu{box-sizing:border-box;color:#000;white-space:pre-wrap;background:#fff;margin:0;padding:2mm;font:11px/1.35 Courier New,monospace;position:fixed;top:0;left:0;display:block!important}.recu-58{width:58mm}.recu-80{width:80mm;font-size:12px}@page{margin:2mm}}.comptoir .form-input,.comptoir .form-select{min-height:44px}.cpt-caisse-barre{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:10px;padding:8px 12px;display:flex}.cpt-caisse-barre>div{flex-direction:column;flex:1;min-width:0;display:flex}.cpt-caisse-barre strong{color:var(--color-primary);font-size:1rem}.cpt-caisse-barre small{color:var(--color-text-muted);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.cpt-btn-icone{min-width:44px;padding:0}.cpt-etat{border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:700}.cpt-etat-ouverte{color:#047857;background:#ecfdf5}.cpt-etat-fermee{color:#475569;background:#f1f5f9}.cpt-resume{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin:0;display:grid}.cpt-resume>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;min-width:0;padding:8px 10px}.cpt-resume>div.fort{background:var(--color-primary-subtle);border-color:var(--color-primary)}.cpt-resume dt{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.cpt-resume dd{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:.95rem;font-weight:800;overflow:hidden}.cpt-sous-onglets{border-radius:var(--radius-md);background:#efeaf5;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.cpt-sous-onglets button{border-radius:var(--radius-sm);min-height:44px;font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:.8rem;font-weight:600}.cpt-sous-onglets button.actif{color:var(--color-primary);box-shadow:var(--shadow-xs);background:#fff}.cpt-onglet-corps{flex-direction:column;gap:10px;display:flex}.cpt-ecart{border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-weight:700}.cpt-ecart.ok{color:#047857;background:#ecfdf5}.cpt-ecart.leger{color:#92400e;background:#fffbeb}.cpt-ecart.grave{color:#b91c1c;background:#fef2f2}.cpt-ops-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:100%;font-size:.84rem;overflow:hidden}.cpt-ops-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);background:#f8f6fb;padding:8px 10px;font-size:.7rem}.cpt-ops-table td{border-top:1px solid var(--color-border-light);vertical-align:top;padding:8px 10px}.cpt-ops-table .droite{text-align:right;white-space:nowrap}.cpt-ops-table small{color:var(--color-text-muted)}.entree{color:#047857}.sortie{color:#b91c1c}.cpt-ops-cartes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:none}.cpt-ops-cartes li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.cpt-ops-cartes summary{cursor:pointer;flex-direction:column;gap:2px;min-height:44px;padding:10px 12px;list-style:none;display:flex}.cpt-ops-cartes summary::-webkit-details-marker{display:none}.cpt-ops-cartes summary b{font-size:1.05rem}.cpt-ops-cartes summary span{font-size:.82rem;font-weight:600}.cpt-ops-cartes summary small{color:var(--color-text-muted);font-size:.74rem}.cpt-ops-cartes dl{flex-direction:column;gap:4px;margin:0;padding:0 12px 10px;font-size:.8rem;display:flex}.cpt-ops-cartes dl div{justify-content:space-between;gap:10px;display:flex}.cpt-ops-cartes dt{color:var(--color-text-muted)}.cpt-ops-cartes dd{text-align:right;margin:0}.cpt-historique{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cpt-historique li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.cpt-historique li>div{justify-content:space-between;align-items:baseline;display:flex}.cpt-historique small{color:var(--color-text-muted)}.cpt-historique dl{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;font-size:.8rem;display:grid}.cpt-historique dt{color:var(--color-text-muted);text-transform:uppercase;font-size:.68rem}.cpt-historique dd{margin:0}@media (width<=767px){.cpt-ops-table{display:none}.cpt-ops-cartes{display:flex}}html,body{background-color:var(--color-bg-app);width:100%;max-width:100%;height:100dvh;min-height:100%;color:var(--color-text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;box-sizing:border-box;margin:0;padding:0;overflow-x:hidden}#root{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;height:100dvh;display:flex;overflow:hidden}.app-wrapper{box-sizing:border-box;background:#fff;width:100%;max-width:100%;height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}.app-frame{width:100%;max-width:100%;height:100dvh;box-shadow:none;box-sizing:border-box;background:#fff;border:none;border-radius:0;display:flex;overflow:hidden}#main-app-content{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;width:100%;max-width:100%;padding:10px 14px 16px;overflow-y:auto}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px;display:grid}#main-app-content.dashboard-snap-active{scroll-behavior:smooth;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none!important;-ms-overflow-style:none!important;padding:8px 12px 14px!important}#main-app-content.dashboard-snap-active::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.dashboard-snap-section{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;flex-direction:column;justify-content:flex-start;min-height:calc(100dvh - 82px);padding:2px 0 8px;display:flex}#direction.dashboard-snap-section{margin:0;padding-bottom:6px}#operations.dashboard-snap-section{margin:0;padding-top:4px;padding-bottom:12px}.dashboard-kpi-grid{gap:8px!important}.dashboard-kpi-grid .kpi-tile-card{gap:4px!important;padding:8px 12px!important}.dashboard-kpi-grid .kpi-tile-value{font-size:1.15rem!important}.dashboard-table-empty-row td{border-bottom:1px solid var(--color-border-light)!important;background-color:#0000!important;height:29px!important;padding:2px 8px!important}.dashboard-scroll-nav{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;border:1px solid #4a2e6b1a;border-radius:6px;flex-direction:column;gap:8px;padding:6px 4px;display:flex;position:fixed;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 2px 8px #0000000d}.dashboard-scroll-dot{cursor:pointer;background-color:#4a2e6b40;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.dashboard-scroll-dot:hover{background-color:var(--color-primary);transform:scale(1.2)}.dashboard-scroll-dot.active{background-color:var(--color-primary);border-radius:9px;height:18px;box-shadow:0 0 6px #4a2e6b66}.dashboard-compact-table{table-layout:fixed!important;border-collapse:collapse!important;width:100%!important;min-width:100%!important;max-width:100%!important}.dashboard-compact-table tr{height:36px!important;max-height:36px!important}.dashboard-compact-table th:first-child,.dashboard-compact-table td:first-child{box-shadow:none!important;text-align:left!important;width:auto!important;min-width:0!important;max-width:none!important;padding-left:14px!important;position:static!important;left:auto!important}.dashboard-compact-table th:last-child,.dashboard-compact-table td:last-child{text-align:center!important;width:75px!important;min-width:75px!important;max-width:75px!important;padding-left:4px!important;padding-right:14px!important}.dashboard-compact-table th{letter-spacing:.03em!important;color:#64748b!important;background-color:var(--color-surface-subtle)!important;border-bottom:1px solid var(--color-border)!important;height:28px!important;padding:4px 8px!important;font-size:.72rem!important;font-weight:600!important;line-height:1.2!important}.dashboard-compact-table td{color:#334155!important;border-bottom:1px solid var(--color-border-light)!important;vertical-align:middle!important;height:36px!important;padding:2px 8px!important;font-size:.8rem!important;font-weight:400!important;line-height:1.25!important}.dashboard-compact-table .dashboard-table-empty-row td{height:36px!important;padding:2px 8px!important}.dashboard-compact-table .dashboard-table-empty-row td:last-child{padding-right:14px!important}.dashboard-compact-table tr:last-child td{border-bottom:none!important}.dashboard-compact-table tr:hover td{background-color:#4a2e6b05!important}@media (width<=900px){#main-app-content.dashboard-snap-active{scroll-snap-type:none!important;-webkit-overflow-scrolling:touch!important;padding:12px 10px 96px!important;overflow-y:auto!important}.dashboard-snap-section{scroll-snap-align:none!important;scroll-snap-stop:normal!important;justify-content:flex-start!important;min-height:auto!important;padding:0!important}#direction.dashboard-snap-section{margin-bottom:16px!important}#operations.dashboard-snap-section{margin-bottom:24px!important}}.dashboard-charts-grid{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:100%;display:grid}@media (width<=900px){.dashboard-charts-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (width<=600px){.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.kpi-tile-card{padding:8px 10px!important}.kpi-tile-value{font-size:1.05rem!important;line-height:1.15!important}}.dashboard-mobile-orders-list{display:none}.show-on-mobile{display:none!important}@media (width<=900px){.dashboard-mobile-orders-list{display:flex!important}.data-table-wrapper.hide-on-mobile{display:none!important}.dashboard-main-grid{grid-template-columns:1fr;gap:14px}.app-sidebar{box-shadow:var(--shadow-float);transition:transform var(--transition-normal);top:0;bottom:0;left:0;transform:translate(-100%);z-index:1000!important;scrollbar-width:none!important;-ms-overflow-style:none!important;width:236px!important;max-width:80vw!important;height:100dvh!important;position:fixed!important}.app-sidebar::-webkit-scrollbar{display:none!important}.app-sidebar.mobile-open{transform:translate(0)}.sidebar-collapse-btn,.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}#main-app-content{max-width:100vw;overflow-x:hidden;padding:12px 12px calc(74px + env(safe-area-inset-bottom,12px)) 12px!important}}.topbar-hamburger-btn,.sidebar-hamburger-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--color-primary);justify-content:center;align-items:center;transition:background-color .15s,transform .1s;display:flex!important}.topbar-hamburger-btn:hover,.sidebar-hamburger-btn:hover{background-color:#f1f5f9}.topbar-hamburger-btn:active,.sidebar-hamburger-btn:active{transform:scale(.94)}@media (width>=901px){.mobile-menu-btn,.topbar-hamburger-btn,.hide-on-desktop{display:none!important}.show-on-desktop{display:flex!important}}@media (width<=600px){.btn{padding:6px 10px;font-size:.78rem}#main-app-content{max-width:100vw;overflow-x:hidden;padding:10px 8px calc(76px + env(safe-area-inset-bottom,12px)) 8px!important}}@media (width<=380px){#main-app-content{max-width:100vw;overflow-x:hidden;padding:8px 5px calc(76px + env(safe-area-inset-bottom,10px)) 5px!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-subtle)}::-webkit-scrollbar-thumb{background:var(--color-accent-soft);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.qualite-grille-attente{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.qualite-grille-validees{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px;display:grid}.qualite-grille-attente>*,.qualite-grille-validees>*{min-width:0}.qualite-boutons-decision{grid-template-columns:1fr 1fr;gap:6px;display:grid}.qualite-boutons-decision .btn{white-space:normal;text-align:center;min-height:40px;line-height:1.2}@media (width<=420px){.qualite-boutons-decision{grid-template-columns:1fr}}.qualite-cartes-controles{gap:10px;margin:0;padding:0;list-style:none;display:none}@media (width<=960px){.qualite-tableau{display:none}.qualite-cartes-controles{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}}.qualite-carte-controle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.qualite-carte-tete{align-items:center;gap:10px;min-width:0;display:flex}.qualite-carte-photo{border-radius:var(--radius-xs);border:1px solid var(--color-border);background:#f8fafc;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;overflow:hidden}.qualite-carte-photo img{object-fit:cover;width:100%;height:100%}.qualite-carte-titre{flex-direction:column;flex:1;min-width:0;display:flex}.qualite-carte-titre strong{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.qualite-carte-titre small{color:var(--color-text-muted);font-size:.72rem}.qualite-criteres{grid-template-columns:1fr 1fr;gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.qualite-criteres li{align-items:center;gap:5px;min-width:0;font-size:.74rem;display:flex}.qualite-criteres li span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.qualite-criteres li.ok{color:var(--color-emerald)}.qualite-criteres li.ko{color:var(--color-rose)}.qualite-criteres li strong{white-space:nowrap;font-weight:700}.qualite-carte-pied{color:var(--color-text-muted);border-top:1px solid #f1f5f9;justify-content:space-between;gap:8px;padding-top:8px;font-size:.74rem;display:flex}.qualite-criteres li.ok span{color:var(--color-text-main);font-weight:600}.sq{background:#fcfaf7;min-height:100dvh}.sq-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sq-barre{height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.sq-barre i{background:#4a2e6b;border-radius:0 3px 3px 0;width:40%;height:100%;animation:1.3s ease-in-out infinite sq-barre;display:block}@keyframes sq-barre{0%{transform:translate(-100%)}to{transform:translate(260%)}}.sq-boutique{display:none}html[data-app=boutique] .sq-boutique{display:block}html[data-app=boutique] .sq-barre{display:none}.sq-boutique i,.sq-boutique .sq-logo,.sq-boutique .sq-hero-image{background:#e4d9ef;border-radius:8px;animation:1.8s ease-in-out infinite sq-pulse;display:block}@keyframes sq-pulse{0%,to{opacity:1}50%{opacity:.55}}.sq-annonce{background:#e9e0f2;height:33px}.sq-entete{box-sizing:border-box;background:#fff;border-bottom:1px solid #ece6f3;align-items:center;gap:24px;height:72px;padding:0 max(16px,50% - 584px);display:flex}.sq-entete .sq-logo{flex-shrink:0;width:96px;height:36px}.sq-nav{flex:1;justify-content:center;gap:24px;display:flex}.sq-nav i{width:84px;height:12px}.sq-actions{gap:18px;display:flex}.sq-actions i{width:56px;height:14px}.sq-hero{box-sizing:border-box;background:linear-gradient(135deg,#f8f3fc 0%,#ebdff6 100%);grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;min-height:440px;padding:48px max(16px,50% - 550px);display:grid}.sq-hero-texte{flex-direction:column;gap:14px;display:flex}.sq-hero-texte .sq-ligne{width:78%;height:14px}.sq-hero-texte .sq-court{width:34%;height:12px}.sq-hero-texte .sq-moyen{width:56%}.sq-hero-texte .sq-titre{border-radius:10px;width:86%;height:44px}.sq-hero-texte .sq-titre.sq-moyen{width:64%}.sq-boutons{gap:12px;margin-top:8px;display:flex}.sq-boutons i{border-radius:10px;width:150px;height:46px}.sq-hero-image{border-radius:14px;height:340px}@media (width<=900px){.sq-nav{display:none}.sq-entete{justify-content:space-between;height:60px}.sq-actions{margin-left:auto}}@media (width<=700px){.sq-hero{grid-template-columns:1fr;gap:28px;min-height:0;padding:28px 16px 32px}.sq-hero-texte .sq-titre{height:34px}.sq-boutons i{width:44%;height:44px}.sq-hero-image{height:240px}}@media (prefers-reduced-motion:reduce){.sq-boutique i,.sq-boutique .sq-logo,.sq-boutique .sq-hero-image,.sq-barre i{animation:none}.sq-barre i{opacity:.5;width:100%}}
