:root{--background-color:#f8f9fa;--card-background:#fff;--text-primary:#2d3748;--text-secondary:#718096;--text-light:#a0aec0;--border-color:#f0f0f0;--primary-color:#23b1c0;--primary-hover:#1a95a3;--success-color:#48bb78;--warning-color:#ed8936;--error-color:#e53e3e;--shadow-light:rgba(0,0,0,0.05);--shadow-medium:rgba(0,0,0,0.1);--header-background:#23b1c0;--header-text:#fff}[data-theme=dark]{--background-color:#1a202c;--card-background:#2d3748;--text-primary:#f7fafc;--text-secondary:#cbd5e0;--text-light:#718096;--border-color:#4a5568;--primary-color:#38b2ac;--primary-hover:#319795;--success-color:#68d391;--warning-color:#ed8936;--error-color:#f56565;--shadow-light:rgba(0,0,0,0.2);--shadow-medium:rgba(0,0,0,0.3);--header-background:#1a202c;--header-text:#f7fafc}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:var(--text-primary);margin-top:0;background-color:var(--background-color)}*{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;touch-action:manipulation}html{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;user-select:none}body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--text-primary)}.content,.page,body{background-color:var(--background-color)}.content,.page{padding-bottom:env(safe-area-inset-bottom)}.global-home-btn{position:fixed;left:0;top:0;width:52px;height:52px;border-radius:26px;border:none;background:hsla(0,0%,100%,.95);box-shadow:0 10px 22px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;z-index:9999;touch-action:none}[data-theme=dark] .global-home-btn{background:rgba(45,55,72,.95);box-shadow:0 10px 22px rgba(0,0,0,.3)}.global-home-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}:not(input):not(textarea):not(select){touch-action:manipulation}.login-page[data-v-133e721d]{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-sizing:border-box;background:radial-gradient(120% 80% at 50% -10%,rgba(35,177,192,.28),transparent 55%),linear-gradient(180deg,#e8f7f9,#f0f2f5 45%,#f5f7fa)}.login-card[data-v-133e721d]{width:100%;max-width:400px;background:#fff;border-radius:14px;box-shadow:0 8px 28px rgba(15,55,70,.1);overflow:hidden}.brand[data-v-133e721d]{text-align:center;padding:28px 20px 20px;background:linear-gradient(145deg,#23b1c0,#1a9eac);color:#fff}.logo[data-v-133e721d]{width:68px;height:68px;border-radius:50%;background:#fff;padding:8px;box-sizing:border-box;margin-bottom:12px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.title[data-v-133e721d]{margin:0;font-size:20px;font-weight:700;letter-spacing:.5px}.subtitle[data-v-133e721d]{margin:6px 0 0;font-size:13px;opacity:.9}.login-form[data-v-133e721d]{padding:20px 18px 22px}.login-form[data-v-133e721d] .el-form-item{margin-bottom:14px}.login-form[data-v-133e721d] .el-input__wrapper{border-radius:10px;min-height:44px}.field-icon[data-v-133e721d]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;font-weight:600;color:#23b1c0;background:rgba(35,177,192,.12);border-radius:4px}.pwd-toggle[data-v-133e721d]{font-size:13px;padding:0 4px}.form-extra[data-v-133e721d]{display:flex;align-items:center;margin:2px 0 12px}.form-extra[data-v-133e721d] .el-checkbox__label{font-size:14px;color:#606266}.wechat-tip[data-v-133e721d]{margin-bottom:14px}.wechat-tip[data-v-133e721d] .el-alert__title{font-size:12px;line-height:1.45;color:#8a6d3b}.login-btn[data-v-133e721d]{width:100%;height:44px;border-radius:10px;font-size:16px;font-weight:600;background:#23b1c0;border-color:#23b1c0}.login-btn[data-v-133e721d]:focus,.login-btn[data-v-133e721d]:hover{background:#1a9eac;border-color:#1a9eac}@media (max-width:360px){.brand[data-v-133e721d]{padding:22px 16px 16px}.logo[data-v-133e721d]{width:60px;height:60px}.title[data-v-133e721d]{font-size:18px}.login-form[data-v-133e721d]{padding:16px 14px 18px}}.home-container[data-v-6b4229a6]{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-color);padding-bottom:calc(56px + env(safe-area-inset-bottom));box-sizing:border-box}.header[data-v-6b4229a6]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background-color:var(--header-background,#23b1c0);color:var(--header-text,#fff);position:fixed;top:0;left:0;right:0;z-index:100;height:calc(56px + env(safe-area-inset-top));box-sizing:border-box}.logo[data-v-6b4229a6]{display:flex;align-items:center;min-width:0}.logo-img[data-v-6b4229a6]{width:36px;height:36px;margin-right:10px;border-radius:8px;-o-object-fit:contain;object-fit:contain;background-color:#fff;flex-shrink:0}.app-name[data-v-6b4229a6]{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info[data-v-6b4229a6]{display:flex;align-items:center;flex-shrink:0;margin-left:8px}.username-tag[data-v-6b4229a6]{max-width:110px;overflow:hidden;text-overflow:ellipsis;border:none;background:hsla(0,0%,100%,.18)!important;color:#fff!important}.content[data-v-6b4229a6]{flex:1;padding:10px 12px;margin-top:calc(56px + env(safe-area-inset-top));padding-bottom:24px;box-sizing:border-box}.content h1[data-v-6b4229a6]{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600;text-align:center}.common-functions[data-v-6b4229a6]{width:100%;margin-bottom:12px;border-radius:10px;border:1px solid var(--border-color);background:var(--card-background)}.common-functions[data-v-6b4229a6] .el-card__body{padding:12px}.common-header[data-v-6b4229a6]{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:8px}.common-header h2[data-v-6b4229a6]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.edit-btn[data-v-6b4229a6]{position:absolute;right:0}.common-list[data-v-6b4229a6]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.common-item[data-v-6b4229a6]{display:flex;align-items:center;gap:10px;padding:12px;background-color:var(--background-color);border-radius:6px;cursor:pointer;position:relative;border:1px solid var(--border-color);box-sizing:border-box}.common-item.dragging[data-v-6b4229a6]{opacity:.5;transform:scale(1.05)}.common-icon[data-v-6b4229a6]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:rgba(35,177,192,.1);border-radius:50%;flex-shrink:0}.common-icon-img[data-v-6b4229a6]{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.common-name[data-v-6b4229a6]{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn[data-v-6b4229a6]{position:absolute;top:-8px;right:-8px}.add-tip[data-v-6b4229a6]{margin-top:8px}.category-tabs[data-v-6b4229a6]{display:flex;gap:6px;margin-bottom:10px;width:100%}.category-tabs .tab-item[data-v-6b4229a6]{flex:1;padding:8px 0;background-color:var(--card-background);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:center;transition:all .3s;border:1px solid var(--border-color)}.category-tabs .tab-item.active[data-v-6b4229a6]{background-color:var(--primary-color,#23b1c0);border-color:var(--primary-color,#23b1c0);color:#fff}.card-scroll-container[data-v-6b4229a6]{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;margin-bottom:16px}.card-scroll-container[data-v-6b4229a6]::-webkit-scrollbar{display:none}.card-wrapper[data-v-6b4229a6]{display:flex}.card-panel[data-v-6b4229a6]{flex:0 0 auto;width:100%;scroll-snap-align:start}.card-container[data-v-6b4229a6]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.card[data-v-6b4229a6]{background-color:var(--card-background);border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;position:relative;border:1px solid var(--border-color);transition:all .3s}.card.added[data-v-6b4229a6]{border-color:var(--primary-color)}.card[data-v-6b4229a6]:active{transform:scale(.96)}.card-icon[data-v-6b4229a6]{width:48px;height:48px;margin:0 auto 8px;border-radius:50%;background-color:var(--border-color);display:flex;align-items:center;justify-content:center}.card-icon-img[data-v-6b4229a6]{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.card-title[data-v-6b4229a6]{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.card-desc[data-v-6b4229a6]{font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-tag[data-v-6b4229a6]{position:absolute;top:4px;right:4px}.indicator-dots[data-v-6b4229a6]{display:flex;gap:6px;justify-content:center}.dot[data-v-6b4229a6]{width:8px;height:8px;border-radius:50%;background-color:var(--border-color);cursor:pointer;transition:all .3s}.dot.active[data-v-6b4229a6]{width:20px;border-radius:4px;background-color:var(--primary-color,#23b1c0)}.tab-bar[data-v-6b4229a6]{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--card-background);box-shadow:0 -2px 8px var(--shadow-light);z-index:100;border-top:1px solid var(--border-color);box-sizing:border-box}.tab-bar .tab-item[data-v-6b4229a6]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;cursor:pointer}.tab-bar .tab-icon[data-v-6b4229a6]{width:24px;height:24px;margin-bottom:2px;opacity:.5;transition:all .3s}.tab-bar .tab-text[data-v-6b4229a6]{font-size:11px;color:var(--text-secondary);font-weight:500}.tab-bar .tab-item.active .tab-icon[data-v-6b4229a6]{opacity:1;filter:brightness(0) saturate(100%) invert(46%) sepia(79%) saturate(333%) hue-rotate(142deg) brightness(91%) contrast(89%)}.tab-bar .tab-item.active .tab-text[data-v-6b4229a6]{color:var(--primary-color);font-weight:600}.footer[data-v-6b4229a6]{padding:12px;background-color:var(--card-background);text-align:center;color:var(--text-secondary);font-size:12px;border-top:1px solid var(--border-color)}@media (max-width:480px){.logo-img[data-v-6b4229a6]{width:32px;height:32px}.app-name[data-v-6b4229a6]{font-size:15px}.content[data-v-6b4229a6]{padding:8px 10px 24px}.card-container[data-v-6b4229a6]{grid-template-columns:repeat(3,1fr);gap:8px}.card[data-v-6b4229a6]{padding:10px 6px}.card-icon[data-v-6b4229a6]{width:44px;height:44px}.card-icon-img[data-v-6b4229a6]{width:24px;height:24px}.card-title[data-v-6b4229a6]{font-size:12px}}.scan-stock-query-container[data-v-61539e93]{min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-primary);font-size:14px}.header[data-v-61539e93]{display:flex;align-items:center;padding:3px;background-color:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px var(--shadow-light);position:sticky;top:0;z-index:100}.back-btn[data-v-61539e93]{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:4px}.icon-back[data-v-61539e93]{width:24px;height:24px}.back-btn[data-v-61539e93]:hover{background:hsla(0,0%,100%,.1)}.title[data-v-61539e93]{flex:1;font-size:18px;text-align:center;margin:0;font-weight:600}.content[data-v-61539e93]{flex:1;padding:12px;overflow-y:auto;box-sizing:border-box;padding-bottom:20px}.status-banner[data-v-61539e93]{padding:12px;margin-bottom:16px;border-radius:8px;font-size:14px;text-align:center;font-weight:500;transition:opacity .3s}.status-banner.success[data-v-61539e93]{background-color:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-banner.error[data-v-61539e93]{background-color:rgba(239,68,68,.12);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-banner.warn[data-v-61539e93]{background-color:rgba(245,158,11,.12);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-banner.info[data-v-61539e93]{background-color:rgba(35,177,192,.12);color:var(--primary-color);border:1px solid var(--border-color)}.form-section[data-v-61539e93]{background:var(--card-background);border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 2px 8px var(--shadow-light)}.section-title[data-v-61539e93]{font-size:16px;color:var(--text-primary);margin-bottom:16px;font-weight:600;display:flex;align-items:center}.section-title[data-v-61539e93]:before{content:"";width:4px;height:18px;background-color:var(--primary-color);margin-right:8px;border-radius:2px}.query-condition-bar[data-v-61539e93]{padding:12px;background-color:var(--card-background);border-radius:8px;margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--border-color)}.condition-item[data-v-61539e93]{display:flex;align-items:center;font-size:14px}.condition-label[data-v-61539e93]{color:var(--text-secondary);font-weight:500;margin-right:6px}.condition-value[data-v-61539e93]{color:var(--primary-color);font-weight:600}.reset-btn[data-v-61539e93]{margin-left:auto;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;height:32px;white-space:nowrap}.reset-btn[data-v-61539e93],.reset-btn[data-v-61539e93]:hover{background-color:var(--border-color)}.form-group[data-v-61539e93]{margin-bottom:16px}.form-group label[data-v-61539e93]{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px;font-weight:500}#sourceDataInput[data-v-61539e93],.form-group input[data-v-61539e93]{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s;min-height:48px;background-color:var(--card-background);color:var(--text-primary)}#sourceDataInput[data-v-61539e93]:focus,.form-group input[data-v-61539e93]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(35,177,192,.2)}.supplier-name-hint[data-v-61539e93]{margin:6px 0 0 0;color:#10b981;font-size:13px;font-style:italic}.btn[data-v-61539e93]{min-height:44px;border-radius:8px;font-size:16px;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;padding:0 20px;font-weight:600;transition:background-color .2s}.source-actions[data-v-61539e93]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.source-actions .parse-btn[data-v-61539e93]{grid-column:1/2}.source-actions .manual-input-btn[data-v-61539e93]{grid-column:2/3}.source-actions .clear-btn[data-v-61539e93]{grid-column:1/3}.parse-btn[data-v-61539e93]{background-color:var(--primary-color);color:var(--primary-text)}.parse-btn[data-v-61539e93]:disabled{background-color:var(--border-color);cursor:not-allowed}.parse-btn[data-v-61539e93]:not(:disabled):hover{background-color:var(--primary-color)}.manual-input-btn[data-v-61539e93]{background-color:#f59e0b;color:#fff}.manual-input-btn[data-v-61539e93]:hover{background-color:#d97706}.clear-btn[data-v-61539e93]{color:var(--text-secondary);border:1px solid var(--border-color)}.clear-btn[data-v-61539e93],.clear-btn[data-v-61539e93]:hover{background-color:var(--border-color)}.stock-summary-bar[data-v-61539e93]{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background-color:var(--card-background);border-radius:8px;margin-bottom:16px;border:1px solid var(--border-color)}.summary-item[data-v-61539e93]{font-size:13px;font-weight:500;display:flex;align-items:center}.summary-label[data-v-61539e93]{color:var(--text-secondary);margin-right:6px}.summary-value[data-v-61539e93]{color:var(--text-primary)}.stock-table-container[data-v-61539e93]{overflow-x:auto;width:100%}.stock-table[data-v-61539e93]{width:100%;border-collapse:collapse;font-size:12px}.stock-table td[data-v-61539e93],.stock-table th[data-v-61539e93]{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.stock-table th[data-v-61539e93]{font-weight:500}.stock-table th[data-v-61539e93],.table-header[data-v-61539e93]{background-color:var(--card-background);color:var(--text-secondary)}.table-header[data-v-61539e93]{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border-color);position:sticky;top:0;white-space:nowrap}.table-row[data-v-61539e93]{transition:background-color .2s}.table-row[data-v-61539e93]:hover{background-color:var(--card-background)}.table-cell[data-v-61539e93]{padding:8px 12px;white-space:nowrap;color:var(--text-primary)}.empty-detail[data-v-61539e93]{text-align:center!important;padding:24px;color:var(--text-secondary);background-color:var(--card-background)}.pagination-container[data-v-61539e93]{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background-color:var(--card-background);border-radius:8px;border:1px solid var(--border-color)}.page-btn[data-v-61539e93]{background-color:var(--card-background);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:6px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-61539e93]:disabled{color:var(--text-secondary);border-color:var(--border-color);cursor:not-allowed;background-color:var(--border-color)}.page-btn[data-v-61539e93]:not(:disabled):hover{background-color:var(--primary-color);color:var(--primary-text)}.page-info[data-v-61539e93]{color:var(--text-secondary);font-size:14px}.empty-state[data-v-61539e93]{padding:48px 0;text-align:center;color:var(--text-secondary)}.empty-icon[data-v-61539e93]{font-size:48px;margin-bottom:16px;opacity:.4}.empty-text[data-v-61539e93]{font-size:14px;line-height:1.5}.loading-state[data-v-61539e93]{padding:48px 0;text-align:center}.loading-spinner[data-v-61539e93]{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin-61539e93 1s linear infinite;margin:0 auto 16px}.loading-text[data-v-61539e93]{color:var(--text-secondary);font-size:14px}.modal-overlay[data-v-61539e93]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;backdrop-filter:blur(2px)}.modal-container[data-v-61539e93]{width:100%;max-width:500px;background-color:var(--card-background);border-radius:8px;box-shadow:0 4px 24px var(--shadow-light);overflow:hidden;animation:modalFadeIn-61539e93 .3s}@keyframes modalFadeIn-61539e93{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-61539e93]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f0f2f5}.modal-title[data-v-61539e93]{font-size:16px;font-weight:600;margin:0;color:#333}.modal-close[data-v-61539e93]{background:transparent;border:none;font-size:20px;cursor:pointer;color:#999;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.modal-close[data-v-61539e93]:hover{background-color:#f5f7fa;color:#333}.modal-body[data-v-61539e93]{padding:16px;max-height:70vh;overflow-y:auto;box-sizing:border-box}.modal-footer[data-v-61539e93]{display:flex;gap:12px;padding:12px 16px;border-top:1px solid #f0f2f5}.modal-footer .btn[data-v-61539e93]{flex:1}.modal-cancel[data-v-61539e93]{background-color:#f5f7fa;color:#666;border:1px solid #dcdfe6}.modal-cancel[data-v-61539e93]:hover{background-color:#eef0f3}.modal-confirm[data-v-61539e93]{background-color:#1890ff;color:#fff}.modal-confirm[data-v-61539e93]:disabled{background-color:#a0cfff;cursor:not-allowed}.modal-confirm[data-v-61539e93]:not(:disabled):hover{background-color:#096dd9}.error-message[data-v-61539e93]{color:#f5222d;font-size:14px;margin:0 0 8px 0;text-align:center}.error-tip[data-v-61539e93]{color:#999;font-size:13px;margin:0;text-align:center}.required[data-v-61539e93]{color:#f5222d;margin-left:2px}.text-primary[data-v-61539e93]{color:#1890ff}.font-medium[data-v-61539e93]{font-weight:500}@media (max-width:480px){.source-actions[data-v-61539e93]{grid-template-columns:1fr}.source-actions .clear-btn[data-v-61539e93],.source-actions .manual-input-btn[data-v-61539e93],.source-actions .parse-btn[data-v-61539e93]{grid-column:1/2;width:100%}.query-condition-bar[data-v-61539e93]{flex-direction:column;align-items:flex-start}.reset-btn[data-v-61539e93]{margin-left:0;align-self:flex-end;width:100%}.stock-summary-bar[data-v-61539e93]{flex-direction:column;align-items:flex-start}.pagination-container[data-v-61539e93]{gap:8px}.page-btn[data-v-61539e93]{padding:4px 8px;font-size:13px}.modal-body[data-v-61539e93]{padding:12px}}@keyframes spin-61539e93{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.material-summary-section[data-v-61539e93]{margin-bottom:16px;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;text-align:center}.summary-title[data-v-61539e93]{font-size:14px;font-weight:600;margin-bottom:10px;color:#495057}.material-summary-container[data-v-61539e93]{overflow-x:auto}.summary-table[data-v-61539e93]{width:100%;border-collapse:collapse;font-size:12px}.summary-header[data-v-61539e93],.table-header[data-v-61539e93]{background-color:#e9ecef;padding:8px 12px;text-align:center;font-weight:600;border-bottom:2px solid #dee2e6;color:#495057}.summary-row[data-v-61539e93]{border-bottom:1px solid #dee2e6}.summary-row[data-v-61539e93]:last-child{border-bottom:none}.summary-cell[data-v-61539e93]{padding:8px 12px;color:#495057}.summary-cell.text-primary[data-v-61539e93]{color:#007bff}.summary-cell.font-medium[data-v-61539e93]{font-weight:500}.supplier-list-bar[data-v-61539e93]{margin-bottom:16px;padding:10px 12px;background-color:#f5f7fa;border-radius:6px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.supplier-label[data-v-61539e93]{color:#666;font-size:14px;white-space:nowrap}.supplier-tags[data-v-61539e93]{display:flex;flex-wrap:wrap;gap:8px}.supplier-tag[data-v-61539e93]{background-color:#e8f3ff;color:#1890ff;padding:4px 10px;border-radius:12px;font-size:13px;white-space:nowrap}.supplier-group[data-v-61539e93]{margin-bottom:24px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.supplier-group-header[data-v-61539e93]{background-color:#f9fafb;padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.supplier-group-title[data-v-61539e93]{font-size:16px;font-weight:600;color:#1f2937;margin:0}.supplier-group-count[data-v-61539e93]{font-size:14px;color:#6b7280;margin:0}.bordered-table[data-v-61539e93]{width:100%;border-collapse:collapse;text-align:center}.bordered-table td[data-v-61539e93],.bordered-table th[data-v-61539e93]{border:1px solid #e5e7eb!important;padding:8px 12px;text-align:center!important}.bordered-table th[data-v-61539e93]{background-color:#f3f4f6;font-weight:500}[data-v-71b66401]{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,Microsoft YaHei,Segoe UI,sans-serif}.warehouse-app[data-v-71b66401]{width:100vw;height:100vh;background:#fff;color:#cbd5e1;display:flex;flex-direction:column;overflow:hidden;position:relative}.top-bar[data-v-71b66401]{height:52px;padding:0 18px;background:#fff;display:flex;align-items:center;gap:14px;border-bottom:1px solid #e5e7eb;flex-shrink:0;z-index:30}.tb-left[data-v-71b66401]{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-icon[data-v-71b66401]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#1c45cd;border-radius:0;color:#fff;border:none}.logo-title[data-v-71b66401]{font-size:14px;color:#1c45cd;font-weight:700;letter-spacing:1.5px;white-space:nowrap}.tb-center[data-v-71b66401]{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.ware-select[data-v-71b66401]{flex:0 0 auto;width:180px;height:36px;padding:0 12px;background:#fff;border:1px solid #3b82f6;border-radius:0;color:#000;outline:none;font-size:13px;transition:border-color .2s,box-shadow .2s}.ware-select[data-v-71b66401]:focus{border-color:#000}.ware-select option[data-v-71b66401]{background:#fff;color:#1e293b}.search-trigger[data-v-71b66401]{flex:1;min-width:0;height:34px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;background:#1d4ed8;border:none;border-radius:0;cursor:pointer;color:#fff;font-weight:600;font-size:13px;border:1px solid rgba(96,165,250,.2)}.search-trigger[data-v-71b66401]:hover{background:#000;color:#fff}.search-icon[data-v-71b66401]{flex-shrink:0;color:#64748b}.search-placeholder[data-v-71b66401]{font-size:13px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-right[data-v-71b66401]{display:flex;align-items:center;gap:8px;flex-shrink:0}.edit-btn[data-v-71b66401]{padding:6px 14px;background:#fff;border:1px solid #000;color:#050505;border-radius:0;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap}.edit-btn[data-v-71b66401]:hover{background:#001d57;border-color:#f7f6f6;color:#fff}.edit-btn.active[data-v-71b66401]{background:#dc2626;color:#fff;font-weight:700;border-color:#b91c1c}.save-btn[data-v-71b66401]{padding:6px 14px;background:#16a34a;border:none;color:#fff;font-weight:700;border-radius:0;cursor:pointer;font-size:12px;white-space:nowrap}.save-btn[data-v-71b66401]:hover{background:#15803d}.save-btn[data-v-71b66401]:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.copy-source[data-v-71b66401]{font-weight:600;color:#111827;font-size:14px;padding:6px 0}.modal-field[data-v-71b66401]{margin-bottom:16px}.modal-field-hint[data-v-71b66401]{font-size:12px;color:#6b7280;margin-top:4px;word-break:break-all;line-height:1.5}.modal-field-row[data-v-71b66401]{display:flex;gap:16px}.modal-field-half[data-v-71b66401]{flex:1;min-width:0}.modal-field-half .modal-field-label[data-v-71b66401]{display:block;margin-bottom:6px}.modal-field[data-v-71b66401]:last-child{margin-bottom:0}.modal-field-label[data-v-71b66401]{display:block;font-size:12px;color:#6b7280;margin-bottom:6px;font-weight:500}.modal-field-input[data-v-71b66401]{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #e5e7eb;border-radius:0;font-size:14px;color:#111827;background:#fff;outline:none}.modal-field-input[data-v-71b66401]:focus{border-color:#1d4ed8}.canvas-area[data-v-71b66401]{position:fixed;top:52px;left:0;right:0;bottom:56px;overflow:hidden;background:#fff}.warehouse-viewport[data-v-71b66401]{position:absolute;inset:0;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.warehouse-viewport[data-v-71b66401]::-webkit-scrollbar{width:6px;height:6px}.warehouse-viewport[data-v-71b66401]::-webkit-scrollbar-track{background:transparent}.warehouse-viewport[data-v-71b66401]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:0}.warehouse-viewport[data-v-71b66401]::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}.warehouse-canvas[data-v-71b66401]{position:relative;transform-origin:top left;overflow:visible;background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 0);background-size:20px 20px;background-color:#fff;min-width:100%;min-height:100%}.warehouse-ground[data-v-71b66401]{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 0);background-size:20px 20px;background-color:#fff}.guide-layer[data-v-71b66401]{position:absolute;inset:0;pointer-events:none;z-index:3}.guide-line[data-v-71b66401]{position:absolute;opacity:.9}.guide-line-v[data-v-71b66401]{top:0;width:0;border-left:1px dashed rgba(245,158,11,.95)}.guide-line-h[data-v-71b66401]{left:0;height:0;border-top:1px dashed rgba(245,158,11,.95)}.canvas-stats[data-v-71b66401]{position:absolute;top:8px;left:10px;background:#fff;color:#6b7280;font-size:11px;padding:4px 10px;border-radius:0;z-index:10;pointer-events:none;border:1px solid #e5e7eb}.canvas-empty[data-v-71b66401]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#475569;font-size:14px;pointer-events:none}.location[data-v-71b66401]{position:absolute;background:#fff;color:#000;border-radius:0;border:1px solid #000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:var(--loc-font-size,13px);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.location.highlight[data-v-71b66401]{color:#fff!important}.location:not(.heatmap-mode).highlight[data-v-71b66401]{background:#dc2626!important;border:1px solid #000!important;color:#fff!important;border-radius:0}.location.batch-selected[data-v-71b66401]{background:rgba(59,130,246,.15)!important;border:1px solid #000!important;color:#1e40af!important;border-radius:0}.type-0[data-v-71b66401],.type-1[data-v-71b66401]{background:#fff;border-color:#000}.type-1[data-v-71b66401]{border-style:dashed}.type-2[data-v-71b66401],.type-3[data-v-71b66401]{background:#fff;border-color:#000}.type-3[data-v-71b66401]{border-style:dashed}.type-4[data-v-71b66401]{background:#000;border:2px solid #000;cursor:default;z-index:3;overflow:visible;color:#fff}.wall-cover[data-v-71b66401]{position:absolute;inset:-2px;pointer-events:none;z-index:10}.type-5[data-v-71b66401]{background:#00833e;border:none;cursor:default;z-index:1;overflow:visible;color:#fff}.type-5[data-v-71b66401]:before{content:"";position:absolute;inset:0;border:4px solid #eab308;pointer-events:none}.type-5[data-v-71b66401]:after{inset:0}.passage-cover[data-v-71b66401]{position:absolute;inset:0;pointer-events:none;z-index:5}.wall-cover[data-v-71b66401]{z-index:10!important}.type-5[data-v-71b66401]:after{content:"";position:absolute;inset:-6px;pointer-events:none;background-image:var(--p-bottom-bg,none),var(--p-top-bg,none);background-position:var(--p-bottom-offset,6px) calc(100% - 12px),var(--p-top-offset,6px) 6px;background-size:var(--p-bottom-size,0) 12px,var(--p-top-size,0) 12px;background-repeat:no-repeat,no-repeat}.type-6[data-v-71b66401]{border:3px dashed #000;display:flex;flex-direction:var(--gate-dir,row);align-items:center;justify-content:space-between;padding:6px;z-index:4}.type-6[data-v-71b66401]:after,.type-6[data-v-71b66401]:before{content:"";width:var(--gate-box,16px);height:var(--gate-box,16px);border:2px solid #000;flex-shrink:0;pointer-events:none;z-index:0}.type-7[data-v-71b66401]{background:rgba(75,85,99,.2);border:2px solid #000;border-radius:0;cursor:default}.type-8[data-v-71b66401]{background:transparent;border:3px solid rgba(245,158,11,.8);padding:6px}.type-8[data-v-71b66401]:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,transparent calc(50% - 1px),rgba(245,158,11,.6) calc(50% - 1px),rgba(245,158,11,.6) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to bottom left,transparent calc(50% - 1px),rgba(245,158,11,.6) calc(50% - 1px),rgba(245,158,11,.6) calc(50% + 1px),transparent calc(50% + 1px));pointer-events:none;z-index:0}.type-8[data-v-71b66401]:after{content:"";position:absolute;inset:5px;border:2px dashed rgba(245,158,11,.5);pointer-events:none;z-index:1}.type-9[data-v-71b66401]{background:transparent;border:3px solid #000;padding:6px}.type-9[data-v-71b66401]:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - 1px),#090909 calc(50% - 1px),#000 calc(50% + 1px),transparent calc(50% + 1px)),repeating-linear-gradient(180deg,transparent,transparent 8px,#010101 0,#010101 10px);pointer-events:none;z-index:0}.type-10[data-v-71b66401]{background:transparent;border:3px solid #000;padding:6px}.type-10[data-v-71b66401]:after{content:"";position:absolute;inset:4px;border:2px solid #000;pointer-events:none;z-index:0}.type-11[data-v-71b66401]{background:transparent;border:2px solid #b15e00;padding:6px}.type-11[data-v-71b66401]:after{content:"";position:absolute;inset:3px;border:2px dashed #b15e00;pointer-events:none;z-index:0}.location.heatmap-mode[data-v-71b66401]{background:rgb(var(--heat-r,255),var(--heat-g,255),var(--heat-b,255))!important;border-color:#000!important;border-radius:0}.location.heatmap-mode.overstock[data-v-71b66401]{border-color:#000!important;border-width:1px!important}.location.heatmap-mode[data-v-71b66401]:hover{z-index:10}.pallet-canvas[data-v-71b66401]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.rotate-btn[data-v-71b66401]{position:absolute;top:1px;right:1px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #000;border-radius:0;color:#000;font-size:12px;cursor:pointer;z-index:5;opacity:0}.location:hover .rotate-btn[data-v-71b66401]{opacity:1}.rotate-btn[data-v-71b66401]:hover{background:#000;color:#fff}.resize-handle[data-v-71b66401]{position:absolute;background:#fff;border:1px solid #000;border-radius:0;opacity:0}.location:hover .resize-handle[data-v-71b66401]{opacity:1}.resize-handle[data-v-71b66401]:hover{background:#f3f4f6}.resize-handle-n[data-v-71b66401],.resize-handle-s[data-v-71b66401]{left:50%;transform:translateX(-50%);width:20px;height:6px;cursor:ns-resize}.resize-handle-n[data-v-71b66401]{top:0}.resize-handle-s[data-v-71b66401]{bottom:0}.resize-handle-e[data-v-71b66401],.resize-handle-w[data-v-71b66401]{top:50%;transform:translateY(-50%);width:6px;height:20px;cursor:ew-resize}.resize-handle-e[data-v-71b66401]{right:0}.resize-handle-w[data-v-71b66401]{left:0}.resize-handle-ne[data-v-71b66401],.resize-handle-nw[data-v-71b66401],.resize-handle-se[data-v-71b66401],.resize-handle-sw[data-v-71b66401]{width:12px;height:12px}.resize-handle-nw[data-v-71b66401]{top:0;left:0;cursor:nw-resize}.resize-handle-ne[data-v-71b66401]{top:0;right:0;cursor:ne-resize}.resize-handle-sw[data-v-71b66401]{bottom:0;left:0;cursor:sw-resize}.resize-handle-se[data-v-71b66401]{bottom:0;right:0;cursor:se-resize}.heatmap-btn[data-v-71b66401]{padding:6px 14px;background:#fff;border:1px solid #000;color:#0a0a0a;border-radius:0;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap}.heatmap-btn[data-v-71b66401]:hover{background:#000;border-color:#fafafa;color:#fff}.heatmap-btn.active[data-v-71b66401]{background:#1d4ed8;color:#fff;font-weight:700;border-color:#1e40af}.loc-name[data-v-71b66401]{font-weight:700;white-space:normal;max-width:100%;text-align:center;line-height:1.1;padding:0 2px;overflow:hidden;position:relative;z-index:1;color:var(--loc-text-color,inherit);word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.loc-name.vertical-text[data-v-71b66401]{writing-mode:vertical-rl;text-orientation:mixed;max-height:100%;overflow:visible}.float-zoom[data-v-71b66401]{position:absolute;top:8px;right:10px;display:flex;align-items:center;gap:3px;background:#fff;border:1px solid #000;border-radius:0;padding:4px 6px;z-index:10}.fb-btn[data-v-71b66401]{width:30px;height:28px;background:transparent;border:1px solid rgba(0,0,0,.3);color:#000;border-radius:0;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.fb-btn[data-v-71b66401]:hover{background:rgba(59,130,246,.15);border-color:rgba(1,52,133,.5);color:#00377a}.fb-zoom[data-v-71b66401]{font-size:14px;color:#000;min-width:40px;text-align:center;font-weight:600}.fb-divider[data-v-71b66401]{width:1px;height:18px;background:rgba(59,130,246,.15);margin:0 2px}.fb-btn-text[data-v-71b66401]{width:auto;min-width:36px;padding:0 8px;font-size:11px;height:28px}.float-batch[data-v-71b66401]{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #000;border-radius:0;padding:6px 14px;z-index:10}.batch-count[data-v-71b66401]{color:#d97b00;font-size:12px;font-weight:600;white-space:nowrap}.fb-btn-danger[data-v-71b66401]{color:#ef4444!important}.fb-btn-danger[data-v-71b66401]:hover{background:rgba(239,68,68,.2)!important}.drawer-highlight-wrap[data-v-71b66401]{border:1px solid #000}.highlight-label[data-v-71b66401]{color:#050505;font-size:12px;font-weight:600;white-space:nowrap}.highlight-input[data-v-71b66401]{width:70px}.highlight-select-btn[data-v-71b66401]{background:#fff;border:1px solid #000;border-radius:0;color:#000;font-size:11px;padding:2px 6px;cursor:pointer;white-space:nowrap}.highlight-select-btn[data-v-71b66401]:hover{background:#000;color:#fff}.drawer-search-row[data-v-71b66401]{display:flex;gap:8px;margin-bottom:8px}.drawer-search-row .drawer-search-wrap[data-v-71b66401]{flex:1;margin-bottom:0}.bottom-drawer[data-v-71b66401]{position:fixed;left:0;right:0;bottom:56px;background:#fff;border-top:1px solid #00349d;box-shadow:0 -4px 12px rgba(0,0,0,.08);transition:max-height .3s cubic-bezier(.4,0,.2,1);max-height:240px;z-index:40}.bottom-drawer.collapsed[data-v-71b66401]{max-height:40px}.drawer-header[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drawer-header-right[data-v-71b66401]{display:flex;align-items:center;gap:8px}.drawer-header[data-v-71b66401]:hover{background:#f9fafb}.batch-place-btn[data-v-71b66401]{padding:3px 10px;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.3);color:#16a34a;border-radius:0;font-size:11px;font-weight:600;cursor:pointer}.batch-place-btn[data-v-71b66401]:hover{background:rgba(22,163,74,.15);color:#15803d}.sort-btn[data-v-71b66401]{padding:3px 8px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.3);color:#1d4ed8;border-radius:0;font-size:11px;font-weight:600;cursor:pointer}.sort-btn[data-v-71b66401]:hover{background:rgba(59,130,246,.15);color:#1e40af}.drawer-search-wrap[data-v-71b66401]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f9fafb;border:1px solid #000;border-radius:0;margin-bottom:8px}.drawer-search-input[data-v-71b66401]{flex:1;background:none;border:none;color:#060606;font-size:12px;outline:none}.drawer-search-input[data-v-71b66401]::-moz-placeholder{color:#64748b}.drawer-search-input[data-v-71b66401]::placeholder{color:#64748b}.drawer-search-clear[data-v-71b66401]{color:#64748b;cursor:pointer;font-size:12px;padding:2px}.drawer-search-clear[data-v-71b66401]:hover{color:#94a3b8}.drawer-title[data-v-71b66401]{font-size:13px;font-weight:600;color:#002e63}.drawer-arrow[data-v-71b66401]{font-size:12px;color:#64748b}.drawer-type-filter[data-v-71b66401]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid rgba(0,0,0,.06);max-height:80px;overflow-y:auto}.type-tag[data-v-71b66401]{display:inline-flex;align-items:center;gap:2px;padding:3px 8px;border-radius:4px;border:1px solid;font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.type-tag[data-v-71b66401]:hover{opacity:.8}.type-tag .type-count[data-v-71b66401]{font-size:10px;opacity:.7}.drawer-body[data-v-71b66401]{padding:0 16px 6px}.drawer-hint[data-v-71b66401]{padding:10px 12px;border-radius:0;background:rgba(148,163,184,.06);border:1px dashed rgba(148,163,184,.25);color:rgba(226,232,240,.8);font-size:12px;text-align:center}.drawer-empty[data-v-71b66401]{padding:10px;color:#64748b;font-size:13px;text-align:center}.drawer-scroll[data-v-71b66401]{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.3) transparent}.drawer-scroll[data-v-71b66401]::-webkit-scrollbar{height:6px}.drawer-scroll[data-v-71b66401]::-webkit-scrollbar-track{background:transparent}.drawer-scroll[data-v-71b66401]::-webkit-scrollbar-thumb{background:rgba(59,130,246,.3);border-radius:3px}.drawer-item[data-v-71b66401]{flex:0 0 auto;width:140px;padding:10px 12px;border-radius:0;background:#fff;border:1px solid #000;cursor:grab}.drawer-item[data-v-71b66401]:hover{background:#f3f4f6;border-color:#000}.drawer-item[data-v-71b66401]:active{cursor:grabbing}.drawer-item.disabled[data-v-71b66401]{cursor:not-allowed;opacity:.55}.drawer-item-name[data-v-71b66401]{font-size:13px;font-weight:700;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-item-sub[data-v-71b66401]{margin-top:4px;font-size:11px;color:#000}.search-panel-overlay[data-v-71b66401]{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.search-panel[data-v-71b66401]{pointer-events:auto;width:min(360px,75vw);height:100%;background:#fff;border-left:1px solid #000;display:flex;flex-direction:column;overflow:hidden}.sp-supplier-section[data-v-71b66401]{flex-shrink:0;border-bottom:1px solid #000}.sp-material-section[data-v-71b66401]{flex:1;display:flex;flex-direction:column;min-height:0}.sp-section-header[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 0}.sp-section-label[data-v-71b66401]{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.sp-section-count[data-v-71b66401]{font-size:11px;color:#64748b}.sp-clear-btn[data-v-71b66401]{font-size:11px;color:#c40000;background:none;border:none;cursor:pointer;padding:0}.sp-clear-btn[data-v-71b66401]:hover{text-decoration:underline}.sp-search-inline[data-v-71b66401]{display:flex;align-items:center;gap:6px;margin:6px 14px 8px;background:#fff;border:1px solid #070707;border-radius:6px;padding:0 8px;height:30px}.sp-search-inline[data-v-71b66401]:focus-within{border-color:#3b82f6}.sp-input-inline[data-v-71b66401]{flex:1;background:none;border:none;color:#000;font-size:12px;outline:none;min-width:0}.sp-input-inline[data-v-71b66401]::-moz-placeholder{color:#070707;font-size:12px}.sp-input-inline[data-v-71b66401]::placeholder{color:#070707;font-size:12px}.sp-supplier-list[data-v-71b66401]{max-height:160px;overflow-y:auto;padding:0 14px 8px;scrollbar-width:thin;scrollbar-color:#fff transparent}.sp-material-list[data-v-71b66401]{flex:1;overflow-y:auto;padding:0 14px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.sp-material-toolbar[data-v-71b66401]{padding:6px 14px;display:flex;justify-content:center;gap:10px}.sp-items[data-v-71b66401]{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.sp-items[data-v-71b66401]::-webkit-scrollbar{width:4px}.sp-items[data-v-71b66401]::-webkit-scrollbar-track{background:transparent}.sp-items[data-v-71b66401]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.sp-item[data-v-71b66401]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.sp-item[data-v-71b66401]:hover{background:#f3f4f6}.sp-item-active[data-v-71b66401]{background:#f3f4f6;border-left:2px solid #3b82f6;padding-left:8px}.sp-item-name[data-v-71b66401]{font-size:13px;font-weight:500;color:#000;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sp-item-arrow[data-v-71b66401]{color:#64748b;font-size:16px;flex-shrink:0}.sp-material-item[data-v-71b66401]{flex-direction:column;align-items:stretch;gap:4px}.sp-mat-info[data-v-71b66401]{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}.sp-mat-code[data-v-71b66401]{font-size:13px;font-weight:700;color:#001e95;text-align:left}.sp-mat-sup[data-v-71b66401]{font-size:11px;color:#bd6500;font-weight:500}.sp-mat-desc[data-v-71b66401]{font-size:11px;color:#374151;word-wrap:break-word;overflow-wrap:break-word;text-align:left}.sp-footer[data-v-71b66401]{flex-shrink:0;padding:8px 14px;border-top:1px solid #000}.sp-close-btn[data-v-71b66401]{width:100%;padding:8px;background:#fff;border:1px solid #000;border-radius:0;color:#000;font-size:13px;cursor:pointer}.sp-close-btn[data-v-71b66401]:hover{background:#000;color:#fff}.sp-hint-sm[data-v-71b66401]{padding:8px;text-align:center;color:#374151;font-size:12px}.sp-tool-btn[data-v-71b66401]{width:100%;padding:7px 12px;background:#fff;border:1px solid #f59e0b;border-radius:6px;color:#fe8c00;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.sp-tool-btn[data-v-71b66401]:hover{background:rgba(245,158,11,.2)}.sp-tool-btn[data-v-71b66401]:disabled{opacity:.5;cursor:not-allowed}.sp-cancel-btn[data-v-71b66401]{background:rgba(239,68,68,.1);border-color:#ef4444;color:#f87171;margin-left:8px;width:auto}.sp-cancel-btn[data-v-71b66401]:hover{background:rgba(239,68,68,.2)}.dialog-overlay[data-v-71b66401]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:999}.dialog-box[data-v-71b66401]{background:#fff;border:1px solid #000;border-radius:0;width:min(560px,calc(100vw - 32px));max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.dialog-header[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #000}.dialog-title-wrap[data-v-71b66401]{display:flex;flex-direction:column;gap:4px}.dialog-title-wrap h3[data-v-71b66401]{color:#000;font-size:16px;font-weight:600;margin:0}.dialog-location-name[data-v-71b66401]{color:#374151;font-size:13px}.dialog-close-btn[data-v-71b66401]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #000;border-radius:0;color:#000;cursor:pointer;font-size:14px}.dialog-close-btn[data-v-71b66401]:hover{background:#000;color:#fff}.dialog-body[data-v-71b66401]{flex:1;padding:16px 20px;overflow-y:auto}.detail-loading[data-v-71b66401]{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:#374151}.loading-spinner[data-v-71b66401]{width:20px;height:20px;border:2px solid #d1d5db;border-top-color:#000;border-radius:50%;animation:spin-71b66401 1s linear infinite}@keyframes spin-71b66401{to{transform:rotate(1turn)}}.detail-error[data-v-71b66401]{padding:16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:0;color:#dc2626;text-align:center}.detail-empty[data-v-71b66401]{padding:32px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:0;color:#374151;font-size:13px;text-align:center}.supplier-list[data-v-71b66401]{display:flex;flex-direction:column;gap:8px}.supplier-block[data-v-71b66401]{border-radius:0;background:#fff;border:1px solid #d1d5db;overflow:hidden}.supplier-header[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f3f4f6;cursor:pointer}.supplier-header[data-v-71b66401]:hover{background:#e5e7eb}.supplier-title[data-v-71b66401]{color:#000;font-weight:600;font-size:14px}.supplier-meta[data-v-71b66401]{display:flex;align-items:center;gap:8px}.supplier-count[data-v-71b66401]{color:#374151;font-size:12px}.supplier-arrow[data-v-71b66401]{color:#000;font-size:10px}.material-list[data-v-71b66401]{padding:8px;display:flex;flex-direction:column;gap:6px}.material-item[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #d1d5db;border-radius:0}.material-item[data-v-71b66401]:hover{border-color:#000;background:#f9fafb}.material-item.active[data-v-71b66401]{border-color:#000;background:#e5e7eb}.material-info[data-v-71b66401]{flex:1;min-width:0;text-align:left}.material-no[data-v-71b66401]{color:#000;font-size:14px;font-weight:600;margin-bottom:4px}.material-desc[data-v-71b66401]{color:#374151;font-size:12px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}.material-stock[data-v-71b66401]{display:flex;gap:12px;margin-left:16px;flex-shrink:0}.stock-item[data-v-71b66401]{display:flex;flex-direction:column;align-items:center;gap:2px}.stock-num[data-v-71b66401]{font-size:14px;font-weight:700}.stock-label[data-v-71b66401]{font-size:10px;color:#374151}.stock-good .stock-num[data-v-71b66401]{color:#16a34a}.stock-bad .stock-num[data-v-71b66401]{color:#dc2626}.dialog-footer[data-v-71b66401]{padding:16px 20px;border-top:1px solid #000;background:#f9fafb}.dialog-footer-btn[data-v-71b66401]{width:100%;padding:12px;background:#fff;border:1px solid #000;border-radius:0;color:#000;font-weight:600;font-size:14px;cursor:pointer}.dialog-footer-btn[data-v-71b66401]:hover{background:#000;color:#fff}.material-value[data-v-71b66401]{flex:1 1 auto;font-size:13px;font-weight:600;color:#e0f2fe;text-align:right;word-break:break-all}.material-stock[data-v-71b66401]{font-weight:700;color:#6ee7b7}.mobile-search-btn[data-v-71b66401]{padding:8px 16px;background:#fff;border:1px solid #000;color:#000;border-radius:0;cursor:pointer;font-size:14px;font-weight:600}.mobile-search-btn[data-v-71b66401]:active{background:#f3f4f6}.mobile-drawer-overlay[data-v-71b66401]{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;display:flex;justify-content:flex-end;align-items:flex-end}.mobile-drawer[data-v-71b66401]{width:100%;max-height:78vh;background:#fff;border-top:1px solid #000;padding:16px;overflow:auto;border-radius:0}.mobile-drawer-header[data-v-71b66401]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mobile-drawer-title[data-v-71b66401]{color:#000;font-weight:600;font-size:16px}.mobile-drawer-close[data-v-71b66401]{padding:6px 12px;background:#fff;border:1px solid #000;color:#000;border-radius:0;cursor:pointer;font-size:13px}.mobile-drawer-close[data-v-71b66401]:hover{background:#000;color:#fff}.search-section[data-v-71b66401]{margin-bottom:16px}.search-section h3[data-v-71b66401]{color:#000;margin-bottom:10px;font-size:16px;font-weight:600}.ware-select-row[data-v-71b66401]{margin-bottom:12px}.search-input[data-v-71b66401]{width:100%;padding:10px 12px;background:#fff;border:1px solid #000;border-radius:0;color:#000;outline:none;font-size:13px}.search-input[data-v-71b66401]:focus{border-color:#000}.search-input[data-v-71b66401]::-moz-placeholder{color:#9ca3af}.search-input[data-v-71b66401]::placeholder{color:#9ca3af}.search-empty[data-v-71b66401],.search-hint[data-v-71b66401]{margin-top:10px;padding:14px;background:#f9fafb;border:1px dashed #d1d5db;color:#374151;font-size:13px;text-align:center}.result-list[data-v-71b66401]{margin-top:10px;display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:220px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.result-list[data-v-71b66401]::-webkit-scrollbar{width:4px}.result-list[data-v-71b66401]::-webkit-scrollbar-track{background:transparent}.result-list[data-v-71b66401]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.result-item[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fff;border:1px solid #d1d5db;cursor:pointer}.result-item[data-v-71b66401]:hover{background:#f3f4f6;border-color:#000}.result-main[data-v-71b66401]{min-width:0}.result-title[data-v-71b66401]{font-size:13px;font-weight:600;color:#000;text-align:left}.result-sub[data-v-71b66401]{margin-top:3px;font-size:12px;color:#374151;text-align:left;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}.result-supplier[data-v-71b66401]{margin-top:4px;font-size:11px;color:#000;text-align:left;font-weight:500}.result-stock[data-v-71b66401]{flex:0 0 auto;padding:5px 10px;background:#fff;border:1px solid #000;color:#000;font-weight:700;font-size:13px}.modal-box[data-v-71b66401]{background:#fff;border:1px solid #000;border-radius:0;padding:24px;min-width:280px;max-width:360px;text-align:center}.modal-box-title[data-v-71b66401]{font-size:16px;font-weight:600;color:#000;margin-bottom:10px}.modal-box-body[data-v-71b66401]{font-size:13px;color:#374151;line-height:1.6;margin-bottom:20px;white-space:pre-line}.modal-box-btns[data-v-71b66401]{display:flex;gap:10px;justify-content:center}.modal-btn[data-v-71b66401]{padding:8px 24px;border:1px solid #000;border-radius:0;font-size:13px;font-weight:600;cursor:pointer}.modal-btn-cancel[data-v-71b66401]{background:#fff;color:#000}.modal-btn-cancel[data-v-71b66401]:hover{background:#f3f4f6}.modal-btn-ok[data-v-71b66401]{background:#000;color:#fff}.modal-btn-ok[data-v-71b66401]:hover{background:#374151}.area-panel-overlay[data-v-71b66401]{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100;display:flex;justify-content:flex-start}.area-panel[data-v-71b66401]{width:540px;max-width:94vw;height:100%;background:#fff;border-right:1px solid #000;display:flex;flex-direction:column}@keyframes slideInLeft-71b66401{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.area-panel-header[data-v-71b66401]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #000;flex-shrink:0}.area-panel-title[data-v-71b66401]{color:#000;font-size:15px;font-weight:600}.area-header-right[data-v-71b66401]{display:flex;align-items:center;gap:6px}.area-refresh-btn[data-v-71b66401]{background:none;border:1px solid #000;color:#000;cursor:pointer;padding:4px 8px;display:flex;align-items:center;border-radius:0}.area-refresh-btn[data-v-71b66401]:hover{color:#fff;background:#000}.area-panel-close[data-v-71b66401]{background:none;border:1px solid #000;color:#000;font-size:16px;cursor:pointer;padding:4px 8px}.area-panel-close[data-v-71b66401]:hover{background:#000;color:#fff}.area-loading[data-v-71b66401]{color:#374151;text-align:center;padding:60px 0}.area-panel-top[data-v-71b66401]{display:flex;align-items:center;gap:20px;padding:20px 20px 16px;flex-shrink:0}.area-ring-wrap[data-v-71b66401]{position:relative;width:100px;height:100px;flex-shrink:0}.area-ring-svg[data-v-71b66401]{width:100%;height:100%}.area-ring-center[data-v-71b66401]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.area-ring-rate[data-v-71b66401]{font-size:20px;font-weight:700;color:#000;line-height:1}.area-ring-label[data-v-71b66401]{font-size:10px;color:#000;margin-top:2px}.area-summary-col[data-v-71b66401]{flex:1;display:flex;flex-direction:column;gap:12px}.area-stat-row[data-v-71b66401]{display:flex;justify-content:space-between;align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:0;padding:10px 14px}.area-stat-label[data-v-71b66401]{color:#000;font-size:12px}.area-stat-value[data-v-71b66401]{color:#000;font-size:14px;font-weight:600}.area-filter-row[data-v-71b66401]{display:flex;gap:0;padding:0 20px 12px;flex-shrink:0}.area-filter-btn[data-v-71b66401]{padding:7px 14px;background:#fff;border:1px solid #000;border-right:none;color:#000;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px}.area-filter-btn[data-v-71b66401]:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.area-filter-btn[data-v-71b66401]:last-child{border-right:1px solid #000;border-top-right-radius:0;border-bottom-right-radius:0}.area-filter-btn[data-v-71b66401]:hover{background:#f3f4f6}.area-filter-btn.active[data-v-71b66401]{background:#000;color:#fff}.area-filter-count[data-v-71b66401]{background:#e5e7eb;padding:1px 6px;border-radius:0;font-size:11px;font-weight:600}.area-filter-btn.active .area-filter-count[data-v-71b66401]{background:hsla(0,0%,100%,.2);color:#fff}.area-search-wrap[data-v-71b66401]{display:flex;align-items:center;gap:10px;margin:0 20px 12px;padding:10px 14px;background:#fff;border:1px solid #000;flex-shrink:0}.area-search-input[data-v-71b66401]{flex:1;background:none;border:none;outline:none;color:#000;font-size:13px}.area-search-input[data-v-71b66401]::-moz-placeholder{color:#9ca3af}.area-search-input[data-v-71b66401]::placeholder{color:#9ca3af}.area-search-clear[data-v-71b66401]{background:#000;border:none;color:#fff;cursor:pointer;font-size:11px;padding:3px 7px}.area-supplier-list[data-v-71b66401]{flex:1;overflow-y:auto;padding:4px 20px 16px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.area-supplier-list[data-v-71b66401]::-webkit-scrollbar{width:6px}.area-supplier-list[data-v-71b66401]::-webkit-scrollbar-track{background:transparent}.area-supplier-list[data-v-71b66401]::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:0}.area-supplier-row[data-v-71b66401]{background:#fff;border:1px solid #e5e7eb;margin-top:-1px;padding:10px 16px;cursor:pointer}.area-supplier-row[data-v-71b66401]:hover{border-color:#000}.area-row-inner[data-v-71b66401]{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.area-row-name[data-v-71b66401]{flex:1;color:#111827;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.area-row-pct[data-v-71b66401]{flex-shrink:0;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.area-pct-unit[data-v-71b66401]{font-size:12px;font-weight:500;margin-left:1px}.area-supplier-row.area-ok .area-row-pct[data-v-71b66401]{color:#16a34a}.area-supplier-row.area-warn .area-row-pct[data-v-71b66401]{color:#d97706}.area-supplier-row.area-danger .area-row-pct[data-v-71b66401]{color:#dc2626}.area-row-meta[data-v-71b66401]{display:flex;align-items:center;font-size:11px;color:#6b7280;gap:16px}.area-meta-rent[data-v-71b66401]{width:90px;flex-shrink:0;text-align:left}.area-meta-occupy[data-v-71b66401]{width:100px;flex-shrink:0;text-align:left}.area-meta-bar[data-v-71b66401]{flex:1;min-width:0}.area-bar-track[data-v-71b66401]{display:block;height:8px;background:#f3f4f6;border:1px solid #e5e7eb;overflow:hidden}.area-bar-fill[data-v-71b66401]{height:100%;display:block}.area-supplier-row.area-ok .area-bar-fill[data-v-71b66401]{background:#16a34a}.area-supplier-row.area-warn .area-bar-fill[data-v-71b66401]{background:#d97706}.area-supplier-row.area-danger .area-bar-fill[data-v-71b66401]{background:#dc2626}.area-ok[data-v-71b66401]{color:#22c55e}.area-warn[data-v-71b66401]{color:#f59e0b}.area-danger[data-v-71b66401]{color:#ef4444}.area-empty[data-v-71b66401]{color:#64748b;text-align:center;padding:30px 0;font-size:13px}.toast-msg[data-v-71b66401]{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:10000;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.3);animation:toastIn-71b66401 .3s ease}.toast-success[data-v-71b66401]{background:#065f46;color:#d1fae5;border:1px solid #10b981}.toast-error[data-v-71b66401]{background:#991b1b;color:#fee2e2;border:1px solid #ef4444}@keyframes toastIn-71b66401{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.mobile-search-tabs[data-v-71b66401]{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #000}.mobile-tab-btn[data-v-71b66401]{flex:1;padding:10px 12px;background:#fff;border:1px solid #d1d5db;border-radius:0;color:#374151;font-size:13px;font-weight:500;cursor:pointer}.mobile-tab-btn.active[data-v-71b66401]{background:#000;border-color:#000;color:#fff}.mobile-supplier-header[data-v-71b66401]{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid #d1d5db}.mobile-supplier-label[data-v-71b66401]{color:#374151;font-size:13px}.mobile-supplier-name[data-v-71b66401]{color:#000;font-size:14px;font-weight:600}.mobile-material-item[data-v-71b66401]{text-align:left}.mobile-material-item .result-sub[data-v-71b66401],.mobile-material-item .result-title[data-v-71b66401]{text-align:left;word-wrap:break-word;overflow-wrap:break-word}.mobile-highlight-all[data-v-71b66401]{display:flex;gap:8px;padding:8px 0;margin-bottom:8px}.mobile-highlight-btn[data-v-71b66401]{flex:1;padding:10px;background:#fff;border:1px solid #000;border-radius:0;color:#000;font-size:13px;font-weight:600;cursor:pointer}.mobile-highlight-btn[data-v-71b66401]:disabled{opacity:.4;cursor:not-allowed}.mobile-cancel-btn[data-v-71b66401]{padding:10px 16px;background:#fff;border:1px solid #000;border-radius:0;color:#000;font-size:13px;font-weight:500;cursor:pointer}@media (max-width:768px){.top-bar[data-v-71b66401]{padding:0 10px;height:44px;gap:8px}.tb-left[data-v-71b66401]{flex:0 0 auto}.tb-center[data-v-71b66401]{flex:1;min-width:0}.logo-title[data-v-71b66401]{font-size:14px;display:none}.ware-select[data-v-71b66401]{width:100%;max-width:140px;font-size:13px}.search-trigger[data-v-71b66401]{display:none}.tb-right[data-v-71b66401]{flex:0 0 auto}.bottom-drawer[data-v-71b66401]{display:none}.float-zoom[data-v-71b66401]{top:auto;bottom:16px;right:10px}.float-batch[data-v-71b66401]{display:none}.warehouse-app[data-v-71b66401]{flex-direction:column}.canvas-area[data-v-71b66401]{position:fixed;top:50px;left:0;right:0;bottom:0;overflow:hidden}.warehouse-viewport[data-v-71b66401]{position:absolute;top:50%;left:50%;width:calc(100vh - 50px);height:100vw;transform:translate(-50%,-50%) rotate(90deg);touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overflow:auto;will-change:transform}.location[data-v-71b66401]{touch-action:pan-x pan-y}.dialog-box[data-v-71b66401]{width:calc(100vw - 16px);max-height:85vh;margin:auto 8px}.dialog-header[data-v-71b66401]{padding:16px 18px}.dialog-body[data-v-71b66401]{padding:12px 16px}.material-item[data-v-71b66401]{flex-direction:column;align-items:flex-start;gap:10px}.material-stock[data-v-71b66401]{width:100%;justify-content:flex-start;margin-left:0;padding-top:8px;border-top:1px solid rgba(59,130,246,.1)}}body{margin:0;padding:0}.supplier-trend-modal{box-sizing:border-box!important;width:min(1100px,94vw)!important;min-width:800px!important;max-width:94vw!important;max-height:88vh;text-align:left;display:flex;flex-direction:column;padding:24px 28px!important}.supplier-trend-modal .modal-box-title{text-align:center;border-bottom:1px solid #000;padding-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:16px}.trend-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap;padding:12px 16px;border:1px solid #000;background:#fafafa}.trend-date-label{font-size:12px;color:#374151;white-space:nowrap}.trend-date-input{border:1px solid #000;border-radius:0;padding:5px 8px;font-size:12px;background:#fff;color:#000;outline:none;min-width:130px}.trend-date-input:focus{border-color:#1d4ed8}.trend-query-btn{margin-left:auto;padding:6px 22px;font-size:12px}.trend-chart-wrap{position:relative;width:100%;height:560px;min-height:520px;border:1px solid #000;background:#fff;flex:1 1 auto;overflow:hidden}.trend-charts-stack{display:flex;flex-direction:column;width:100%;height:100%}.trend-chart-block{flex:1 1 50%;display:flex;flex-direction:column;border-bottom:1px solid #e5e7eb}.trend-chart-block:last-child{border-bottom:none}.trend-chart-title{font-size:12px;font-weight:600;color:#374151;padding:8px 12px 4px;background:#fafafa;border-bottom:1px solid #e5e7eb}.trend-chart-inner{flex:1 1 auto;width:100%;min-height:0}.trend-empty,.trend-error,.trend-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#374151}.trend-error{color:#dc2626}.trend-stats{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:10px 14px;border:1px solid #000;background:#fafafa;font-size:12px;color:#374151}.trend-stats-row{display:flex;align-items:center;gap:14px}.trend-stats-tag{display:inline-block;padding:2px 8px;border:1px solid currentColor;font-size:11px;font-weight:600;min-width:64px;text-align:center}.tag-rate{color:#dc2626}.tag-rent{color:#1d4ed8}.tag-occupy{color:#16a34a}.num-rate{color:#dc2626;font-weight:600}.num-rent{color:#1d4ed8;font-weight:600}.num-occupy{color:#16a34a;font-weight:600}.bottom-summary-bar{position:fixed;bottom:0;left:0;right:0;height:56px;min-height:56px;background:#fff;border-top:1px solid #e5e7eb;display:flex;align-items:center;padding:0 16px;gap:0;z-index:9999;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}.summary-project{font-size:13px;font-weight:600;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.summary-divider{width:1px;height:20px;background:#d1d5db;margin:0 12px;flex-shrink:0}.summary-item{display:flex;align-items:center;gap:5px;flex-shrink:0}.summary-label{font-size:12px;color:#6b7280}.summary-value{font-size:13px;font-weight:600;color:#000}.summary-rate.rate-normal .summary-value{color:#16a34a}.summary-rate.rate-warn .summary-value{color:#ea580c}.summary-rate.rate-danger .summary-value{color:#dc2626;font-weight:700}.summary-rate.rate-danger{border:1px solid #dc2626;border-radius:4px;padding:0 6px;margin:0 -2px}.summary-rate.rate-empty .summary-value{color:#9ca3af}.summary-legend{display:flex;align-items:flex-end;gap:4px;margin-left:auto;flex-shrink:0;padding:4px 8px;background:hsla(0,0%,100%,.95);border:1px solid #e5e7eb;border-radius:4px;cursor:grab;touch-action:none}.summary-legend.is-dragging{cursor:grabbing;box-shadow:0 6px 20px rgba(0,0,0,.18)}.legend-title{font-size:11px;color:#6b7280;margin-right:4px;white-space:nowrap;align-self:center}.legend-swatch-cell{display:inline-flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.legend-swatch{width:14px;height:16px;display:inline-block;border:1px solid rgba(0,0,0,.25);flex-shrink:0}.legend-swatch-label{font-size:10px;color:#4b5563;white-space:nowrap;font-variant-numeric:tabular-nums}.legend-text{font-size:11px;color:#6b7280;margin-left:4px;white-space:nowrap;align-self:center}@media (max-width:600px){.canvas-area{position:fixed;top:50px;left:0;right:0;bottom:0;overflow:hidden}.bottom-summary-bar{display:none!important}.summary-project{max-width:90px;font-size:12px}.summary-divider{margin:0 8px}.legend-swatch{width:10px;height:12px}.legend-text,.legend-title{display:none}}.profile-page[data-v-2dc6447e]{min-height:100vh;background:var(--background-color);padding-bottom:calc(60px + env(safe-area-inset-bottom));box-sizing:border-box}.header[data-v-2dc6447e]{display:flex;align-items:center;justify-content:center;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px rgba(35,177,192,.18);position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(52px + env(safe-area-inset-top));box-sizing:border-box}.title[data-v-2dc6447e]{margin:0;font-size:16px;font-weight:600;color:var(--header-text)}.content[data-v-2dc6447e]{padding:12px;margin-top:calc(52px + env(safe-area-inset-top))}.menu-card[data-v-2dc6447e],.user-card[data-v-2dc6447e]{margin-bottom:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--card-background)}.user-card[data-v-2dc6447e] .el-card__body{padding:16px}.user-row[data-v-2dc6447e]{display:flex;align-items:center;gap:14px}.user-avatar[data-v-2dc6447e]{flex:0 0 auto;background:rgba(35,177,192,.12);color:var(--primary-color);font-size:28px;font-weight:600}.user-meta[data-v-2dc6447e]{flex:1;min-width:0}.user-name[data-v-2dc6447e]{font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-all}.user-account[data-v-2dc6447e]{margin-top:4px;font-size:13px;color:var(--text-secondary);word-break:break-all}.menu-item[data-v-2dc6447e]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-tap-highlight-color:transparent}.menu-item[data-v-2dc6447e]:last-child{border-bottom:none}.menu-item[data-v-2dc6447e]:active{background:rgba(0,0,0,.04)}.menu-left[data-v-2dc6447e]{display:flex;align-items:center;gap:10px;min-width:0}.menu-icon[data-v-2dc6447e]{font-size:18px}.menu-label[data-v-2dc6447e]{font-size:15px;color:var(--text-primary)}.menu-arrow[data-v-2dc6447e]{color:var(--text-light,#c0c4cc);font-size:14px}.logout-btn[data-v-2dc6447e]{width:100%;height:44px;font-size:16px;font-weight:600;border-radius:10px}.tab-bar[data-v-2dc6447e]{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card-background);box-shadow:0 -2px 10px var(--shadow-light);border-top:1px solid var(--border-color);z-index:1000;box-sizing:border-box}.tab-item[data-v-2dc6447e]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;cursor:pointer}.tab-icon[data-v-2dc6447e]{width:28px;height:28px;margin-bottom:2px;opacity:.5}.tab-text[data-v-2dc6447e]{font-size:12px;color:var(--text-light,#909399)}.tab-item.active .tab-icon[data-v-2dc6447e]{opacity:1;filter:brightness(0) saturate(100%) invert(46%) sepia(79%) saturate(333%) hue-rotate(142deg) brightness(91%) contrast(89%)}.tab-item.active .tab-text[data-v-2dc6447e]{color:var(--primary-color);font-weight:500}.update-log-page[data-v-719588fd]{min-height:100vh;background:var(--background-color);box-sizing:border-box}.header[data-v-719588fd]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px rgba(35,177,192,.18);position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(52px + env(safe-area-inset-top));box-sizing:border-box}.back-btn[data-v-719588fd]{width:36px;height:36px;padding:0;color:var(--header-text)}.back-icon[data-v-719588fd]{width:22px;height:22px}.title[data-v-719588fd]{margin:0;flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--header-text)}.header-right[data-v-719588fd]{width:36px}.content[data-v-719588fd]{padding:12px;margin-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.log-card[data-v-719588fd]{margin-bottom:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--card-background)}.log-card[data-v-719588fd] .el-card__body{padding:14px}.log-header[data-v-719588fd]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.log-meta[data-v-719588fd]{display:flex;align-items:center;gap:6px;min-width:0}.version-tag[data-v-719588fd]{font-weight:600}.log-date[data-v-719588fd]{flex:0 0 auto;font-size:12px;color:var(--text-secondary)}.log-title[data-v-719588fd]{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--text-primary)}.log-details[data-v-719588fd]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.log-details li[data-v-719588fd]{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:1.5;color:var(--text-secondary)}.detail-icon[data-v-719588fd]{flex:0 0 auto;margin-top:2px;color:var(--primary-color);font-size:14px}.log-details li span[data-v-719588fd]{flex:1;min-width:0;word-break:break-word}.about-page[data-v-c8504ae6]{min-height:100vh;background:var(--background-color);box-sizing:border-box}.header[data-v-c8504ae6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px rgba(35,177,192,.18);position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(52px + env(safe-area-inset-top));box-sizing:border-box}.back-btn[data-v-c8504ae6]{width:36px;height:36px;padding:0;color:var(--header-text)}.back-icon[data-v-c8504ae6]{width:22px;height:22px}.title[data-v-c8504ae6]{margin:0;flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--header-text)}.header-right[data-v-c8504ae6]{width:36px}.content[data-v-c8504ae6]{padding:12px;margin-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.hero-card[data-v-c8504ae6],.section-card[data-v-c8504ae6]{margin-bottom:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--card-background)}.hero-card[data-v-c8504ae6] .el-card__body{display:flex;flex-direction:column;align-items:center;padding:20px 16px;text-align:center}.section-card[data-v-c8504ae6] .el-card__header{padding:12px 14px;border-bottom:1px solid var(--border-color)}.section-card[data-v-c8504ae6] .el-card__body{padding:12px 14px}.company-logo[data-v-c8504ae6]{width:72px;height:72px;border-radius:14px;-o-object-fit:contain;object-fit:contain;margin-bottom:12px;border:1px solid var(--border-color);background:var(--card-background)}.company-name[data-v-c8504ae6]{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.product-name[data-v-c8504ae6]{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.section-header[data-v-c8504ae6]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary)}.section-text[data-v-c8504ae6]{margin:0 0 10px;font-size:13px;line-height:1.7;color:var(--text-secondary)}.section-text[data-v-c8504ae6]:last-child{margin-bottom:0}.contact-item[data-v-c8504ae6],.feature-item[data-v-c8504ae6]{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-color)}.contact-item[data-v-c8504ae6]:last-child,.feature-item[data-v-c8504ae6]:last-child{border-bottom:none}.feature-icon-wrap[data-v-c8504ae6]{flex:0 0 auto;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.feature-info[data-v-c8504ae6]{flex:1;min-width:0}.feature-info h4[data-v-c8504ae6]{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.feature-info p[data-v-c8504ae6]{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary)}.contact-icon[data-v-c8504ae6]{flex:0 0 auto;margin-top:2px;font-size:18px}.contact-body[data-v-c8504ae6]{flex:1;min-width:0}.contact-label[data-v-c8504ae6]{font-size:12px;color:var(--text-secondary);margin-bottom:2px}.contact-text[data-v-c8504ae6]{font-size:14px;color:var(--text-primary);word-break:break-all}.copyright[data-v-c8504ae6]{margin:8px 0 0;text-align:center;font-size:12px;color:var(--text-secondary)}.change-password-page[data-v-3a498766]{min-height:100vh;background:var(--background-color);box-sizing:border-box}.header[data-v-3a498766]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px rgba(35,177,192,.18);position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(52px + env(safe-area-inset-top));box-sizing:border-box}.back-btn[data-v-3a498766]{width:36px;height:36px;padding:0;color:var(--header-text)}.back-icon[data-v-3a498766]{width:22px;height:22px}.title[data-v-3a498766]{margin:0;flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--header-text)}.header-right[data-v-3a498766]{width:36px}.content[data-v-3a498766]{padding:12px;margin-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.form-card[data-v-3a498766]{border-radius:12px;border:1px solid var(--border-color);background:var(--card-background)}.form-card[data-v-3a498766] .el-card__body{padding:16px}.form-intro[data-v-3a498766]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.form-tip[data-v-3a498766]{margin:0;font-size:13px;color:var(--text-secondary);text-align:center}.password-form[data-v-3a498766] .el-form-item__label{font-weight:500;color:var(--text-primary)}.password-strength[data-v-3a498766]{display:flex;align-items:center;gap:8px;margin:-4px 0 14px}.strength-label[data-v-3a498766]{flex:0 0 auto;font-size:12px;color:var(--text-secondary)}.strength-bars[data-v-3a498766]{display:flex;flex:1;gap:4px;height:6px}.strength-bar[data-v-3a498766]{flex:1;border-radius:3px;background:var(--border-color);transition:background-color .2s ease}.strength-bar.active.level-1[data-v-3a498766]{background:#ef4444}.strength-bar.active.level-2[data-v-3a498766]{background:#f59e0b}.strength-bar.active.level-3[data-v-3a498766]{background:#10b981}.strength-bar.active.level-4[data-v-3a498766]{background:#3b82f6}.strength-text[data-v-3a498766]{flex:0 0 auto;font-size:12px;font-weight:500}.strength-text.level-1[data-v-3a498766]{color:#ef4444}.strength-text.level-2[data-v-3a498766]{color:#f59e0b}.strength-text.level-3[data-v-3a498766]{color:#10b981}.strength-text.level-4[data-v-3a498766]{color:#3b82f6}.submit-btn[data-v-3a498766]{width:100%;height:44px;margin-top:8px;font-size:16px;font-weight:600;border-radius:10px}.settings-page[data-v-928f1ea2]{min-height:100vh;background:var(--background-color);box-sizing:border-box}.header[data-v-928f1ea2]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));background:var(--header-background);color:var(--header-text);box-shadow:0 2px 8px rgba(35,177,192,.18);position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(52px + env(safe-area-inset-top));box-sizing:border-box}.back-btn[data-v-928f1ea2]{width:36px;height:36px;padding:0;color:var(--header-text)}.back-icon[data-v-928f1ea2]{width:22px;height:22px}.title[data-v-928f1ea2]{margin:0;flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--header-text)}.header-right[data-v-928f1ea2]{width:36px}.content[data-v-928f1ea2]{padding:12px;margin-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.setting-card[data-v-928f1ea2]{margin-bottom:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--card-background)}.setting-card[data-v-928f1ea2] .el-card__header{padding:12px 14px;border-bottom:1px solid var(--border-color)}.setting-card[data-v-928f1ea2] .el-card__body{padding:12px 14px}.card-header[data-v-928f1ea2]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary)}.card-icon[data-v-928f1ea2]{font-size:18px}.option-group[data-v-928f1ea2]{display:flex;flex-direction:column;gap:8px;width:100%}.option-radio[data-v-928f1ea2]{margin:0!important;width:100%;height:auto;padding:10px 12px;border-radius:8px}.option-radio[data-v-928f1ea2] .el-radio__label{font-size:14px;color:var(--text-primary)}.switch-list[data-v-928f1ea2]{display:flex;flex-direction:column}.switch-row[data-v-928f1ea2]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color)}.switch-row[data-v-928f1ea2]:last-child{border-bottom:none}.switch-label[data-v-928f1ea2]{font-size:14px;color:var(--text-primary)}