.wm-legend {display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;color:var(--ui-color-text);font-size:var(--ui-font-size-note);}
.wm-legend>span {display:flex;align-items:center;gap:5px;}
.wm-key {display:inline-block;width:20px;height:14px;border:1px solid var(--ui-color-control-border);}
.wm-workspace {position:relative;}
.wm-scroll {overflow:auto;max-height:72vh;border:1px solid var(--ui-color-border);border-radius:12px;background:var(--panel-solid);scroll-padding:20px;}
.wm-canvas {position:relative;margin:20px;}
.wm-rack {position:absolute;padding:0 2px 7px;border:1px solid var(--ui-color-control-border);border-radius:3px;background:var(--panel-solid);color:var(--ui-color-text);font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-medium);cursor:pointer;}
.wm-rack:hover,.wm-rack:focus-visible,.wm-selected {outline:2px solid var(--ui-color-primary-strong);z-index:3;}
.wm-full {border-color:var(--ui-color-border);color:var(--ui-color-muted);font-weight:var(--ui-font-weight-regular);}
.wm-occupied {border-color:var(--ui-color-warning);border-style:double;border-width:3px;}
.wm-reserved {border-style:dashed;}
.wm-unknown {border-style:dashed;border-color:var(--ui-color-warning);}
.wm-feature {position:absolute;display:flex;align-items:center;justify-content:center;white-space:pre-line;overflow:hidden;text-align:center;color:var(--ui-color-text);font-size:var(--ui-font-size-note);pointer-events:none;box-sizing:border-box;}
.wm-boundary {border:1px solid var(--ui-color-control-border);}
.wm-wall {background:var(--ui-color-title);z-index:1;}
.wm-wall-soft {background:var(--ui-color-control-border);}
.wm-room {border:1px solid var(--ui-color-border);background:var(--panel-solid);padding:2px;}
.wm-pillar-soft {border:0;background:var(--ui-color-title);color:var(--ui-color-title);padding:0;z-index:3;}
.wm-pillar-axis {position:absolute;border-left:1px dashed var(--ui-color-control-border);pointer-events:none;}
.wm-column-band {position:absolute;border-top:1px solid var(--ui-color-border);pointer-events:none;}
.wm-zone-area {position:absolute;border:1px solid var(--ui-color-border);border-radius:3px;box-sizing:border-box;pointer-events:none;}
.wm-zone-area-domestic,.wm-rack-zone-domestic {background:var(--ui-color-zone-domestic-surface);border-color:var(--ui-color-zone-domestic-border);}
.wm-zone-area-overseas,.wm-rack-zone-overseas {background:var(--ui-color-zone-cross-surface);border-color:var(--ui-color-zone-cross-border);}
.wm-zone-area-overseas-flow,.wm-rack-zone-overseas-flow {background:var(--ui-color-zone-cross-surface);border-color:var(--ui-color-zone-cross-border);}
.wm-zone-area-overseas-flow {border-style:dashed;border-width:2px;}
.wm-zone-area-accessories,.wm-rack-zone-accessories {background:var(--ui-color-zone-accessory-surface);border-color:var(--ui-color-zone-accessory-border);}
.wm-zone-area-turnover {background:var(--ui-color-zone-accessory-surface);}
.wm-zone-label {position:absolute;display:flex;align-items:center;gap:6px;pointer-events:none;color:var(--ui-color-text);font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-medium);white-space:nowrap;}
.wm-zone-swatch {width:12px;height:8px;border:1px solid var(--ui-color-zone-accessory-border);background:var(--ui-color-zone-accessory-surface);}
.wm-zone-domestic .wm-zone-swatch {background:var(--ui-color-zone-domestic-surface);border-color:var(--ui-color-zone-domestic-border);}
.wm-zone-overseas .wm-zone-swatch {background:var(--ui-color-zone-cross-surface);border-color:var(--ui-color-zone-cross-border);}
.wm-zone-overseas-flow .wm-zone-swatch {background:var(--ui-color-zone-cross-surface);border:2px dashed var(--ui-color-zone-cross-border);}
.wm-empty-rack {background:var(--ui-color-success);border-color:var(--ui-color-success);color:var(--ui-color-title);}
.wm-zone-area-sweet-paused {border-width:2px;background:color-mix(in srgb,var(--ui-color-muted) 12%,var(--panel-solid));border-color:var(--ui-color-control-border);}
.wm-rack-zone-sweet-paused {background:color-mix(in srgb,var(--ui-color-muted) 20%,var(--panel-solid));border:1px solid var(--ui-color-muted);color:var(--ui-color-text);}
.wm-zone-sweet-paused .wm-zone-swatch {background:var(--ui-color-muted);border-color:var(--ui-color-muted);}

