:root{color-scheme:dark;--bg:#07111f;--panel:#0c1c30;--panel2:#10263e;--ink:#eaf5ff;--muted:#9bb0c5;--line:#24405a;--blue:#3fa4ff;--green:#40dba0;--yellow:#f4ca5e;--red:#ff687a;--radius:17px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:auto}body{margin:0;background:radial-gradient(900px 700px at 100% -20%,#16446b66,transparent),var(--bg);color:var(--ink);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button:active{transform:scale(.988)}input,select{background:#08182b;color:var(--ink);border:1px solid #355571;border-radius:11px;padding:12px;min-height:46px;min-width:0;width:100%}input::placeholder{color:#68859e}label{font-size:.86rem;font-weight:700;display:block;margin:12px 0 0}.muted{color:var(--muted)}.small{font-size:.83rem}.eyebrow{font-size:.69rem;letter-spacing:.14em;font-weight:800;color:var(--blue);margin:0 0 7px}.btn{border:1px solid transparent;border-radius:11px;padding:11px 16px;min-height:45px;font-weight:800;white-space:nowrap}.btn.primary{background:linear-gradient(115deg,#2386de,#54bcff);color:#061321;box-shadow:0 6px 24px #2386de33}.btn.secondary{background:#123957;color:#d0f0ff;border-color:#3482b4}.btn.ghost{background:#172a3f;color:#c9dced;border-color:#31506b}.btn.full{width:100%}.badge{display:inline-flex;border:1px solid #31516b;padding:6px 9px;border-radius:99px;font-size:.72rem;font-weight:800}.badge.blue{background:#173e60;color:#86d3ff;border-color:#307fb0}.pill{display:inline-block;border-radius:99px;padding:2px 6px;background:#275a80;color:#d2f0ff;font-size:.67rem}.error{color:var(--red);min-height:1.2em}.brand-icon{width:40px;height:40px;display:grid;place-items:center;background:linear-gradient(145deg,#2b9fea,#175185);color:white;border:1px solid #59b9ff;border-radius:11px;font-weight:900;letter-spacing:-.08em;box-shadow:0 0 18px #24a0f533}.brand-icon.large{width:64px;height:64px;font-size:1.45rem;margin-bottom:18px}.login-wrap{min-height:100svh;display:grid;place-items:center;padding:20px}.login-panel{width:min(100%,410px);padding:32px;background:#0e2034;border:1px solid #2e5274;border-radius:22px;box-shadow:0 25px 90px #0008}.login-panel h1{font-size:2.65rem;letter-spacing:-.06em;margin:0}.login-panel h1 span{color:#65beff}.login-panel .muted{margin:8px 0 25px}.login-panel input{text-align:center;font-size:1.5rem;letter-spacing:.7em}.login-panel button{margin-top:18px}.login-panel small{display:block;color:var(--muted);margin-top:25px;font-size:.72rem}
.header{position:sticky;top:0;z-index:20;border-bottom:1px solid #2a4863;background:#071522f5;backdrop-filter:blur(18px);box-shadow:0 12px 30px #0002}.header-top{max-width:1340px;margin:auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:11px}.brand strong{font-size:1.05rem;letter-spacing:-.04em}.brand strong span{color:#54baff}.brand small{display:block;font-size:.6rem;color:#8baac7;letter-spacing:.13em;font-weight:800}.header-actions{display:flex;align-items:center;gap:8px}.connection{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#b7c9db}.connection i{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--yellow)}.connection.online i{background:var(--green);box-shadow:0 0 9px var(--green)}.connection.offline i{background:var(--red)}.icon-button{border:1px solid #294f70;background:#12283d;color:#cde7fb;min-height:36px;min-width:36px;border-radius:10px;font-size:1.15rem}.top-tabs{max-width:1340px;margin:auto;display:flex;gap:6px;padding:0 20px 10px;overflow:auto;scrollbar-width:none}.top-tabs::-webkit-scrollbar{display:none}.top-tabs button{border:1px solid transparent;background:transparent;color:#8fa8bc;border-radius:10px;padding:9px 15px;font-size:.87rem;font-weight:800;white-space:nowrap}.top-tabs button.active{color:#bde8ff;background:#173c5f;border-color:#2f82b5}
.content{max-width:1340px;margin:auto;padding:25px 22px 70px}.view[hidden]{display:none!important}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.page-heading h1{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.055em;margin:0}.page-heading p:last-child{margin:7px 0 0}.page-heading.compact{margin-bottom:16px}.progress-circle{width:94px;height:94px;border:8px solid #225276;border-top-color:#42a9f6;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.progress-circle strong{font-size:1.45rem}.progress-circle small{font-size:.6rem;color:#83a0bc}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric{background:var(--panel);border:1px solid #264763;border-radius:14px;padding:15px 18px}.metric small{display:block;font-size:.73rem;color:var(--muted);margin-bottom:4px}.metric strong{font-size:1.7rem}.metric.yellow strong{color:var(--yellow)}.metric.red strong{color:var(--red)}.search-panel,.section-picker,.scan-panel{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:17px}.search-panel label:first-child{margin-top:0}.search-line{display:flex;gap:8px}.search-line input{flex:1}.quick-filter{display:flex;align-items:center;gap:10px;margin-top:11px}.quick-filter label{margin:0;white-space:nowrap;color:#98b6ce}.quick-filter select{max-width:330px}.quick-results{display:grid;gap:8px}.quick-item{display:flex;align-items:center;gap:12px;padding:12px;background:#102137;border:1px solid #294660;border-radius:12px;min-height:77px}.quick-item .drink-mark{width:8px;align-self:stretch;background:var(--blue);border-radius:10px;flex-shrink:0}.quick-copy{flex:1;min-width:0}.quick-copy strong{display:block;overflow-wrap:anywhere}.quick-copy small{display:block;color:var(--muted);margin-top:4px}.quick-actions{display:flex;gap:7px;flex-shrink:0}.stock-button{background:#163d36;border:1px solid #28745b;color:#97f4cd;border-radius:9px;min-width:75px;min-height:40px;font-weight:800}.stock-button.done{background:#1e6d50;color:#fff}.need-button{background:#39311d;color:#ffdf94;border:1px solid #64532e;border-radius:9px;min-width:55px;min-height:40px;font-weight:800}.need-button.active{background:#967329;color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:225px;color:var(--muted);text-align:center;padding:30px;border:1px dashed #34536f;border-radius:15px}.empty-state span{font-size:2.4rem;color:#3f95cc}.empty-state strong{font-size:1.06rem;color:#cce3f2;margin-top:8px}.empty-state p{max-width:340px;font-size:.85rem}
.section-picker{padding:15px 18px}.section-picker label{margin:0 0 7px}.section-picker select{font-weight:800}.section-picker .small{margin-top:7px}.row-picker{display:flex;gap:8px;align-items:center;margin:14px 0;overflow:auto;padding-bottom:4px;scrollbar-width:thin}.row-picker button{background:#122e48;color:#adc9db;border:1px solid #2b5274;border-radius:10px;padding:9px 12px;white-space:nowrap;font-size:.82rem;font-weight:800}.row-picker button.selected{background:#2c91da;color:#071522}.row-buttons{display:flex;gap:6px}.strip-hint{color:#8caac0;font-size:.76rem}.shelves{display:grid;gap:16px}.shelf{padding:15px;background:var(--panel);border:1px solid #294864;border-radius:15px;scroll-margin-top:144px}.shelf[hidden]{display:none}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.shelf-title{font-size:.93rem;font-weight:850}.shelf-title span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#214f75;color:#b9e8ff;margin-right:8px}.shelf-heading small{color:var(--muted)}.shelf-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#316a91 transparent;padding-bottom:8px}.shelf-grid{display:grid;grid-template-columns:repeat(10,minmax(112px,1fr));gap:8px;min-width:max-content}.face{position:relative;width:112px;min-height:151px;display:flex;flex-direction:column;background:#142a42;border:1px solid #345571;border-radius:12px;overflow:hidden}.face.filled{background:#123b36;border-color:#287b66}.face.need{background:#3b3124;border-color:#ac8734}.face.out{background:#421e2a;border-color:#9d4258}.face.empty{background:#0c1c2e;border-style:dashed}.face-num{position:absolute;top:8px;left:9px;font-size:.62rem;color:#9bb5cb;font-weight:900}.face-state{position:absolute;right:7px;top:6px;font-size:.63rem;color:#a5c2d3}.face-main{appearance:none;flex:1;width:100%;background:transparent;color:#e9f5ff;border:0;padding:21px 8px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.vessel{width:26px;height:48px;background:linear-gradient(95deg,#0002 0%,var(--drink,#499bdb) 31%,#ffffff38 60%,var(--drink,#499bdb) 100%);border-radius:7px 7px 5px 5px;box-shadow:inset 0 2px #ffffff55,0 5px 10px #0005}.face-main strong{font-size:.71rem;line-height:1.15;max-height:3.5em;overflow:hidden;overflow-wrap:anywhere}.face-main small{font-size:.6rem;color:#a4bfd2}.face-footer{display:flex;border-top:1px solid #33526c;height:31px}.face-footer button{border:0;background:transparent;color:#bcd7e8;flex:1;font-size:.65rem;font-weight:850}.face-footer button+button{border-left:1px solid #33526c}.face-footer button.active{color:#55e6af}.face-footer button.need-active{color:#ffd269}.face.empty .face-main{justify-content:center;color:#6388a9}.face.empty .face-main strong{color:#88a8c0}.face.empty .face-footer{border-top-color:#244058}.shelf-row-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.shelf-row-actions button{border:1px solid #2c5c7c;background:#102d46;color:#acd6f1;border-radius:8px;padding:7px 9px;font-size:.72rem;font-weight:800}
.order-form{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:8px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:15px;margin-bottom:17px}.order-list{display:grid;gap:10px}.order-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);border:1px solid var(--line);padding:13px;border-radius:12px}.order-card strong{display:block}.order-card small{color:var(--muted)}.order-card button{background:#184b3b;color:#acffda;border:1px solid #287557;border-radius:9px;padding:8px 12px;font-weight:800}
.scan-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:18px;align-items:start}.scan-panel{margin:0}.scan-panel label:first-child{margin-top:0}.scan-panel input[type=file]{font-size:.78rem;line-height:1.35}.scan-panel .btn{margin-top:15px}.mode-switch{display:flex;background:#071727;border:1px solid #31536e;border-radius:11px;padding:4px;margin:14px 0}.mode-switch button{flex:1;border:0;border-radius:8px;background:transparent;color:#93b3cb;padding:10px 6px;font-size:.82rem;font-weight:800}.mode-switch button.selected{background:#225b87;color:#e4f6ff}.scan-review{background:var(--panel);border:1px solid var(--line);border-radius:15px;min-height:300px;padding:15px}.scan-review h3{margin:0 0 8px}.scan-progress{height:8px;background:#10273b;border-radius:10px;overflow:hidden;margin:12px 0}.scan-progress div{height:100%;background:var(--blue);transition:width .2s}.proposal{display:grid;grid-template-columns:auto minmax(0,1fr) 180px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #274660}.proposal input[type=checkbox]{width:19px;min-height:19px}.proposal strong{display:block}.proposal small{display:block;color:var(--muted)}.proposal select{font-size:.8rem;min-height:39px}.scan-status{display:inline-block;font-size:.7rem;font-weight:800;color:#7dc5ed;background:#164264;padding:4px 7px;border-radius:99px}.scan-status.uncertain{color:#efcd76;background:#40351d}.scan-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.scan-controls .btn{margin:0}.scan-notes{font-size:.82rem;color:#c8b986;background:#332d1c;padding:10px;border-radius:9px;margin-bottom:8px}
.edit-dialog{color:var(--ink);background:#0d2136;border:1px solid #3b6789;border-radius:18px;width:min(480px,calc(100% - 28px));max-height:calc(100svh - 40px);overflow:auto;padding:22px;box-shadow:0 30px 90px #000b}.edit-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:0;font-size:1.35rem}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.edit-dialog label{margin-top:16px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;transition:transform .2s,opacity .2s;pointer-events:none;z-index:50;border-radius:12px;background:#1b5b79;color:#f4fbff;box-shadow:0 8px 35px #0007;border:1px solid #5fc1eb;padding:13px 20px;max-width:calc(100% - 20px);font-weight:750}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.footer{display:flex;justify-content:space-between;max-width:1340px;margin:auto;padding:15px 22px;color:#5f839e;font-size:.7rem}
@media(max-width:900px){.scan-layout{grid-template-columns:1fr}.scan-panel{max-width:none}.metric-row{gap:7px}.metric{padding:12px}.metric strong{font-size:1.5rem}}
@media(max-width:600px){.header-top{padding:9px 12px}.header-actions .connection{font-size:0}.header-actions .connection i{width:10px;height:10px}.top-tabs{padding:0 9px 8px;gap:1px}.top-tabs button{padding:9px 10px;font-size:.76rem}.content{padding:16px 10px 70px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:1.95rem}.page-heading .muted{font-size:.81rem}.progress-circle{width:68px;height:68px;border-width:6px}.progress-circle strong{font-size:1.1rem}.metric-row{grid-template-columns:repeat(4,1fr)}.metric{padding:9px 7px;text-align:center}.metric small{font-size:.59rem}.metric strong{font-size:1.28rem}.search-panel,.section-picker{padding:13px}.quick-item{gap:6px;padding:9px}.quick-copy strong{font-size:.85rem}.quick-copy small{font-size:.69rem}.stock-button{min-width:55px}.need-button{min-width:35px;font-size:.7rem}.quick-actions{gap:3px;flex-direction:column}.quick-actions button{min-height:29px}.shelf{padding:12px 9px}.face{width:105px;min-height:144px}.shelf-grid{grid-template-columns:repeat(10,minmax(105px,1fr));gap:6px}.order-form{grid-template-columns:1fr 64px}.order-form button{grid-column:1 / -1}.proposal{grid-template-columns:23px minmax(0,1fr)}.proposal select{grid-column:2}.scan-controls{flex-direction:column;align-items:stretch}.scan-controls button{width:100%}.footer{padding:12px}}
