@font-face{font-family:Heebo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/heebo-hebrew-wght-normal.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/heebo-latin-wght-normal.woff2) format('woff2');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{--c-primary:#1F4FD8;--c-primary-dark:#163BA8;--c-primary-soft:#E8EEFC;--c-accent:#FFD23F;--c-accent-ink:#1A1A1A;--c-alert:#E0218A;--c-alert-soft:#FDE7F2;--c-ok:#2AB573;--c-ok-ink:#1B7F50;--c-ok-soft:#E6F6EE;--c-warn:#EF6F3B;--c-warn-ink:#C2491A;--c-warn-soft:#FDEDE5;--c-muted:#9AA1AE;--c-muted-ink:#646B78;--c-out-soft:#EEF0F3;--c-bg:#F6F7FB;--c-surface:#FFFFFF;--c-border:#E3E6EE;--c-text:#1B1F2A;--c-text-2:#5B6273;
--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--sh-card:0 1px 2px rgba(20,30,60,.06),0 4px 12px rgba(20,30,60,.06);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--tap:48px;--tab:64px;--top:56px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Heebo,system-ui,Arial,sans-serif;font-size:16px;line-height:1.45;background:var(--c-bg);color:var(--c-text)}
a{color:var(--c-primary)}h1{font-size:24px;font-weight:800;margin:0 0 var(--sp-2)}h2{font-size:18px;font-weight:700;margin:0 0 var(--sp-3)}
.small{font-size:13px;font-weight:500;color:var(--c-text-2)}.num{font-variant-numeric:tabular-nums}.sku{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--c-text-2);direction:ltr;unicode-bidi:isolate}
.display{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}
svg.i{width:24px;height:24px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
/* shell */
.topbar{position:sticky;top:0;z-index:30;height:var(--top);background:var(--c-surface);border-bottom:1px solid var(--c-border);display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:0 var(--sp-2)}
.topbar .ttl{text-align:center;font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .logo{justify-self:start;display:flex}.topbar .act{justify-self:end}
.iconbtn{width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--c-text);border-radius:var(--r-md);cursor:pointer;padding:0;text-decoration:none}
.iconbtn:hover{background:var(--c-bg)}
main{max-width:1100px;margin:0 auto;padding:var(--sp-4);padding-bottom:calc(var(--tab) + 96px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;bottom:0;right:0;left:0;z-index:40;height:calc(var(--tab) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--c-surface);border-top:1px solid var(--c-border);display:grid;grid-template-columns:repeat(5,1fr)}
.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--c-text-2);text-decoration:none;font:500 12px Heebo,system-ui,sans-serif;background:none;border:0;cursor:pointer}
.tabbar .on{color:var(--c-primary)}.tabbar .on::before{content:"";position:absolute;top:0;right:22%;left:22%;height:3px;border-radius:0 0 3px 3px;background:var(--c-primary)}
.tabbar .dot{position:absolute;top:8px;left:calc(50% - 18px);min-width:18px;height:18px;border-radius:9px;background:var(--c-alert);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.sidebar{display:none}
@media(min-width:900px){
 .tabbar,.topbar{display:none}body.app{padding-right:240px}main{padding:var(--sp-5) var(--sp-5) var(--sp-6)}
 .sidebar{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:240px;background:var(--c-surface);border-left:1px solid var(--c-border);padding:var(--sp-4) var(--sp-3);gap:2px;overflow:auto;z-index:30}
 .sidebar .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;font-weight:800;font-size:18px}
 .sidebar a{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:var(--r-md);color:var(--c-text-2);text-decoration:none;font-weight:500}
 .sidebar a:hover{background:var(--c-bg)}.sidebar a.on{background:var(--c-primary-soft);color:var(--c-primary);font-weight:700}
 .sidebar .sep{height:1px;background:var(--c-border);margin:10px 4px}.sidebar .cnt{margin-inline-start:auto;background:var(--c-alert);color:#fff;border-radius:9px;font-size:12px;font-weight:700;padding:0 7px}
 .pagehead{display:flex!important}
}
.pagehead{display:none;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.pagehead h1{margin:0}
.wordmark b:first-child{color:var(--c-primary)}.wordmark b:last-child{color:var(--c-alert)}
/* components */
.card{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--sp-4);margin-bottom:var(--sp-4)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 20px;border-radius:var(--r-md);border:2px solid var(--c-primary);background:var(--c-primary);color:#fff;font:700 16px Heebo,system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}
.btn.sec{background:var(--c-surface);color:var(--c-primary)}.btn.sec:hover{background:var(--c-primary-soft)}
.btn.danger{background:none;border-color:transparent;color:var(--c-warn-ink)}.btn.danger:hover{background:var(--c-warn-soft)}
.btn.block{width:100%}@media(min-width:900px){.btn.block.auto{width:auto}}
.btn:disabled{opacity:.5;cursor:not-allowed}
.fab{position:fixed;z-index:35;bottom:calc(var(--tab) + 16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);height:56px;padding:0 24px;border-radius:var(--r-pill);background:var(--c-accent);color:var(--c-accent-ink);border:0;display:inline-flex;align-items:center;gap:8px;font:800 16px Heebo,system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 18px rgba(20,30,60,.22);cursor:pointer}
.fab.round{width:64px;height:64px;padding:0;justify-content:center}
@media(min-width:900px){.fab{bottom:32px;left:32px;transform:none}}
label.lbl{display:block;font-size:13px;font-weight:500;color:var(--c-text-2);margin:0 0 6px}.req{color:var(--c-alert)}
.field{margin-bottom:var(--sp-4)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:var(--tap);padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);font:400 16px Heebo,system-ui,sans-serif;color:var(--c-text)}
textarea{min-height:88px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}
input:disabled{background:var(--c-bg);color:var(--c-text-2)}
.field.bad input{border-color:var(--c-warn)}.ferr{color:var(--c-warn-ink);font-size:13px;margin-top:4px}
.inwrap{position:relative}.inwrap input{padding-left:52px}.inwrap .iconbtn{position:absolute;left:0;top:0;color:var(--c-primary)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-3)}
.hint{font-size:13px;color:var(--c-text-2);margin-top:4px}
.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:13px;font-weight:700;white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pill.ok{color:var(--c-ok-ink);background:var(--c-ok-soft)}.pill.low{color:var(--c-alert);background:var(--c-alert-soft)}.pill.out{color:var(--c-muted-ink);background:var(--c-out-soft)}
.q-ok{color:var(--c-ok-ink)}.q-low{color:var(--c-alert)}.q-out{color:var(--c-muted-ink)}
.chips{display:flex;gap:var(--sp-2);overflow-x:auto;padding:2px 0 var(--sp-3);scrollbar-width:none;margin:0 calc(-1*var(--sp-4));padding-inline:var(--sp-4)}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}
.chip.on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.seg{display:inline-flex;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:3px;gap:2px}
.seg button{min-height:40px;padding:0 16px;border:0;border-radius:9px;background:none;color:var(--c-text-2);font:500 15px Heebo,system-ui,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.seg button.on{background:var(--c-primary);color:#fff}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;background:var(--c-surface)}
.stepper button{width:48px;height:48px;border:0;background:var(--c-bg);color:var(--c-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}
.stepper input{width:72px!important;min-height:48px;border:0!important;border-radius:0!important;text-align:center;font-size:24px!important;font-weight:800!important;font-variant-numeric:tabular-nums;padding:0!important;box-shadow:none!important}
.stepper.sm input{width:56px!important;font-size:18px!important}
.toast{position:fixed;z-index:80;top:calc(var(--top) + 8px);right:16px;left:16px;max-width:520px;margin:0 auto;padding:12px 16px;border-radius:var(--r-md);font-weight:500;box-shadow:var(--sh-card);display:flex;gap:10px;align-items:center;transition:opacity .3s,transform .3s}
.toast.ok{background:var(--c-ok-soft);color:var(--c-ok-ink);border:1px solid var(--c-ok)}.toast.err{background:var(--c-warn-soft);color:var(--c-warn-ink);border:1px solid var(--c-warn)}
.toast.gone{opacity:0;transform:translateY(-8px);pointer-events:none}
@media(min-width:900px){.toast{top:16px;right:256px;left:16px}}
.banner{padding:12px 14px;border-radius:var(--r-md);margin-bottom:var(--sp-4);font-weight:500;display:flex;gap:10px;align-items:flex-start}
.banner.err{background:var(--c-warn-soft);color:var(--c-warn-ink)}.banner.ok{background:var(--c-ok-soft);color:var(--c-ok-ink)}.banner.alert{background:var(--c-alert-soft);color:var(--c-alert)}
.empty{text-align:center;padding:var(--sp-6) var(--sp-4)}.empty svg.i{width:48px;height:48px;color:var(--c-muted)}.empty h2{margin:var(--sp-3) 0 var(--sp-1)}.empty p{color:var(--c-text-2);margin:0 0 var(--sp-4)}
.thumb{width:48px;height:48px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;flex:none}
.thumb.lg{width:72px;height:72px}.thumb.lg svg.i{width:32px;height:32px}.thumb.xl{width:100%;height:auto;aspect-ratio:4/3}.thumb.xl svg.i{width:56px;height:56px;opacity:.6}
/* sheet */
.backdrop{position:fixed;inset:0;background:rgba(15,20,35,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s}
.sheet{position:fixed;z-index:95;right:0;left:0;bottom:0;max-height:90vh;overflow:auto;background:var(--c-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--sp-3) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .25s}
.sheet::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--c-border);margin:0 auto var(--sp-3)}
.sheet.open{transform:none}.sheet.open+.backdrop,.backdrop.open{opacity:1;pointer-events:auto}
.sheet .shead{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.sheet .shead h2{margin:0}
@media(min-width:900px){.sheet{right:50%;left:auto;bottom:auto;top:50%;width:560px;border-radius:var(--r-xl);transform:translate(50%,-40%) scale(.98);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;padding:var(--sp-5)}.sheet::before{display:none}.sheet.open{transform:translate(50%,-50%);opacity:1;pointer-events:auto}body.app .sheet{right:calc(50% - 120px)}}
.menu a,.menu button{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 8px;border:0;background:none;color:var(--c-text);text-decoration:none;font:500 16px Heebo,system-ui,sans-serif;border-bottom:1px solid var(--c-border);cursor:pointer}
.menu a:last-child{border:0;color:var(--c-warn-ink)}.menu svg.i{color:var(--c-text-2)}
/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.login .card{width:100%;max-width:380px;padding:var(--sp-6) var(--sp-5)}
.login .head{text-align:center;margin-bottom:var(--sp-5)}.login .wordmark{font-size:28px;font-weight:800;margin:var(--sp-3) 0 0}
/* dashboard */
.hello{margin-bottom:var(--sp-4)}
.dash{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-4)}.dash .card{margin:0}
.profit{grid-column:1/-1;background:var(--c-primary);color:#fff}.profit .small{color:rgba(255,255,255,.85)}
.stat .ic{width:40px;height:40px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-2)}
.stat .v{font-size:24px;font-weight:800;color:var(--c-primary);font-variant-numeric:tabular-nums;line-height:1.2}
@media(min-width:900px){.dash{grid-template-columns:1.4fr 1fr 1fr}.profit{grid-column:auto}}
.sechead{display:flex;align-items:center;gap:8px;margin-bottom:var(--sp-2)}.sechead h2{margin:0}.count{background:var(--c-alert);color:#fff;border-radius:var(--r-pill);font-size:13px;font-weight:700;padding:1px 9px}
.rows{list-style:none;margin:0;padding:0}.rows li{border-bottom:1px solid var(--c-border)}.rows li:last-child{border:0}
.row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;color:inherit;text-decoration:none;min-height:var(--tap)}
.row .grow{flex:1;min-width:0}.row .nm{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .chev{color:var(--c-muted)}
.row .qty{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
/* products */
.searchbar{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.searchbar .inwrap{flex:1}.searchbar .inwrap input{padding-left:14px;padding-right:44px}.searchbar .inwrap .sic{position:absolute;right:12px;top:12px;color:var(--c-muted)}
.searchbar .btn.sec{padding:0 14px}
.toolrow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.pitem{display:flex;align-items:center;gap:var(--sp-3);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--sp-3);text-decoration:none;color:inherit}
.pitem .grow{flex:1;min-width:0}.pitem .nm{font-weight:700;font-size:16px;line-height:1.3}.pitem .pr{font-weight:500;font-variant-numeric:tabular-nums;margin-top:2px}
.pitem .side{text-align:left;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pitem .side .q{font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.ptable{display:none}
.carousel{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--sp-4));padding:4px var(--sp-4) var(--sp-3);scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}
.pcard{flex:0 0 85%;scroll-snap-align:center;background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--sh-card);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.pcard h2{margin:var(--sp-2) 0 0}.pcard .meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pcard .stk{display:flex;align-items:flex-end;justify-content:space-between;margin-top:var(--sp-2)}.pcard .acts{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.pcard .acts .btn:first-child{flex:1}.pcard .acts .btn.sec{width:56px;padding:0}
.dots{display:flex;justify-content:center;gap:6px;margin-top:var(--sp-2)}.dots i{width:8px;height:8px;border-radius:50%;background:var(--c-border)}.dots i.on{background:var(--c-primary);width:20px;border-radius:4px}
.pager{text-align:center;margin-top:var(--sp-2)}
body[data-view=cards] .listview{display:none!important}body:not([data-view=cards]) .cardview{display:none!important}
@media(min-width:900px){
 .listview .plist{display:none}.listview .ptable{display:table}
 .carousel{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));overflow:visible;margin:0;padding:0;gap:var(--sp-4)}.pcard{flex:none}.dots,.pager{display:none}
 .grid2.d3{grid-template-columns:1fr 1fr 1fr}
}
table.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-card);overflow:hidden;font-size:15px}
.tbl th{background:var(--c-bg);color:var(--c-text-2);font-size:13px;font-weight:700;text-align:right;padding:12px 14px;border-bottom:1px solid var(--c-border)}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--c-border);vertical-align:middle}.tbl tr:last-child td{border:0}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:#FAFBFE}
.tbl .n{font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .nm{font-weight:700}
/* form */
.formcard h2{display:flex;align-items:center;gap:8px}
.imgslot{display:flex;align-items:center;gap:var(--sp-3)}.imgslot .thumb{width:96px;height:96px;border:2px dashed #C9D3F3;background:var(--c-primary-soft)}
.ai{background:var(--c-primary-soft);border-radius:var(--r-lg);padding:var(--sp-4);margin-top:var(--sp-3)}.ai .ttl{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--c-primary);margin-bottom:var(--sp-2)}
.ai .opt{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.7);border-radius:var(--r-md);padding:10px 12px;margin-bottom:6px;color:var(--c-text-2)}
.ai .sk{height:10px;border-radius:5px;background:#D5DEF7;margin:5px 0}
.ai .acts{display:flex;gap:8px;margin-top:var(--sp-2)}
.stickybar{position:sticky;bottom:calc(var(--tab) + 8px + env(safe-area-inset-bottom));z-index:20;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:0 -2px 16px rgba(20,30,60,.12);padding:var(--sp-3);display:flex;gap:var(--sp-2);align-items:center;margin-top:var(--sp-4)}
@media(min-width:900px){.stickybar{bottom:16px}}
.stickybar .sum{flex:1}.stickybar .sum b{font-size:18px;font-variant-numeric:tabular-nums}
/* scanner */
.scanbox{position:relative;background:#0D1220;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;max-height:46vh;width:100%;margin-bottom:var(--sp-3);color:#fff;display:flex;align-items:center;justify-content:center}
.scanbox #reader,.scanbox .reader{position:absolute;inset:0}.scanbox video{width:100%!important;height:100%!important;object-fit:cover}
.scanbox .frame{position:absolute;inset:22% 14%;pointer-events:none;z-index:3}
.scanbox .frame i{position:absolute;width:28px;height:28px;border:4px solid var(--c-accent)}
.scanbox .frame i:nth-child(1){top:0;right:0;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.scanbox .frame i:nth-child(2){top:0;left:0;border-right:0;border-bottom:0;border-radius:8px 0 0 0}.scanbox .frame i:nth-child(3){bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 8px 0}.scanbox .frame i:nth-child(4){bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 8px}
.scanbox .ctl{position:absolute;z-index:4;top:8px;right:8px;left:8px;display:flex;justify-content:space-between}.scanbox .ctl .iconbtn{color:#fff;background:rgba(0,0,0,.35)}
.scanbox .start{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;color:#fff;font:500 16px Heebo,system-ui,sans-serif;cursor:pointer}
.scanbox .start svg.i{width:40px;height:40px}
.diff{color:var(--c-alert);background:var(--c-alert-soft)}
.sheet .bigname{font-size:24px;font-weight:800;margin:0}
/* intake */
.line{display:grid;grid-template-columns:1fr auto;gap:var(--sp-2) var(--sp-3);align-items:center}.line .nm{font-weight:700}.line .cost{grid-column:1/-1;display:flex;align-items:center;gap:var(--sp-2)}.line .cost input{max-width:140px}
.results{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-3)}.results button{display:flex;justify-content:space-between;gap:8px;min-height:48px;align-items:center;padding:0 14px;border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-md);font:500 15px Heebo,system-ui,sans-serif;cursor:pointer;text-align:right}
.results .none{color:var(--c-text-2);padding:8px 2px}
/* suppliers */
.sup .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.sup h2{margin:0}.sup .facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:var(--sp-2);color:var(--c-text-2);font-size:14px}.sup .facts span{display:inline-flex;align-items:center;gap:6px}.sup .facts svg.i{width:16px;height:16px}
.sup .acts{display:flex;gap:4px;margin-top:var(--sp-2);border-top:1px solid var(--c-border);padding-top:var(--sp-2)}
/* movements */
.day{position:sticky;top:var(--top);z-index:5;background:var(--c-bg);padding:8px 2px;font-size:13px;font-weight:700;color:var(--c-text-2)}
@media(min-width:900px){.day{top:0}}
.mv{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--c-surface);border-radius:var(--r-md);margin-bottom:6px}
.mv .ic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}.mv .ic svg.i{width:20px;height:20px}
.mv .grow{flex:1;min-width:0}.mv .q{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums;direction:ltr}
.t-intake{background:var(--c-ok-soft);color:var(--c-ok-ink)}.t-count{background:var(--c-alert-soft);color:var(--c-alert)}.t-import{background:var(--c-primary-soft);color:var(--c-primary)}.t-opening{background:var(--c-out-soft);color:var(--c-muted-ink)}.t-adjust{background:#FFF6D6;color:#7A5B00}
.mvdesk{display:none}@media(min-width:900px){.mvmob{display:none}.mvdesk{display:table}}
/* import */
.steps{list-style:none;margin:0;padding:0;counter-reset:s}.steps>li{counter-increment:s;position:relative;padding-right:48px;margin-bottom:var(--sp-5)}
.steps>li::before{content:counter(s);position:absolute;right:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.steps h2{margin:4px 0 6px}
.drop{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed #B9C6EE;border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-3);background:var(--c-primary-soft);text-align:center;cursor:pointer;color:var(--c-primary)}
.drop svg.i{width:40px;height:40px}.drop input{max-width:100%;font-size:14px;color:var(--c-text-2)}.drop.has{border-color:var(--c-primary)}
.res3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);text-align:center;margin:var(--sp-3) 0}.res3 div{background:var(--c-bg);border-radius:var(--r-md);padding:var(--sp-3)}.res3 b{display:block;font-size:24px;font-weight:800}
.errlist{color:var(--c-warn-ink);margin:0;padding-right:20px}
/* labels */
.pick{list-style:none;margin:0;padding:0}.pick li{border-bottom:1px solid var(--c-border)}.pick label{display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer}.pick input{width:22px;height:22px;accent-color:var(--c-primary)}
.sheetlabels{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-4)}
.qlabel{border:1px dashed #999;width:5.5cm;padding:6px;text-align:center;background:#fff;page-break-inside:avoid;break-inside:avoid}.qlabel img{width:2.6cm;height:2.6cm}.qlabel .ln{font-size:12px;font-weight:700}.qlabel .ls{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.qlabel .lp{font-size:13px}
.qlabel.off{display:none}
@media print{.topbar,.tabbar,.sidebar,.fab,.noprint,.toast{display:none!important}body,body.app{background:#fff;padding:0}main{padding:0;max-width:none}.qlabel{border-color:#999}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* fixes */
.sheet{visibility:hidden;transition:transform .25s,visibility 0s .25s}.sheet.open{visibility:visible;transition:transform .25s,visibility 0s}
@media(min-width:900px){.sheet{transition:opacity .2s,transform .2s,visibility 0s .2s}.sheet.open{transition:opacity .2s,transform .2s,visibility 0s}}
.searchbar .inwrap input{padding-right:44px!important;padding-left:14px!important}.inwrap input{padding-left:52px!important}
.pcard .thumb.xl{aspect-ratio:16/10}
[hidden]{display:none!important}
.sku{white-space:nowrap}
/* review fixes */
body.has-fab main{padding-bottom:calc(var(--tab) + 56px + 16px + 96px + env(safe-area-inset-bottom))}
body[data-page=pform] main{padding-bottom:calc(var(--tab) + 48px + 24px + 16px + 16px + env(safe-area-inset-bottom))}
body[data-page=pform] input,body[data-page=pform] select,body[data-page=pform] textarea{scroll-margin-top:calc(var(--top) + 16px);scroll-margin-bottom:calc(var(--tab) + 48px + 24px + 16px + 16px)}
@media(min-width:900px){body.has-fab main{padding-bottom:calc(56px + 32px + 96px)}body[data-page=pform] main{padding-bottom:calc(48px + 24px + 32px)}}
/* profit */
a.card.profit{display:block;position:relative;text-decoration:none}.profit .pchev{position:absolute;top:14px;left:14px;opacity:.85}.profit .pchev svg.i{width:20px;height:20px}
.psums{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--sp-4)) var(--sp-4);padding:2px var(--sp-4) 6px;scrollbar-width:none}.psums::-webkit-scrollbar{display:none}
.psums .card{flex:0 0 72%;scroll-snap-align:start;margin:0}.psums .stat .v{font-size:24px}
@media(min-width:900px){.psums{display:grid;grid-template-columns:1.4fr 1fr 1fr;overflow:visible;margin:0 0 var(--sp-4);padding:0}}
.prow{display:block;text-decoration:none;color:inherit;margin:0}.phead{display:flex;align-items:center;gap:var(--sp-3)}.phead .grow{flex:1;min-width:0}.phead .nm{font-weight:700}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-3)}.pgrid.g3{grid-template-columns:1fr 1fr}
.pv{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.pv.prim{color:var(--c-primary);font-size:18px;font-weight:800}
.pfoot{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--c-border)}
.pbig{font-size:18px;font-weight:800;color:var(--c-primary);font-variant-numeric:tabular-nums}.pmid{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.pfoot>div:last-child{text-align:left}
.sorth{color:inherit;text-decoration:none;white-space:nowrap}.sorth.on{color:var(--c-primary)}
/* no product images yet: compact icon area (remove .noimg in server.js /profit to restore) */
.pcard .thumb.xl.noimg{aspect-ratio:auto;height:96px}.pcard .thumb.xl.noimg svg.i{width:40px;height:40px}
.pbig.na,.pv.na{color:var(--c-muted-ink)}
/* photo + AI */
.thumb img{width:100%;height:100%;object-fit:contain;border-radius:inherit;display:block}.thumb.has-img{background:var(--c-bg);overflow:hidden}
.imgslot.photo{align-items:flex-start}.imgslot .pthumb{width:112px;height:112px}.imgslot .pthumb.has-img,.imgslot .pthumb:has(img){border-style:solid;border-color:var(--c-border);background:var(--c-bg)}
.pbtns{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.row2{display:flex;gap:var(--sp-2);flex-wrap:wrap}.row2 .btn{flex:1;padding:0 12px}.rmimg{display:flex;align-items:center;gap:6px}
.ai .opt{cursor:pointer;color:var(--c-text)}.ai .opt b{display:block}.ai .opt:has(input:checked){background:#fff;outline:2px solid var(--c-primary)}.ai .opt input{margin-top:4px;accent-color:var(--c-primary)}
.ai .opt.loading{cursor:default}.ai .banner{margin:0 0 6px}
.created .row2{margin-top:var(--sp-2)}
.pcard .thumb.xl.has-img{aspect-ratio:4/3}
/* ---- 9. snap flow ---- */
.toast.warn{background:var(--c-warn-soft);color:var(--c-warn-ink);border:1px solid var(--c-warn)}
body.flow{background:var(--c-bg);min-height:100vh}
.ftop{position:sticky;top:0;z-index:30;height:var(--top);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-2) 0 var(--sp-4);background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.ftop .ttl{font-size:18px;font-weight:700}
.prog{display:flex;gap:4px;padding:var(--sp-3) var(--sp-4) 0;max-width:560px;margin:0 auto}.prog i{flex:1;height:4px;border-radius:var(--r-pill);background:var(--c-border)}.prog i.on{background:var(--c-primary)}
#snap{max-width:560px;margin:0 auto;padding:var(--sp-4)}
#snap .stickybar{bottom:calc(8px + env(safe-area-inset-bottom))}#snap .stickybar .btn{flex:1}
.cam{position:relative;aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;background:#0D1220;color:#fff;display:flex;align-items:center;justify-content:center}
.cam .camph svg{width:56px;height:56px;opacity:.5}.cam.has .camph,.cam.has .corners{display:none}
.cam img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--c-surface)}
.cam .corners{position:absolute;inset:24px;background:linear-gradient(var(--c-accent),var(--c-accent)) top right/32px 4px,linear-gradient(var(--c-accent),var(--c-accent)) top right/4px 32px,linear-gradient(var(--c-accent),var(--c-accent)) top left/32px 4px,linear-gradient(var(--c-accent),var(--c-accent)) top left/4px 32px,linear-gradient(var(--c-accent),var(--c-accent)) bottom right/32px 4px,linear-gradient(var(--c-accent),var(--c-accent)) bottom right/4px 32px,linear-gradient(var(--c-accent),var(--c-accent)) bottom left/32px 4px,linear-gradient(var(--c-accent),var(--c-accent)) bottom left/4px 32px;background-repeat:no-repeat}
.aiwait{position:absolute;inset:0;background:rgba(31,79,216,.6);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700}.aiwait[hidden]{display:none}
.spin{width:40px;height:40px;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sp 0.9s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.c2{color:var(--c-text-2)}#snap .small.c2{text-align:center}
.shutterrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4)}.shutterrow[hidden]{display:none}.shutterrow .btn{justify-self:start}
.shutter{width:72px;height:72px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--c-accent),var(--sh-card);cursor:pointer;display:block}
.whatrow{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.whatrow img{width:64px;height:64px;border-radius:var(--r-md);object-fit:contain;background:var(--c-surface)}.whatrow h1{margin:0}
.aitag{display:flex;align-items:center;gap:6px;color:var(--c-primary);font-size:14px;font-weight:500;margin-bottom:var(--sp-2)}.aitag svg{width:16px;height:16px}
.sugg{display:flex;flex-direction:column;gap:12px}
.sopt{display:flex;gap:12px;align-items:flex-start;background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--r-lg);padding:16px;cursor:pointer}
.sopt input{width:24px;height:24px;flex:none;margin:0;accent-color:var(--c-primary)}.sopt>span{display:flex;flex-direction:column;gap:4px;min-width:0}.sopt b{font-size:16px}
.sopt .d{font-size:14px;color:var(--c-text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sopt:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-soft)}
.chip.sm{height:24px;padding:0 10px;font-size:12px;align-self:flex-start}
.linkbtn{background:none;border:0;color:var(--c-primary);font:inherit;font-weight:500;padding:12px 0;cursor:pointer;text-decoration:underline;display:inline-block;min-height:44px}
#snap label,#snap .fld{display:flex;flex-direction:column;gap:6px;margin-top:var(--sp-4);font-weight:500}#snap .fld{flex-direction:row;align-items:center;justify-content:space-between}
#snap .picked{display:flex;flex-direction:column;gap:0}#snap .picked label{margin-top:0}#snap .picked label+label{margin-top:var(--sp-3)}#snap .picked .bold{font-weight:700}
.inbtn{position:relative;display:block}.inbtn input{width:100%;padding-inline-end:52px}.inbtn .iconbtn{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.skurow{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-4);padding:12px 0;border-top:1px solid var(--c-border)}
.step.done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.step.done[hidden]{display:none}
.okc{width:72px;height:72px;border-radius:50%;background:var(--c-ok-soft);color:var(--c-ok);display:flex;align-items:center;justify-content:center}.okc svg{width:36px;height:36px}
.step.done h1{margin:4px 0}.dimg{width:120px;height:120px;border-radius:var(--r-md);object-fit:contain;background:var(--c-surface)}.dname{font-size:18px;font-weight:700}.dprice{font-weight:700}
.qlabel.prev{margin:var(--sp-3) auto;border-color:var(--c-border);border-width:2px;border-radius:var(--r-md)}
.donebtns{display:flex;flex-direction:column;gap:var(--sp-2);width:100%;margin-top:var(--sp-2)}
.btn.accent{background:var(--c-accent);color:var(--c-accent-ink);border-color:var(--c-accent)}
.addopts{display:flex;flex-direction:column;gap:var(--sp-2)}.btn.big{height:56px;font-size:16px}
#snap input[aria-invalid]{border-color:var(--c-warn)}
#snap label.sopt{flex-direction:row;margin-top:0;font-weight:400}
#snap label.btn{flex-direction:row;margin-top:0;font-weight:700}.shutterrow .gal{justify-self:end}
#snap [data-step="3"]{padding-bottom:calc(48px + 24px + 16px)}
/* ---- 10. post-test fixes ---- */
.qlabel .ln{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;max-height:2.6em}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ptable th.imgc,.ptable td.imgc{width:48px;padding-inline-end:0}
.thumb.sm{width:40px;height:40px;border-radius:var(--r-sm)}.thumb.sm svg.i{width:20px;height:20px;color:var(--c-muted)}
.ptable .na{color:var(--c-muted)}
.thumb.has-img{position:relative;background:var(--c-primary-soft);color:var(--c-primary)}
.thumb.has-img>svg.i{position:absolute;opacity:.6}
.thumb.has-img img{position:absolute;inset:0;opacity:0;transition:opacity .15s ease}
.thumb.has-img img.in{opacity:1}
.thumb.has-img:has(img.in){background:var(--c-bg)}
.thumb.xl,.pcard .thumb.xl.has-img{aspect-ratio:1/1}
@media(prefers-reduced-motion:reduce){.thumb.has-img img{transition:none}}
@media(max-width:899px){.pcard .thumb.xl:not(.noimg){width:min(100%,26vh);margin-inline:auto}}
@media print{.pagehead{display:none!important}}
/* names: 2-line clamp in all product cards/lists */
.pcard h2,.pcard .nm,.prow .nm,.row .nm,.line .nm,.listview .nm{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.ptable td.nm{display:table-cell!important}
.ptable td.nm .sku{display:block}
/* ---- 11. photo enhancement ---- */
#snap .tip{margin-top:4px}
.enhone{aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden;background:var(--c-surface);margin-bottom:var(--sp-4)}.enhone img{width:100%;height:100%;object-fit:contain;display:block}
#snap [data-step="2b"] h1{margin:0 0 6px}
.enhpair{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-3)}.enhpair figure{margin:0;text-align:center}.enhpair figcaption{margin-top:6px;color:var(--c-text-2)}
.enhsq{position:relative;aspect-ratio:1/1;border-radius:var(--r-md);overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border)}.enhsq img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.enhsq .aiwait b{font-size:14px;text-align:center;padding:0 8px}.enhsq .spin{width:32px;height:32px}
.enhfail{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:var(--c-warn-soft);color:var(--c-warn-ink);text-align:center;padding:8px}.enhfail[hidden]{display:none}.enhfail svg{width:28px;height:28px}
#enhUse[hidden]{display:none}
.swapimg{display:block;padding:4px 0;min-height:32px}.imgkind{display:block}