.wm-meter {display:inline-block;width:96px;height:5px;border-radius:3px;background:var(--ui-color-border);overflow:hidden;flex-shrink:0;}
.wm-meter-fill {height:100%;display:block;border-radius:3px;transition:width .16s ease;}
.wm-rack .wm-meter {position:absolute;bottom:3px;left:4px;width:calc(100% - 8px);height:4px;}
.wm-meter-loose .wm-meter-fill,.wm-meter-empty .wm-meter-fill,.wm-legend-meter.wm-meter-loose {background:var(--ui-color-success);}
.wm-meter-tight .wm-meter-fill,.wm-legend-meter.wm-meter-tight {background:var(--ui-color-warning);}
.wm-meter-full .wm-meter-fill,.wm-legend-meter.wm-meter-full {background:var(--ui-color-danger);}
.wm-meter-overflow .wm-meter-fill,.wm-legend-meter.wm-meter-overflow {background:var(--ui-color-capacity-overflow);}
.wm-legend-meter {display:inline-block;width:24px;height:4px;border-radius:3px;}
.wm-meter-unknown {color:var(--ui-color-muted);font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-regular);}
.wm-rack.wm-capacity-unknown {padding-bottom:14px;}
.wm-rack .wm-meter-unknown {position:absolute;bottom:0;left:0;right:0;line-height:1.1;}
.wm-empty-rack .wm-meter {display:none;}
.wm-detail {position:absolute;top:0;right:0;bottom:0;width:min(480px,95%);z-index:5;overflow:auto;background:var(--panel-solid);padding:18px;border:2px solid var(--ui-color-control-border);border-radius:12px;box-shadow:var(--shadow);color:var(--ui-color-text);}
.wm-detail .panel-head {gap:12px;align-items:flex-start;}
.wm-detail h3 {font-size:var(--ui-font-size-section-title);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-title);}
.wm-product {padding:14px 0;border-bottom:1px solid var(--ui-color-border);}
.wm-detail .warehouse-product img {width:56px;height:56px;object-fit:contain;border-radius:6px;}
.wm-stock-row {display:grid;grid-template-columns:18px minmax(0,1fr) 100px;gap:10px;align-items:center;padding:10px 0;}
.wm-stock-row input[type=number] {width:100%;}
.wm-stock-row span span,.wm-clues .ui-note-text {display:block;}
.wm-stock-row>span:last-child {font-size:var(--ui-font-size-note);}
.wm-actions {padding-top:16px;display:grid;gap:14px;}
.wm-confirm {display:flex;align-items:flex-start;gap:8px;}
.wm-clues {padding:14px 0;}
.wm-clues .warehouse-product {margin:10px 0;}
.wm-capacity-detail {display:flex;gap:8px;align-items:center;}
.wm-empty-confirm {padding:12px 0;border-block:1px solid var(--ui-color-border);display:grid;gap:10px;}
@media(max-width:700px){.wm-detail {position:relative;width:100%;max-height:65vh;margin-top:12px;box-sizing:border-box;}.wm-scroll {max-height:50vh;}}
@media(prefers-reduced-motion:reduce){.wm-meter-fill {transition:none;}}

