/* 货单匹配工作台 */
.mw-fill-settings { border:1px solid #dce6d4; background:#f7faf3; border-radius:12px; padding:20px; margin-bottom:24px; }
.mw-fill-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.mw-uid-label,.mw-channel-panel > label { display:block; font-size:12px; font-weight:500; color:#42604c; margin-bottom:8px; }
.mw-uid-input { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mw-uid-input input { min-height:42px; width:320px; max-width:100%; border:1px solid #dce5d7; background:#fff; border-radius:8px; padding:10px 12px; font-size:13px; color:#244b37; }
.mw-uid-input > span { font-size:12px; color:#73876b; overflow-wrap:anywhere; }
.mw-fill-note { font-size:11px; color:#7d8d74; margin-top:10px; line-height:1.8; overflow-wrap:anywhere; }
.mw-fill-note.is-error { color:#a34f37; }
.mw-channel-panel { padding:16px 18px; background:#f6f9f1; border:1px solid #e3e9dc; border-radius:10px; margin-bottom:16px; }
#matchFillEligibleCount { margin-top:10px; color:#6b8162; font-size:12px; }
.mw-fill-ready { color:#64814c; margin-top:7px; font-size:10px; }
.match-workspace { max-width:1240px; width:100%; max-height:94vh; background:#fff; }
.match-workspace > .modal-scroll > .modal-body { padding:28px 32px 24px; }
.match-workspace .modal-close { top:16px; margin:16px 16px -52px 0; z-index:40; }
.mw-header { padding-right:42px; margin-bottom:22px; }
.mw-eyebrow { font-size:11px; letter-spacing:2px; color:#7a906e; display:block; margin-bottom:8px; }
.mw-header h2 { font-size:25px; font-weight:600; letter-spacing:.3px; color:#244b37; margin:0 0 7px; }
.mw-header p { color:var(--muted); font-size:13px; }
.mw-steps { list-style:none; display:flex; gap:28px; padding:14px 0 20px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.mw-steps li { display:flex; align-items:center; gap:9px; font-size:13px; color:#849087; }
.mw-steps li span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#f0f3ec; font-size:12px; }
.mw-steps .active { color:#244b37; font-weight:600; }
.mw-steps .active span { background:#244b37; color:#fff; }
.mw-notice { padding:12px 16px; background:#edf4ea; color:#42604c; border:1px solid #dbe7d4; border-radius:9px; margin-bottom:18px; font-size:13px; overflow-wrap:anywhere; }
.mw-notice.is-error { background:#fff3ef; color:#a34f37; border-color:#efdbd2; }
.mw-dropzone { border:1.5px dashed #b9cbb2; border-radius:16px; padding:48px 24px 38px; text-align:center; background:linear-gradient(130deg,#fafcf7,#f2f6ed); transition:background .15s,border-color .15s; }
.mw-dropzone.drag-over { background:#e5efdc; border-color:#244b37; }
.mw-upload-icon { display:grid; place-items:center; width:52px; height:52px; background:#e5eddf; border-radius:14px; color:#42604c; font-size:29px; margin:0 auto 18px; }
.mw-dropzone h3 { font-size:20px; font-weight:600; margin-bottom:9px; }
.mw-dropzone p { color:var(--muted); font-size:13px; margin-bottom:24px; }
.mw-dropzone .btn-primary { min-width:160px; }
.mw-local-note { display:block; font-size:11px; color:#849087; margin-top:16px; }
.mw-import-help { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 4px; }
.mw-import-help h4 { font-size:14px; font-weight:600; margin-bottom:8px; }
.mw-import-help p { font-size:12px; color:var(--muted); line-height:1.8; }
.mw-secondary { padding:9px 14px; min-height:38px; border:1px solid #dce5d7; background:#fff; border-radius:8px; color:#42604c; font-size:12px; cursor:pointer; white-space:nowrap; }
.mw-secondary:hover { background:#f1f5ed; border-color:#b3c6a9; }
.mw-text-button { border:0; background:transparent; color:#5a7356; padding:8px 4px; min-height:38px; font-size:12px; cursor:pointer; }
.match-workspace button:disabled { opacity:.45; cursor:default; }
.mw-resume { display:flex; align-items:center; justify-content:space-between; gap:14px; background:#f6f8f2; padding:14px 18px; border-radius:9px; font-size:12px; overflow-wrap:anywhere; }
.mw-filebar { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--line); border-radius:11px; padding:16px 18px; background:#fafbf8; margin-bottom:24px; }
.mw-filebar > div:first-child { min-width:0; }
.mw-filebar strong { font-size:14px; display:block; overflow-wrap:anywhere; }
.mw-filebar span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.mw-section-title h3 { font-size:17px; font-weight:600; margin-bottom:6px; }
.mw-section-title p { font-size:12px; color:var(--muted); }
.mw-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 18px; margin:22px 0 24px; }
.match-workspace .match-field { gap:7px; min-width:0; }
.match-workspace .match-field > span { color:#42604c; font-size:12px; font-weight:500; }
.match-workspace .match-field select { max-width:none; min-width:0; width:100%; border-color:#dce5d7; background:#fff; min-height:42px; padding:10px; font-size:13px; }
.match-field small { color:#8a948a; font-size:11px; }
.mw-scope { display:grid; grid-template-columns:minmax(180px,1fr) 2fr; align-items:center; gap:24px; background:#f5f7f0; border-radius:10px; padding:18px; margin-bottom:24px; }
.mw-scope p { font-size:12px; color:var(--muted); line-height:1.8; }
.mw-preview { border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.mw-preview > summary { cursor:pointer; font-size:12px; color:#526b55; padding:13px 16px; background:#fafbf8; }
.mw-preview-scroll { overflow:auto; max-height:220px; }
.mw-preview table { border-collapse:collapse; font-size:12px; width:100%; }
.mw-preview th { background:#edf2e9; color:#526b55; font-weight:500; white-space:nowrap; }
.mw-preview td,.mw-preview th { padding:10px 14px; text-align:left; border-top:1px solid var(--line); }
.mw-preview td { min-width:130px; max-width:280px; overflow-wrap:anywhere; }
.mw-config-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; }
.mw-config-footer p { color:var(--muted); font-size:12px; }
.mw-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:22px; }
.mw-summary > div { background:#f1f6ec; border:1px solid #e2eadc; border-radius:11px; padding:16px 18px; }
.mw-summary span { display:block; color:#6b8162; font-size:12px; margin-bottom:7px; }
.mw-summary strong { display:block; font-size:28px; font-weight:600; color:#244b37; line-height:1.2; font-variant-numeric:tabular-nums; }
.mw-summary strong small { font-size:13px; font-weight:400; color:#849087; }
.mw-summary .mw-stat-amber { background:#faf5e9; border-color:#eee6d3; }
.mw-stat-amber span,.mw-stat-amber strong { color:#a48138; }
.mw-summary .mw-stat-gray { background:#f5f5f2; border-color:#e8e8e2; }
.mw-stat-gray span,.mw-stat-gray strong { color:#858982; }
.mw-inline-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mw-results-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.mw-status-tabs { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid #e7eade; border-radius:9px; background:#f7f9f3; }
.mw-status-tabs button { border:0; border-radius:6px; padding:8px 12px; background:transparent; color:#7a8676; font-size:12px; cursor:pointer; min-height:34px; }
.mw-status-tabs button[aria-pressed=true] { background:#fff; color:#244b37; box-shadow:0 1px 5px #173c2c13; font-weight:600; }
.mw-result-search input { width:260px; max-width:100%; border:1px solid var(--line); border-radius:8px; padding:11px 12px; min-height:42px; background:#fafbf8; color:var(--text); font-size:12px; }
.mw-result-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:14px 0 18px; }
.mw-result-filters .combobox { flex:0 1 260px; }
.mw-result-filters .combobox input { font-size:12px; min-height:40px; padding:10px 12px; }
#matchVisibleCount { margin-left:auto; font-size:12px; color:var(--muted); }
.mw-exportbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 18px; border:1px solid #e3e9dc; background:#f6f9f1; border-radius:10px; }
.mw-exportbar strong { font-size:13px; font-weight:500; }
.mw-exportbar p { font-size:11px; margin-top:4px; color:var(--muted); }
.mw-result-note { font-size:11px; line-height:1.8; color:#8a948a; padding:12px 0; }
.mw-results-scroll { max-height:54vh; overflow:auto; border:1px solid var(--line); border-radius:10px; overscroll-behavior:contain; }
.mw-results-table { width:100%; border-collapse:collapse; font-size:12px; table-layout:fixed; }
.mw-results-table th { position:sticky; top:0; z-index:2; text-align:left; color:#65795d; background:#f0f4e9; font-weight:500; padding:12px; border-bottom:1px solid #e2e8d9; }
.mw-results-table th:nth-child(1) { width:65px; }
.mw-results-table th:nth-child(2) { width:22%; }
.mw-results-table th:nth-child(3) { width:28%; }
.mw-results-table th:nth-child(4) { width:16%; }
.mw-results-table th:nth-child(5) { width:14%; }
.mw-results-table th:nth-child(6) { width:112px; }
.mw-results-table td { vertical-align:top; padding:16px 12px; border-bottom:1px solid #edf0e6; overflow-wrap:anywhere; }
.mw-results-table tbody tr:last-child td { border-bottom:0; }
.mw-results-table tr:hover td { background:#fcfdf9; }
.mw-raw-title { line-height:1.7; color:#62735b; }
.mw-hit { display:flex; gap:10px; align-items:flex-start; }
.mw-hit img { width:52px; height:52px; object-fit:contain; background:#f4f6f0; border:1px solid #eef0e9; border-radius:7px; flex-shrink:0; }
.mw-hit-name { color:#344c2e; text-decoration:none; line-height:1.7; }
.mw-hit-name:hover { text-decoration:underline; }
.mw-hit-price { display:block; color:#244b37; font-size:13px; margin-top:5px; }
.mw-shop-name { font-size:11px; color:#62735b; }
.mw-badge { display:inline-block; border-radius:5px; padding:4px 7px; font-size:10px; background:#eaf2e1; color:#64814c; white-space:nowrap; }
.mw-badge.fuzzy { background:#fbf1d9; color:#aa8534; }
.mw-badge.unmatched { background:#eceee8; color:#858982; }
.mw-recommend { display:inline-block; font-size:10px; margin-top:7px; color:#5d7c43; background:#f1f6e8; padding:3px 6px; border-radius:4px; }
.mw-no-hit { color:#91968d; font-size:12px; }
.mw-row-actions { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.mw-row-actions .open-link { font-size:11px; border:0; color:#728868; }
.mw-row-details { margin-top:9px; font-size:11px; }
.mw-row-details > summary { cursor:pointer; color:#8a9b7b; }
.mw-row-details dl { margin-top:8px; padding:10px; background:#f5f8ee; border-radius:6px; }
.mw-row-details dl > div { display:block; margin-bottom:6px; }
.mw-row-details dt { color:#8a948a; }
.mw-row-details dd { color:#62735b; overflow-wrap:anywhere; }
.mw-row-details p { color:#7a8676; margin-top:7px; line-height:1.8; }
.mw-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; color:var(--muted); font-size:12px; }
.mw-pagination > div { display:flex; align-items:center; gap:14px; }
.mw-results-empty { text-align:center; padding:56px 20px; color:#7a8676; }
.mw-results-empty strong { font-size:16px; font-weight:500; }
.mw-results-empty p { margin-top:9px; font-size:12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.match-workspace .export-progress { position:sticky; top:0; z-index:20; background:#f1f6ec; border:1px solid #dbe7d4; border-radius:10px; box-shadow:0 5px 12px #173c2c0a; }
@media(max-width:1000px) { .mw-results-table { min-width:960px; } .mw-columns { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .mw-fill-settings { padding:16px; } .mw-fill-columns { grid-template-columns:1fr; gap:14px; }
 .mw-uid-input input { width:100%; } .mw-uid-input > span { flex-basis:100%; }
 .match-workspace > .modal-scroll > .modal-body { padding:22px 16px; }
 .mw-header h2 { font-size:20px; } .mw-header p { font-size:12px; }
 .mw-steps { gap:12px; justify-content:space-between; padding-bottom:16px; }
 .mw-steps li { font-size:11px; gap:5px; } .mw-steps li span { width:22px; height:22px; }
 .mw-dropzone { padding:34px 16px 28px; } .mw-dropzone h3 { font-size:18px; }
 .mw-import-help,.mw-filebar,.mw-exportbar { flex-direction:column; align-items:stretch; gap:14px; }
 .mw-filebar { padding:14px; } .mw-filebar strong { font-size:12px; }
 .mw-columns { grid-template-columns:1fr; gap:15px; } .mw-scope { grid-template-columns:1fr; gap:12px; padding:14px; }
 .mw-config-footer { flex-direction:column; align-items:stretch; } .mw-config-footer .btn-primary { width:100%; }
 .mw-summary { grid-template-columns:repeat(2,1fr); gap:9px; } .mw-summary > div { padding:13px 14px; } .mw-summary strong { font-size:24px; }
 .mw-results-tools { display:block; } .mw-status-tabs { justify-content:space-between; } .mw-status-tabs button { font-size:11px; padding:8px; }
 .mw-result-search { display:block; margin-top:12px; } .mw-result-search input { width:100%; }
 .mw-result-filters .combobox { flex:1 1 100%; } #matchVisibleCount { flex:1 1 100%; margin:0; }
 .mw-exportbar .mw-inline-actions { flex-wrap:nowrap; } .mw-exportbar button { flex:1; font-size:12px; padding:10px 8px; }
 .mw-results-scroll { max-height:60vh; overflow:auto; }
 .mw-results-table { min-width:0; table-layout:auto; }
 .mw-results-table thead { display:none; } .mw-results-table tbody { display:block; }
 .mw-results-table tr { display:block; padding:14px; border-bottom:1px solid #e2e8d9; }
 .mw-results-table td { display:block; width:100%; padding:7px 0; border:0; }
 .mw-results-table td::before { content:attr(data-label); display:block; color:#96a08b; font-size:10px; margin-bottom:4px; }
 .mw-results-table td:first-child { display:flex; gap:10px; font-size:11px; }
 .mw-results-table td:first-child::before { margin-bottom:0; }
 .mw-row-actions { flex-direction:row; align-items:center; gap:18px; }
 .mw-hit img { width:58px; height:58px; } .mw-pagination { flex-direction:column; gap:10px; }
 .mw-resume { flex-direction:column; align-items:stretch; }
}
