body.print-labels{margin:0;background:#fff}.sheet{display:flex;flex-wrap:wrap;gap:4mm;padding:4mm}.label{width:57mm;height:32mm;padding:1.5mm 2mm 1mm;overflow:hidden;position:relative;font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;border:1px dashed #bbb;page-break-after:always;break-after:page}.label .desc{font-size:8.5pt;line-height:1.1;font-weight:600;height:2.2em;overflow:hidden;text-transform:uppercase}.label .price{position:absolute;left:2mm;top:10mm;line-height:1}.label .price .euros{font-size:26pt;font-weight:700}.label .price .cents{font-size:12pt;font-weight:700;vertical-align:top;margin-left:1px;border-bottom:1.5px solid #000}.label .price .cur{font-size:12pt;margin-left:1px}.label .per-unit{position:absolute;left:2mm;top:21mm;font-size:6.5pt}.label .barcode{position:absolute;right:2mm;top:10.5mm;width:30mm;height:15mm}@media print{.sheet{display:block;gap:0;padding:0}.label{border:none}.no-print{display:none}}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-ext-wght-normal-BnWI7fIG.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-wght-normal-bgdX5wL6.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-greek-wght-normal-M9Lxztrh.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-vietnamese-wght-normal-DEkWUU3X.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-ext-wght-normal-rva7dkhN.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-wght-normal-BAwLJtOy.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Commissioner Variable", system-ui, sans-serif;--bg: #f2f4f3;--surface: #ffffff;--surface-2: #f7f8f8;--ink: #17201d;--muted: #5f6b67;--faint: #8a9591;--line: #dde2e0;--line-strong: #c6cdca;--primary: #1d6a50;--primary-hover: #175a44;--primary-soft: #e3f0eb;--side: #13261f;--side-ink: #c9d6d1;--side-active: #ffffff;--warn: #8a4f00;--warn-soft: #fcefd6;--bad: #b3261e;--bad-soft: #fbe4e2;--focus: 0 0 0 3px rgb(29 106 80 / .28);--radius: 8px;--radius-sm: 6px;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--ink);background:var(--bg);color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-size:1.6rem;font-weight:650;letter-spacing:-.015em;line-height:1.2}h1 button{margin-left:auto}h1 select{font-size:.95rem;font-weight:500;letter-spacing:0}h2{margin:1.6rem 0 .7rem;font-size:1.1rem;font-weight:620;letter-spacing:-.005em}.card>h2:first-child{margin-top:0}p{margin:.5rem 0}small{color:var(--muted);font-size:.82rem}a{color:var(--primary);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--side);color:var(--side-ink);overflow-y:auto}.brand{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1.2rem 1rem;color:#fff;font-weight:680;font-size:1.05rem;letter-spacing:-.01em}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:#2e8a68;color:#fff;font-size:.95rem;font-weight:750}.brand small{display:block;color:#8fa69d;font-weight:450;font-size:.76rem;letter-spacing:0}.side nav{flex:1;padding:.3rem .7rem 1rem}.nav-group{margin-top:1rem}.nav-group-title{padding:0 .55rem .3rem;font-size:.76rem;font-weight:600;color:#7f978e}.side nav a{display:flex;align-items:center;gap:.5rem;padding:.42rem .55rem;border-radius:var(--radius-sm);color:var(--side-ink);font-weight:500}.side nav a:hover{background:#ffffff12;color:#fff;text-decoration:none}.side nav a.active{background:#ffffff1f;color:var(--side-active);box-shadow:inset 3px 0 #4cc196}.side nav a:focus-visible{outline:none;box-shadow:0 0 0 2px #4cc196}.nav-count{margin-left:auto;padding:0 .4rem;border-radius:999px;background:#ffffff1f;color:#fff;font-size:.74rem;font-weight:600;font-variant-numeric:tabular-nums}.badge{display:inline-block;min-width:1.25rem;margin-left:auto;padding:0 .4rem;border-radius:999px;background:#e5484d;color:#fff;font-size:.74rem;font-weight:650;text-align:center;font-variant-numeric:tabular-nums}.user{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;border-top:1px solid rgb(255 255 255 / .08)}.user-who{min-width:0;flex:1;font-size:.82rem}.user-who .email{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7eeeb}.user-who .role{color:#8fa69d}.user button{padding:.3rem .6rem;background:transparent;border-color:#fff3;color:var(--side-ink);font-size:.8rem}.user button:hover:not(:disabled){background:#ffffff14;border-color:#ffffff4d;color:#fff}.menu-toggle{display:none}main{min-width:0;padding:1.8rem 2.2rem 3rem;max-width:1320px}input,select,textarea{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{padding:.42rem .6rem;min-height:2.2rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .12s,box-shadow .12s}input:not([type=checkbox]):not([type=radio]):hover,select:hover{border-color:#aab4b0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus)}input:disabled,select:disabled{background:var(--surface-2);color:var(--muted)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;margin:0;accent-color:var(--primary);vertical-align:-2px}label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;white-space:nowrap}button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.42rem .85rem;min-height:2.2rem;font:inherit;font-size:.92rem;font-weight:550;line-height:1.2;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--surface-2);border-color:#aab4b0}button:focus-visible{outline:none;box-shadow:var(--focus)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{color:var(--bad)}button.danger:hover:not(:disabled){background:var(--bad-soft);border-color:#e7a5a0}td button{min-height:1.9rem;padding:.25rem .6rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.2rem}.card table.grid{border:none;border-radius:0}.card table.grid th{background:transparent}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center;margin-bottom:1rem}.toolbar input[type=text],.toolbar input[type=search]{min-width:20rem}.toolbar>form{display:flex;gap:.5rem;align-items:center}.card.toolbar{padding:.7rem 1rem;background:var(--primary-soft);border-color:#bcd9cd}.banner{background:var(--warn-soft);border:1px solid #ecd09a;color:#5c3a00;padding:.65rem .9rem;border-radius:var(--radius);margin-bottom:1rem}.error{color:var(--bad)}p.error{padding:.55rem .8rem;background:var(--bad-soft);border-radius:var(--radius-sm)}table.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}table.grid th,table.grid td{padding:.5rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}table.grid thead th{background:var(--surface-2);color:var(--muted);font-size:.8rem;font-weight:600;white-space:nowrap}table.grid tbody tr:last-child td{border-bottom:none}table.grid tbody tr:hover td{background:#f6f9f8}table.grid tr.inactive td{color:var(--faint)}table.grid tr.inactive td a{color:#6f8a80}table.grid tfoot th{text-align:right;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:none}table.grid+h2,table.grid+.pager{margin-top:1rem}table.grid td a{color:var(--ink);font-weight:500}table.grid td a:hover{color:var(--primary)}table.grid td input:not([type=checkbox]):not([type=radio]),table.grid td select{min-height:1.9rem;padding:.2rem .45rem}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.till-bad td,table.grid tbody tr.till-bad:hover td{background:#fdf0ef}tr.till-bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}tr.till-never td{color:var(--faint);background:var(--surface-2)}.pager{display:flex;gap:.6rem;align-items:center;margin-top:1rem;color:var(--muted);font-variant-numeric:tabular-nums}.pager button{min-width:2.2rem;padding:.4rem .6rem}.tag{display:inline-block;padding:.08rem .45rem;border-radius:999px;font-size:.76rem;font-weight:550;line-height:1.5;background:#e9edeb;color:#46524e;white-space:nowrap;vertical-align:middle}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}h1 .tag{font-size:.8rem;letter-spacing:0}form.stack{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:.75rem 1.2rem;max-width:44rem;align-items:center}form.stack>label{color:var(--muted);font-size:.9rem;font-weight:500}form.stack input:not([type=checkbox]):not([type=radio]),form.stack select{width:min(100%,20rem)}form.stack>div{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}form.stack .full{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.4rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--side)}.login{width:100%;max-width:23rem;margin:0;padding:2rem;border:none;box-shadow:0 20px 50px #00000040}.login h1{margin-bottom:.2rem}.login .sub{margin:0 0 1.4rem;color:var(--muted)}.login label{display:block;margin-bottom:.3rem;font-size:.88rem;font-weight:550}.login input{width:100%;margin-bottom:.9rem}.login button{width:100%;min-height:2.5rem;margin-top:.3rem}input[type=file]{min-height:0;padding:.3rem;border-style:dashed;width:100%;color:var(--muted)}input[type=file]::file-selector-button{margin-right:.7rem;padding:.35rem .8rem;font:inherit;font-weight:550;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}.card.files{display:grid;gap:1rem;max-width:34rem}.card.files label{display:grid;gap:.35rem;font-weight:550}.card.files button{justify-self:start}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;max-width:54rem;margin-bottom:1.2rem}.quick-grid button{height:4.4rem;border:1px solid rgb(0 0 0 / .12);border-radius:var(--radius);font-size:.85rem;white-space:normal;overflow:hidden}.quick-grid button.empty{background:transparent;color:var(--faint);border:1px dashed var(--line-strong);font-size:1.2rem}.quick-grid button.selected{outline:3px solid var(--primary);outline-offset:2px}.quick-grid button.inactive{opacity:.45;text-decoration:line-through}.quick-grid button.dragging,button.quick-tab.dragging{opacity:.4}.quick-grid button.drop,button.quick-tab.drop{outline:3px dashed var(--primary);outline-offset:2px}.quick-grid button:disabled{opacity:1;cursor:default}.swatch{width:1.7rem;height:1.7rem;min-height:0;padding:0;border:1px solid rgb(0 0 0 / .2);border-radius:50%;margin-right:.35rem}.swatch.on{outline:3px solid var(--primary);outline-offset:2px}.scan-box form{display:flex;gap:.5rem;margin-bottom:.6rem}.scan-box input[type=search]{flex:1;min-height:2.8rem;font-size:1.1rem}.scan-box .choices{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.3rem}.scan-box .choices button{width:100%;justify-content:flex-start;text-align:left}.camera{display:grid;gap:.5rem;margin-bottom:1rem}.camera video{width:100%;max-height:50vh;border-radius:var(--radius);background:#000;object-fit:cover}.pending{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem 1rem;margin-bottom:1rem;background:var(--primary-soft);border:1px solid #bcd9cd;border-radius:var(--radius)}.pending strong{flex:1 1 12rem}.pending input.qty{width:7rem;font-size:1.1rem}input.qty{width:6rem;text-align:right}input.qty.invalid{border-color:var(--bad)}.muted{color:var(--muted)}.stock-figure{font-variant-numeric:tabular-nums;font-weight:600}.not-counted{color:var(--faint);font-style:italic;font-weight:400}.sticky-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:.5rem;padding:.8rem 0;background:var(--bg)}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{position:sticky;z-index:10;height:auto;max-height:100vh}.brand{padding:.75rem 1rem}.menu-toggle{display:inline-flex;margin-left:auto;background:transparent;color:#fff;border-color:#ffffff40}.menu-toggle:hover:not(:disabled){background:#ffffff14}.side:not(.open) nav,.side:not(.open) .user{display:none}main{padding:1.2rem 1rem 2.5rem}.toolbar input[type=text],.toolbar input[type=search]{min-width:0;width:100%}form.stack{grid-template-columns:1fr;gap:.3rem}form.stack>label{margin-top:.5rem}table.grid{display:block;overflow-x:auto}table.grid td{white-space:nowrap}form.stack small{display:block;margin:.2rem 0 0}.quick-grid{grid-template-columns:repeat(3,1fr)}.scan-box form{flex-wrap:wrap}.scan-box input[type=search]{flex-basis:100%}table.grid.lines td{white-space:normal}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
