:root{--accent: #f59e0b;--accent-contrast: #1c1917;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--text: #15181e;--muted: #6b7280;--border: #e4e7ec;--hover: rgba(15, 23, 42, .05);--good: #15803d;--good-bg: #dcfce7;--bad: #b91c1c;--bad-bg: #fee2e2;--warn: #b45309;--warn-bg: #fef3c7;--chart-2: #64748b;--chart-3: #0ea5e9;--chart-4: #a855f7;--chart-5: #14b8a6;--chart-6: #f43f5e;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 20px 40px -12px rgba(16, 24, 40, .25);--radius: 12px;--radius-sm: 8px;--sidebar: 248px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--text: #e8eaee;--muted: #9aa1ad;--border: #2a2f3a;--hover: rgba(255, 255, 255, .05);--good: #4ade80;--good-bg: rgba(74, 222, 128, .12);--bad: #f87171;--bad-bg: rgba(248, 113, 113, .12);--warn: #fbbf24;--warn-bg: rgba(251, 191, 36, .12);--chart-2: #94a3b8;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px -12px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{min-height:100vh;transition:background-color .2s,color .2s}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.01em}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.15rem;font-weight:650;display:flex;align-items:center;gap:8px}h3{font-size:1rem;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}p{margin:0}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;letter-spacing:.02em}.neg{color:var(--bad)}.pos{color:var(--good)}.lead{font-size:1.05rem;margin-bottom:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.icon{flex-shrink:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}input:disabled{background:var(--surface-2);color:var(--muted)}textarea{resize:vertical}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.field label{font-size:.85rem;font-weight:550}.field small{font-size:.78rem}.req{color:var(--bad)}.checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-bottom:14px;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .checkbox,.field-full,.form-grid .error-note{grid-column:1 / -1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:8px}.form-inline .field{margin-bottom:0;flex:0 1 160px}.form-inline .field-grow{flex:1 1 200px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:550;font-size:.9rem;padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn{text-decoration:none}.btn:hover{background:var(--hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{padding:5px 10px;font-size:.82rem}.btn-lg{padding:13px 18px;font-size:1rem}.btn-block{width:100%}.btn-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--muted);cursor:pointer}.btn-icon:hover{background:var(--hover);color:var(--text)}.btn-icon.danger:hover{color:var(--bad);background:var(--bad-bg)}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:40;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:var(--accent-contrast)}.brand-mark-lg{width:56px;height:56px;border-radius:16px}.brand-name{font-weight:700;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav{flex:1;overflow-y:auto;padding:4px 10px}.nav-section{margin-bottom:14px}.nav-title{font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 10px}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;color:var(--muted);font-weight:520;font-size:.92rem;margin-bottom:2px}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.nav-link.active .icon{color:var(--accent)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.nav-module{margin-bottom:4px}.nav-module-head{width:100%;font:inherit;font-weight:600;font-size:.92rem;border:none;background:none;cursor:pointer}.nav-module.has-active>.nav-module-head{color:var(--text)}.nav-module.has-active>.nav-module-head>.icon:first-child{color:var(--accent)}.nav-chevron{flex-shrink:0;transition:transform .15s ease}.nav-module.open .nav-chevron{transform:rotate(90deg)}.nav-sub{margin:2px 0 8px 18px;padding-left:10px;border-left:1px solid var(--border)}.nav-sub .nav-link{padding:7px 10px;font-size:.88rem}.nav-collapse{margin:0 10px 6px;font:inherit;font-size:.88rem;border:none;background:none;cursor:pointer}.sidebar,.main{transition:width .18s ease,margin-left .18s ease}@media(min-width:901px){.nav-collapsed{--sidebar: 72px}.nav-collapsed .brand{justify-content:center;padding-inline:0}.nav-collapsed .brand-name,.nav-collapsed .nav-label,.nav-collapsed .nav-chevron,.nav-collapsed .nav-title,.nav-collapsed .user-meta{display:none}.nav-collapsed .nav-link{justify-content:center;padding-inline:0}.nav-collapsed .nav-section{margin-bottom:4px}.nav-collapsed .nav-collapse .icon{transform:scaleX(-1)}.nav-collapsed .sidebar-foot{flex-direction:column;padding-inline:0}.nav-collapsed .user-chip{flex:none}}.sidebar-foot{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);font-weight:650;font-size:.8rem;flex-shrink:0}.user-meta{display:flex;flex-direction:column;min-width:0}.user-meta strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{color:var(--muted);font-size:.75rem}.main{flex:1;margin-left:var(--sidebar);min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;height:56px;padding:0 24px;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar-spacer{flex:1}.menu-btn{display:none}.content{padding:24px;max-width:1400px;width:100%;margin:0 auto}.backdrop{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-header p{margin-top:4px}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.card-flush{padding:0;overflow:hidden}.card-title{padding:16px 20px 4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}.section-head h3{margin:0}.section-head input{width:auto}.link{color:var(--accent);text-decoration:none;font-weight:550;font-size:.9rem}.link:hover{text-decoration:underline}.split{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:20px;align-items:start}.split>:first-child{position:sticky;top:76px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{color:var(--muted);font-size:.83rem;font-weight:520}.stat-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.stat-value{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-hint{color:var(--muted);font-size:.8rem}.stat-good .stat-value{color:var(--good)}.stat-bad .stat-value{color:var(--bad)}.stat-warn .stat-value{color:var(--warn)}.stat-bad .stat-icon{background:var(--bad-bg);color:var(--bad)}.stat-warn .stat-icon{background:var(--warn-bg);color:var(--warn)}.stat-good .stat-icon{background:var(--good-bg);color:var(--good)}.dash-section{margin-bottom:32px}.dash-section .section-head{margin-bottom:14px}.charts-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin-bottom:14px}.chart-card h3{margin-bottom:8px}.chart-tip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;box-shadow:var(--shadow-lg);font-size:.82rem}.chart-tip-title{font-weight:650;margin-bottom:4px}.chart-tip-row{display:flex;align-items:center;gap:6px}.chart-tip-row strong{margin-left:auto;padding-left:12px;font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.kv-list{list-style:none;margin:0;padding:0}.kv-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--border)}.kv-list li:last-child{border-bottom:none}.segmented{display:inline-flex;background:var(--surface-2);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{font:inherit;font-size:.85rem;font-weight:550;border:none;background:transparent;color:var(--muted);padding:6px 12px;border-radius:6px;cursor:pointer}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segmented-block{display:flex;margin-bottom:14px}.segmented-block button{flex:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.tabs button{font:inherit;font-weight:550;border:none;background:none;color:var(--muted);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font:inherit;font-size:.83rem;font-weight:550;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.76rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 16px;background:var(--surface-2);white-space:nowrap}td{padding:11px 16px;border-top:1px solid var(--border);vertical-align:middle}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.actions-col{width:1%;white-space:nowrap;text-align:right}.row-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end}.clickable{cursor:pointer}.row-muted td{color:var(--muted)}.row-detail td{background:var(--surface-2)}.detail-lines{list-style:none;margin:0 0 6px;padding:0;max-width:420px}.detail-lines li{display:flex;justify-content:space-between;gap:16px;padding:2px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.filters>*{width:auto;flex:1 1 140px}.modal .table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.badge-good{background:var(--good-bg);color:var(--good)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-accent{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text)}.callout{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:14px}.callout-warn{background:var(--warn-bg);color:var(--warn)}.callout-good{background:var(--good-bg);color:var(--good)}.error-note{display:flex;align-items:center;gap:6px;color:var(--bad);background:var(--bad-bg);padding:9px 12px;border-radius:var(--radius-sm);font-size:.88rem;margin:0 0 14px}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:40px 20px;color:var(--muted)}.empty strong{color:var(--text);font-weight:600}.spinner{width:28px;height:28px;margin:40px auto;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fullscreen{min-height:100vh;display:grid;place-items:center}.search{position:relative;display:flex;align-items:center;min-width:220px}.search .icon{position:absolute;left:11px;color:var(--muted);pointer-events:none}.search input{padding-left:34px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0c108c;display:grid;place-items:center;padding:16px;animation:fade .15s}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:pop .18s ease-out}.modal-wide{max-width:820px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-body{padding:20px;overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);font-size:.9rem;animation:pop .2s;max-width:360px}.toast-success .icon{color:var(--good)}.toast-error .icon{color:var(--bad)}.login{--l-blue: #1f33c4;--l-blue-strong: #1428a8;--l-ink: #0d0f14;--l-muted: #6b7080;--l-line: #dcdfe8;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--l-blue);color:var(--l-ink);color-scheme:light}.login-card{width:100%;max-width:1080px;min-height:min(680px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;background:#fff;border-radius:56px;padding:16px;box-shadow:0 30px 80px -30px #050a3c8c}.login-side{display:flex;flex-direction:column;padding:28px 32px 22px;min-width:0}.login-brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.02rem;letter-spacing:-.01em;color:var(--l-ink)}.logo{display:inline-flex;align-items:center;gap:10px}.logo-mark{flex-shrink:0;display:block;border-radius:27%;box-shadow:0 8px 18px -8px #1226a3bf}.logo-word{font-weight:800;font-size:1.24rem;letter-spacing:-.03em;color:var(--l-ink, var(--text))}.logo-word span{font-weight:500;color:var(--l-blue, var(--accent));margin-left:5px}.brand-logo{box-shadow:none}.login-center{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 0}.login-legal{font-size:.74rem;color:var(--l-muted);text-align:center}.login-form{width:100%;max-width:320px;text-align:left}.login-emoji{font-size:34px;line-height:1;margin-bottom:14px}.login-form h1{font-size:2.05rem;font-weight:800;letter-spacing:-.035em;color:var(--l-ink)}.login-sub{margin:8px 0 32px;font-size:.92rem;color:var(--l-muted)}.login-input{position:relative;display:block;margin-bottom:12px}.login-input input{width:100%;font:inherit;font-size:.9rem;color:var(--l-ink);background:#fff;border:1px solid var(--l-line);border-radius:999px;padding:12px 46px 12px 22px;outline:none;transition:border-color .15s,box-shadow .15s}.login-input input::placeholder{color:#a2a6b3}.login-input input:focus{border-color:var(--l-blue);box-shadow:0 0 0 4px #1f33c41f}.login-input>.icon,.login-eye{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#a2a6b3}.login-eye{right:10px;display:grid;place-items:center;width:32px;height:32px;border:none;background:none;border-radius:50%;cursor:pointer}.login-eye:hover{color:var(--l-ink);background:#f1f2f6}.login-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:4px 2px 28px;font-size:.74rem}.login-check{display:flex;align-items:center;gap:7px;cursor:pointer;color:#2a2d36;text-align:left}.login-check input{width:14px;height:14px;margin:0;accent-color:var(--l-blue)}.login-link{font:inherit;border:none;background:none;padding:0;color:var(--l-muted);cursor:pointer;white-space:nowrap}.login-link:hover{color:var(--l-blue);text-decoration:underline}.login-note,.login-error{display:flex;align-items:center;gap:6px;text-align:left;font-size:.8rem;border-radius:14px;padding:9px 12px;margin:-14px 0 18px}.login-note{background:#eef0fb;color:#29318a}.login-error{background:#fdecec;color:#b42318}.login-submit{width:100%;font:inherit;font-weight:600;font-size:.95rem;color:#fff;background:var(--l-blue-strong);border:none;border-radius:999px;padding:13px 18px;cursor:pointer;transition:background .15s,transform .05s}.login-submit:hover{background:#0f1f8a}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{opacity:.6;cursor:wait}.login-submit:focus-visible,.login-link:focus-visible,.login-eye:focus-visible{outline:3px solid rgba(31,51,196,.35);outline-offset:2px}.login-foot{margin-top:28px;font-size:.78rem;color:var(--l-muted)}.login-photo{position:relative;border-radius:44px;overflow:hidden;background:#0a0f5a;isolation:isolate}.login-photo picture,.login-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-photo img{object-fit:cover;object-position:48% 50%}.login-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#080c3c0d 35%,#080c3c8c 62%,#06092deb)}.login-photo-text{position:absolute;z-index:2;left:36px;right:36px;bottom:44px;color:#fff}.login-photo-text h2{display:block;font-size:1.9rem;line-height:1.15;font-weight:750;letter-spacing:-.025em;margin:14px 0 10px;text-wrap:balance}.login-photo-text p{font-size:.95rem;line-height:1.5;color:#ffffffc7;max-width:380px}.login-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.76rem;font-weight:600;background:#ffffff24;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-credit{position:absolute;z-index:2;right:22px;top:18px;font-size:.68rem;color:#fff9;text-decoration:none}.login-credit:hover{color:#fff}@media(max-width:860px){.login-card{grid-template-columns:minmax(0,1fr);border-radius:32px;min-height:0}.login-photo{display:none}.login-side{padding:24px 12px 18px}}.status-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;text-align:center;background:var(--bg)}.status-page>div{max-width:420px;display:flex;flex-direction:column;align-items:center;gap:10px}.status-page .login-emoji{font-size:44px}.versement-form h3{margin-bottom:16px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.pos-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.product-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-height:108px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,transform .08s}.product-tile:hover:not(:disabled){border-color:var(--accent)}.product-tile:active:not(:disabled){transform:scale(.98)}.product-tile:disabled{opacity:.45;cursor:not-allowed}.product-tile.in-cart{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.tile-name{font-weight:600;line-height:1.3}.tile-price{font-weight:700;color:var(--accent);margin-top:auto;font-variant-numeric:tabular-nums}.tile-stock{font-size:.76rem;color:var(--muted)}.tile-stock.low{color:var(--warn)}.tile-qty{position:absolute;top:8px;right:8px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:.8rem;font-weight:700;display:grid;place-items:center}.pos-cart{position:sticky;top:76px}.cart-lines{list-style:none;margin:0 0 8px;padding:0;max-height:40vh;overflow-y:auto}.cart-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto 90px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.cart-name{display:flex;flex-direction:column;min-width:0}.cart-name strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qty{display:flex;align-items:center;gap:2px;background:var(--surface-2);border-radius:var(--radius-sm)}.qty .btn-icon{width:28px;height:28px}.qty span{min-width:22px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.cart-sub{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;font-size:.9rem}.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0 14px;font-size:1.05rem}.cart-total strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.ticket{display:flex;flex-direction:column;gap:4px;font-family:ui-monospace,Menlo,monospace;font-size:.88rem}.ticket hr{width:100%;border:none;border-top:1px dashed var(--border);margin:8px 0}.ticket-row{display:flex;justify-content:space-between;gap:12px}.ticket-total{font-weight:700;font-size:1rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;max-width:520px}.theme-option{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:center}.theme-option>span:last-child{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:550}.theme-option.active{border-color:var(--accent)}.theme-preview{width:100%;height:56px;border-radius:8px;display:flex;gap:4px;padding:6px}.theme-preview span:first-child{width:30%;border-radius:4px}.theme-preview span:last-child{flex:1;border-radius:4px}.theme-preview-light{background:#f5f6f8}.theme-preview-light span{background:#fff}.theme-preview-dark{background:#0f1115}.theme-preview-dark span{background:#1f232c}.theme-preview-system{background:linear-gradient(135deg,#f5f6f8 50%,#0f1115 50%)}.theme-preview-system span{background:#80808059}.swatches{display:flex;gap:10px;margin-bottom:16px}.swatch{width:38px;height:38px;border-radius:50%;border:3px solid var(--surface);background:var(--sw);cursor:pointer;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 1px var(--border)}.swatch.active{box-shadow:0 0 0 2px var(--sw)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-grid,.split,.pos-layout{grid-template-columns:minmax(0,1fr)}.split>:first-child,.pos-cart{position:static}}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.nav-open .sidebar{transform:none}.nav-open .backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0006}.main{margin-left:0}.nav-collapse{display:none}.menu-btn{display:inline-grid}.topbar{padding:0 12px}.content{padding:16px}.settings-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){h1{font-size:1.35rem}.stats-grid,.stats-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.stat-value{font-size:1.15rem}.form-grid,.form-row{grid-template-columns:minmax(0,1fr)}.search{min-width:0;flex:1}.page-actions{width:100%}.hide-sm{display:none}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}.toasts{left:16px;right:16px}}@media print{body *{visibility:hidden}.ticket,.ticket *{visibility:visible}.ticket{position:absolute;top:0;right:0;bottom:0;left:0;color:#000}}.bo-section{margin-top:24px}.bo-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:.88rem;margin-bottom:12px}.bo-back:hover{color:var(--text)}.bo-link{display:inline-flex;align-items:center;gap:4px;max-width:100%}.bo-link a{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-weight:550;overflow-wrap:anywhere}.bo-link a:hover{text-decoration:underline}.bo-slug{display:flex;align-items:center;gap:6px;min-width:0}.bo-slug input{flex:1 1 120px;min-width:0}.bo-slug span{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bo-creds dl{margin:0 0 12px;display:grid;gap:8px}.bo-creds dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm)}.bo-creds dt{font-size:.8rem;color:var(--muted);font-weight:600}.bo-creds dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.bo-creds code{font-size:.88rem;overflow-wrap:anywhere}.bo-danger{border-color:color-mix(in srgb,var(--bad) 35%,var(--border))}.bo-danger p{margin-bottom:14px}.bo-btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}.bo-btn-danger:hover:not(:disabled){background:var(--bad-bg)}@media(max-width:600px){.bo-creds dl>div{grid-template-columns:1fr}}.login-note-top{margin:-20px 0 22px}.login-device{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px;margin:-12px 0 22px;border:1px dashed var(--l-line);border-radius:20px}.login-device span{font-size:.75rem;color:var(--l-muted)}.login-device strong{font-size:1.7rem;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--l-ink)}.login-device small{font-size:.78rem;color:var(--l-muted)}.login-back{display:block;margin:18px auto 0}.login-key{letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.login-submit-gap{margin-top:16px}.appareils-intro{padding:0 20px 12px}.licence-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 18px}.licence-facts>div{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 14px}.licence-facts dt{font-size:.78rem;color:var(--muted)}.licence-facts dd{margin:2px 0 0;font-weight:650}.licence-module{margin-bottom:14px}.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px}.feature-list li{display:flex;align-items:center;gap:8px;font-size:.9rem}.feature-list li .icon{color:var(--good)}.feature-list li.off{color:var(--muted);text-decoration:line-through}.feature-list li.off .icon{color:var(--muted)}.field-label{display:block;font-size:.85rem;font-weight:550;margin-bottom:8px}.licence-modules{display:grid;gap:12px;margin-bottom:14px}.module-box{border:1px solid var(--border);border-radius:var(--radius);padding:4px 16px 14px;margin:0;min-width:0}.module-box.on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 5%,transparent)}.module-box legend{padding:0 6px;margin-left:-6px}.module-box>p{margin:0 0 10px}.module-check{margin:0;gap:8px}.module-check .muted{margin-left:4px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}.feature-check{align-items:flex-start;margin:0}.feature-check input{margin-top:2px;flex-shrink:0}.feature-check span{display:flex;flex-direction:column;gap:1px;font-size:.88rem}.feature-check small{font-size:.76rem;line-height:1.35}.licence-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.licence-chips .chip{display:inline-flex;align-items:center;gap:6px;cursor:default}.recette-rappel{justify-content:flex-start;flex-wrap:wrap}.recette-rappel .btn{margin-left:auto}.recette-mois{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.recette-mois strong{font-size:1.05rem;min-width:9.5em;text-align:center}.recette-mois input[type=month]{width:auto;margin-left:6px}.recette-suivant svg{transform:rotate(180deg)}.recette-mois .btn-icon:disabled{opacity:.35;cursor:default}.recette-manquants{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px}.recette-manquants .muted{display:inline-flex;align-items:center;gap:6px;margin-right:4px}.recette-manquants .chip{padding:4px 10px}.recette-manquants .chip:hover{border-color:var(--accent);color:var(--accent)}.recette-total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;border-radius:var(--radius-sm);background:var(--accent-soft, var(--surface-2))}.recette-total strong{font-size:1.35rem;font-variant-numeric:tabular-nums}tfoot th{border-top:2px solid var(--border);font-variant-numeric:tabular-nums}.export-menu{position:relative;display:inline-flex}.export-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:250px;padding:6px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.export-pop button{display:flex;gap:10px;align-items:flex-start;width:100%;padding:9px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.export-pop button:hover,.export-pop button:focus-visible{background:var(--hover);outline:none}.export-pop button svg{margin-top:2px;color:var(--accent);flex:none}.export-pop span{display:flex;flex-direction:column}.export-pop small{color:var(--muted);font-size:.8rem}@media(max-width:720px){.export-pop{right:auto;left:0}}.section-tools{display:flex;align-items:center;gap:8px}.combo{position:relative}.combo input{width:100%;padding-right:34px}.combo-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm)}.combo-toggle svg{transform:rotate(90deg);transition:transform .15s ease}.combo-open .combo-toggle svg{transform:rotate(-90deg)}.combo-toggle:hover{color:var(--text);background:var(--hover)}.combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.combo-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:.92rem}.combo-list li.actif{background:var(--hover)}.combo-list li.choisi{font-weight:600;color:var(--accent)}.combo-list .combo-libre{justify-content:flex-start;color:var(--muted);border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:2px;font-style:italic}.field-grow .combo{flex:1}.versement-part{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:14px}.versement-part>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.versement-part span{font-size:.8rem;color:var(--muted)}.versement-part strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.versement-part small{font-size:.75rem;color:var(--muted)}.stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}.callout-bad{background:var(--bad-bg);color:var(--bad)}.releve-titre{font-size:.95rem;margin:18px 0 8px}.releve{margin-bottom:6px}:root{--topbar: 60px;--ease: cubic-bezier(.2, .8, .2, 1)}.topbar{height:var(--topbar);gap:10px;padding:0 20px 0 24px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}.crumbs{display:flex;align-items:center;gap:6px;min-width:0;font-size:.92rem}.crumb-module{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:520}.crumb-module .icon{color:var(--accent)}.crumb-sep{color:var(--muted);opacity:.6}.crumb-page{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-search{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 12px;min-width:230px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.88rem;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.topbar-search:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface)}.topbar-search kbd,.palette kbd{margin-left:auto;font:600 .72rem/1 ui-monospace,SF Mono,Menlo,monospace;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.topbar-icon{width:38px;height:38px;border-radius:10px}.compte{position:relative}.compte-btn{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:999px;background:none;color:var(--text);font:inherit;cursor:pointer;transition:background .15s,border-color .15s}.compte-btn:hover,.compte-btn[aria-expanded=true]{background:var(--hover);border-color:var(--border)}.compte-btn .avatar{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#000));color:var(--accent-contrast);width:32px;height:32px}.compte-meta{display:flex;flex-direction:column;line-height:1.15;text-align:left;max-width:160px}.compte-meta strong{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compte-meta small{color:var(--muted);font-size:.74rem}.compte-chevron{transform:rotate(90deg);color:var(--muted);transition:transform .15s}.compte-btn[aria-expanded=true] .compte-chevron{transform:rotate(-90deg)}.compte-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:270px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:pop-in .16s var(--ease);transform-origin:top right}.compte-head{display:flex;gap:12px;align-items:center;padding:10px 10px 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.compte-head>div{display:flex;flex-direction:column;min-width:0}.compte-head strong{font-size:.92rem}.compte-head small{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compte-role{align-self:flex-start;margin-top:4px;font-size:.7rem;font-weight:650;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.avatar-lg{width:42px;height:42px;font-size:.9rem;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#000));color:var(--accent-contrast)}.compte-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:none;color:var(--text);font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:left}.compte-item:hover,.compte-item:focus-visible{background:var(--hover);outline:none}.compte-item .icon{color:var(--muted)}.compte-out,.compte-out .icon{color:var(--bad)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#080a1073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:fade-in .15s ease}.palette{width:100%;max-width:560px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop-in .18s var(--ease)}.palette-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--muted)}.palette-search input{flex:1;border:0;outline:none;background:none;color:var(--text);font:inherit;font-size:1rem;padding:0;box-shadow:none}.palette-list{list-style:none;margin:0;padding:6px;max-height:50vh;overflow-y:auto}.palette-list li{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;cursor:pointer}.palette-list li.actif{background:color-mix(in srgb,var(--accent) 14%,transparent)}.palette-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--accent)}.palette-label{font-weight:560}.palette-module{margin-left:auto;font-size:.75rem;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--surface-2)}.palette-go{color:var(--muted);opacity:0;transition:opacity .12s}.palette-list li.actif .palette-go{opacity:1}.palette-module+.palette-go{margin-left:4px}.palette-label+.palette-go{margin-left:auto}.palette-vide{color:var(--muted);justify-content:center;cursor:default!important}.sidebar{background:var(--surface)}.brand{min-height:var(--topbar);padding:12px 16px;border-bottom:1px solid var(--border);margin-bottom:8px}.brand-img{border-radius:9px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px var(--border);flex-shrink:0}.brand-close{display:none;margin-left:auto}.nav-link{transition:background .15s,color .15s;position:relative}.nav-link.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-sub .nav-link.active:before{left:-11px}.nav-sub{animation:slide-down .18s var(--ease)}.sidebar-foot{flex-direction:column;align-items:stretch;gap:4px;padding:8px 0 10px}.sidebar-foot .nav-collapse{margin:0 10px}.powered{font-size:.72rem;color:var(--muted);padding:2px 20px 0}@media(min-width:901px){.nav-collapsed .powered{display:none}}.page-enter{animation:page-in .22s var(--ease) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.btn,.btn-icon,.chip,.stat,.card{transition:background-color .15s,border-color .15s,color .15s,box-shadow .2s,transform .15s}.btn:active,.btn-icon:active{transform:scale(.97)}@media(hover:hover){.stat:hover{box-shadow:0 6px 18px -8px #10182840;transform:translateY(-1px)}}tbody tr{transition:background-color .12s}@media(hover:hover){tbody tr:hover{background:var(--hover)}}:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}input:focus,select:focus,textarea:focus{transition:border-color .15s,box-shadow .15s}.export-pop,.combo-list{animation:pop-in .14s var(--ease)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.logo-upload{display:flex;gap:16px;align-items:center;padding:14px;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color .15s,background .15s}.logo-upload.survol{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.logo-preview{display:grid;place-items:center;width:76px;height:76px;flex:none;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--border);overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:6px}.logo-upload-body{display:flex;flex-direction:column;gap:4px;min-width:0}.logo-upload-body .form-actions{justify-content:flex-start;margin-top:6px}.login-brand-instance{display:inline-flex;align-items:center;gap:12px}.login-brand-instance img{width:44px;height:44px;border-radius:11px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px var(--l-line, #e5e7eb)}.login-brand-instance strong{font-size:1.15rem;letter-spacing:-.01em}.bo-entreprise{display:flex;align-items:center;gap:10px}.bo-logo{width:34px;height:34px;border-radius:9px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px var(--border);flex:none}.bo-logo-vide{display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:.85rem}@media(max-width:1100px){.topbar-search{min-width:0}.hide-md{display:none}}@media(max-width:900px){.brand-close{display:inline-grid}.topbar{padding:0 10px;gap:6px}.sidebar{width:min(300px,86vw);border-right:0}.nav-open .backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .15s ease}.page-header{align-items:flex-start}}@media(max-width:600px){.topbar-search{width:38px;height:38px;padding:0;justify-content:center;border-radius:10px}.compte-btn{padding:2px}.compte-meta.hide-sm,.compte-chevron.hide-sm{display:none}.crumbs{font-size:.9rem}.content{padding:14px 12px 28px}.card{padding:16px}.page-header{margin-bottom:14px;gap:10px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.page-actions>.btn-primary{margin-left:auto}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:18px 18px 0 0;max-height:92vh;animation:sheet-up .22s var(--ease)}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.logo-upload{flex-direction:column;align-items:flex-start}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media(max-width:720px){.table-cards table,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards thead,.table-cards tfoot{display:none}.table-cards tbody tr{padding:12px 14px;border-top:1px solid var(--border)}.table-cards tbody tr:first-child{border-top:0}.table-cards td{padding:4px 0;border:0;text-align:right;overflow:hidden}.table-cards td:before{content:attr(data-label);float:left;margin-right:12px;color:var(--muted);font-size:.78rem;font-weight:560;text-align:left;line-height:1.9}.table-cards td>div{margin-top:2px}.table-cards td:not([data-label]):before{content:none}.table-cards td:first-child{font-size:1rem;font-weight:600;padding-bottom:6px;text-align:left}.table-cards td:first-child:before{content:none}.table-cards td.actions-col{padding-top:8px}.table-cards td.actions-col .row-actions{justify-content:flex-end}.table-cards td.num{font-variant-numeric:tabular-nums}}.cle-licence{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.cle-licence code{font-size:.84rem;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:var(--surface-2);white-space:nowrap}.cle-licence code.cle-visible{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);font-weight:650;animation:pop-in .16s var(--ease)}.licences-filtres{margin-bottom:14px}.chip-n{margin-left:6px;font-size:.72rem;opacity:.75}.warn-text{color:var(--warn)}.licences-note{display:flex;align-items:center;gap:6px;margin-top:12px}.row-muted{opacity:.6}:root{--bottom-nav: 64px;--safe-b: env(safe-area-inset-bottom, 0px)}.bottom-nav,.pos-bar,.mobile-only,.sheet-handle{display:none}html{-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea,label{touch-action:manipulation}@media(max-width:900px){input,select,textarea,.palette-search input{font-size:16px!important}.btn{min-height:44px}.btn-sm{min-height:38px;padding:7px 12px}.btn-icon{min-width:40px;min-height:40px}.chip{min-height:38px;padding:8px 14px}.nav-link,.nav-sub .nav-link{padding:11px 12px;font-size:.95rem;min-height:44px}.combo-toggle{width:38px;height:38px}.login-eye{min-width:40px;min-height:40px}.login-link{padding:10px 4px;margin:-10px -4px}.compte-item{min-height:46px}.combo-list li,.palette-list li,.tabs button{min-height:44px}.checkbox{min-height:40px}.menu-btn{display:none!important}.bottom-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(var(--bottom-nav) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--border)}.bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.7rem;font-weight:600;text-decoration:none;cursor:pointer;position:relative}.bottom-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.bottom-item.active{color:var(--accent)}.bottom-item.active:before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.bottom-item:active{transform:scale(.94)}.content{padding-bottom:calc(var(--bottom-nav) + var(--safe-b) + 24px)!important}.toasts{bottom:calc(var(--bottom-nav) + var(--safe-b) + 12px)!important}.nav-open .sidebar{padding-bottom:calc(var(--bottom-nav) + var(--safe-b))}.sidebar-foot{display:none}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;width:100%;border-radius:20px 20px 0 0;max-height:calc(100dvh - 24px);animation:sheet-up .24s var(--ease)}.modal-header{padding:14px 16px}.modal-body{padding:16px 16px calc(16px + var(--safe-b))}.modal-body .form-actions:last-child{position:sticky;bottom:calc(-16px - var(--safe-b));z-index:2;margin:8px -16px calc(-16px - var(--safe-b));padding:12px 16px calc(12px + var(--safe-b));background:var(--surface);border-top:1px solid var(--border)}.modal-body .form-actions:last-child .btn{flex:1}.form-inline{flex-direction:column;align-items:stretch}.form-inline .btn{width:100%}.mobile-only{display:inline-grid}.pos-cart{position:fixed!important;left:0;right:0;bottom:0;top:auto;z-index:70;max-height:88dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding-bottom:calc(16px + var(--safe-b));transform:translateY(105%);transition:transform .26s var(--ease);box-shadow:var(--shadow-lg);visibility:hidden}.pos-cart.ouvert{transform:none;visibility:visible}.pos-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#080a1073;animation:fade-in .15s ease}.sheet-handle{display:block;width:42px;height:5px;border-radius:3px;background:var(--border);margin:-4px auto 10px}.pos-bar{display:flex;align-items:center;gap:10px;position:fixed;left:12px;right:12px;z-index:44;bottom:calc(var(--bottom-nav) + var(--safe-b) + 10px);padding:10px 12px 10px 10px;border:0;border-radius:16px;background:var(--accent);color:var(--accent-contrast);font:inherit;cursor:pointer;box-shadow:0 10px 30px -10px color-mix(in srgb,var(--accent) 70%,#000);animation:sheet-up .2s var(--ease)}.pos-bar.vide{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow)}.pos-bar-ic{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#0000001f}.pos-bar.vide .pos-bar-ic{background:var(--surface-2)}.pos-bar-n{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--text);color:var(--surface);font-size:.72rem;font-weight:700;display:grid;place-items:center}.pos-bar-txt{font-size:.85rem;font-weight:600;opacity:.85}.pos-bar strong{margin-left:auto;font-size:1.05rem;font-variant-numeric:tabular-nums}.pos-bar-go{display:inline-flex;align-items:center;gap:2px;font-weight:700;font-size:.85rem;padding-left:8px;border-left:1px solid rgba(0,0,0,.15)}.pos-layout .product-grid{padding-bottom:76px}.product-tile{min-height:96px}.section-head{flex-wrap:wrap}.section-head>.page-actions{width:100%}.section-head>.page-actions .btn{flex:1 1 auto}.recette-mois input[type=month]{display:none}.page-header h1{font-size:1.4rem}.filters{flex-wrap:wrap}.filters>*{flex:1 1 140px;min-width:0}.split{gap:14px}}@media(max-width:900px)and (prefers-reduced-motion:reduce){.pos-cart{transition:none}}.resume{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.resume-item{display:flex;flex-direction:column;gap:2px;padding:14px 16px;min-width:0}.resume-item+.resume-item{border-left:1px solid var(--border)}.resume-item span{font-size:.8rem;color:var(--muted);font-weight:520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-item strong{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tone-good{color:var(--good)}.tone-bad{color:var(--bad)}.tone-warn{color:var(--warn)}.periodes{margin-bottom:12px}.liste-outils{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.liste-outils .periodes{margin:0}.liste-outils select{width:auto;min-width:160px}.cell-sub{display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-top:1px}.afaire{padding:6px;margin-bottom:18px}.afaire-titre{font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 12px 6px}.afaire a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;text-decoration:none;color:var(--text);min-height:52px}.afaire a:hover{background:var(--hover)}.afaire-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex:none;background:var(--warn-bg);color:var(--warn)}.afaire-ic.bad{background:var(--bad-bg);color:var(--bad)}.afaire a>span:nth-child(2){flex:1;min-width:0}.afaire a small{display:block;color:var(--muted);font-size:.8rem}.afaire .go{color:var(--muted)}.afaire-ok{display:flex;align-items:center;gap:10px;padding:14px 16px;color:var(--good);font-weight:560}.module-card{margin-bottom:18px}.module-card .section-head{margin-bottom:4px}.module-card .resume{box-shadow:none;margin:10px 0 14px;background:var(--surface-2);border-color:transparent}.module-card .resume-item+.resume-item{border-left-color:var(--border)}.module-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:600px){.resume-item{padding:12px}.resume-item strong{font-size:1.02rem}.resume-item span{font-size:.74rem}.module-actions .btn{flex:1 1 auto}.liste-outils select{flex:1}}button.recette-rappel{width:100%;border:0;font:inherit;cursor:pointer;text-align:left;min-height:48px}button.recette-rappel span{flex:1;font-weight:600}.compte-hint{margin-left:auto;color:var(--muted);font-size:.75rem}.paie-detail{margin:-8px 0 12px}@media(max-width:600px){.resume{grid-auto-flow:row;grid-auto-columns:auto}.resume-item{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px}.resume-item+.resume-item{border-left:0;border-top:1px solid var(--border)}.resume-item span{font-size:.85rem}.resume-item strong{font-size:1.05rem}.module-card .resume-item+.resume-item{border-top-color:var(--border)}}@media(max-width:720px){.table-liste table,.table-liste tbody{display:block;width:100%}.table-liste thead,.table-liste tfoot{display:none}.table-liste tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:4px;align-items:start;padding:13px 16px;border-top:1px solid var(--border)}.table-liste tbody tr:first-child{border-top:0}.table-liste td{display:block;padding:0;border:0;text-align:left;min-width:0;grid-column:1}.table-liste td:before{content:none!important}.table-liste td:first-child{font-size:.98rem}.table-liste td.num{grid-column:2;grid-row:1;text-align:right}.table-liste td.actions-col{grid-column:2;grid-row:2 / span 3;align-self:end;justify-self:end;padding:0;width:auto}.table-liste td.actions-col .row-actions{gap:2px}.table-liste .row-detail td{grid-column:1 / -1}}.versement-ouvrir{width:100%;margin-bottom:14px}.cell-sub{white-space:normal;overflow-wrap:anywhere}@media(max-width:720px){.table-liste td.num{max-width:55vw}.table-liste td.num strong{white-space:nowrap}}.flotte{margin-bottom:22px}.flotte-outils{display:flex;gap:10px;align-items:center;margin-bottom:12px}.flotte-outils .search{flex:1;min-width:0;max-width:420px}.vue-choix button{display:inline-flex;align-items:center;gap:4px}.veh{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent}.veh:active{transform:scale(.98)}@media(hover:hover){.veh:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 6px 18px -10px #10182859}}.veh-ic{display:grid;place-items:center;flex:none;border-radius:12px;background:var(--surface-2);color:var(--muted)}.veh.verse .veh-ic{background:var(--good-bg);color:var(--good)}.veh.reste .veh-ic{background:var(--bad-bg);color:var(--bad)}.veh.a-verser .veh-ic{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.veh.hors-service{opacity:.6}.veh-info{display:flex;flex-direction:column;min-width:0;flex:1}.veh-info strong{font-size:1rem;letter-spacing:.02em}.veh-info small,.veh-etat small{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.veh-etat{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.veh-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.veh-grille .veh{flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border-radius:14px;min-height:150px;box-shadow:var(--shadow)}.veh-grille .veh-ic{width:42px;height:42px}.veh-grille .veh-info{flex:none;width:100%}.veh-grille .veh-etat{align-items:flex-start;margin-top:auto}@media(min-width:901px){.veh-grille{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.veh-liste .veh{border:0;border-top:1px solid var(--border);border-radius:0;padding:12px 16px;min-height:64px}.veh-liste .veh:first-child{border-top:0}.veh-liste .veh-ic{width:36px;height:36px;border-radius:10px}.historique-titre{margin:4px 0 12px;font-size:1.05rem}.vs-titre{display:flex;flex-direction:column;line-height:1.2}.vs-titre small{font-size:.8rem;font-weight:500;color:var(--muted)}.vs-montant{font-size:1.6rem!important;font-weight:700;padding:12px 14px;letter-spacing:-.01em}.vs-rapide{margin-top:8px}.vs-calcul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.vs-calcul>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface-2);min-width:0}.vs-calcul span{font-size:.78rem;color:var(--muted)}.vs-calcul strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.vs-calcul strong small{font-size:.75rem;color:var(--muted);font-weight:500}.vs-calcul .reste{background:var(--bad-bg)}.vs-calcul .reste strong,.vs-calcul .reste span{color:var(--bad)}.vs-calcul .ok{background:var(--good-bg)}.vs-calcul .ok strong,.vs-calcul .ok span{color:var(--good)}.vs-deja{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;background:var(--surface-2)}@media(max-width:600px){.flotte-outils .search{max-width:none}.veh-grille .veh{min-height:140px;padding:12px}}.onglets-versement{margin-bottom:16px}.onglets-versement button{display:inline-flex;align-items:center;gap:7px}.onglet-n{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--accent-contrast);font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}@media(max-width:900px){.onglets-versement{position:sticky;top:var(--topbar);z-index:20;margin:-6px -16px 14px;padding:0 16px;background:var(--bg)}.onglets-versement button{flex:1;justify-content:center}}.flotte{container-type:inline-size;container-name:flotte}.veh-grille{grid-template-columns:repeat(2,minmax(0,1fr))!important}@container flotte (max-width: 260px){.veh-grille{grid-template-columns:minmax(0,1fr)!important}}@container flotte (min-width: 500px){.veh-grille{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@container flotte (min-width: 700px){.veh-grille{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@container flotte (min-width: 940px){.veh-grille{grid-template-columns:repeat(5,minmax(0,1fr))!important}}@container flotte (min-width: 1180px){.veh-grille{grid-template-columns:repeat(6,minmax(0,1fr))!important}}@container flotte (min-width: 860px){.veh-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.veh-liste .veh:nth-child(2){border-top:0}.veh-liste .veh:nth-child(odd){border-right:1px solid var(--border)}}@media(min-width:901px){.modal:has(.vs-calcul){max-width:480px}}@media(min-width:1500px){.historique{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.historique .resume{grid-auto-flow:row}.historique .resume-item+.resume-item{border-left:0;border-top:1px solid var(--border)}}@media(min-width:1600px){.content{max-width:1720px}}@media(min-width:2200px){.content{max-width:2000px}}@media(max-width:600px){.onglets-versement{margin-inline:-12px;padding-inline:12px}}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger:hover{background:color-mix(in srgb,var(--bad) 88%,#000)}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:16px;background:#080a1080;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in .15s ease}.confirm{width:100%;max-width:400px;padding:24px 22px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;animation:pop-in .18s var(--ease)}.confirm-ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.confirm-danger .confirm-ic{background:var(--bad-bg);color:var(--bad)}.confirm-attention .confirm-ic{background:var(--warn-bg);color:var(--warn)}.confirm h2{justify-content:center;font-size:1.12rem;line-height:1.3;margin-bottom:6px}.confirm-message{color:var(--muted);font-size:.92rem;line-height:1.5}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.confirm-actions .btn{justify-content:center;min-height:46px}@media(max-width:600px){.confirm-backdrop{place-items:end stretch;padding:0}.confirm{max-width:none;border-radius:22px 22px 0 0;padding:22px 18px calc(18px + var(--safe-b, 0px));animation:sheet-up .22s var(--ease)}.confirm-actions{grid-template-columns:1fr}.confirm-actions .btn:last-child{order:-1}}.notif-appareils{display:flex;align-items:center;gap:14px;margin-bottom:16px}.notif-appareils>.notif-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-appareils small{font-size:.84rem;line-height:1.45}.notif-ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}@media(max-width:600px){.notif-appareils{flex-wrap:wrap}.notif-appareils .btn{width:100%}}@media(max-width:900px){.sidebar,.backdrop{display:none!important}.main{margin-left:0!important}.topbar{padding-top:env(safe-area-inset-top,0px);height:calc(var(--topbar) + env(safe-area-inset-top,0px))}html,body{overscroll-behavior-y:none}.bottom-nav,.topbar,.menu-ligne,.btn,.chip,.veh,.tabs button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.menu-natif{max-width:640px;margin:0 auto;padding-bottom:8px}.menu-profil{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:18px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);text-decoration:none}.menu-profil-txt{display:flex;flex-direction:column;flex:1;min-width:0}.menu-profil-txt strong{font-size:1.05rem}.menu-profil-txt small{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-section{margin-bottom:18px}.menu-titre{display:flex;align-items:center;gap:6px;margin:0 4px 8px;font-size:.76rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.menu-groupe{border-radius:16px;background:var(--surface);border:1px solid var(--border);overflow:hidden;margin-bottom:18px}.menu-section .menu-groupe{margin-bottom:0}.menu-ligne{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px;border:0;background:none;color:var(--text);font:inherit;font-size:.98rem;text-align:left;text-decoration:none;cursor:pointer;position:relative}.menu-ligne+.menu-ligne:before{content:"";position:absolute;top:0;left:60px;right:0;border-top:1px solid var(--border)}.menu-ligne:active{background:var(--hover)}.menu-ligne.active{color:var(--accent);font-weight:600}.menu-ic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.menu-label{flex:1;min-width:0}.menu-go{color:var(--muted);opacity:.7}.menu-danger,.menu-danger .menu-ic{color:var(--bad)}.menu-danger .menu-ic{background:var(--bad-bg)}.menu-pied{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.8rem;margin-top:4px}.bottom-plus{display:grid;place-items:center;width:26px;height:22px;border-radius:8px;border:1.8px solid currentColor}.bottom-autres.active .bottom-plus{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.notif-actions{display:flex;gap:8px;flex-wrap:wrap}.notif-appareils.actif .notif-ic{background:var(--good-bg);color:var(--good)}@media(max-width:600px){.notif-actions{width:100%}.notif-actions .btn{flex:1}}.alertes-direct{position:fixed;top:calc(var(--topbar) + 10px);right:16px;z-index:110;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 24px))}.alerte-direct{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow-lg);animation:alerte-in .3s var(--ease)}.alerte-ic{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);animation:alerte-pulse 1.2s ease-out 2}.alerte-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.alerte-txt strong{font-size:.95rem}.alerte-txt small{color:var(--muted);font-size:.84rem;line-height:1.4}.alerte-actions{display:flex;align-items:center;gap:4px}@keyframes alerte-in{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:none}}@keyframes alerte-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}@media(max-width:900px){.alertes-direct{top:calc(var(--topbar) + env(safe-area-inset-top,0px) + 8px);left:12px;right:12px;width:auto}}.notif-son{margin-top:8px;font-size:.86rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lien-btn{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