.wm-zone-soft {background:var(--ui-color-primary-soft);color:var(--ui-color-muted);border:0;}

.wm-virtual {border:2px dashed var(--ui-color-primary);background:var(--ui-color-primary-soft);color:var(--ui-color-text);}
.wm-edit-grid {background-image:linear-gradient(to right,var(--ui-color-border) 1px,transparent 1px),linear-gradient(to bottom,var(--ui-color-border) 1px,transparent 1px);background-size:33px 19px;touch-action:none;}
.wm-axis {position:absolute;z-index:4;pointer-events:none;color:var(--ui-color-muted);background:var(--panel-solid);font-size:var(--ui-font-size-caption);}
.wm-axis-x {top:0;}
.wm-axis-y {left:0;}
.wm-draw-box {position:absolute;pointer-events:none;border:2px solid var(--ui-color-primary);background:var(--ui-color-primary-soft);z-index:4;box-sizing:border-box;}
.wm-open-ground {border:1px dashed var(--ui-color-control-border);background:var(--panel-solid);color:var(--ui-color-muted);}
.wm-export-table {overflow:auto;max-height:55vh;}
.wm-export-table table {width:100%;border-collapse:collapse;}
.wm-export-table th,.wm-export-table td {padding:6px;text-align:left;border-bottom:1px solid var(--ui-color-border);}

.wm-editor-workspace.wm-editor-with-detail {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;}
.wm-editor-workspace .wm-detail {position:relative;inset:auto;width:auto;max-height:70vh;box-sizing:border-box;}
.wm-side-add,.wm-resize-handle {position:absolute;z-index:7;padding:0;border:1px solid var(--ui-color-primary);background:var(--panel-solid);color:var(--ui-color-primary);font:inherit;}
.wm-side-add {width:28px;height:28px;border-radius:50%;cursor:pointer;}
.wm-side-actions {display:flex;justify-content:space-between;gap:8px;}
.wm-edit-preview {position:absolute;z-index:4;border:2px dashed var(--ui-color-primary);box-sizing:border-box;pointer-events:none;}
.wm-edit-new {background:var(--ui-color-primary-soft);opacity:.8;}
.wm-resize-handle {width:20px;height:20px;border-radius:4px;touch-action:none;}
.wm-handle-left,.wm-handle-right {cursor:ew-resize;}
.wm-handle-top,.wm-handle-bottom {cursor:ns-resize;}
.wm-handle-move {cursor:move;}
@media(max-width:700px){.wm-editor-workspace.wm-editor-with-detail {display:block;}.wm-editor-workspace .wm-detail {max-height:55vh;}}

.wm-access-route {position:absolute;left:0;top:0;pointer-events:none;z-index:4;overflow:visible;}
.wm-access-route polyline {fill:none;stroke:var(--ui-color-primary);stroke-width:2;stroke-dasharray:6 4;}
.wm-route-fields {display:grid;gap:10px;}
.wm-route-fields select {max-width:100%;}

/* 右侧面板滚动时保留标题与关闭入口。 */
.wm-detail > .panel-head {position:sticky;top:-18px;z-index:6;background:var(--panel-solid);margin:-18px -18px 12px;padding:18px;border-bottom:1px solid var(--ui-color-border);}

