/* 网页展示层：保留小程序白卡、浅灰底、四页及底部导航。 */
:root{--green:#07c160;--red:#fa5151;--amber:#f08200;--blue:#3c7ddd;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;background:#eceef2;color:#1f2329}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;-webkit-text-size-adjust:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,a,[role=button]{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}:focus-visible{outline:2px solid #3c7ddd;outline-offset:3px}button{touch-action:manipulation}input,textarea,select{font-size:16px!important}input[type=number]{font-variant-numeric:tabular-nums}img{max-width:100%}
.phone{max-width:480px;min-height:100dvh;background:#f7f7fa;margin:auto;box-shadow:none;padding-bottom:env(safe-area-inset-bottom)}.app-header{height:68px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f7f7fa;position:sticky;top:0;z-index:65;border-bottom:1px solid #ececf0}.header-title{min-width:0}.header-title h1{margin:0;font-size:20px;line-height:1.25;letter-spacing:0;font-weight:700}.app-version{display:block;color:#9aa0a6;font-size:10px;margin-top:3px}.layout-switch{display:flex;padding:3px;border:1px solid #e4e5ea;background:#eceef2;border-radius:9px;flex-shrink:0}.layout-switch button{border:0;background:none;color:#7b818c;font-size:11px;padding:8px 9px;border-radius:6px;min-height:34px;white-space:nowrap}.layout-switch button[aria-pressed=true]{background:#fff;color:#1f2329;box-shadow:0 1px 3px #19263812}.container{padding:12px 14px 24px;min-width:0}.page{padding-bottom:72px}.tabbar{max-width:480px;border-top:1px solid #e6e7eb;padding:5px 8px calc(5px + env(safe-area-inset-bottom));z-index:70}.tb{border:0;background:none;min-height:50px;padding:4px 0;color:#9aa0a6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}.tb img{width:25px;height:25px}.tb .l{font-size:11px}.tb.on{color:#07a858}.tb[aria-current=page] .l{font-weight:600}
.btn-primary,.btn-ghost{min-height:44px;line-height:1.5}.link-btn{min-height:32px;line-height:1.6}.brow{width:100%;border:0;border-bottom:1px solid #f2f3f5;background:#fff;text-align:left;color:inherit;font:inherit}.binfo{flex:1;min-width:0}.bn{text-align:right}.act{min-height:64px}.sum-card .v{font-size:23px}.sum-card .n{min-width:0}.sum-card .k{font-size:11px}.sum-card .nums{margin:4px 0 15px}.act-row{gap:6px}.act .ic{width:20px;height:20px}.act{font-size:11px}.stock-sort{display:flex;gap:6px;align-items:center;margin:0 0 10px}.sort-btn{border:0;background:#fff;color:#5f6672;min-height:34px;padding:6px 13px;border-radius:18px;font-size:12px}.sort-btn.on{background:#07c160;color:#fff}.stock-sort .low-filter{margin-left:auto;white-space:nowrap}.stock-sort .low-filter.on{background:#fff0ef;color:#e6484d}.searchbar{min-height:44px}.searchbar input{height:26px;padding:0}.chips{margin-bottom:10px}.chip{border:0;min-height:34px;line-height:24px;padding:5px 13px}.local-data-note{font-size:11px;color:#9aa0a6;margin:0 0 11px;line-height:1.6}.stock-count{font-size:11px;color:#9aa0a6;margin:10px 0}.empty{padding:40px 16px}.web-empty{line-height:1.8}.web-empty h3{font-size:16px;color:#5f6672;margin:8px 0}.web-empty p{font-size:12px;margin:0 0 15px}.empty-icon{font-size:28px;color:#b7bdc5}.web-primary{border:0;border-radius:11px;background:#07c160;color:white;padding:11px 18px;font-weight:600}.pat-list{display:flex;flex-direction:column;gap:0}.pat-card{display:flex;gap:12px}.pat-thumb{flex-shrink:0}.pat-info{min-width:0;flex:1}.pat-name{overflow-wrap:anywhere}.pat-actions{flex-wrap:wrap;gap:6px}.pb{min-height:36px}.pattern-add-button{min-height:44px}.pat-meta{overflow-wrap:anywhere}.usage-list{overflow:auto}.urow{gap:6px}.ug{font-size:11px}.urow .swatch{width:24px;height:24px}.ubar{min-width:10px}.uc,.uq,.uh{min-width:0}.mask{padding-top:env(safe-area-inset-top);align-items:flex-end;z-index:100}.sheet{width:100%;max-width:480px;max-height:calc(100dvh - 34px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;padding:12px 16px calc(20px + env(safe-area-inset-bottom));position:relative}.sheet .h4{padding-right:30px}.sheet-close{position:absolute;right:10px;top:8px;border:0;background:#f2f3f5;color:#5f6672;border-radius:50%;width:36px;height:36px;font-size:23px;z-index:1}.sheet .grip{margin-top:0}.sheet .sub{font-size:12px;line-height:1.7}.rrow{min-width:0}.rcode,.rqty{min-width:0}.rdel{min-width:40px;min-height:43px}.sheet .rqty{flex:1;width:0}.has-modal{overflow:hidden}.backup-choice{display:flex;gap:8px;align-items:flex-start;margin:12px 0;font-size:12px;line-height:1.7}.backup-choice input{flex-shrink:0;margin-top:4px}.backup-exports{display:flex;flex-direction:column;gap:9px}.backup-exports button{margin:0}.bk-preview{font-size:12px;line-height:1.9}.backup-success{background:#e8f8ef;border-radius:9px;padding:10px;color:#07a858;margin:12px 0}.backup-policy{color:#737b88;font-size:12px;line-height:1.8;margin:10px 0}
.steps{margin-bottom:14px}.step{font-size:12px}.step .dot{width:24px;height:24px;font-size:11px}.upload-zone{min-height:205px;border:1.5px dashed #d7dbe2;border-radius:14px;background:#fff;margin-bottom:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px 16px}.up-icon{font-size:28px;color:#87909e!important;background:#f2f3f5;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;margin-bottom:12px}.upload-zone .t1{font-size:16px;font-weight:600;color:#1f2329}.upload-zone .t2{font-size:12px;color:#9aa0a6;line-height:1.8;margin-top:8px}.demo-row{gap:12px}.demo-btn{border-radius:12px;overflow:hidden;background:#fff;padding:8px;min-width:0}.demo-img{height:110px;width:100%;object-fit:contain;background:#f8f8fa;border-radius:8px}.demo-name{font-size:12px;padding:8px 0 2px;text-align:center}.demo-tip{font-size:11px;margin:9px 0 12px;color:#9aa0a6}.scan-service-note{display:none}.tip2{font-size:12px;line-height:1.8;padding:0 4px 10px}.sel-wrap{position:relative;border-radius:12px;overflow:hidden;background:#fff;touch-action:none}.sel-wrap>img{display:block;width:100%;pointer-events:none}.sel-box{touch-action:none}.sel-handle{height:16px;top:-8px;min-width:48px}.sel-handle2{min-width:22px;min-height:22px}.sel-mask{pointer-events:none}.ocr-log{font-size:12px;line-height:1.8;max-height:240px;overflow:auto}.img-wrap{max-height:250px;overflow:hidden;border-radius:12px}.img-wrap .the-img{display:block;width:100%;height:250px;object-fit:contain;background:#fff;opacity:1}.stat-row{margin-top:12px}.stat-row .sc{background:#fff}.stat-row .sv{font-size:22px;color:#1f2329}.stat-row .sk{font-size:11px;color:#9aa0a6}.rows-card{margin-bottom:10px}.rc-item-full{gap:6px;min-width:0}.rc-item-full .uc-edit{min-width:0;flex:1;width:0;min-height:42px}.rc-item-full .rqty{flex:0 1 88px;width:88px;min-width:0;min-height:42px}.rc-item-full .scan-rdel{min-width:34px;min-height:40px}.rc-item-full .swatch{width:26px!important;height:26px!important}.ridx{flex-shrink:0}.rcode-add,.rqty-add{min-width:0!important;width:0;flex:1;min-height:42px}.add-btn{min-height:42px;white-space:nowrap}.add-row .placeholder{display:none}.name-input{min-height:46px}.scan-more{margin:10px 0;color:#9aa0a6;font-size:11px}.scan-more summary{cursor:pointer;min-height:32px;display:flex;align-items:center}.scan-export{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.scan-export .btn-ghost{font-size:12px}.scan-error{padding:12px;background:#fff0ef;color:#e6484d;line-height:1.7;border-radius:10px;margin:10px 0}.scan-progress{padding:14px;background:#fff;border-radius:12px;line-height:1.8;font-size:13px}.scan-result-note{font-size:11px;color:#9aa0a6;line-height:1.7;margin:8px 0;text-align:center}.rec-tabs{gap:7px}.rt{min-height:40px;font-size:12px}.manage-btn{font-size:12px}.rec{min-width:0;gap:8px}.rt1{overflow-wrap:anywhere}.rside{max-width:90px}.rt2{white-space:normal}.undo-btn{min-height:32px}.stat-grid{gap:8px}.sg{min-width:0}.stat-grid .sv{font-size:19px}.stat-grid .sk{font-size:11px}.dev-benchmark{padding:14px;margin:15px 14px 80px;border:1px solid #d9dde5;border-radius:12px;background:white}.dev-benchmark h2{font-size:16px}.dev-benchmark pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.dev-benchmark button{min-height:40px}#toast{max-width:min(90vw,440px)}
body[data-layout=desktop] .phone{max-width:1280px;min-height:100dvh;padding-left:180px;position:relative}body[data-layout=desktop] .app-header{height:76px;padding:14px 30px;background:#fff}body[data-layout=desktop] .tabbar{left:max(0px,calc((100vw - 1280px)/2));top:0;bottom:0;transform:none;width:180px;max-width:none;border-right:1px solid #e6e7eb;border-top:0;flex-direction:column;justify-content:flex-start;padding:100px 14px 20px;background:#fff}body[data-layout=desktop] .tb{flex:0 0 auto;flex-direction:row;justify-content:flex-start;padding:12px 16px;gap:13px;border-radius:10px;margin-bottom:8px}body[data-layout=desktop] .tb.on{background:#e8f8ef}body[data-layout=desktop] .tb .l{font-size:14px}body[data-layout=desktop] .container{padding:24px 30px 40px}body[data-layout=desktop] .page{padding-bottom:20px}body[data-layout=desktop] .sum-card{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}body[data-layout=desktop] .sum-card .nums{margin:0}body[data-layout=desktop] .bead-list:not(.sheet .bead-list){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}body[data-layout=desktop] .pat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body[data-layout=desktop] .pat-list>.empty{grid-column:1/-1}body[data-layout=desktop] .pat-card{margin:0}body[data-layout=desktop] .sheet{max-width:650px}body[data-layout=desktop] #scan-container{max-width:900px;margin:auto}body[data-layout=desktop] #scan-container[data-step="4"][data-has-image="true"]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:10px 24px;align-items:start}body[data-layout=desktop] #scan-container[data-step="4"]>.steps{grid-column:1/-1}body[data-layout=desktop] #scan-container[data-step="4"][data-has-image="true"]>*:not(.steps):not(.img-wrap){grid-column:2}body[data-layout=desktop] #scan-container[data-step="4"]>.img-wrap{grid-column:1;grid-row:2/span 15;max-height:none;position:sticky;top:95px}body[data-layout=desktop] #scan-container[data-step="4"]>.img-wrap img{height:auto;max-height:650px;object-fit:contain}body[data-layout=desktop] .demo-img{height:180px}body[data-layout=desktop] .sel-wrap{max-width:600px;margin:auto}body[data-layout=desktop] .upload-zone{min-height:260px}
@media(max-width:360px){.container{padding-left:10px;padding-right:10px}.app-header{padding-left:10px;padding-right:10px}.header-title h1{font-size:19px}.layout-switch button{font-size:10px;padding:8px}.act{font-size:10px}.sum-card{padding:12px}.sum-card .v{font-size:21px}.rc-item-full{gap:4px}.rc-item-full .rqty{flex-basis:76px;width:76px}.rrow{gap:6px}.pat-thumb{width:75px}.urow{gap:4px}.urow .swatch{width:18px;height:18px}.ug{font-size:10px}.manage-btn{font-size:11px;padding:8px 0}}
.stat-link{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}.bc,.bs,.bv,.bu{display:block}.sum-card .stat-link{flex:1}.stat-link .v{font-size:23px;font-weight:800}.stat-link .k{font-size:11px;color:#9aa0a6;margin-top:2px}
.sheet{padding-top:46px}.sheet>.grip{position:absolute;top:12px;left:calc(50% - 18px);margin:0}body[data-layout=desktop] .phone{min-width:1024px}
@media(max-width:800px){body[data-layout=desktop] .layout-switch{position:fixed;top:12px;right:12px;z-index:90;box-shadow:0 2px 12px #19263820}body[data-layout=desktop] .app-header{padding-right:170px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
