.rule-dialog[data-v-aac1d18e]{width:1080px}.dialog-heading p[data-v-aac1d18e]{margin-top:7px;font-size:12px}.rule-layout[data-v-aac1d18e]{grid-template-columns:205px 1fr;gap:24px;display:grid}.rule-list[data-v-aac1d18e]{width:auto;color:inherit;background:0 0;flex-direction:column;gap:10px;padding:0;display:flex;position:static}.rule-list button[data-v-aac1d18e]{text-align:left;white-space:normal;overflow-wrap:anywhere}.rule-list small[data-v-aac1d18e]{color:#71849a;margin-top:5px;display:block}.rule-list button.active[data-v-aac1d18e]{background:#edf4fb;border-color:#3972aa}.rule-form[data-v-aac1d18e]{min-width:0}.rule-form fieldset[data-v-aac1d18e]{border:0;min-width:0;margin:0;padding:0}.rule-form .full[data-v-aac1d18e]{grid-column:1/-1}.rule-form textarea[data-v-aac1d18e]{resize:vertical;border:1px solid #cfdae5;border-radius:5px;width:100%;padding:9px;font:13px/1.6 Consolas,Microsoft YaHei,monospace}.sn-positions[data-v-aac1d18e]{flex-wrap:wrap;gap:4px;padding:14px 0;display:flex}.sn-positions span[data-v-aac1d18e]{background:#edf4fa;border-radius:4px;flex-direction:column;align-items:center;min-width:25px;padding:2px 4px;display:flex}.sn-positions small[data-v-aac1d18e]{color:#71849a}.sn-positions b[data-v-aac1d18e]{font-family:Consolas,monospace}.rule-sections[data-v-aac1d18e]{grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;display:grid}.rule-sections section[data-v-aac1d18e]{background:#f7fafd;border-radius:6px;flex-direction:column;gap:12px;padding:14px;display:flex}.rule-origin[data-v-aac1d18e]{border-top:1px solid #e0e8ef;margin-top:20px;padding-top:16px}.rule-origin p[data-v-aac1d18e]{margin:6px 0 12px;font-size:12px}.check-label[data-v-aac1d18e]{flex-direction:row;align-items:center}.check-label input[data-v-aac1d18e]{height:auto}.rule-preview[data-v-aac1d18e]{background:#edf4fa;border-radius:6px;margin-top:20px;padding:14px;font-size:13px}.rule-preview p[data-v-aac1d18e]{margin-top:5px}.rule-preview small[data-v-aac1d18e]{color:#71849a}.dialog-footer[data-v-aac1d18e]{margin-top:14px;padding-top:14px}@media (width<=760px){.rule-layout[data-v-aac1d18e]{grid-template-columns:1fr}.rule-list[data-v-aac1d18e]{max-height:140px;overflow:auto}.rule-sections[data-v-aac1d18e]{grid-template-columns:1fr}.rule-dialog[data-v-aac1d18e]{padding:18px}}.camera-overlay[data-v-15d88313]{z-index:1200;padding:16px}.camera-dialog[data-v-15d88313]{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto}.camera-instruction[data-v-15d88313]{color:#415a70;margin:0 0 16px;font-size:14px;line-height:1.6}.camera-preview[data-v-15d88313]{aspect-ratio:4/3;background:#0d1d2c;border-radius:12px;position:relative;overflow:hidden}.camera-preview video[data-v-15d88313]{object-fit:contain;width:100%;height:100%;display:block}.scan-frame[data-v-15d88313]{pointer-events:none;border:2px solid #8fd5ff;border-radius:10px;position:absolute;inset:24% 8%}.camera-status[data-v-15d88313]{color:#386891;text-align:center;margin:12px 0;font-size:14px;line-height:1.6}.camera-privacy[data-v-15d88313]{color:#728497;margin:12px 0;font-size:12px;line-height:1.6}.camera-dialog .dialog-footer[data-v-15d88313]{flex-wrap:wrap}.camera-dialog button[data-v-15d88313]{min-height:40px}@media (width<=600px){.camera-dialog[data-v-15d88313]{padding:18px}.camera-preview[data-v-15d88313]{aspect-ratio:1}.camera-instruction[data-v-15d88313]{font-size:13px}}.camera-button[data-v-36d170aa]{align-items:center;gap:8px;min-height:40px;display:inline-flex}.camera-button svg[data-v-36d170aa]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}@media (pointer:coarse){.scanner-focus[data-v-36d170aa]{display:none}}.scan-help[data-v-36d170aa]{color:#668097;margin:0;padding:0 18px 16px;font-size:12px;line-height:1.7}.after-panel[data-v-36d170aa]{padding:22px}.after-panel h3[data-v-36d170aa]{margin-bottom:8px}.after-panel .filter-grid[data-v-36d170aa]{padding:20px 0 0}.wide-field[data-v-36d170aa]{grid-column:span 2}.muted[data-v-36d170aa]{margin:10px 0;font-size:12px;line-height:1.7}.timeline p[data-v-36d170aa]{white-space:pre-wrap;margin-top:7px}.actions[data-v-36d170aa]{flex-wrap:wrap;margin:18px 0}.detail-grid[data-v-36d170aa]{grid-template-columns:75px 1fr 75px 1fr}@media (width<=600px){.wide-field[data-v-36d170aa]{grid-column:auto}.detail-grid[data-v-36d170aa]{grid-template-columns:75px 1fr}.form-grid[data-v-36d170aa]{grid-template-columns:1fr}}.brand-identity[data-v-ec3bcabc]{color:#fff;align-items:center;gap:12px;min-width:0;display:flex}.brand-identity__logo[data-v-ec3bcabc]{object-fit:contain;flex-shrink:0;width:42px;height:42px;display:block}.brand-identity__name[data-v-ec3bcabc]{white-space:nowrap;flex-direction:column;gap:3px;display:flex}.brand-identity__name strong[data-v-ec3bcabc]{letter-spacing:1px;font-size:18px;font-weight:650;line-height:1.25}.brand-identity__name span[data-v-ec3bcabc]{letter-spacing:1px;color:#b6d2e7;font-size:10px;font-weight:400;line-height:1.5}@media (width<=1250px){.brand-identity[data-v-ec3bcabc]{gap:9px}.brand-identity__logo[data-v-ec3bcabc]{width:38px;height:38px}.brand-identity__name strong[data-v-ec3bcabc]{font-size:17px}}:root{--ink:#243b53;--navy:#243e58;--blue:#326da5;--canvas:#f3f6fa;--line:#dfe7ef;--muted:#8293a3}*{box-sizing:border-box}body{color:var(--ink);background:var(--canvas);margin:0;font:14px/1.55 Microsoft YaHei UI,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:8px 15px;transition:background .15s}button:hover{background:#edf4fb}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #96bde5}input,select{min-width:0;max-width:100%;height:39px;color:var(--ink);background:#fff;border:1px solid #cfdae5;border-radius:5px;padding:7px 11px}label{color:#52677c;flex-direction:column;gap:7px;font-size:13px;display:flex}h1,h2,h3,p{margin:0}h1{letter-spacing:-.5px;font-size:27px;font-weight:700}h2{font-size:20px}h3{font-size:16px}small{font-size:11px}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#235c95}.wide{width:100%}.link{color:var(--blue);white-space:nowrap;background:0 0;border:0;padding:4px 5px}.link:hover{background:#e7f1fc}.danger{color:#c2473b}.muted{color:var(--muted)}.mono{letter-spacing:.15px;font-family:Cascadia Mono,Consolas,Microsoft YaHei,monospace;font-size:12px}.section-kicker,.eyebrow{letter-spacing:1.7px;color:#71849a;margin-bottom:4px;font-size:11px}.workspace{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#fff;flex-direction:column;width:205px;padding:24px 13px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 9px 27px;font-size:18px;font-weight:700;display:flex}.brand>span{color:#b9d5f0;font-size:34px}.brand small{letter-spacing:1px;color:#a5bed5;margin-top:3px;font-size:8px;font-weight:400;display:block}.nav-caption{color:#95abc0;letter-spacing:2px;padding:0 14px 9px;font-size:10px}nav{flex-direction:column;gap:3px;display:flex}nav button{text-align:left;color:#c9d8e6;background:0 0;border:0;border-radius:5px;align-items:center;gap:12px;padding:10px 13px;display:flex}nav button:hover{background:#314e6a}nav button.selected{color:#fff;background:#37699b;box-shadow:inset 3px 0 #a3cff8}nav button i{color:#fff;background:#cf8734;border-radius:3px;margin-left:auto;padding:0 5px;font-size:10px;font-style:normal}.nav-icon{text-align:center;width:22px;font-size:19px;font-weight:400;line-height:20px}.sidebar-bottom{color:#a8bdd0;flex-direction:column;gap:8px;margin-top:auto;padding:20px 9px 0;display:flex}.sidebar-bottom b{color:#d6e3ef;font-size:12px}.sidebar-bottom span{font-size:9px}.sidebar-bottom small{color:#829eb7;font-size:9px}main{width:calc(100% - 205px);min-width:0;margin-left:205px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:66px;padding:0 28px;font-size:12px;display:flex}.crumb{color:#8796a5}.slash{color:#c4d0da;margin:0 14px}.account{align-items:center;gap:10px;display:flex}.connection{color:#557165;align-items:center;gap:7px;margin-right:15px;font-size:11px;display:flex}.connection i{background:#38965b;border-radius:50%;width:7px;height:7px}.connection.offline{color:#b15740}.connection.offline i{background:#be5749}.avatar{color:#4f708f;background:#e6eef6;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.role{color:#8594a3;font-size:11px}.page{max-width:1880px;margin:auto;padding:28px 28px 35px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading .muted{margin-top:5px;font-size:12px}.actions{align-items:center;gap:8px;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:18px;overflow:hidden}.stock-overview{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex}.stock-overview>div:not(.overview-note){border-right:1px solid var(--line);min-width:150px;margin-right:35px;padding-right:38px}.stock-overview span{color:#728397;font-size:12px}.stock-overview strong{color:var(--blue);margin-top:3px;font-family:Bahnschrift,Microsoft YaHei,sans-serif;font-size:31px;font-weight:600;line-height:1.35;display:block}.stock-overview strong small{color:#8896a5;margin-left:9px;font-family:Microsoft YaHei,sans-serif;font-weight:400}.stock-overview .amber{color:#b18137}.stock-overview .red{color:#bb6651}.overview-note{color:#668097;align-items:center;gap:18px;margin-left:auto;font-size:12px;display:flex}.overview-note small{color:#91a1af}.scan-symbol{color:var(--blue);font-size:29px;font-weight:700}.searchbar{border-bottom:1px solid var(--line);background:#fbfdff;align-items:center;gap:13px;padding:15px 18px;display:flex}.searchbar input{background:0 0;border:0;outline:none;flex:1;height:38px;font-size:14px}.searchbar input:focus{box-shadow:none}.searchbar:focus-within{box-shadow:inset 0 0 0 2px #7dadd9}.searchbar input::placeholder{color:#8b9eb1}kbd{color:#8ba0b2;white-space:nowrap;border:1px solid #d6e1ed;border-radius:4px;padding:3px 6px;font:10px Consolas,monospace}.primary kbd{color:#c9e2fb;border-color:#6894bd;margin-left:15px}.filterbar{align-items:center;gap:10px;padding:13px 18px;display:flex}.filterbar select{height:32px;font-size:12px}.small-input{width:95px;height:32px;font-size:12px}.tabs{flex:1;gap:3px;display:flex}.tabs button{background:0 0;border:0;padding:7px 12px;font-size:12px}.tabs button.active{color:#fff;background:var(--blue)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{color:#526c84;text-align:left;white-space:nowrap;background:#eef3f8;border-top:1px solid #e2eaf2;border-bottom:1px solid #e2eaf2;padding:12px 14px;font-weight:500}td{vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #eaf0f5;max-width:260px;padding:13px 14px}td small{color:#8d9dab;margin-top:4px;display:block}td b{font-weight:500}tr:hover td{background:#f7faff}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sn-link{color:#25649e;background:0 0;border:0;padding:2px 0;font-weight:600}.badge{color:#5c7185;white-space:nowrap;background:#eef2f6;border-radius:4px;padding:4px 8px;font-size:11px;display:inline-block}.AVAILABLE,.COMPLETED{color:#2a8056;background:#e3f3ec}.PENDING,.REPAIR,.OPEN{color:#a36c21;background:#fff0d8}.SOLD{color:#5777aa;background:#e8eefb}.LOST,.SCRAPPED{color:#b96353;background:#f9e7e3}.empty{text-align:center;color:#8a9bab;padding:64px 24px}.empty>span{color:#b5c8da;font-size:42px}.empty h3{color:#5d768c;margin:10px 0;font-weight:500}.empty p{margin-bottom:20px;font-size:12px}.pagination{color:#8695a5;justify-content:space-between;align-items:center;padding:15px 18px;font-size:11px;display:flex}.pagination>div{align-items:center;gap:15px;display:flex}.pagination button{padding:5px 10px;font-size:11px}.warning-strip{color:#a17430;background:#fff7e9;border:1px solid #f0e0c4;border-radius:5px;flex-wrap:wrap;gap:18px;padding:12px 15px;font-size:11px;display:flex}.entry-config{align-items:flex-end;gap:14px;padding:20px;display:flex}.entry-config label{flex:1;min-width:110px}.entry-config .grow{flex:3}.panel-note{color:#7c8f9f;border-bottom:1px solid var(--line);padding:15px 18px;font-size:12px}.right{float:right}.scan-entry{background:#f8fbff;border-bottom:2px solid #c2dbf1;padding:21px}.scan-entry input{font-size:17px}.scan-empty{padding:70px 0}.barcode{background:repeating-linear-gradient(90deg,#aac0d3 0 2px,#0000 2px 5px,#aac0d3 5px 6px,#0000 6px 9px,#aac0d3 9px 12px,#0000 12px 15px);width:135px;height:42px;margin:0 auto 18px}.checkout{border-top:1px solid var(--line);background:#f9fbfd;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.checkout>div{align-items:center;gap:25px;display:flex}.checkout strong{color:var(--blue);font-size:24px;font-weight:600}.checkout b{color:var(--blue);margin:0 5px;font-size:20px}.checkout .primary{padding:12px 25px}.price-input{text-align:right;width:110px;height:32px}.return-form{padding:22px}.return-form>.muted{margin-top:7px;font-size:12px}.return-form .entry-config{padding:18px 0 0}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;display:flex}.panel-title span{color:#8a99a8;font-size:12px}.count-summary{color:#728697;gap:35px;padding:18px 22px;font-size:12px;display:flex}.count-summary b{color:#345e84;margin-left:10px;font-size:22px}.report-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.report-card{margin:0;padding:28px;position:relative}.report-card p{color:#7b8d9e;margin:10px 0 23px;font-size:12px}.report-grid+.panel{margin-top:18px}.report-icon{float:right;color:#7da3c8;font-size:36px;line-height:1}.settings-section{padding:22px}.settings-section h3{margin-bottom:10px}.settings-section p{margin:10px 0 15px;font-size:12px}.settings-section .panel-title{padding:0 0 15px}.settings-section .panel-title h3{margin:0}.overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c233857;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;width:620px;max-height:92vh;padding:25px;overflow:auto;box-shadow:0 20px 80px #152b4440}.dialog.large{width:860px}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px;display:flex}.dialog-heading h2{font-weight:600}.dialog-heading .mono{font-size:19px}.icon-btn{color:#9aadbd;border:0;padding:0 4px;font-size:25px;line-height:22px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:24px;display:flex}.detail-top{background:#edf4fa;border-radius:5px;justify-content:space-between;align-items:center;padding:20px;display:flex}.detail-top p{color:#70869a;margin-top:6px;font-size:12px}.detail-grid{grid-template-columns:70px 1fr 70px 1fr;gap:15px 12px;margin:25px 0;font-size:12px;display:grid}.detail-grid dt{color:#8597a7}.detail-grid dd{overflow-wrap:anywhere;margin:0}.timeline{padding:15px 0}.timeline>div{border-bottom:1px solid #edf1f5;align-items:flex-start;gap:15px;padding:15px 0;display:flex}.timeline i{background:#668fc0;border-radius:50%;width:8px;height:8px;margin-top:7px}.timeline span{color:#7c8e9c;margin-left:14px;font-size:11px}.timeline small{color:#8b9aa8;margin-top:4px;display:block}.timeline strong{margin-left:auto;font-size:13px;font-weight:500}.error-box{color:#a94332;background:#fff0ed;max-height:180px;margin:15px 0;padding:12px;font-size:12px;overflow:auto}pre{white-space:pre-wrap;max-width:400px;max-height:300px;font:11px/1.5 Consolas,Microsoft YaHei,monospace;overflow:auto}summary{cursor:pointer;color:var(--blue)}.toast{z-index:100;color:#fff;background:#24485f;border:1px solid #6a93ad;border-radius:8px;align-items:center;gap:12px;max-width:80vw;padding:13px 16px;font-size:13px;display:flex;position:fixed;bottom:27px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #1b344c33}.toast.error{background:#8d4d3a;border-color:#b47a66}.toast>span{font-size:19px}.toast button{color:#d3e1e9;background:0 0;border:0;padding:0 4px;font-size:20px}.retry-banner{color:#946526;background:#fff0db;align-items:center;gap:15px;padding:12px 28px;font-size:12px;display:flex}.retry-banner button{background:#fff;font-size:12px}.retry-banner>span{color:#9f895f}.login-shell{background:#fff;grid-template-columns:1.05fr 1fr;height:100vh;min-height:700px;display:grid}.login-story{background:var(--navy);color:#fff;flex-direction:column;justify-content:center;padding:70px 70px 50px;display:flex}.brandmark{color:#b7d7f4;margin-bottom:22px;font-size:48px;line-height:1}.login-story .eyebrow{color:#8aaccb}.login-story h1{letter-spacing:1px;margin:18px 0;font-size:39px;line-height:1.4}.login-story>p:not(.eyebrow){color:#a0bbd2;font-size:13px}.sample-label{color:#2f4d67;background:#f1f6fa;border-radius:4px;width:330px;margin:45px 0 30px;padding:18px 24px;box-shadow:6px 6px #ffffff0d}.sample-label>span{letter-spacing:1px;font-size:10px}.sample-label .barcode{width:100%;height:42px;margin:12px 0}.sample-label b{font-size:11px;font-weight:400}.login-story>small{color:#87a2ba;font-size:10px}.login-card{width:365px;max-width:90%;margin:auto}.login-card h2{margin-top:8px;font-size:26px}.login-card>.muted{margin:12px 0 30px;font-size:12px}.login-card form{flex-direction:column;gap:19px;display:flex}.login-card input{height:44px}.login-card .primary{height:45px;margin-top:8px}.login-tip{color:#92a1ae;margin-top:24px;font-size:11px;line-height:1.8}@media (width<=1250px){.sidebar{width:180px}.brand{padding-left:3px;font-size:16px}.brand small{font-size:7px}main{width:calc(100% - 180px);margin-left:180px}.page{padding:22px}.stock-overview>div:not(.overview-note){min-width:125px;margin-right:20px;padding-right:22px}.overview-note{display:none}.actions button{padding:7px 10px;font-size:12px}.login-story{padding:50px}.login-story h1{font-size:33px}td,th{padding:11px 10px}.tabs button{padding:7px 9px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.brand.brand-identity{padding:0 4px 28px}.brandmark img{object-fit:contain;width:138px;height:84px;display:block}.login-story .brand-eyebrow{letter-spacing:2px;color:#c6e4f6;font-size:18px}.login-card h2{font-size:24px}.stock-filters{border-bottom:1px solid #e4ebf2;padding:14px 20px}.stock-filters summary{cursor:pointer;color:#40617d}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:14px;padding:20px;display:grid}.filter-grid label{min-width:0}.filter-grid input,.filter-grid select{width:100%}.filter-grid .actions{flex-wrap:wrap;grid-column:1/-1}.entry-config{flex-wrap:wrap}.nowrap{white-space:nowrap}.order-line+.order-line{margin-top:8px}.table-wrap{overflow-x:auto}.stock-table{min-width:1300px}.stock-table th,.stock-table td{white-space:nowrap}.stock-table td:nth-child(2){min-width:170px}.stock-table td:first-child{min-width:145px}.stock-table .mono{white-space:nowrap;word-break:normal}.production-entry{align-items:center;gap:6px;display:flex}.production-entry select{flex-shrink:0;width:72px}.production-entry input{width:130px;min-width:100px}