#snap .stickybar.stack{flex-direction:column;align-items:stretch}#snap .stickybar.stack .btn{flex:none;width:100%;min-width:0;white-space:normal}
.enhpair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.enhpair figure{min-width:0}.enhsq img{max-width:100%}#enhCmp h1{overflow-wrap:anywhere}
.hqmsg{margin:var(--sp-2) 0 0;color:var(--c-text-2);text-align:center}.hqmsg[hidden],#enhHQ[hidden]{display:none}
.sup .acts{flex-wrap:wrap}.sup .acts .btn{min-width:0}
.lprevh{font-size:16px;margin:var(--sp-4) 0 var(--sp-2)}.lcard .sheetlabels{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5cm,1fr));gap:var(--sp-2);justify-items:center;margin:0 0 var(--sp-3)}
@media print{.lcard{background:none!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}.lcard .sheetlabels{display:flex;flex-wrap:wrap;gap:6px;margin:0}}
.qlabel .ln,.mv .grow,.mvdesk td,.pick label span{overflow-wrap:anywhere}
.banner.info{background:var(--c-primary-soft);color:var(--c-primary-dark)}
/* §12 users + password */
.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}
.ulist{display:grid;gap:var(--sp-3)}@media(min-width:900px){.ulist{grid-template-columns:repeat(2,1fr)}}
.ucard{display:flex;align-items:center;gap:var(--sp-3);color:inherit;text-decoration:none;min-height:72px}.ucard .uinfo{display:flex;flex-direction:column;min-width:0;flex:1}.ucard .uname{font-size:16px;font-weight:700;font-family:ui-monospace,monospace;text-align:right;overflow-wrap:anywhere}.ucard .small{color:var(--c-text-2);overflow-wrap:anywhere}.ucard>.i:last-child{color:var(--c-muted);transform:scaleX(-1)}
.pill.me{background:var(--c-primary-soft);color:var(--c-primary)}.pill.me::before{background:var(--c-primary)}
input.mono{font-family:ui-monospace,monospace}
.inbtn.pw input{direction:ltr;text-align:left;padding-inline-end:52px}.inbtn.pw .iconbtn{left:auto;right:0}
.inbtn.pw.gen{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.inbtn.pw.gen input{flex:1 1 100%}.inbtn.pw.gen .iconbtn{top:24px}.inbtn.pw.gen .btn.gen{min-height:40px;height:40px;padding:0 var(--sp-3);font-size:14px}
.field .hint{margin-top:4px;color:var(--c-text-2)}
.delrow{margin-top:var(--sp-4);text-align:center}
.mehead{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-3);margin-bottom:var(--sp-2);border-bottom:1px solid var(--c-border)}.mehead .mename{font-size:16px;font-weight:700}.mehead a{display:inline-flex;align-items:center;gap:4px;color:var(--c-primary);font-size:13px;font-weight:500;min-height:32px;text-decoration:none}.mehead a .i{width:16px;height:16px}
.pwcard{max-width:480px}
/* §13 invoice intake */
.invcta{display:flex;align-items:center;gap:var(--sp-3);background:var(--c-primary-soft);box-shadow:none;color:var(--c-text);text-decoration:none;margin-bottom:var(--sp-4);flex-wrap:wrap}.invcta .ricon{width:40px;height:40px;border-radius:50%;background:var(--c-surface);color:var(--c-primary);display:flex;align-items:center;justify-content:center;flex:0 0 40px}.invcta .t{flex:1 1 160px;font-weight:700}.invcta .btn{flex:0 0 auto}
#inv{max-width:560px;margin:0 auto;padding:var(--sp-4)}#inv .small.c2{text-align:center}#inv .invhead .small.c2,#inv .invline .small.c2{text-align:start}
#inv .stickybar{bottom:calc(8px + env(safe-area-inset-bottom))}#inv [data-step="1"] .stickybar .btn{flex:1}
.cam.r34{aspect-ratio:3/4}.cam img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;background:#0D1220}
.invhead{margin-bottom:var(--sp-3)}.invhead #invMeta{margin-top:var(--sp-2)}
.invline{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"t t" "p p" "q c";gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);border:2px solid transparent;padding-inline-end:52px}
.invline .itext{grid-area:t;overflow-wrap:anywhere}.invline .iprod{grid-area:p;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.invline .iprod b{font-size:16px;overflow-wrap:anywhere}
.invline .stepper{grid-area:q;align-self:end}.invline .icost{grid-area:c;display:flex;flex-direction:column;gap:4px;max-width:130px}.invline .icost input{width:100%;height:48px;text-align:center}
.invline .rm{position:absolute;top:8px;left:8px}
.invline.low{border-color:var(--c-warn)}.warnt{color:var(--c-warn);display:inline-flex;align-items:center;gap:4px;font-weight:500;flex-basis:100%}.warnt .i{width:16px;height:16px}
.invline.nf .nfp::before{background:var(--c-alert)}
.linkbtn.sm{padding:4px 0;min-height:32px;font-size:14px}
.stepper.sm input{width:52px;height:48px;border:0;text-align:center;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
#addRow{display:inline-flex;align-items:center;gap:6px;text-decoration:none}#addRow .i{width:18px;height:18px}
.invbar{flex-wrap:wrap;margin-top:var(--sp-3)}.invbar .sum{flex:1 1 180px}.invbar .btn{flex:1 1 180px}.invbar #docTot{text-align:start}#docTot.mis{color:var(--c-alert);font-weight:700}#nfNote{flex-basis:100%;order:3}
.invthead,.invside{display:none}
#pickSheet .results button{width:100%}#pickSheet .searchbar{margin:var(--sp-2) 0}
.donecost{margin:0;color:var(--c-text-2)}.donebtns{display:flex;flex-direction:column;gap:var(--sp-2);width:100%;margin-top:var(--sp-4)}
@media(min-width:900px){
 body.inv2 #inv{max-width:1240px}
 .invgrid{display:grid;grid-template-columns:minmax(0,60%) minmax(0,40%);gap:var(--sp-5);align-items:start}
 .invside{display:block;position:sticky;top:16px}.invside img{width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-card)}
 .invthead{display:grid;grid-template-columns:1.2fr 1.4fr 150px 110px 40px;gap:var(--sp-3);padding:0 var(--sp-3) var(--sp-2);font-size:13px;font-weight:500;color:var(--c-text-2)}
 .invline{grid-template-columns:1.2fr 1.4fr 150px 110px 40px;grid-template-areas:"t p q c x";align-items:center;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);border-radius:var(--r-md)}
 .invline .rm{position:static;grid-area:x}.invline .icost .small{display:none}.invline .stepper{align-self:center}.invline .stepper button{width:40px;height:40px}.stepper.sm input{width:44px;height:40px;font-size:18px}.invline .icost input{height:40px}
 #inv .stickybar{bottom:16px}
}
/* §13 fixes 24.10 */
.invline .itext{font-size:13px;color:var(--c-text-2);font-weight:400}
.invline .iprod{display:block}.invline .pname{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;line-height:1.3;max-height:2.6em;overflow-wrap:anywhere}
.invline .skurow{display:flex;justify-content:flex-start;align-items:center;gap:8px;min-width:0;margin-top:2px;padding:0;border-top:0}.invline .skurow .sku{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invline .skurow .swap{margin-inline-start:auto;white-space:nowrap;flex:0 0 auto}
.invline.nf .iprod{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
#nfNote{padding:4px 0;min-height:32px;text-align:start;text-decoration:underline}
.invline.flash{animation:invflash 1.6s ease-out}@keyframes invflash{0%,40%{box-shadow:0 0 0 4px var(--c-alert-soft),var(--sh-card);border-color:var(--c-alert)}100%{box-shadow:var(--sh-card)}}
@media(prefers-reduced-motion:reduce){.invline.flash{animation:none;border-color:var(--c-alert)}}
/* §14 multi-store */
.storepill{display:inline-flex;align-items:center;gap:4px;min-height:32px;max-width:42vw;padding:4px 10px 4px 8px;border:0;border-radius:999px;background:var(--c-primary-soft);color:var(--c-primary-dark);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.storepill span{overflow:hidden;text-overflow:ellipsis}.storepill .i{width:16px;height:16px;flex:none}
.storepill:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
.topbar{grid-template-columns:auto 1fr auto!important;gap:8px}.topbar .act{display:flex;align-items:center;gap:4px}
.phl{display:flex;align-items:center;gap:12px;min-width:0}.phl .storepill{max-width:260px}
.storeopts{display:flex;flex-direction:column;gap:8px}
.stopt{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;border:2px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font:inherit;color:var(--c-text);text-align:start;cursor:pointer}
.stopt .ricon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--c-bg);color:var(--c-primary);flex:none}
.stopt .t{flex:1;display:flex;flex-direction:column;min-width:0}.stopt b{font-size:16px}
.stopt.on{border-color:var(--c-primary);background:var(--c-primary-soft)}.stopt.on>.i{color:var(--c-primary)}
#lockBanner{align-items:center;flex-wrap:wrap}#lockBanner .linkbtn{margin-inline-start:auto}
.bystore{margin:4px 0 16px}.bshead{display:flex;justify-content:space-between;align-items:baseline}.bshead h3{margin:0 0 6px;font-size:15px}
.bsrow{display:grid;grid-template-columns:1fr auto 84px;align-items:center;gap:12px;min-height:52px;padding:4px 8px;border-radius:var(--r-md)}
.bsrow+.bsrow{border-top:1px solid var(--c-border)}.bsrow.on{background:var(--c-primary-soft);border-top-color:transparent}
.bsrow .bsn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bsrow .bsq{font-weight:700;font-variant-numeric:tabular-nums;min-width:32px;text-align:center}
.bsrow input{height:44px;text-align:center}
.fstore{display:block;font-weight:400;font-size:12px;line-height:1.2}
.trsel{display:grid;grid-template-columns:1fr 48px 1fr;align-items:end;gap:8px}.trsel .field{margin:0;min-width:0}.trswap{margin-bottom:2px}
.line .avail{font-size:13px;color:var(--c-text-2)}.line.over{outline:2px solid var(--c-alert)}.line .lerr{color:var(--c-alert);font-size:13px;font-weight:700;grid-column:1/-1}
/* §14 fixes: stacked transfer stores, solid toast, chip scroll padding */
.trsel{grid-template-columns:1fr;align-items:stretch;gap:4px}
.trsel .field{width:100%}.trsel select{width:100%}
.trsel #trSwap{justify-self:center;transform:rotate(90deg)}
.toast{top:auto;bottom:calc(var(--tab) + env(safe-area-inset-bottom) + 12px)}
.toast.ok,.toast.err,.toast.warn{background:#fff;border-inline-start-width:4px;box-shadow:0 6px 20px rgba(16,24,40,.16)}
.toast.ok{color:var(--c-ok-ink)}
@media(min-width:900px){.toast{bottom:auto;top:84px}}
.chips{padding-inline:16px;scroll-padding-inline:16px}
.chips::after{content:'';flex:0 0 1px;margin-inline-start:15px}
@media(min-width:900px){body.app .toast{position:static;max-width:none;margin:0 0 var(--sp-4);max-height:120px;overflow:hidden}
 body.app .toast.gone{max-height:0;padding-block:0;margin:0;border-width:0;transform:none;transition:opacity .3s,max-height .3s .2s,padding .3s .2s,margin .3s .2s}}
/* iPOS page */
.posstat .pshead{display:flex;align-items:center;gap:12px;margin-bottom:12px}.posstat h2{margin:0;font-size:18px}
.posstat .badge,.sect .badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700}
.badge.ok{background:var(--c-ok-soft);color:var(--c-ok-ink)}.badge.off{background:var(--c-muted);color:var(--c-muted-ink)}.badge.warn{background:var(--c-warn-soft);color:var(--c-warn-ink)}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0 0 8px}.kv dt{font-size:13px;color:var(--c-muted-ink)}.kv dd{margin:0;font-weight:700}
@media(min-width:900px){.kv{grid-template-columns:repeat(4,1fr)}}
h2.sect{font-size:18px;margin:24px 0 4px;display:flex;align-items:center;gap:8px}
.poslist{display:grid;gap:12px;margin-top:12px}@media(min-width:900px){.poslist{grid-template-columns:1fr 1fr}}
.posline .plt{display:flex;align-items:flex-start;gap:12px}.posline .nm{font-weight:700}.posline .q{font-weight:700;font-size:18px}
.posline .plf{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.posline .plf select{flex:1 1 200px;min-width:0;min-height:44px}.posline .pli{margin-top:2px}
.banner.warn{background:#FFF1E8;color:var(--c-warn-ink)}#loginBtn:disabled{opacity:.5;cursor:not-allowed}
