:root{--bg:#f4f5f3;--surface:#fff;--surface-2:#f7f8f6;--panel-tint:#f6f9fc;--line:#e2e4e1;--line-strong:#d0d5d1;--text:#26292d;--muted:#646b71;--faint:#9aa0a5;--red:#ce3540;--red-hover:#b52c36;--red-soft:#fdecee;--dark:#1e2124;--ok:#1f7a4d;--ok-soft:#e6f4ec;--warn:#8a5900;--warn-soft:#fdf3e1;--info:#22577a;--info-soft:#e6eff6;--radius:.6rem;--radius-sm:.42rem;--shadow-lg:0 1.2rem 3.5rem #14181c38;--tap:44px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;font-size:clamp(14px,8px + .4vw,18px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:600}b,strong{font-weight:600}h1{font-size:1.45rem}h2{font-size:1.1rem}p{margin:0}img{display:block}a{color:var(--red)}:focus-visible{outline-offset:2px;outline:3px solid #ce354073}.shell{grid-template-rows:3.2rem 1fr;grid-template-columns:13.5rem 1fr;height:100%;display:grid}.topbar{background:var(--dark);color:#fff;grid-column:1/-1;align-items:center;gap:1.2rem;padding:0 1.2rem;display:flex}.brand{letter-spacing:.06em;align-items:baseline;gap:.5rem;font-size:1.15rem;font-weight:600;display:flex}.brand small{color:var(--red);letter-spacing:.12em;font-size:.72rem}.brand.dark{color:var(--dark)}.topbar .right{align-items:center;gap:1rem;margin-left:auto;font-size:.9rem;display:flex}.topbar-link{color:#fff;opacity:.85;min-height:var(--tap);align-items:center;display:inline-flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:.3rem;padding:1rem .7rem;display:flex}.nav{min-height:var(--tap);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:.8rem;padding:.6rem .9rem;font-size:1rem;display:flex}.nav:hover{background:var(--surface-2)}.nav.active{background:var(--red-soft);color:var(--red);border-left-color:var(--red);font-weight:600}.nav .icon{fill:none;width:1.25rem;height:1.25rem;stroke:var(--muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav.active .icon{stroke:var(--red)}.main{min-width:0;overflow:auto}.center-screen{place-items:center;height:100%;display:grid}.btn{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:var(--text);border:1px solid #d9ddda;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#f0f2ef}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--red-hover)}.btn.danger{color:var(--red);border-color:#efc4c7}.btn.danger-fill{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn.small{min-height:36px;padding:.3rem .7rem;font-size:.88rem}.btn.ghost{background:0 0;border-color:#0000}.btn.more{align-self:center}.icon-btn{cursor:pointer;color:var(--muted);min-width:var(--tap);min-height:var(--tap);background:0 0;border:0;border-radius:.3rem;font-size:1.4rem}.icon-btn:hover{background:var(--red-soft);color:var(--red)}.input{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none;min-width:0;padding:.5rem .7rem;font-size:1rem}textarea.input{resize:vertical}.input:focus{border-color:#943849;box-shadow:0 0 0 3px #ce35401f}.input[aria-invalid=true]{border-color:var(--red);background:#fff7f7}.input:disabled{background:var(--surface-2)}.money{align-items:center;display:flex;position:relative}.money>i{color:var(--muted);pointer-events:none;font-style:normal;position:absolute;left:.7rem}.money>.input{font-variant-numeric:tabular-nums;width:100%;padding-left:1.6rem}.field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.field>span{font-size:.9rem}.check{cursor:pointer;align-items:center;gap:.6rem;display:inline-flex}.check input{width:1.2rem;height:1.2rem;accent-color:var(--red);flex:none}.check.big{min-height:var(--tap)}.label{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:600}.muted{color:var(--muted)}.small{font-size:.86rem}.pre{white-space:pre-wrap}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chip{color:var(--text);white-space:nowrap;background:#eef0ee;border-radius:.35rem;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.8rem;font-weight:500;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.red{background:var(--red-soft);color:#a8222d}.chip.info{background:var(--info-soft);color:var(--info);text-decoration:none}.chip.muted{color:var(--muted);background:#eef0ee}.chip .icon-btn{min-width:28px;min-height:28px;font-size:1.1rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip-btn{min-height:var(--tap);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-weight:500}.chip-btn.on{background:var(--red-soft);border-color:var(--red);color:var(--red)}.chip-btn b{margin-left:.25rem;font-weight:600}.bulk{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.confirm-list{margin:.2rem 0 0;padding:0;font-size:.9rem;list-style:none}.confirm-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.8rem;padding:.25rem 0;display:flex}.confirm-list li span:first-child{overflow-wrap:anywhere;min-width:0}.confirm-list li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.dialog-body p+p,.dialog-body p+ul{margin-top:.5rem}.banner{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex}.banner.error{background:var(--red-soft);color:#9e2430}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.info{background:var(--info-soft);color:var(--info)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.offline{margin:.8rem 2rem 0}.spinner{border:2px solid #00000026;border-top-color:var(--red);border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite spin;display:inline-block}.loading{align-items:center;gap:.5rem;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}.page{flex-direction:column;gap:.8rem;max-width:84rem;margin-inline:auto;padding:1.1rem 2rem 2rem;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.toolbar .search{flex:16rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:1rem;display:flex}.list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.product{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product.open{border-color:var(--line-strong)}.product-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.8rem;width:100%;min-height:4.6rem;padding:.6rem .8rem;display:flex}.product-head.static{cursor:default}.product-head img,.thumb{object-fit:contain;background:var(--surface-2);border-radius:.25rem;flex:none;width:48px;height:64px}.product-text{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.product-text strong{overflow-wrap:anywhere;font-weight:500}.product-text small{color:var(--muted)}.product-side{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.price{font-variant-numeric:tabular-nums;font-weight:500}.variants{border-top:1px solid var(--line);margin:0;padding:0 .8rem .6rem;list-style:none}.variant{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.7rem 0;display:flex}.variant:last-child{border-bottom:0}.variant-info{flex-direction:column;flex:14rem;gap:.25rem;min-width:0;display:flex}.variant-info small{color:var(--muted);overflow-wrap:anywhere}.variant-actions,.price-edit{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.price-edit .money{width:8rem}.backdrop{z-index:50;background:#14181c73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;width:min(32rem,100%);max-height:calc(100dvh - 2rem);display:flex}.modal.wide{width:min(46rem,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.6rem .6rem .4rem 1.1rem;display:flex}.modal-body{flex-direction:column;gap:.8rem;padding:1rem 1.1rem 1.1rem;display:flex;overflow:auto}.dialog-body{line-height:1.45}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding-top:.4rem;display:flex}.form{flex-direction:column;gap:.8rem;display:flex}.two{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.facts{grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.preview{object-fit:contain;max-width:100%;max-height:70dvh;margin:0 auto}.toasts{z-index:60;flex-direction:column;gap:.5rem;max-width:min(26rem,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--dark);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .9rem;display:flex}.toast.error{background:#8f1f29}.toast .btn{color:var(--text)}.login{background:var(--dark);place-items:center;min-height:100%;padding:1rem;display:grid}.login-card{background:var(--surface);border-radius:var(--radius);width:min(24rem,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:1rem;padding:1.6rem;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.show-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;align-items:center;gap:.8rem;width:100%;min-height:4.6rem;padding:.7rem;display:flex}.show-card img,.show-thumb{object-fit:cover;border-radius:var(--radius-sm);flex:none;width:3.4rem;height:3.4rem}.show-thumb{background:var(--red-soft);color:var(--red);place-items:center;font-size:1.3rem;font-weight:600;display:grid}.show-hero{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.show-hero img{object-fit:cover;border-radius:var(--radius);width:7rem;height:7rem}.show-hero>div{flex-direction:column;gap:.35rem;min-width:0;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.stats>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.6rem .8rem;display:flex}.stats span{color:var(--muted);font-size:.82rem}.stats strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.danger-zone{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem;padding-top:.9rem;display:flex}.cover-preview{object-fit:cover;border-radius:var(--radius-sm);width:4rem;height:4rem}.picker{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picker>li{border-bottom:1px solid var(--line);padding:.2rem 0}.picker ul{margin:0;padding:0 0 0 1.8rem;list-style:none}.picker small{overflow-wrap:anywhere}.dropzone{text-align:center;border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:.7rem;padding:2.2rem 1rem;display:flex}.dropzone.dragging{border-color:var(--red);background:var(--red-soft)}.options{position:relative}.options>summary{list-style:none}.options>summary::-webkit-details-marker{display:none}.options[open]>.panel{z-index:10;width:min(22rem,100vw - 2rem);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + .3rem);right:0}.problems{border-color:var(--red);background:snow}.problem{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.6rem;display:flex}.problem .btn{text-align:left;flex-wrap:wrap;justify-content:flex-start}.problem .btn small{font-weight:400}.price-row{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--radius);grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.9fr);align-items:start;gap:.6rem 1rem;padding:.8rem;display:grid}.price-row.is-ready{border-left-color:var(--ok)}.price-row.is-flagged{border-left-color:#d69a1c}.price-row.is-unmatched{border-left-color:var(--red)}.price-item,.price-move{flex-direction:column;gap:.25rem;min-width:0;display:flex}.price-item{align-items:flex-start}.price-item strong,.price-match strong{overflow-wrap:anywhere;font-weight:500}.price-move strong{font-weight:600}.price-match{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.price-match-body{gap:.6rem;width:100%;min-width:0;display:flex}.price-match-body>div{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.col-label{color:var(--muted);font-size:.78rem}.price-match select{text-overflow:ellipsis;width:100%}.thumb-btn{cursor:zoom-in;min-width:var(--tap);background:0 0;border:0;flex:none;padding:0}.thumb-btn img{object-fit:contain;border-radius:.2rem;width:3.6rem;height:4.9rem}.price-move{font-variant-numeric:tabular-nums;flex-flow:wrap;align-items:baseline;gap:.3rem .5rem}.price-move small:last-child{flex-basis:100%}.notes{color:var(--warn);grid-column:1/-1;margin:0;padding-left:1.2rem;font-size:.88rem}.decide{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.4rem;display:flex}.decide .money{width:8rem}.seg{min-height:var(--tap);border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;padding:.4rem .9rem;font-weight:500}.seg.on-use{background:var(--ok-soft);border-color:var(--ok);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.seg.on-mine{background:var(--info-soft);border-color:var(--info);color:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.seg.on-skip{color:#3d4247;background:#eceeed;border-color:#6b7177;box-shadow:inset 0 0 0 1px #6b7177}.copies{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;grid-column:1/-1;gap:.4rem;padding:.6rem;display:flex}.copy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.copy .money{width:8rem}.last-batch .page-head>div{min-width:0}.batch-list{max-height:16rem;margin:.4rem 0 0;padding:0;list-style:none;overflow:auto}.batch-list li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;gap:.8rem;padding:.35rem 0;display:flex}.find-row img,.thumb.small{object-fit:contain;background:var(--surface-2);border-radius:.2rem;flex:none;width:40px;height:54px}.find-row .product-text{flex:1}.find-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;display:flex}.banner ul{margin:.3rem 0 0;padding-left:1.1rem}.apply-bar{background:var(--dark);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.4rem;padding:.7rem 1rem;display:flex;position:sticky;bottom:0}.tabs{border-bottom:1px solid var(--line);gap:.3rem;display:flex}.tab{min-height:var(--tap);cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:.4rem 1rem;font-weight:500}.tab.on{color:var(--red);border-bottom-color:var(--red)}.day{color:var(--muted);margin:.6rem 0 .3rem;font-size:.95rem}.log{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--line);min-height:var(--tap);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.6rem .8rem;display:flex}.log li:last-child{border-bottom:0}.log-text{overflow-wrap:anywhere;flex:14rem;min-width:0}.announcement{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 0;display:flex}.announcement p{overflow-wrap:anywhere;margin:.3rem 0}@media (max-width:760px){:root{font-size:16px}.shell{grid-template-rows:3rem 1fr auto;grid-template-columns:1fr}.sidebar{padding:.2rem .2rem calc(.2rem + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);flex-direction:row;grid-row:3;justify-content:space-around;gap:0}.nav{border-top:3px solid #0000;border-left:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:.15rem;min-height:56px;padding:.35rem .2rem;font-size:.72rem}.nav.active{border-left:0;border-top-color:var(--red);background:0 0}.page{padding:.9rem 1rem 1.5rem}.banner.offline{margin:.6rem 1rem 0}.toolbar>*{flex:100%}.toolbar .btn{flex:0 auto}.two,.stats{grid-template-columns:1fr 1fr}.backdrop{place-items:end stretch;padding:0}.modal,.modal.wide{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92dvh}.modal-body{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom))}.variant-actions{width:100%}.variant-actions .price{margin-right:auto}.price-row{grid-template-columns:1fr}.apply-bar{flex-wrap:nowrap;margin:.4rem -.4rem 0;padding:.45rem .6rem;font-size:.86rem}.apply-bar>span{min-width:0}.apply-bar .btn{flex:none;padding:.5rem .8rem}.toasts{max-width:none;bottom:4.6rem;left:1rem;right:1rem}.cards{grid-template-columns:1fr}}@media (max-width:380px){.two{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.2s}}