/* 地图编辑：模式明确、预览局部更新、表单操作始终可达。 */
.wm-editor-toolbar {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.wm-mode-actions,.wm-edit-find {display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.wm-mode-actions [aria-pressed="true"] {background:var(--ui-color-primary-soft);color:var(--ui-color-primary);border-color:var(--ui-color-primary);}
.wm-edit-find input {width:112px;}
.wm-grid-coordinate {display:none;}
.wm-editor-error {min-height:1.4em;margin:4px 0;}
.wm-editor-workspace {height:max(400px,calc(100dvh - 320px));}
.wm-editor-workspace .wm-scroll {height:100%;max-height:none;min-width:0;}
.wm-editor-workspace.wm-editor-with-detail {grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;}
.wm-editor-workspace .wm-detail {max-height:100%;border-width:1px;padding:12px;}
.wm-editor-workspace .wm-detail > .panel-head {top:-12px;margin:-12px -12px 8px;padding:12px;align-items:center;}
.wm-editor-workspace .wm-actions {padding-top:4px;gap:8px;}
.wm-editor-workspace .wm-actions > label {display:grid;gap:4px;}
.wm-editor-workspace input,.wm-editor-workspace textarea,.wm-editor-workspace select {min-width:0;width:100%;box-sizing:border-box;font-size:var(--ui-font-size-body);}
.wm-editor-workspace textarea {resize:vertical;}
.wm-editor-workspace .wm-route-fields {gap:6px;font-size:var(--ui-font-size-body);}
.wm-preview-error {min-height:1.4em;margin:0;}
.wm-editor-footer {position:sticky;bottom:-12px;z-index:6;background:var(--panel-solid);padding:8px 0 12px;border-top:1px solid var(--ui-color-border);}
.wm-editor-footer button {width:100%;}
.wm-editor-workspace .primary-button {background:var(--ui-color-primary);color:var(--ui-color-on-primary);}
.wm-editor-workspace .wm-side-actions {flex-wrap:wrap;}
@media(max-width:700px){.wm-editor-workspace {height:auto;}.wm-editor-workspace .wm-scroll {height:50dvh;}.wm-editor-workspace .wm-detail {max-height:60dvh;}}

/* 已确认的仓库业务区域，复用全局中性配色。 */
.wm-zone-area-slow-moving,.wm-zone-area-jiajia-custom {background:var(--panel-solid);border-color:var(--ui-color-control-border);}
.wm-rack-zone-slow-moving,.wm-rack-zone-jiajia-custom {border-color:var(--ui-color-control-border);}
.wm-zone-slow-moving .wm-zone-swatch,.wm-zone-jiajia-custom .wm-zone-swatch {background:var(--panel-solid);border-color:var(--ui-color-control-border);}

.wm-overflow-clues {padding:12px 0;border-block:1px solid var(--ui-color-border);}
.wm-overflow-product {display:grid;gap:6px;padding:10px 0;}
.wm-stock-evidence {display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

.wm-overflow-product>strong {font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-medium);}

/* 同一滞销品区域使用统一浅底，标注留在左侧空白处。 */
.wm-zone-area-slow-moving,.wm-rack-zone-slow-moving {background:var(--ui-color-table-head);border-color:var(--ui-color-control-border);}
.wm-zone-slow-moving .wm-zone-swatch {background:var(--ui-color-table-head);border-color:var(--ui-color-control-border);}
.wm-zone-slow-moving {font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-regular);color:var(--ui-color-muted);}
.wm-product-stock-clues {display:grid;gap:6px;margin-top:8px;}
.wm-stock-heading {font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-semibold);margin-top:8px;}

