.login-wrap[data-v-154e919f]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-154e919f]{background:#fff;border-radius:16px;width:380px;max-width:90vw;padding:40px;box-shadow:0 20px 60px #00000026}.login-card h2[data-v-154e919f]{text-align:center;color:#303133;margin-bottom:24px;font-size:22px}.login-card input[data-v-154e919f]{box-sizing:border-box;border:1px solid #dcdfe6;border-radius:4px;width:100%;height:40px;margin-bottom:16px;padding:0 12px;font-size:14px;line-height:40px;display:block}.login-card input[data-v-154e919f]:focus{border-color:#409eff;outline:none}.btn-primary[data-v-154e919f]{color:#fff;cursor:pointer;background:#409eff;border:none;border-radius:4px;width:100%;padding:10px;font-size:15px;transition:all .2s}.btn-primary[data-v-154e919f]:hover{background:#66b1ff}.btn-primary[data-v-154e919f]:disabled{cursor:not-allowed;background:#a0cfff}.name-input{text-align:center;border:1px dashed #409eff;border-radius:4px;outline:none;width:100%;min-width:60px;padding:4px;font-size:13px;font-weight:700}.name-input:focus{background-color:#ecf5ff;border-style:solid}.item-name-cell strong{text-align:left;white-space:normal;word-break:break-all;width:100%;padding:4px;font-weight:700;display:block}.sum-name{white-space:normal;word-wrap:break-word;word-break:break-all;max-width:7em;margin:0 auto;text-align:center!important;padding-left:5px!important;padding-right:5px!important}.sum-col-name,.matrix-table th.col-name,.matrix-table td.item-name-cell{text-align:center!important;padding-left:5px!important;padding-right:5px!important}body{color:#333;background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-layout{height:100vh;display:flex}.sidebar{color:#ccc;background:#1e2a3a;flex-direction:column;flex-shrink:0;width:220px;display:flex}.sidebar-logo{color:#fff;border-bottom:1px solid #2a3a4a;justify-content:space-between;align-items:center;padding:20px;font-size:18px;font-weight:700;display:flex}.mobile-header,.hamburger{display:none}.item-name-cell{cursor:default}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.sidebar-nav a{color:#aaa;cursor:pointer;padding:10px 20px;font-size:14px;text-decoration:none;transition:all .2s;display:block}.sidebar-nav a:hover{color:#fff;background:#2a3a4a}.sidebar-nav a.active{color:#fff;background:#3a4a5a;border-left:3px solid #409eff}.sidebar-section-label{color:#888;text-transform:uppercase;letter-spacing:1px;border-top:1px solid #2a3a4a;margin-top:8px;padding:12px 20px 4px;font-size:12px}.sidebar-footer{border-top:1px solid #2a3a4a;justify-content:space-between;align-items:center;padding:16px 20px;font-size:13px;display:flex}.main-content{flex:1;padding:24px;overflow-y:auto}.page-title{margin-bottom:20px;font-size:22px}.stats-row{gap:16px;margin-bottom:24px;display:flex}.stat-card{text-align:center;background:#fff;border-radius:8px;flex:1;padding:20px;box-shadow:0 2px 8px #0000000f}.stat-num{color:#409eff;font-size:32px;font-weight:700}.stat-num-warning{color:#e6a23c}.stat-num-success{color:#67c23a}.stat-name{color:#409eff;text-overflow:ellipsis;white-space:nowrap;min-height:38px;font-size:24px;font-weight:700;line-height:38px;overflow:hidden}.stat-label{color:#999;margin-top:4px;font-size:13px}.stat-hint{color:#909399;text-overflow:ellipsis;white-space:nowrap;min-height:16px;margin-top:4px;font-size:11px;overflow:hidden}.card h3{margin-bottom:12px;font-size:16px}.dashboard-workspace{padding:16px 20px}.batch-workspace-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.batch-workspace-toolbar h3{color:#1f2937;margin:0;font-size:17px}.batch-workspace-toolbar p{color:#667085;margin:4px 0 0;font-size:13px}.batch-workspace-filters,.batch-workspace-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-workspace-actions{justify-content:flex-end}.batch-count,.selection-count{color:#667085;white-space:nowrap;font-size:14px}.selection-count{color:#344054;font-weight:600}.selection-column{width:42px;text-align:center!important}.selection-column input{cursor:pointer;accent-color:#1677ff;width:16px;height:16px;margin:0}.data-table tr.is-selected td{background:#eff8ff}.dashboard-batch-table td{vertical-align:middle}.batch-list-page .data-table th,.batch-list-page .data-table td{text-align:center;vertical-align:middle}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eee;padding:8px 10px}.data-table th{color:#666;background:#fafafa;font-weight:600}.data-table tr:hover{background:#f8f9fb}.batch-layout{flex-direction:column;gap:10px;display:flex}.batch-right{background:#fff;border:1px solid #eaecf0;border-radius:12px;flex:1;padding:12px 14px;overflow-x:auto}.batch-item{cursor:pointer;border:1px solid #eee;border-radius:6px;margin-bottom:8px;padding:12px;transition:all .2s}.batch-item:hover{border-color:#409eff}.batch-item.active{background:#ecf5ff;border-color:#409eff}.batch-item-name{font-size:15px;font-weight:600}.batch-item-sub{color:#888;margin-top:2px;font-size:12px}.batch-item-meta{color:#aaa;margin-top:2px;font-size:11px}.batch-item-actions{gap:6px;margin-top:6px;display:flex}.empty-hint{text-align:center;color:#999;padding:60px 20px;font-size:15px}.btn{cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:6px 14px;font-size:13px;transition:all .2s;display:inline-block}.btn:hover{color:#409eff;border-color:#409eff}.btn-primary{color:#fff;background:#409eff;border-color:#409eff}.btn-primary:hover{color:#fff;background:#66b1ff;border-color:#66b1ff}.btn-danger{color:#fff;background:#f56c6c;border-color:#f56c6c}.btn-danger:hover{color:#fff;background:#f78989;border-color:#f78989}.btn-xs{padding:2px 8px;font-size:11px}.status-badge{border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.status-pending{color:#e6a23c;background:#fdf6ec}.status-warn{color:#f56c6c;background:#fef0f0}.status-ok{color:#67c23a;background:#f0f9eb}.status-closed{color:#475467;background:#f2f4f7}.unlock-button{color:#b54708;background:#fff;border-color:#b54708;width:100%;min-height:28px;margin-top:4px;display:block}.modal-mask{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:10px;max-width:90vw;max-height:85vh;padding:24px;transition:width .3s;overflow-y:auto;box-shadow:0 8px 30px #00000026}.modal-card h3{margin-bottom:16px;font-size:18px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.form-group{margin-bottom:12px}.form-group label{color:#666;margin-bottom:4px;font-size:13px;display:block}.form-group input,.form-group select{border:1px solid #dcdfe6;border-radius:4px;outline:none;width:100%;padding:8px 10px;font-size:14px}.form-group input:focus,.form-group select:focus{border-color:#409eff}@media print{.no-print{display:none!important}}#print-zone h3{margin-bottom:8px}#print-zone p{color:#888;margin-bottom:12px;font-size:14px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-track{background:0 0}.batch-select-bar{background:#fff;border:1px solid #eaecf0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:16px 20px;display:flex}.batch-detail-name{color:#1f2937;font-size:20px;line-height:1.35;display:block}.batch-detail-summary{min-width:0}.batch-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.batch-select{background:#fff;border:1px solid #dcdfe6;border-radius:4px;outline:none;flex:1;max-width:500px;padding:8px 12px;font-size:14px}.batch-select:focus{border-color:#409eff}.matrix-filters{background:#fafbfc;border:1px solid #eaecf0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px;display:flex}.matrix-filters label{color:#344054;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.matrix-filters input,.matrix-filters select{background:#fff;border:1px solid #d0d5dd;border-radius:6px;min-height:32px;padding:5px 8px}.matrix-filters input{width:190px}.matrix-filters select{min-width:104px}.matrix-table .col-type-alloc{background-color:#fff8e1!important}.matrix-table .col-type-actual{background-color:#e8f5e9!important}.matrix-table th.col-type-alloc{background-color:#fff3cd!important}.matrix-table th.col-type-actual{background-color:#c8e6c9!important}.matrix-table .allocation-error-row td{background-color:#fff1f0!important}.quantity-error{color:#c4320a;font-weight:700}.matrix-table-wrap{border:1px solid #d0d5dd;border-radius:8px;max-height:calc(100vh - 236px);margin-top:0;position:relative;overflow:auto}.matrix-table{border-collapse:separate;border-spacing:0;--matrix-name-width:170px;--matrix-quantity-width:62px}.matrix-table .matrix-sticky{z-index:2;box-sizing:border-box;background:#fff;position:sticky}.matrix-table .matrix-sticky-name{min-width:var(--matrix-name-width);width:var(--matrix-name-width);left:0}.matrix-table .matrix-sticky-company{left:var(--matrix-name-width);min-width:var(--matrix-quantity-width);width:var(--matrix-quantity-width)}.matrix-table .matrix-sticky-allocated{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width));min-width:var(--matrix-quantity-width);width:var(--matrix-quantity-width)}.matrix-table .matrix-sticky-allocation-remaining{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width));min-width:var(--matrix-quantity-width);width:var(--matrix-quantity-width)}.matrix-table .matrix-sticky-actual{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width));min-width:var(--matrix-quantity-width);width:var(--matrix-quantity-width)}.matrix-table .matrix-sticky-report-remaining{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width));min-width:var(--matrix-quantity-width);width:var(--matrix-quantity-width)}.matrix-table .matrix-sticky-last{border-right:2px solid #98a2b3;box-shadow:5px 0 6px -7px #1018288c}.matrix-table.matrix-view-allocation .matrix-sticky-allocation-remaining{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width))}.matrix-table.matrix-view-report .matrix-sticky-actual{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width))}.matrix-table.matrix-view-report .matrix-sticky-report-remaining{left:calc(var(--matrix-name-width) + var(--matrix-quantity-width) + var(--matrix-quantity-width))}.matrix-table thead .matrix-sticky{z-index:5;background:#f5f7fa}.matrix-table tfoot .matrix-sticky{z-index:3;background:#fafbfc}.matrix-table tbody tr:hover .matrix-sticky{background:#f0f7ff}.matrix-table tbody tr:nth-child(2n) .matrix-sticky{background:#f8f9fc}.matrix-table .matrix-sticky.col-type-alloc{background-color:#fff8e1!important}.matrix-table thead .matrix-sticky.col-type-alloc{background-color:#fff3cd!important}.matrix-table .matrix-sticky.col-type-actual{background-color:#e8f5e9!important}.matrix-table thead .matrix-sticky.col-type-actual{background-color:#c8e6c9!important}.matrix-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.matrix-table th,.matrix-table td{text-align:center;vertical-align:middle;border:1px solid #d0d5dd;padding:4px 5px}.matrix-table th{color:#333;background:#d9e1f2;font-size:11px;font-weight:700;line-height:16px}.matrix-table thead th{z-index:3;border-bottom:2px solid #98a2b3;position:sticky;top:0}.matrix-table tbody tr:nth-child(2n){background:#f8f9fc}.matrix-table tfoot td{background:#eef1f8;border-top:2px solid #000;font-weight:600}.matrix-table tbody tr:hover{background:#eef2fa}.matrix-table .col-name{text-align:left;width:170px;min-width:150px}.matrix-table .item-name-cell strong{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:160px;display:block;overflow:hidden}.matrix-table .col-emp{color:#409eff;background:#ecf5ff;min-width:60px;font-size:11px;font-weight:600;padding:2px!important}.emp-header-name{text-overflow:ellipsis;white-space:nowrap;max-width:56px;font-size:11px;overflow:hidden}.emp-header-sub{color:#99c9ff;margin-top:1px;font-size:9px;font-weight:400}.matrix-table .col-total{color:#e6a23c;background:#fdf6ec;min-width:58px;font-weight:600}.matrix-table .col-status{min-width:66px}.cell-input{text-align:center;background:#fff;border:1px solid #dcdfe6;border-radius:2px;outline:none;width:42px;min-height:26px;padding:2px 3px;font-size:12px}.cell-qty{vertical-align:top;padding:2px!important}.cell-qty-row{margin-bottom:1px}.matrix-table .cell-employee{white-space:nowrap;min-width:60px;padding:3px!important}.actual-qty{color:#67c23a;font-size:11px;font-weight:600}.actual-qty:before{color:#999;margin-right:1px;font-size:9px}.cell-input:focus{border-color:#409eff;box-shadow:0 0 0 2px #409eff33}.cell-input:hover{border-color:#c0c4cc}.cell-input[type=number]{-moz-appearance:textfield}.cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.matrix-table .col-actions{width:84px;min-width:84px}.matrix-table .cell-employee{color:#303133;font-weight:500}.matrix-table .cell-total{color:#e6a23c;font-weight:600}.matrix-table .cell-total-actual{color:#67c23a;font-weight:600}.action-group{white-space:nowrap;flex-wrap:nowrap;justify-content:center;gap:2px;display:flex}.matrix-action-cell{min-width:84px}.matrix-table .cell-remark{color:#667085;text-overflow:ellipsis;white-space:nowrap;min-width:80px;max-width:110px;overflow:hidden}.matrix-action-edit,.matrix-action-delete{white-space:nowrap;word-break:keep-all;background:0 0;border-color:#0000;border-radius:4px;flex:none;min-height:24px;padding:2px 3px;font-size:11px;line-height:16px}.matrix-action-edit{color:#175cd3}.matrix-action-delete{color:#b42318}.batch-row-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.batch-row-actions .btn{white-space:nowrap;border-radius:6px;min-width:0;min-height:30px;padding:4px 9px;font-size:12px;line-height:20px}.batch-row-actions .batch-action-edit{color:#344054;background:#fff;border-color:#d0d5dd}.batch-row-actions .batch-action-edit:hover{color:#1d2939;background:#f9fafb;border-color:#98a2b3}.batch-row-actions .batch-action-reopen{color:#067647;background:#ecfdf3;border-color:#abefc6}.batch-row-actions .batch-action-reopen:hover{color:#05603a;background:#d1fadf;border-color:#75e0a7}.summary-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.summary-batch-selector{align-items:center;gap:8px;min-width:260px;display:flex}.summary-batch-selector label{white-space:nowrap;font-size:14px;font-weight:600}.summary-batch-selector .batch-select{width:min(360px,55vw)}.summary-toolbar-actions{gap:8px;margin-left:auto;display:flex}.summary-table-wrap{background:#fff;border:1px solid #000;max-height:calc(100vh - 240px);overflow:auto}.summary-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}.summary-table th,.summary-table td{text-align:center;white-space:nowrap;border:1px solid #30343b;padding:3px 4px;font-size:12px}.original-actual{color:#b54708;white-space:nowrap;font-size:11px;font-weight:400;display:block}.summary-table thead th{z-index:3;color:#333;background:#d9e1f2;border-bottom:2px solid #000;font-size:11px;font-weight:700;position:sticky;top:0}.summary-table tbody tr:nth-child(2n){background:#f8f9fc}.summary-table tfoot td{background:#eef1f8;border-top:2px solid #000;font-weight:600}.sum-col-idx{width:34px;min-width:34px}.sum-col-name{text-align:left;width:128px;min-width:128px}.sum-col-emp{background:#ecf5ff;min-width:58px;font-size:11px;padding:2px!important}.sum-col-total{background:#fdf6ec;min-width:50px;font-size:11px;font-weight:600}.sum-emp-name{color:#409eff;font-size:11px}.sum-emp-sub{color:#99c9ff;justify-content:center;gap:1px;margin-top:1px;font-size:9px;display:flex}.sum-sub-alloc{color:#e6a23c}.sum-sub-div{color:#ccc}.sum-sub-actual{color:#67c23a}.sum-name{text-align:left;text-overflow:ellipsis;max-width:128px;font-weight:500;overflow:hidden}.sum-idx{color:#909399;font-size:12px}.sum-cell{font-size:13px;padding:4px!important}.sum-cell-employee{min-width:58px}.sum-cell-divider{color:#98a2b3;margin:0 2px}.sum-cell-alloc{color:#e6a23c;font-weight:500}.sum-cell-actual{color:#67c23a;font-weight:500}.sum-total{font-size:13px;font-weight:600}.sum-total-alloc{color:#e6a23c;background:#fdf6ec}.sum-total-actual{color:#67c23a;background:#f0f9eb}.sum-footer-name{text-align:center;padding:4px!important}.summary-table{--summary-index-width:34px;--summary-name-width:150px;--summary-quantity-width:62px}.summary-table .sum-sticky{z-index:2;box-sizing:border-box;background:#fff;position:sticky}.summary-table .sum-sticky-idx{min-width:var(--summary-index-width);width:var(--summary-index-width);left:0}.summary-table .sum-sticky-name{left:var(--summary-index-width);min-width:var(--summary-name-width);width:var(--summary-name-width)}.summary-table .sum-sticky-company{left:calc(var(--summary-index-width) + var(--summary-name-width))}.summary-table .sum-sticky-company,.summary-table .sum-sticky-allocated,.summary-table .sum-sticky-allocation-remaining,.summary-table .sum-sticky-actual,.summary-table .sum-sticky-report-remaining{min-width:var(--summary-quantity-width);width:var(--summary-quantity-width)}.summary-table .sum-sticky-allocated{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width))}.summary-table .sum-sticky-allocation-remaining{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width) + var(--summary-quantity-width))}.summary-table .sum-sticky-actual{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width) + var(--summary-quantity-width) + var(--summary-quantity-width))}.summary-table .sum-sticky-report-remaining{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width) + var(--summary-quantity-width) + var(--summary-quantity-width) + var(--summary-quantity-width))}.summary-table .sum-sticky-last{border-right-width:2px;border-right-color:#98a2b3;box-shadow:5px 0 6px -7px #1018288c}.summary-table.summary-view-report .sum-sticky-actual{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width))}.summary-table.summary-view-report .sum-sticky-report-remaining{left:calc(var(--summary-index-width) + var(--summary-name-width) + var(--summary-quantity-width) + var(--summary-quantity-width))}.matrix-workspace-actions,.summary-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.quantity-view-toggle{background:#fff;border:1px solid #d0d5dd;border-radius:8px;display:inline-flex;overflow:hidden}.quantity-view-toggle button{color:#475467;cursor:pointer;background:#fff;border:0;border-right:1px solid #d0d5dd;min-height:30px;padding:0 9px;font-size:13px}.quantity-view-toggle button:last-child{border-right:0}.quantity-view-toggle button.active{color:#1677ff;background:#eaf3ff;font-weight:700}.item-order-list{max-height:50vh;margin:14px 0;padding-left:28px;overflow:auto}.item-order-list li{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.item-order-list li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-import-preview{max-height:42vh;margin-top:12px;overflow:auto}.report-import-preview .data-table{margin-top:8px}.import-source-sections{color:#475467;background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;margin:8px 0 12px;padding:8px 12px 8px 28px;font-size:13px;line-height:1.7}.summary-table tbody tr:nth-child(2n) .sum-sticky{background:#f8f9fc}.summary-table thead .sum-sticky{z-index:5;background:#d9e1f2}.summary-table tfoot .sum-sticky{z-index:3;background:#eef1f8}.summary-table .sum-sticky.sum-total-alloc{background-color:#fdf6ec}.summary-table .sum-sticky.sum-total-actual{background-color:#f0f9eb}.summary-table thead .sum-sticky.sum-total-alloc{background-color:#fff3cd}.summary-table thead .sum-sticky.sum-total-actual{background-color:#c8e6c9}@media print{.summary-table-wrap{border:0;max-height:none;overflow:visible}.no-print{display:none!important}.summary-table{font-size:11px}.summary-table th,.summary-table td{border-color:#000;padding:1px 2px}}@media (width<=768px){.summary-toolbar{align-items:stretch}.summary-batch-selector{width:100%}.summary-batch-selector .batch-select{flex:1;width:auto}.summary-toolbar-actions{margin-left:0}.summary-table-wrap{max-height:calc(100vh - 270px)}.matrix-filters,.matrix-filters label{flex-direction:column;align-items:stretch;width:100%}.matrix-filters input,.matrix-filters select{width:100%;min-height:44px}.sidebar{z-index:1000;height:100vh;transition:transform .25s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #0000004d}.sidebar-logo{justify-content:space-between;align-items:center;display:flex}.hamburger{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1;display:inline-block}.admin-layout{flex-direction:column}.main-content{margin-left:0;padding:12px}.mobile-header{border-bottom:1px solid #eee;align-items:center;gap:10px;margin-bottom:12px;padding:8px 0 12px;display:flex;position:relative}.mobile-header .hamburger{z-index:1001;color:#333;background:#fffffff2;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex;position:fixed;top:10px;left:10px;box-shadow:0 2px 8px #0000001f}.mobile-title{color:#303133;padding-left:44px;font-size:16px;font-weight:600}.batch-select-bar{flex-direction:column;align-items:stretch;gap:12px;padding:10px 12px}.batch-detail-actions{justify-content:stretch}.batch-detail-actions .btn{flex:1;min-height:44px}.batch-select-bar select{flex:1;min-width:120px;max-width:none}.matrix-table-wrap{overflow-x:auto}.matrix-table{border:1px solid #000;min-width:760px;font-size:12px}.matrix-table th,.matrix-table td{border-color:#000;padding:2px}.matrix-table .col-name{min-width:150px}.matrix-table .col-emp{min-width:72px;font-size:11px}.batch-right{padding:14px}.matrix-workspace-header{flex-direction:column;align-items:stretch}.matrix-workspace-header .btn{width:100%;min-height:44px}.item-name-cell{cursor:pointer;color:#409eff;text-decoration:underline}.card .form-inline,.card>div[style*=flex]{flex-direction:column;align-items:stretch}.card input{width:100%!important;max-width:none!important}.stats-row{flex-wrap:wrap}.stat-card{min-width:calc(50% - 8px)}.dashboard-workspace,.batch-list-page .card{padding:14px}.batch-workspace-toolbar,.batch-workspace-filters,.batch-workspace-actions{flex-direction:column;align-items:stretch}.batch-workspace-actions .btn{width:100%;min-height:44px}.batch-count,.selection-count{white-space:normal}.dashboard-batch-table{min-width:620px}.batch-list-page .data-table,.batch-list-page .data-table thead,.batch-list-page .data-table tbody,.batch-list-page .data-table tr,.batch-list-page .data-table th,.batch-list-page .data-table td{display:block}.batch-list-page .data-table thead{display:none}.batch-list-page .data-table tr{background:#fff;border:1px solid #eee;border-radius:10px;margin-bottom:12px;padding:14px 16px;box-shadow:0 2px 8px #00000014}.batch-list-page .data-table td{text-align:left;border:none;padding:4px 0;font-size:13px}.batch-list-page .data-table td:first-child{color:#303133;padding-bottom:6px;font-size:16px;font-weight:600}.batch-list-page .data-table td:nth-child(2):before{content:"预计到货: ";color:#909399;font-size:12px}.batch-list-page .data-table td:nth-child(3):before{content:"货品数: ";color:#909399;font-size:12px}.batch-list-page .data-table td:nth-child(4):before{content:"备注: ";color:#909399;font-size:12px}.batch-list-page .data-table td:nth-child(5):before{content:"创建: ";color:#909399;font-size:12px}.batch-list-page .data-table td:last-child{border-top:1px solid #f0f0f0;width:auto;margin-top:8px;padding-top:10px}.batch-list-page .batch-row-actions{justify-content:flex-start;gap:6px}.batch-list-page .batch-row-actions .btn{min-width:0;min-height:32px;padding:4px 9px}.batch-list-page .data-table .cell-remark{max-width:none}.modal-card{padding:16px;width:95vw!important}.modal-card-wide{width:95vw;padding:16px}#print-zone .data-table{font-size:12px}#print-zone .data-table th,#print-zone .data-table td{padding:4px}.mobile-assign-list .cell-input{width:60px}}.batch-list-page .data-table td{vertical-align:middle}.batch-list-page .data-table .cell-remark{text-overflow:ellipsis;white-space:nowrap;color:#909399;max-width:200px;font-size:12px;overflow:hidden}.detail-page-heading{align-items:center;gap:12px;margin-bottom:16px;display:flex}.detail-back-link{color:#344054;cursor:pointer;background:0 0;border:0;min-height:36px;padding:0;font-size:14px;font-weight:600}.detail-back-link:hover{color:#1677ff}.detail-page-heading .page-title{margin:0}.batch-detail-meta{color:#667085;align-items:center;gap:10px;margin-top:6px;font-size:14px;display:flex}.matrix-workspace-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.matrix-workspace-header h3{color:#1f2937;margin:0;font-size:16px;line-height:22px}.matrix-workspace-header p{color:#667085;margin:2px 0 0;font-size:12px}.matrix-save-button{white-space:nowrap;border-radius:7px;min-height:34px;padding:5px 11px;font-size:13px}.batch-search{color:#344054;align-items:center;gap:8px;font-size:14px;display:flex}.batch-search input{border:1px solid #d0d5dd;border-radius:8px;min-height:36px;padding:6px 10px}.form-hint{color:#667085;margin:12px 0 6px;font-size:13px;line-height:1.6}.import-resolution-panel{color:#7a271a;background:#fffbfa;border:1px solid #fecdca;border-radius:8px;margin-top:12px;padding:12px;font-size:13px}.import-resolution-panel p{color:#b42318;margin:6px 0 8px}.import-resolution-row{border-top:1px solid #fecdca;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr) auto;align-items:end;gap:10px;padding:10px 0;display:grid}.import-resolution-source{overflow-wrap:anywhere;flex-direction:column;gap:3px;display:flex}.import-resolution-source span{color:#667085;font-size:12px}.import-resolution-input{color:#344054;flex-direction:column;gap:4px;font-weight:600;display:flex}.import-resolution-input input{background:#fff;border:1px solid #98a2b3;border-radius:8px;min-height:36px;padding:6px 10px}.import-resolution-input input:disabled{color:#98a2b3;background:#f2f4f7}.import-resolution-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.import-preview-meta{color:#667085;margin:0 0 10px;font-size:12px;line-height:1.6}.product-settings-intro{color:#667085;margin:-8px 0 16px;font-size:14px}.product-settings-tabs{gap:12px;margin-bottom:20px;display:flex}.product-settings-tab{color:#344054;text-align:left;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;flex-direction:column;flex:1 1 0;gap:4px;min-width:0;padding:14px 16px;display:flex}.product-settings-tab strong{color:#1f2937;font-size:15px}.product-settings-tab span{color:#667085;font-size:13px;line-height:1.45}.product-settings-tab:hover{background:#f9fafb;border-color:#98a2b3}.product-settings-tab.active{background:#eff6ff;border-color:#1677ff;box-shadow:inset 0 0 0 1px #1677ff}.product-settings-tab.active strong{color:#0958d9}.product-settings-section-heading{margin:0 0 12px}.product-settings-section-heading h3{color:#1f2937;margin:0 0 4px;font-size:18px}.product-settings-section-heading p{color:#667085;margin:0;font-size:14px;line-height:1.5}.product-settings-scope-notice{background:#f5f9ff;border:1px solid #c9dcf8;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;padding:14px 16px;display:flex}.product-settings-scope-notice strong{color:#1f2937;font-size:15px;display:block}.product-settings-scope-notice p{color:#667085;margin:4px 0 0;font-size:14px;line-height:1.55}.mapping-toolbar{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:16px;padding:16px}.mapping-help{color:#667085;margin:0 0 16px;font-size:14px;line-height:1.6}.mapping-create-row{grid-template-columns:minmax(280px,1.4fr) minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.mapping-field{color:#344054;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.mapping-field input{box-sizing:border-box;background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:100%;min-width:0;min-height:40px;padding:8px 10px}.mapping-create-row .btn{white-space:nowrap;min-height:40px}.mapping-filter-row{border-top:1px solid #e4e7ec;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:16px;display:flex}.mapping-search{color:#344054;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.mapping-search input{box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;min-width:260px;min-height:36px;padding:6px 10px}.mapping-count{color:#667085;white-space:nowrap;font-size:14px}.master-settings-toolbar,.master-settings-actions{align-items:center;gap:12px;display:flex}.master-settings-toolbar{justify-content:space-between}.master-settings-actions{flex-wrap:wrap;justify-content:flex-end}.mapping-selection-actions{border-top:1px solid #e4e7ec;margin-top:12px;padding-top:12px}.master-create-panel{background:#f8fbff;border:1px solid #dbe5f1;border-radius:10px;margin-bottom:14px;padding:12px}.mapping-create-panel{background:#fff;margin:0 0 14px}.master-create-heading{color:#344054;margin-bottom:10px;font-size:13px;font-weight:600}.master-list-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.master-list-toolbar--actions{border-bottom:1px solid #eaecf0;min-height:44px;margin-bottom:16px;padding-bottom:16px}.master-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.master-search{color:#344054;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.master-search input{box-sizing:border-box;background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:220px;min-height:36px;padding:6px 10px}.master-list-count{color:#667085;white-space:nowrap;font-size:13px}.import-settings-switch{background:#f8fafc;border:1px solid #d0d5dd;border-radius:10px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.import-settings-tab{color:#475467;background:0 0;border:0;border-radius:7px;min-height:36px;padding:6px 12px;font-size:14px}.import-settings-tab.active{color:#175cd3;background:#fff;box-shadow:0 1px 2px #1018281f}.import-order-card{padding:18px}.import-order-list{border:1px solid #d0d5dd;border-radius:10px;overflow:hidden}.import-order-row{background:#fff;border-bottom:1px solid #eaecf0;grid-template-columns:24px 34px minmax(180px,1fr) minmax(110px,auto) auto auto;align-items:center;gap:10px;min-height:54px;padding:8px 12px;display:grid}.import-order-row:last-child{border-bottom:0}.import-order-row.is-dragging{opacity:.55;background:#eff8ff}.import-order-handle{color:#98a2b3;cursor:grab;font-size:21px}.import-order-position{color:#667085;font-variant-numeric:tabular-nums}.import-order-name{overflow-wrap:anywhere;color:#1f2937;font-weight:600}.import-order-meta{color:#667085;white-space:nowrap;font-size:13px}.import-order-new{color:#b54708;background:#fffaeb;min-width:auto}.import-order-actions{justify-content:flex-end;gap:6px;display:flex}.import-order-actions .btn{min-height:32px;padding:4px 8px;font-size:13px}.import-order-hint{color:#667085;margin:12px 0 0;font-size:13px}.modal-hint{color:#667085;margin:-4px 0 18px;font-size:14px;line-height:1.5}.master-table-wrap .data-table th,.master-table-wrap .data-table td{vertical-align:middle;text-align:center}.master-table-wrap .data-table .master-name-cell{text-align:left}.master-table-wrap .data-table .action-cell{justify-content:center}.master-status-cell,.master-action-cell{white-space:nowrap;text-align:center!important}.selection-disabled{color:#98a2b3}.empty-table-row{color:#667085;text-align:center;padding:32px!important}.batch-pagination{color:#667085;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;font-size:14px;display:flex}.pagination-actions{align-items:center;gap:8px;display:flex}.pagination-actions .btn{min-height:40px}.master-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.master-table-wrap{width:100%;overflow-x:auto}.master-table-wrap .data-table{min-width:680px}.status-badge{text-align:center;border-radius:999px;min-width:52px;padding:4px 8px;font-size:13px;display:inline-block}.status-badge.is-active{color:#16803c;background:#ecfdf3}.status-badge.is-inactive{color:#667085;background:#f2f4f7}.action-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.btn-status{color:#16803c;background:#fff;border-color:#16803c}.form-message{color:#16803c;margin-bottom:10px}.form-message.is-error{color:#c4320a}.form-error{color:#c4320a;margin-top:8px}.master-edit-modal{width:380px}.master-create-modal-wide{width:min(520px,100vw - 32px)}@media (width<=768px){.master-form{align-items:stretch}.master-list-toolbar,.master-search,.master-list-actions{flex-direction:column;align-items:stretch}.master-list-actions .btn{width:100%;min-height:44px}.master-search input{width:100%}.master-list-count{white-space:normal}.master-form input,.master-form button{width:100%;min-height:44px;max-width:none!important}.action-cell .btn{min-width:64px;min-height:44px}.detail-page-heading,.batch-search{flex-direction:column;align-items:stretch}.batch-search input{width:100%}.batch-detail-meta{margin:8px 0 0;display:block}.batch-pagination{flex-direction:column;align-items:stretch}.pagination-actions{justify-content:space-between}.mapping-toolbar{padding:14px}.product-settings-tabs{flex-direction:column}.product-settings-tab{min-height:72px}.product-settings-scope-notice{flex-direction:column;align-items:flex-start}.import-settings-switch{width:100%}.import-settings-tab{flex:1}.import-order-card{padding:14px}.import-order-row{grid-template-columns:20px 28px minmax(0,1fr) auto;gap:8px}.import-order-meta,.import-order-row .status-badge{grid-column:3/-1}.import-order-actions{grid-column:3/-1;justify-content:flex-start}.mapping-create-row{flex-direction:column;align-items:stretch;display:flex}.mapping-create-row .btn{width:100%;min-height:44px}.import-resolution-row{grid-template-columns:1fr;align-items:stretch}.import-resolution-row>.btn{width:100%;min-height:40px}.import-resolution-actions .btn{flex:180px;min-height:42px}.mapping-filter-row,.mapping-search{flex-direction:column;align-items:stretch}.mapping-search input{width:100%;min-width:0}.mapping-count{white-space:normal}.name-mapping-page .data-table,.name-mapping-page .data-table tbody,.name-mapping-page .data-table tr,.name-mapping-page .data-table td{width:100%;display:block}.name-mapping-page .data-table thead{display:none}.name-mapping-page .data-table tr{border:1px solid #d0d5dd;border-radius:10px;margin-bottom:10px;padding:8px 12px}.name-mapping-page .data-table td{overflow-wrap:anywhere;border:0;gap:12px;padding:6px 0;display:flex}.name-mapping-page .data-table td:before{color:#667085;content:attr(data-label);flex:0 0 76px}.name-mapping-page .data-table .action-cell{align-items:center}.name-mapping-page .data-table .empty-table-row{display:block}}.emp-page[data-v-1a0d190d]{max-width:800px;margin:0 auto;padding:12px;font-size:14px}.emp-header[data-v-1a0d190d]{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.emp-header h2[data-v-1a0d190d]{flex:1;margin:0;font-size:18px}.emp-user[data-v-1a0d190d]{color:#606266;margin-right:8px;font-size:13px}.empty-state[data-v-1a0d190d]{text-align:center;color:#909399;padding:40px 20px}.empty-icon[data-v-1a0d190d]{margin-bottom:8px;font-size:18px}.batch-card[data-v-1a0d190d]{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:10px;margin-bottom:10px;padding:14px 16px;transition:all .2s;box-shadow:0 2px 8px #0000000f}.batch-card[data-v-1a0d190d]:active{background:#f5f7fa;transform:scale(.98)}.batch-card-name[data-v-1a0d190d]{color:#303133;margin-bottom:6px;font-size:16px;font-weight:600}.batch-card-meta[data-v-1a0d190d]{color:#606266;gap:16px;font-size:13px;display:flex}.batch-card-date[data-v-1a0d190d]{color:#bbb;margin-top:6px;font-size:12px}.table-wrap[data-v-1a0d190d]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.table-toolbar[data-v-1a0d190d]{background:#fafafa;border-bottom:1px solid #eee;padding:12px 14px}.table-info[data-v-1a0d190d]{color:#606266;font-size:13px}.matrix-table-wrap[data-v-1a0d190d]{overflow-x:auto}.emp-table[data-v-1a0d190d]{border-collapse:collapse;width:100%;min-width:500px;font-size:13px}.emp-table th[data-v-1a0d190d]{color:#333;text-align:center;white-space:nowrap;background:#d9e1f2;border-bottom:2px solid #000;padding:8px 6px;font-size:12px;font-weight:700}.emp-table td[data-v-1a0d190d]{text-align:center;vertical-align:middle;border-bottom:1px solid #e0e0e0;padding:6px 4px}.emp-table tbody tr[data-v-1a0d190d]:nth-child(2n){background:#f8f9fc}.emp-table tbody tr[data-v-1a0d190d]:hover{background:#ecf5ff}.col-name[data-v-1a0d190d]{white-space:nowrap;font-weight:500;text-align:left!important;padding-left:10px!important}.col-unit[data-v-1a0d190d]{color:#909399;font-size:12px}.col-alloc[data-v-1a0d190d]{color:#e6a23c;font-weight:500}.col-qty[data-v-1a0d190d]{min-width:100px}.qty-input[data-v-1a0d190d]{text-align:center;border:1px solid #dcdfe6;border-radius:4px;width:80px;padding:6px 8px;font-size:13px}.qty-input[data-v-1a0d190d]:focus{border-color:#409eff;outline:none;box-shadow:0 0 0 2px #409eff33}.col-action[data-v-1a0d190d]{white-space:nowrap}.save-ok[data-v-1a0d190d]{color:#67c23a;margin-left:4px;font-weight:700}.save-err[data-v-1a0d190d]{color:#f56c6c;margin-left:4px;font-weight:700}.tag[data-v-1a0d190d]{border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.tag-success[data-v-1a0d190d]{color:#67c23a;background:#f0f9eb}.tag-warning[data-v-1a0d190d]{color:#e6a23c;background:#fdf6ec}.tag-default[data-v-1a0d190d]{color:#909399;background:#f0f2f5}.save-toast[data-v-1a0d190d]{z-index:1000;border-radius:6px;padding:10px 20px;font-size:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.toast-ok[data-v-1a0d190d]{color:#67c23a;background:#f0f9eb;border:1px solid #c2e7b0}.toast-err[data-v-1a0d190d]{color:#f56c6c;background:#fef0f0;border:1px solid #fbc4c4}.btn[data-v-1a0d190d]{cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:6px 14px;font-size:13px;display:inline-block}.btn-primary[data-v-1a0d190d]{color:#fff;background:#409eff;border-color:#409eff}.btn-primary[data-v-1a0d190d]:disabled{cursor:not-allowed;background:#a0cfff;border-color:#a0cfff}.btn-danger[data-v-1a0d190d]{color:#fff;background:#f56c6c;border-color:#f56c6c}.btn-sm[data-v-1a0d190d]{padding:4px 10px;font-size:12px}@media (width<=600px){.emp-table[data-v-1a0d190d]{min-width:400px;font-size:12px}.emp-table th[data-v-1a0d190d],.emp-table td[data-v-1a0d190d]{padding:4px 2px}.qty-input[data-v-1a0d190d]{width:60px;padding:4px 6px;font-size:12px}.col-name[data-v-1a0d190d]{min-width:60px}}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f0f2f5;min-height:100vh;font-family:Microsoft YaHei,PingFang SC,sans-serif}a{color:#409eff;text-decoration:none}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px;transition:all .2s;display:inline-block}.btn-primary{color:#fff;background:#409eff}.btn-primary:hover{background:#337ecc}.btn-success{color:#fff;background:#67c23a}.btn-success:hover{background:#529b2e}.btn-danger{color:#fff;background:#f56c6c}.btn-danger:hover{background:#cd2525}.btn-sm{padding:4px 12px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border-radius:10px;margin-bottom:16px;padding:20px;box-shadow:0 2px 8px #0000000f}input,select{border:1px solid #dcdfe6;border-radius:6px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .2s}input:focus,select:focus{border-color:#409eff}input{width:100%}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #ebeef5;padding:10px 12px;font-size:14px}th{color:#606266;background:#f5f7fa;font-weight:600}.tag{border-radius:4px;padding:2px 10px;font-size:12px;display:inline-block}.tag-info{color:#1890ff;background:#e6f7ff}.tag-warning{color:#fa8c16;background:#fff7e6}.tag-success{color:#52c41a;background:#f6ffed}.tag-default{color:#999;background:#f5f5f5}.desktop-only{display:block}.mobile-only{display:none}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}