/* 地图货区底纹与属性：用途、适配、状态分开。 */
.wm-purpose-regular {background:var(--ui-color-warehouse-regular-surface);border-color:var(--ui-color-warehouse-regular-border);}
.wm-purpose-regular .wm-zone-swatch,.wm-purpose-key.wm-purpose-regular i {background:var(--ui-color-warehouse-regular-surface);border-color:var(--ui-color-warehouse-regular-border);}
.wm-purpose-domestic {background:var(--ui-color-warehouse-domestic-surface);border-color:var(--ui-color-warehouse-domestic-border);}
.wm-purpose-domestic .wm-zone-swatch,.wm-purpose-key.wm-purpose-domestic i {background:var(--ui-color-warehouse-domestic-surface);border-color:var(--ui-color-warehouse-domestic-border);}
.wm-purpose-cross {background:var(--ui-color-warehouse-cross-surface);border-color:var(--ui-color-warehouse-cross-border);}
.wm-purpose-cross .wm-zone-swatch,.wm-purpose-key.wm-purpose-cross i {background:var(--ui-color-warehouse-cross-surface);border-color:var(--ui-color-warehouse-cross-border);}
.wm-purpose-slow {background:var(--ui-color-warehouse-slow-surface);border-color:var(--ui-color-warehouse-slow-border);}
.wm-purpose-slow .wm-zone-swatch,.wm-purpose-key.wm-purpose-slow i {background:var(--ui-color-warehouse-slow-surface);border-color:var(--ui-color-warehouse-slow-border);}
.wm-purpose-custom {background:var(--ui-color-warehouse-custom-surface);border-color:var(--ui-color-warehouse-custom-border);}
.wm-purpose-custom .wm-zone-swatch,.wm-purpose-key.wm-purpose-custom i {background:var(--ui-color-warehouse-custom-surface);border-color:var(--ui-color-warehouse-custom-border);}
.wm-purpose-turnover {background:var(--ui-color-warehouse-turnover-surface);border-color:var(--ui-color-warehouse-turnover-border);}
.wm-purpose-turnover .wm-zone-swatch,.wm-purpose-key.wm-purpose-turnover i {background:var(--ui-color-warehouse-turnover-surface);border-color:var(--ui-color-warehouse-turnover-border);}
.wm-purpose-paused {background:var(--ui-color-warehouse-paused-surface);border-color:var(--ui-color-warehouse-paused-border);}
.wm-purpose-paused .wm-zone-swatch,.wm-purpose-key.wm-purpose-paused i {background:var(--ui-color-warehouse-paused-surface);border-color:var(--ui-color-warehouse-paused-border);}
.wm-rack.wm-empty-rack {color:var(--ui-color-text);}
.wm-rack.wm-purpose-regular {background:var(--ui-color-warehouse-regular-surface);}
.wm-rack.wm-purpose-domestic {background:var(--ui-color-warehouse-domestic-surface);}
.wm-rack.wm-purpose-cross {background:var(--ui-color-warehouse-cross-surface);}
.wm-rack.wm-purpose-slow {background:var(--ui-color-warehouse-slow-surface);}
.wm-rack.wm-purpose-custom {background:var(--ui-color-warehouse-custom-surface);}
.wm-rack.wm-purpose-turnover {background:var(--ui-color-warehouse-turnover-surface);}
.wm-rack.wm-occupied {background:var(--ui-color-warehouse-paused-surface);border-color:var(--ui-color-warehouse-paused-border);}
.wm-purpose-legend {display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0;}
.wm-purpose-key {display:inline-flex;gap:6px;align-items:center;background:none;border:0;font-size:var(--ui-font-size-note);}
.wm-purpose-key i {width:18px;height:12px;border:1px solid var(--ui-color-control-border);border-radius:2px;}
.wm-zone-label {font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-regular);padding:2px 6px;box-sizing:border-box;color:var(--ui-color-text);border:0;border-radius:2px;}
.wm-location-properties {padding:8px 0;border-block:1px solid var(--ui-color-border);}
.wm-location-properties dl {display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:8px 0;font-size:var(--ui-font-size-body);}
.wm-location-properties dt {font-weight:var(--ui-font-weight-medium);}
.wm-location-properties dd {margin:0;overflow-wrap:anywhere;}
.wm-location-properties summary {font-size:var(--ui-font-size-body);font-weight:var(--ui-font-weight-medium);}
.wm-properties-scroll {overflow:auto;max-height:280px;margin-top:8px;}
.wm-properties-scroll table {width:100%;border-collapse:collapse;font-size:var(--ui-font-size-body);}
.wm-properties-scroll th,.wm-properties-scroll td {padding:6px 8px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--ui-color-border);}
.wm-properties-scroll th {font-weight:var(--ui-font-weight-semibold);background:var(--ui-color-table-head);}

/* 万圣节季节封存标识，仅覆盖B0201—B0213；不参与点击命中。 */
.wm-halloween-area { position:absolute; box-sizing:border-box; pointer-events:none; background:var(--ui-color-warehouse-domestic-surface); border:2px solid var(--ui-color-warning); border-radius:12px; }
.wm-halloween-label { position:absolute; display:flex; align-items:center; justify-content:center; gap:10px; pointer-events:none; color:var(--ui-color-text); }
.wm-halloween-label>div { display:flex; flex-direction:column; align-items:center; }
.wm-halloween-label strong { font-size:var(--ui-font-size-section-title); font-weight:var(--ui-font-weight-semibold); line-height:20px; }
.wm-halloween-label>div>span { font-size:var(--ui-font-size-note); font-weight:var(--ui-font-weight-regular); line-height:18px; }
.wm-halloween-pumpkin { font-size:var(--ui-font-size-page-title); line-height:1; }
.wm-rack.wm-halloween-rack { background:var(--ui-color-warehouse-domestic-surface); border-color:var(--ui-color-warehouse-domestic-border); }

/* 2026-10-28 confirmed full-area map blocks; labels never capture rack clicks. */
.wm-region {position:absolute;box-sizing:border-box;border:2px solid;border-radius:12px;pointer-events:none;}
.wm-region-label {position:absolute;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;z-index:2;background:none;color:var(--ui-color-text);}
.wm-region-label strong {font-size:var(--ui-font-size-section-title);font-weight:var(--ui-font-weight-semibold);line-height:20px;}
.wm-region-label>span {font-size:var(--ui-font-size-note);font-weight:var(--ui-font-weight-regular);line-height:18px;}
.wm-region-callout {border:1px solid;border-radius:8px;}
.wm-region-label.wm-region-callout.wm-purpose-regular {background:var(--ui-color-warehouse-regular-surface);}
.wm-region-label.wm-region-callout.wm-purpose-turnover {background:var(--ui-color-warehouse-turnover-surface);}
.wm-purpose-accessories {background:var(--ui-color-warehouse-slow-surface);border-color:var(--ui-color-warehouse-slow-border);}
.wm-purpose-halloween {background:var(--ui-color-warehouse-domestic-surface);border-color:var(--ui-color-warning);}
.wm-rack.wm-purpose-accessories {background:var(--ui-color-warehouse-slow-surface);border-color:var(--ui-color-warehouse-slow-border);}
.wm-rack.wm-purpose-halloween {background:var(--ui-color-warehouse-domestic-surface);border-color:var(--ui-color-warning);}
.wm-region.wm-purpose-regular,.wm-region-callout.wm-purpose-regular {border-color:var(--ui-color-warehouse-regular-border);}
.wm-region.wm-purpose-domestic {border-color:var(--ui-color-warehouse-domestic-border);}
.wm-region.wm-purpose-cross {border-color:var(--ui-color-warehouse-cross-border);}
.wm-region.wm-purpose-slow,.wm-region.wm-purpose-accessories {border-color:var(--ui-color-warehouse-slow-border);}
.wm-region.wm-purpose-custom {border-color:var(--ui-color-warehouse-custom-border);}
.wm-region.wm-purpose-turnover,.wm-region-callout.wm-purpose-turnover {border-color:var(--ui-color-warehouse-turnover-border);}
.wm-region.wm-purpose-paused {border-color:var(--ui-color-warehouse-paused-border);}
.wm-rack.wm-virtual {display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:normal;}

.wm-rack.wm-occupied {border:1px solid var(--ui-color-warehouse-paused-border);}

.wm-purpose-key.wm-purpose-halloween i {background:var(--ui-color-warehouse-domestic-surface);border-color:var(--ui-color-warning);}
.wm-purpose-key.wm-purpose-accessories i {background:var(--ui-color-warehouse-slow-surface);border-color:var(--ui-color-warehouse-slow-border);}

.wm-rack.wm-virtual {padding:0;line-height:16px;}
.wm-purpose-key.wm-purpose-accessories,.wm-purpose-key.wm-purpose-halloween {background:none;}
