/* 商品货架 V1.1：移除重复标题后，新增商品按钮与筛选项保持同一紧凑行。 */
@media(min-width:1101px){.product-merchant-toolbar{grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(128px,.72fr)) auto auto!important}}
.product-add-button{height:36px;white-space:nowrap}

dialog {
  width: min(1280px, 96vw);
  max-height: 94vh;
  overflow: hidden;
}

/* Product import/export task workspace. Tables scroll inside the task instead of widening the page. */
.product-import-page{display:grid;gap:18px;min-width:0;padding:4px 0 24px}.product-import-page>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.product-import-page>header span{display:block;margin-bottom:4px;color:#078968;font-size:12px;font-weight:800;letter-spacing:.08em}.product-import-page>header h3{margin:0 0 6px;font-size:24px}.product-import-page>header p{margin:0;color:#64748b}.product-import-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #d8e2e7;border-radius:12px;background:#fff}.product-import-steps b{padding:12px 10px;color:#7a8897;text-align:center;font-size:14px;border-right:1px solid #e8eef1}.product-import-steps b:last-child{border-right:0}.product-import-steps b.active{color:#047857;background:#eaf8f3}.product-import-steps b.done{color:#047857}.product-import-drop{display:grid;justify-items:center;gap:10px;padding:42px 24px;border:1px dashed #9dbab1;border-radius:16px;background:#fbfefd;text-align:center;cursor:default}.product-import-drop strong{font-size:20px}.product-import-drop span,.product-import-drop em{color:#64748b;font-style:normal}.product-import-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.product-import-summary article,.product-import-result-cards article{display:grid;gap:5px;padding:16px;border:1px solid #dce5e9;border-radius:12px;background:#fff}.product-import-summary span,.product-import-result-cards span{color:#64748b;font-size:13px}.product-import-summary b,.product-import-result-cards b{font-size:22px}.product-import-summary .success,.product-import-result-cards .success{border-color:#a7dfc8;background:#f2fbf7}.product-import-summary .warning{border-color:#f2d394;background:#fffaf0}.product-import-summary .error,.product-import-result-cards .error{border-color:#f2b8b5;background:#fff7f6}.product-import-table-wrap{max-width:100%;overflow:auto;border:1px solid #dce5e9;border-radius:14px;background:#fff}.product-import-table-wrap table{width:100%;min-width:820px;border-collapse:collapse}.product-import-table-wrap th,.product-import-table-wrap td{padding:13px 14px;border-bottom:1px solid #edf1f3;text-align:left;vertical-align:top}.product-import-table-wrap td small{display:block;margin-top:4px;color:#788694}.product-import-table-wrap ul{margin:0;padding-left:18px}.product-import-table-wrap li.error{color:#b42318}.product-import-table-wrap li.warning{color:#9a6700}.product-import-state{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.product-import-state.success{color:#047857;background:#e8f7f1}.product-import-state.warning{color:#9a6700;background:#fff3d6}.product-import-state.error{color:#b42318;background:#feeceb}.product-import-confirm-summary,.product-import-failures{padding:18px;border:1px solid #dce5e9;border-radius:14px;background:#fff}.product-import-confirm-summary h4,.product-import-failures h4{margin:0 0 10px}.product-import-confirm-summary p,.product-import-failures p{margin:7px 0;color:#526171}.product-import-actions{display:flex;justify-content:flex-end;gap:10px}.product-import-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-export-modal{width:min(600px,calc(100vw - 48px));max-width:600px}.product-export-dialog{display:grid;gap:14px;min-width:0}.product-export-dialog fieldset{display:grid;gap:9px;margin:0;padding:0;border:0}.product-export-dialog legend{margin-bottom:8px;font-weight:800}.product-export-option{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #dce5e9;border-radius:10px;background:#fff;cursor:pointer}.product-export-option:has(input:checked){border-color:#55bd98;background:#f2fbf7;box-shadow:inset 0 0 0 1px #55bd98}.product-export-option input{flex:0 0 auto}.product-export-option span{display:grid;gap:3px}.product-export-option small,.product-export-note{color:#718078;font-size:13px}.product-export-note{margin:0;line-height:1.65}.product-export-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:2px}.product-export-dialog .form-status:empty{display:none}.product-bulk-popup>i{display:block;height:1px;margin:5px 8px;background:#e2e8f0}.product-bulk-popup button:not(:disabled){cursor:pointer}
@media(max-width:1366px){.product-import-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.product-import-page>header{flex-direction:column}.product-import-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.product-import-steps b:nth-child(2){border-right:0}.product-import-steps b:nth-child(-n+2){border-bottom:1px solid #e8eef1}.product-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.product-import-result-cards{grid-template-columns:1fr}.product-import-actions{flex-wrap:wrap}.product-import-actions button{flex:1 1 180px}}

.product-batch-alerts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.product-batch-alert {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}

.product-batch-alert.expired {
  border-color: #f5a3a3;
  background: #fff0f0;
  color: #c92a2a;
}

.product-batch-alert.near-expiry {
  border-color: #efc67a;
  background: #fff8e6;
  color: #9a5800;
}

.dashboard-expiry-metrics {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.metric-expired {
  border-color: #f5a3a3;
  background: #fff8f8;
}

.metric-near-expiry {
  border-color: #efc67a;
  background: #fffdf5;
}

@media (max-width: 1050px) {
  .dashboard-expiry-metrics {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}

@media (max-width: 760px) {
  .dashboard-expiry-metrics {
    grid-template-columns: 1fr;
  }
}

.modal-card {
  max-height: 94vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.product-editor {
  display: grid;
  gap: 14px;
}

.product-section {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d9e2e9;
  border-radius: 14px;
  background: #fbfcfd;
}

.product-section-title {
  margin-bottom: 14px;
}

.product-section-title h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 18px;
}

.product-section-title h4::before {
  content: "";
  width: 4px;
  height: 20px;
  border-radius: 999px;
  background: var(--green2);
}

.product-section-title p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.product-image-section {
  display: grid;
  grid-template-columns: 92px 156px minmax(180px, 1fr);
  gap: 20px;
  align-items: start;
  border-style: dashed;
  background: #fff;
}

.product-image-label {
  padding-top: 9px;
  font-size: 16px;
}

.product-image-actions {
  display: grid;
  justify-items: start;
  gap: 11px;
  padding-top: 26px;
}

.product-image-actions .secondary {
  min-width: 140px;
}

.product-image-actions small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-image-preview {
  display: grid;
  width: 156px;
  height: 144px;
  place-items: center;
  overflow: hidden;
  border: 1px dashed #a8bac8;
  border-radius: 11px;
  background: #f5f8fa;
}

.product-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-image-preview.placeholder {
  color: #7b8794;
  font-size: 13px;
}

.product-meta-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.35fr) minmax(220px, 1fr) minmax(180px, .82fr);
  gap: 18px 28px;
  align-items: end;
}

.product-name-field {
  grid-column: 1 / 3;
}

.field-label small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}

.category-field {
  max-width: none;
}

.shelf-life-field {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 8px;
}

.spec-list-head,
.spec-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.spec-list-head {
  margin-bottom: 14px;
}

.spec-list-head h4,
.spec-editor-head h4 {
  margin: 0;
  font-size: 18px;
}

.spec-list-head h4 small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}

.spec-list-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.web-spec-list {
  display: grid;
  gap: 12px;
}

.web-spec-editor {
  padding: 15px;
  border: 1px solid #d9e2e9;
  border-radius: 14px;
  background: #f8fafb;
}

.danger-text {
  color: #c9362b;
}

.spec-editor-grid {
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(310px, 1.4fr) minmax(150px, .9fr) minmax(160px, .9fr);
  gap: 18px;
  align-items: end;
  margin-top: 12px;
}

.dimension-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.dimension-field legend {
  margin-bottom: 7px;
  padding: 0;
  font-weight: 700;
}

.dimension-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 5px;
  min-height: 48px;
  padding: 0 10px;
  border: 1px solid #ccd5df;
  border-radius: 10px;
  background: #fff;
}

.dimension-row:focus-within {
  border-color: var(--green2);
  box-shadow: 0 0 0 3px rgba(12, 166, 120, .12);
}

.dimension-row input {
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  outline: 0;
  text-align: center;
  background: transparent;
}

.dimension-row span {
  color: #98a2b3;
}

.price-editor,
.global-price-editor {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 12px 16px;
  align-items: end;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #e3e8ef;
}

.global-price-editor {
  grid-template-columns: 160px 220px minmax(160px, 1fr);
  align-items: center;
  margin-top: 0;
  padding: 13px 16px;
  border: 1px solid #d9e2e9;
  border-radius: 14px;
  background: #f8fafb;
}

.product-spec-section {
  background: #fff;
}

.global-price-head {
  display: contents;
}

.global-price-head h4 {
  margin: 0;
  font-size: 17px;
}

.global-price-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.price-mode {
  display: none;
}

.price-mode.active {
  display: block;
}

.global-price-editor .negotiable-fields,
.global-price-editor .fixed-fields {
  grid-column: 3;
}

.negotiable-fields p {
  margin: 0;
  color: #8a6d26;
}

.fixed-fields .compact {
  max-width: 260px;
}

.tiered-fields {
  grid-column: 1 / -1;
}

.tier-rule {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
}

.tier-list {
  display: grid;
  gap: 9px;
}

.tier-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr 52px;
  gap: 9px;
  align-items: end;
}

.tier-row label {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 13px;
}

.tier-row label > span {
  white-space: nowrap;
}

.tier-row input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #ccd5df;
  border-radius: 9px;
}

.tiered-fields > .secondary {
  margin-top: 10px;
}

.tiered-fields small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.tier-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 9px;
  padding: 9px 11px;
  border-radius: 9px;
  color: #6f561b;
  background: #fff8e8;
  font-size: 13px;
}

.tier-examples span {
  font-weight: 600;
}

.form-status {
  min-height: 22px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.form-status.error {
  color: #b42318;
  font-weight: 700;
}

.form-status.success {
  color: var(--green);
  font-weight: 700;
}

.sticky-form-actions {
  position: sticky;
  bottom: -24px;
  z-index: 2;
  margin: 0 -24px -24px;
  padding: 14px 24px 24px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(8px);
}

.sticky-form-actions .primary {
  min-width: 180px;
}

button:disabled {
  cursor: not-allowed;
  opacity: .56;
}

.metric-link {
  display: block;
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.metric-link:hover,
.metric-link:focus-visible {
  transform: translateY(-2px);
  border-color: #9fd8c5;
  box-shadow: 0 10px 26px rgba(8, 127, 91, .11);
  outline: none;
}

.metric-link small {
  display: block;
  margin-top: 8px;
  color: var(--green);
  font-size: 12px;
  font-weight: 700;
}

.clickable-product {
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.clickable-product:hover,
.clickable-product:focus-visible {
  transform: translateY(-2px);
  border-color: #9fd8c5;
  box-shadow: 0 12px 28px rgba(8, 127, 91, .1);
  outline: none;
}

.product-main-row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  align-items: start;
  margin-bottom: 14px;
}

.product-main-copy {
  min-width: 0;
}

.product-thumb {
  width: 88px;
  height: 88px;
  border-radius: 12px;
  border: 1px solid var(--line);
  object-fit: cover;
  background: #f0f3f5;
}

.product-thumb.placeholder {
  display: grid;
  place-items: center;
  color: #98a2b3;
  font-size: 14px;
}

.view-detail-hint {
  margin: 9px 0 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 700;
}

.product-visibility-summary {
  margin: 8px 0 0;
  color: #475467;
  font-size: 13px;
}

.product-detail {
  display: grid;
  gap: 18px;
}

.product-detail-head {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: start;
}

.product-detail-head h3 {
  margin: 0 0 10px;
  font-size: 24px;
}

.product-detail-head p {
  margin: 7px 0;
  color: var(--muted);
}

.edit-product-btn {
  margin-top: 14px;
}

.product-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.product-visibility-editor {
  display: grid;
  gap: 18px;
}

.visibility-intro {
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: #eef9f5;
  color: #176b52;
  line-height: 1.6;
}

.visibility-levels {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.visibility-levels legend {
  padding: 0 7px;
  font-weight: 800;
}

.visibility-level-option,
.visibility-customer {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 11px;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  cursor: pointer;
}

.visibility-level-option:has(input:checked),
.visibility-customer:has(input:checked) {
  border-color: var(--green2);
  background: #f0fbf7;
}

.visibility-level-option input,
.visibility-customer input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  accent-color: var(--green);
}

.visibility-level-option span,
.visibility-customer span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.visibility-level-option small,
.visibility-customer small {
  color: var(--muted);
  line-height: 1.4;
}

.visibility-customer-section {
  display: grid;
  gap: 12px;
}

.visibility-customer-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.visibility-customer-head h4,
.visibility-customer-head p {
  margin: 0;
}

.visibility-customer-head p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.visibility-customer-head input {
  width: min(250px, 100%);
  min-height: 42px;
  border: 1px solid #ccd5df;
  border-radius: 9px;
  padding: 9px 11px;
}

.visibility-customer-list {
  display: grid;
  gap: 8px;
  max-height: 310px;
  overflow: auto;
}

.visibility-customer {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
}

.visibility-customer em {
  color: var(--green);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.product-detail-image {
  width: 180px;
  height: 150px;
  border: 1px solid var(--line);
  border-radius: 14px;
  object-fit: contain;
  background: #f5f7f9;
}

.product-detail-image.placeholder {
  display: grid;
  place-items: center;
  color: #98a2b3;
}

.detail-spec-list {
  display: grid;
  gap: 12px;
}

.detail-spec {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafb;
}

.detail-spec h4 {
  margin: 0 0 8px;
  color: var(--green);
}

.detail-spec p {
  margin: 7px 0;
  color: var(--muted);
}

.detail-spec > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 10px;
  font-size: 14px;
}

@media (max-width: 1050px) {
  .category-field {
    max-width: none;
  }
}

@media (max-width: 820px) {
  .product-image-section {
    grid-template-columns: 76px 112px minmax(150px, 1fr);
    gap: 14px;
  }

  .product-image-preview {
    width: 112px;
    height: 96px;
  }

  .product-image-actions {
    padding-top: 12px;
  }

  .product-meta-grid {
    grid-template-columns: minmax(200px, 1fr) minmax(150px, .7fr);
    gap: 14px;
  }

  .spec-editor-grid {
    grid-template-columns: 1fr 1fr;
  }

  .global-price-editor {
    grid-template-columns: 140px minmax(180px, 1fr);
  }

  .global-price-editor .negotiable-fields,
  .global-price-editor .fixed-fields {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .product-meta-grid,
  .spec-editor-grid,
  .price-editor {
    grid-template-columns: 1fr;
  }

  .product-name-field {
    grid-column: auto;
  }

  .global-price-editor,
  .product-detail-head {
    grid-template-columns: 1fr;
  }

  .visibility-customer-head {
    align-items: stretch;
    flex-direction: column;
  }

  .visibility-customer-head input {
    width: 100%;
  }

  .global-price-head {
    display: grid;
    gap: 10px;
  }

  .product-image-section {
    grid-template-columns: 94px 1fr;
    align-items: start;
  }

  .product-image-label {
    grid-column: 1 / -1;
    padding-top: 0;
  }

  .product-image-preview {
    width: 94px;
    height: 82px;
  }

  .product-image-actions {
    padding-top: 0;
  }

  .category-field {
    max-width: none;
  }

  .product-detail-image {
    width: 100%;
    height: 180px;
  }

  .tiered-fields {
    grid-column: auto;
  }

  .tier-row {
    grid-template-columns: 1fr 1fr;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
  }

  .global-price-editor .negotiable-fields,
  .global-price-editor .fixed-fields {
    grid-column: auto;
  }
}
/* Warehouse product and inventory merchant workspace */
.product-merchant-page{display:grid;gap:18px}.product-merchant-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:4px 2px}.product-merchant-head h3{margin:0;font-size:28px}.product-merchant-head p:last-child{margin:8px 0 0;color:#667085}.product-merchant-metrics{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.product-merchant-metrics button{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:16px 18px;border:1px solid #e0e8e5;border-radius:13px;background:#fff;color:#60716c;text-align:left}.product-merchant-metrics button b{font-size:26px;color:#17352d}.product-merchant-metrics button.active{border-color:#3dbb91;background:#effaf6;box-shadow:inset 0 0 0 1px #3dbb91}.product-merchant-panel{overflow:hidden;border:1px solid #e0e7e5;border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(28,48,68,.04)}.product-merchant-toolbar{display:grid;grid-template-columns:minmax(280px,1.6fr) repeat(3,minmax(150px,.7fr)) auto;gap:10px;padding:18px;border-bottom:1px solid #e8eeec}.product-merchant-toolbar input,.product-merchant-toolbar select{height:44px;padding:0 12px;border:1px solid #cad6d2;border-radius:9px;background:#fff}.product-merchant-table-wrap{overflow:auto}.product-merchant-table{width:100%;min-width:1180px;border-collapse:collapse}.product-merchant-table th,.product-merchant-table td{padding:15px 14px;border-bottom:1px solid #e9eeec;text-align:left;vertical-align:middle}.product-merchant-table th{background:#f7f9f8;color:#61716c;font-size:13px;white-space:nowrap}.product-merchant-table tbody tr:hover{background:#fbfdfc}.product-merchant-table td>small,.product-merchant-table td>span+small{display:block;margin-top:5px;color:#7a8884}.product-merchant-info{display:flex;min-width:210px;align-items:center;gap:12px}.product-merchant-info img,.product-merchant-placeholder{width:58px;height:58px;flex:0 0 58px;border-radius:10px;object-fit:cover}.product-merchant-placeholder{display:grid;place-items:center;background:#edf3f1;color:#6a7f78;font-size:12px}.product-merchant-info b{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.product-merchant-info small{display:block;margin-top:5px;color:#7a8884}.product-stock-stack{display:grid;gap:4px;white-space:nowrap}.product-stock-stack b{color:#147a59}.product-stock-stack b.low{color:#d04438}.product-stock-stack small{color:#73817d}.product-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;white-space:nowrap}.product-status.success{background:#e9f8f2;color:#087f5b}.product-status.gray{background:#eef2f4;color:#667085}.product-row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.link-btn{padding:4px 0;border:0;background:transparent;color:#087f5b;font-weight:700}.link-btn:hover{text-decoration:underline}
.product-merchant-editor{width:min(1020px,92vw)}.product-editor-tabs{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);margin:-2px -2px 20px;padding:4px;border-bottom:1px solid #dfe8e5;background:#fff}.product-editor-tabs button{padding:13px 10px;border:0;border-bottom:3px solid transparent;background:#fff;color:#61716c;font-weight:700}.product-editor-tabs button.active{border-bottom-color:#0ca678;color:#087f5b}.product-inventory-readonly,.product-replenishment-info{min-height:360px}.product-inventory-list{display:grid;gap:10px}.product-inventory-list article{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(120px,.6fr));gap:12px;padding:16px;border:1px solid #e0e7e5;border-radius:11px;background:#fafcfb}.product-inventory-list article span{display:grid;gap:5px;color:#71807b;font-size:13px}.product-inventory-list article strong{color:#17352d;font-size:16px}.product-inventory-links{display:flex;gap:10px;margin-top:18px}.product-replenishment-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px;border:1px solid #dce8e4;border-radius:12px;background:#f7fbf9}.product-replenishment-setting p{margin:8px 0}.product-replenishment-setting small{color:#71807b}.product-replenishment-preview{display:grid;grid-template-columns:130px 1fr;gap:18px;max-width:520px;margin-top:18px;padding:16px;border:1px solid #dce8e4;border-radius:14px;background:#fff}.product-replenishment-preview .preview-image{display:grid;width:130px;height:130px;place-items:center;overflow:hidden;border-radius:11px;background:#edf3f1;color:#71807b}.product-replenishment-preview img{width:100%;height:100%;object-fit:cover}.product-replenishment-preview b{display:block;margin:8px 0;font-size:18px}.product-replenishment-preview p{color:#71807b}.preview-quantity{display:grid;grid-template-columns:32px 50px 32px;width:max-content;overflow:hidden;border:1px solid #cfdbd7;border-radius:8px}.preview-quantity button{border:0;background:#edf7f4}.preview-quantity span{display:grid;place-items:center}
@media(max-width:1450px){.product-merchant-toolbar{grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(130px,.7fr));}.product-merchant-toolbar .secondary{grid-column:4}.product-merchant-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.product-merchant-metrics{grid-template-columns:repeat(2,1fr)}.product-merchant-toolbar{grid-template-columns:1fr 1fr}.product-merchant-toolbar .secondary{grid-column:auto}.product-inventory-list article{grid-template-columns:1fr 1fr}}
/* Product shelf compact toolbar and server pagination */
.product-merchant-page{gap:10px}.product-merchant-head{min-height:42px;padding:0 2px}.product-merchant-head h3{font-size:22px;line-height:1.25}.product-merchant-head p:last-child{margin:3px 0 0;font-size:13px}.product-merchant-panel{border-radius:12px}.product-merchant-toolbar{display:grid;grid-template-columns:minmax(310px,1.7fr) repeat(3,minmax(145px,.72fr)) auto;gap:8px;padding:10px 12px 8px;border-bottom:0;background:#fff}.product-search-field{position:relative;display:block}.product-search-field input{width:100%;padding-right:82px!important}.product-search-field small{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#84938e;font-size:11px;pointer-events:none}.product-merchant-toolbar input,.product-merchant-toolbar select{height:36px;border-radius:7px}.product-clear-filters{height:36px;padding:0 8px;color:#60736d;white-space:nowrap}.product-merchant-metrics{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 9px;border-bottom:1px solid #e8eeec}.product-merchant-metrics button{display:inline-flex;width:auto;min-width:0;min-height:32px;justify-content:flex-start;gap:7px;padding:5px 11px;border:1px solid #dbe6e2;border-radius:7px;background:#f8fbfa;color:#536963;font-size:13px}.product-merchant-metrics button b{font-size:13px;color:#284a40}.product-merchant-metrics button.active{border-color:#38ad85;background:#edf9f4;color:#087f5b;box-shadow:none}.product-merchant-metrics button.active b{color:#087f5b}.product-merchant-metrics button[data-stat="low"] b:not(:empty){color:#b76b12}.product-bulk-toolbar{min-height:44px;padding:6px 12px;border-top:0;border-bottom:1px solid var(--line,#dfe7e4);background:#f7fbf9}.product-bulk-menu{position:relative;margin-left:auto}.product-bulk-menu>#productBulkMenuButton{height:34px;min-width:104px}.product-bulk-popup{position:absolute;z-index:8;right:0;top:calc(100% + 5px);display:grid;min-width:132px;padding:5px;border:1px solid #d8e4e0;border-radius:8px;background:#fff;box-shadow:0 10px 25px rgba(22,55,46,.14)}.product-bulk-popup.hidden{display:none}.product-bulk-popup button{padding:9px 12px;border:0;border-radius:6px;background:#fff;color:#23483e;text-align:left}.product-bulk-popup button:hover{background:#edf8f4;color:#087f5b}.product-merchant-pagination{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid #e8eeec;background:#fbfdfc}.product-page-summary{color:#60736d;font-size:13px;white-space:nowrap}.product-page-summary b{color:#1f4439}.product-page-summary i{display:inline-block;height:12px;margin:0 8px;border-left:1px solid #cbd8d4;vertical-align:-2px}.product-page-controls{display:flex;align-items:center;justify-content:center;gap:5px}.product-page-controls button{height:32px;min-width:32px;padding:0 9px;border:1px solid #d5e1dd;border-radius:6px;background:#fff;color:#3d5a52}.product-page-controls button.active{border-color:#14956d;background:#eaf8f3;color:#087f5b;font-weight:800}.product-page-controls button:disabled{opacity:.45;cursor:not-allowed}.product-page-ellipsis{padding:0 3px;color:#84938e}.product-page-size select{height:34px;padding:0 28px 0 9px;border:1px solid #d5e1dd;border-radius:7px;background:#fff}.product-page-jump{display:flex;position:relative;align-items:center;gap:6px;color:#60736d;font-size:13px;white-space:nowrap}.product-page-jump input{width:48px;height:32px;padding:0 6px;border:1px solid #d5e1dd;border-radius:6px;text-align:center}.product-page-jump button{height:32px;padding:0 10px}.product-page-jump small{position:absolute;right:0;top:34px;color:#c24134;font-size:11px}
@media(max-width:1450px){.product-merchant-toolbar{grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(132px,.72fr)) auto}.product-merchant-toolbar .secondary{grid-column:auto}.product-merchant-table{width:100%;min-width:1000px;table-layout:fixed}.product-merchant-table th,.product-merchant-table td{padding:13px 8px}.product-merchant-table th:nth-child(1){width:3%}.product-merchant-table th:nth-child(2){width:17%}.product-merchant-table th:nth-child(3){width:13%}.product-merchant-table th:nth-child(4){width:6%}.product-merchant-table th:nth-child(5){width:16%}.product-merchant-table th:nth-child(6){width:11%}.product-merchant-table th:nth-child(7){width:13%}.product-merchant-table th:nth-child(8){width:8%}.product-merchant-table th:nth-child(9){width:13%}.product-merchant-table td:nth-child(3){overflow-wrap:anywhere}.product-merchant-info{min-width:0;gap:8px}.product-merchant-info img,.product-merchant-placeholder{width:44px;height:44px;flex-basis:44px}.product-row-actions{gap:6px;font-size:13px}.product-merchant-pagination{justify-content:flex-start;flex-wrap:wrap}.product-page-controls{order:2}.product-page-size{margin-left:auto}.product-page-jump{order:3}}
@media(max-width:1100px){.product-merchant-toolbar{grid-template-columns:minmax(280px,1fr) repeat(2,minmax(150px,.55fr))}.product-search-field{grid-column:1/-1}.product-merchant-toolbar .product-clear-filters{grid-column:auto}.product-merchant-metrics{display:flex}.product-merchant-pagination{align-items:flex-start}.product-page-summary{width:100%}.product-page-size{margin-left:0}.product-page-jump{margin-left:auto}}
/* Product shelf V2: denser rows with a clear primary / secondary / supporting hierarchy. */
.product-merchant-table{min-width:1080px;table-layout:fixed}.product-merchant-table th,.product-merchant-table td{padding:9px 10px}.product-merchant-table td{color:#263c36;font-size:13px;line-height:1.3}.product-merchant-table .product-check-column{width:4%;text-align:center}.product-merchant-table .product-info-column{width:18%}.product-merchant-table .product-barcode-column{width:12%}.product-merchant-table .product-category-column{width:7%}.product-merchant-table .product-spec-column{width:19%}.product-merchant-table .product-stock-column{width:12%}.product-merchant-table .product-replenish-column{width:12%}.product-merchant-table .product-state-column{width:7%}.product-merchant-table .product-actions-column{width:9%}.product-merchant-info{min-width:0;gap:9px}.product-merchant-info img,.product-merchant-placeholder{width:46px;height:46px;flex:0 0 46px;border-radius:8px}.product-merchant-info b{max-width:180px;color:#172d27;font-size:14px;line-height:1.25}.product-merchant-info small{margin-top:3px;font-size:11px}.product-barcode-column span{display:block;color:#52635e;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.1px;white-space:nowrap}.product-category-column span{display:block;overflow:hidden;color:#52635e;text-overflow:ellipsis;white-space:nowrap}.product-spec-summary{display:grid;gap:2px;padding:1px 0}.product-spec-summary+.product-spec-summary{margin-top:4px;padding-top:4px;border-top:1px dashed #e1e9e6}.product-spec-summary>span{display:block;overflow:hidden;color:#314c44;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.product-spec-summary>small,.product-spec-column>small{display:block;margin-top:0;color:#82908c;font-size:11px;line-height:1.25}.product-stock-stack{gap:2px}.product-stock-stack b{font-size:14px}.product-stock-stack small{color:#82908c;font-size:11px}.product-replenish-column>small{margin-top:4px!important;overflow:hidden;color:#82908c!important;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.product-state-status.neutral{background:#f1f4f3;color:#4f625d}.product-state-status{font-weight:600}.product-status{padding:3px 7px;font-size:11px}.product-row-actions{gap:7px;font-size:12px}.product-row-actions .link-btn{font-weight:650}.product-merchant-table tbody tr{height:auto;min-height:64px}
@media(max-width:1450px){.product-merchant-table{min-width:1050px}.product-merchant-table th,.product-merchant-table td{padding:8px 7px}.product-merchant-info img,.product-merchant-placeholder{width:42px;height:42px;flex-basis:42px}.product-merchant-info b{max-width:145px}.product-merchant-table .product-barcode-column{width:11%}.product-merchant-table .product-spec-column{width:20%}.product-merchant-table .product-actions-column{width:10%}.product-row-actions{gap:5px;font-size:12px}}
@media(max-width:1100px){.product-merchant-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}.product-merchant-table{min-width:1050px}.product-merchant-page,.product-merchant-panel{min-width:0;max-width:100%}}
/* Product shelf V2.1: keep narrow desktop filters together and anchor row actions to both edges. */
@media(max-width:1100px){.product-merchant-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.product-search-field{grid-column:1/-1}.product-merchant-toolbar>select{width:100%;min-width:0}.product-merchant-toolbar .product-clear-filters{grid-column:1;justify-self:start}.product-merchant-toolbar .product-add-button{grid-column:3;justify-self:end}.product-merchant-metrics{align-items:center}}
.product-pricing-editor{display:grid;gap:16px}.product-pricing-editor>.form-note{margin:0;padding:12px 14px;border-radius:10px;background:#f3faf7;color:#46645b}.product-pricing-spec{display:grid;gap:12px;padding:16px}.product-pricing-spec>h4{margin:0}.product-unit-price{display:grid;gap:12px;padding:14px;border:1px solid #dce7e3;border-radius:12px;background:#fbfdfc}.product-unit-price .panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-unit-price .panel-head div{display:grid;gap:4px}.product-unit-price .panel-head small{color:#72827d}.product-unit-price select,.product-unit-price input{min-height:40px}.unit-fixed-price{display:grid;grid-template-columns:minmax(160px,260px);gap:6px}.unit-tier-prices{display:grid;gap:8px}.product-unit-tier{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.product-unit-tier label{display:flex;align-items:center;gap:5px}.product-unit-tier input{min-width:0;width:100%}@media(max-width:900px){.product-unit-tier{grid-template-columns:1fr}.product-unit-price .panel-head{align-items:stretch;flex-direction:column}}

/* Warehouse 新增商品 V1：继续复用原商品编辑器，只补齐高频建档字段。 */
.inline-select-action{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.inline-select-action select{min-width:0}.inline-select-action>.secondary{min-width:42px;padding:0;font-size:18px}.product-code-field input{font-variant-numeric:tabular-nums}.product-quick-dialog{width:min(410px,90vw);padding:0;border:0;border-radius:14px;box-shadow:0 18px 60px rgba(14,45,36,.22)}.product-quick-dialog-body{display:grid;gap:16px;padding:22px}.product-quick-dialog h4{margin:0;font-size:20px}.product-quick-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px}.product-tags-section{min-height:180px}.product-tag-choices{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.product-tag-chip{position:relative}.product-tag-chip input{position:absolute;opacity:0;pointer-events:none}.product-tag-chip span{display:inline-flex;min-height:34px;align-items:center;padding:6px 12px;border:1px solid #d5e3de;border-radius:999px;background:#fff;color:#49615a;cursor:pointer}.product-tag-chip input:checked+span{border-color:#20a77b;background:#e9f8f2;color:#087f5b;font-weight:750;box-shadow:inset 0 0 0 1px #20a77b}.product-tags-empty{color:#7a8984}.spec-editor-head>div{display:flex;align-items:center;gap:10px}.web-spec-editor.collapsed .spec-editor-grid{display:none}.web-spec-editor.collapsed{padding-bottom:11px}.spec-name-field{grid-column:span 2}.product-publish-choice{display:grid;grid-template-columns:auto auto;gap:9px 18px;align-items:center}.product-publish-choice>b,.product-publish-choice>small{grid-column:1/-1}.product-publish-choice label{display:flex;align-items:center;gap:7px}.visibility-level-field{min-width:210px}.product-replenishment-setting{align-items:end}.product-replenishment-setting>.secondary{white-space:nowrap}
@media(max-width:1100px){.product-merchant-editor{width:min(940px,94vw)}.spec-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-name-field{grid-column:span 1}.product-replenishment-setting{align-items:stretch;flex-direction:column}.visibility-level-field{width:100%}}
@media(max-width:760px){.product-editor-tabs{grid-template-columns:repeat(2,1fr);position:static}.product-meta-grid{grid-template-columns:1fr}.product-name-field{grid-column:auto}.spec-editor-grid{grid-template-columns:1fr}.product-image-section{grid-template-columns:1fr 1fr}.product-image-label{grid-column:1/-1}.product-tag-choices{gap:6px}}

/* Warehouse 商品编辑器 V1.1：商品模块内的独立任务工作页。 */
.product-workspace{display:grid;min-width:0;gap:12px}.product-task-tabs{position:sticky;top:92px;z-index:8;display:flex;min-width:0;gap:6px;overflow-x:auto;padding:8px 10px;border:1px solid #dce7e3;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 5px 16px rgba(22,55,46,.06);scrollbar-width:thin}.product-task-tab{display:flex;max-width:260px;min-height:38px;flex:0 0 auto;align-items:center;gap:8px;padding:7px 11px;border:1px solid #d7e3df;border-radius:8px;background:#f7faf9;color:#52665f}.product-task-tab>span{max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-task-tab>i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#e67700}.product-task-tab>b{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;color:#7b8985;font-size:17px;font-weight:500}.product-task-tab>b:hover{background:#e6eeeb;color:#b42318}.product-task-tab.active{border-color:#24a87b;background:#eaf8f3;color:#087f5b;font-weight:800;box-shadow:inset 0 -2px #0ca678}.product-task-panels,.product-task-panel{min-width:0}.product-editor-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 2px 2px}.product-editor-workspace-head h3{margin:7px 0 5px;font-size:26px}.product-editor-workspace-head p{margin:0;color:#72817c;font-size:13px}.product-editor-workspace-head .product-return-shelf{display:inline-flex;align-items:center;width:auto;margin:0;padding:2px 0;border:0;background:transparent;color:#6f8f85;font-size:12px;font-weight:500;line-height:1.4;text-decoration:none}.product-editor-workspace-head .product-return-shelf:hover{color:#087f5b;text-decoration:underline}.product-task-panel>.product-editor{width:100%;max-width:none;margin:0}.product-editor-anchor-nav{position:sticky;top:148px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:7px;border:1px solid #dce7e3;border-radius:10px;background:rgba(255,255,255,.97)}.product-editor-anchor-nav button{min-height:34px;flex:0 0 auto;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:#52665f;font-weight:700}.product-editor-anchor-nav button:hover{background:#edf8f4;color:#087f5b}.product-task-panel .product-section{scroll-margin-top:205px;background:#fff}.product-task-panel .product-inventory-readonly,.product-task-panel .product-replenishment-info{min-height:0}.product-inventory-uncreated{display:grid;gap:7px;padding:24px;border:1px dashed #cfddd8;border-radius:12px;background:#f8fbfa;color:#64766f}.product-inventory-uncreated strong{color:#29463d;font-size:16px}.product-inventory-uncreated p,.product-inventory-uncreated small{margin:0;line-height:1.65}.product-task-panel .sticky-form-actions{position:sticky;bottom:0;z-index:7;display:flex;justify-content:flex-end;gap:10px;margin:0;padding:12px 14px;border:1px solid #dce7e3;border-radius:11px;background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(22,55,46,.08)}.product-task-panel .sticky-form-actions .primary{min-width:150px}.product-dirty-modal{width:min(520px,92vw)}.product-dirty-confirm{display:grid;gap:18px;color:#52665f;line-height:1.7}.product-dirty-confirm p{margin:0}.product-dirty-confirm .dialog-actions{display:flex;justify-content:flex-end;gap:9px}.product-barcode-column>small{font-size:11px;line-height:1.25}.form-status.success{color:#087f5b}
@media(max-width:1100px){.product-task-tabs{top:92px}.product-editor-anchor-nav{top:148px}.product-editor-workspace-head h3{font-size:22px}.product-inventory-links{flex-wrap:wrap}}
@media(max-width:1100px){.product-task-panel .product-meta-grid{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:14px}.product-task-panel .product-meta-grid>*{min-width:0}}
@media(max-width:760px){.product-task-tabs{top:78px}.product-editor-anchor-nav{position:static}.product-editor-workspace-head p{display:none}.product-task-panel .product-section{scroll-margin-top:150px}.product-task-panel .sticky-form-actions{position:static;flex-direction:column-reverse}.product-task-panel .sticky-form-actions button{width:100%}}

/* Warehouse 商品分类管理 V1：复用商品任务工作区的紧凑分类治理页。 */
.product-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.product-toolbar-actions button{height:36px}.product-category-entry{height:34px}.product-category-page{display:grid;min-width:0;gap:14px;padding:2px 0 24px}.product-category-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-category-head h3{margin:0 0 5px;font-size:24px}.product-category-head p{margin:0;color:#6b7d76}.product-category-summary{display:flex;flex-wrap:wrap;gap:8px}.product-category-summary>span{padding:8px 11px;border:1px solid #dce7e3;border-radius:8px;background:#f8fbfa;color:#52665f;font-size:13px}.product-category-summary>span.warning{border-color:#f0cf8c;background:#fff9eb;color:#946200}.product-category-search{display:grid;grid-template-columns:auto minmax(240px,420px);align-items:center;gap:10px}.product-category-search>span{font-weight:700}.product-category-search input{height:38px}.product-category-table-wrap{min-width:0;overflow:auto;border:1px solid #dce7e3;border-radius:12px;background:#fff}.product-category-table{width:100%;min-width:760px;border-collapse:collapse}.product-category-table th,.product-category-table td{padding:12px 14px;border-bottom:1px solid #e8eeec;text-align:left;vertical-align:middle}.product-category-table th{background:#f7faf9;color:#52665f;font-size:13px}.product-category-table tbody tr:last-child td{border-bottom:0}.product-category-table td:first-child strong{display:block}.product-category-table td:first-child small{display:block;margin-top:3px;color:#7b8b85}.product-category-table td:first-child small.warning{color:#a56800}.product-category-actions{display:flex;gap:10px;white-space:nowrap}.product-category-modal{width:min(620px,calc(100vw - 40px));max-width:620px}.product-category-dialog{display:grid;gap:15px}.product-category-dialog>p{margin:0;color:#52665f;line-height:1.65}.product-category-dialog fieldset{display:grid;max-height:230px;gap:8px;overflow:auto;margin:0;padding:12px;border:1px solid #dce7e3;border-radius:10px}.product-category-dialog fieldset legend{padding:0 5px;font-weight:800}.product-category-dialog fieldset label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px}.product-category-dialog fieldset label:hover{background:#f2f8f5}.product-category-dialog fieldset small{margin-left:auto;color:#71817b}.product-category-merge-warning{display:grid;gap:3px;padding:11px 12px;border:1px solid #f0cf8c;border-radius:9px;background:#fff9eb;color:#8b5e00}.product-category-dialog .form-status{min-height:20px;margin:0;color:#b42318}.product-category-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:760px){.product-category-head{align-items:stretch;flex-direction:column}.product-category-search{grid-template-columns:1fr}.product-category-modal{width:calc(100vw - 24px)}.product-category-dialog .dialog-actions{flex-direction:column-reverse}.product-category-dialog .dialog-actions button{width:100%}}
.product-tag-entry{height:34px}.product-tag-page{display:grid;min-width:0;gap:14px;padding:2px 0 24px}.product-tag-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-tag-head h3{margin:0 0 5px;font-size:24px}.product-tag-head p{margin:0;color:#6b7d76}.product-tag-tools{display:grid;grid-template-columns:minmax(260px,420px) 1fr auto;align-items:end;gap:12px}.product-tag-tools>label{display:grid;gap:6px;font-weight:700}.product-tag-tools input{height:38px}.product-tag-summary{display:flex;flex-wrap:wrap;gap:8px}.product-tag-summary>span{padding:8px 11px;border:1px solid #dce7e3;border-radius:8px;background:#f8fbfa;color:#52665f;font-size:13px}.product-tag-table-wrap{min-width:0;overflow:auto;border:1px solid #dce7e3;border-radius:12px;background:#fff}.product-tag-table{width:100%;min-width:680px;border-collapse:collapse}.product-tag-table th,.product-tag-table td{padding:12px 14px;border-bottom:1px solid #e8eeec;text-align:left;vertical-align:middle}.product-tag-table th{background:#f7faf9;color:#52665f;font-size:13px}.product-tag-table tbody tr:last-child td{border-bottom:0}.product-tag-actions{display:flex;gap:10px;white-space:nowrap}.danger-text{color:#c24134}.product-tag-modal{width:min(620px,calc(100vw - 40px));max-width:620px}.product-tag-dialog{display:grid;gap:15px}.product-tag-dialog>p{margin:0;color:#52665f;line-height:1.65}.product-tag-dialog fieldset{display:grid;max-height:230px;gap:8px;overflow:auto;margin:0;padding:12px;border:1px solid #dce7e3;border-radius:10px}.product-tag-dialog fieldset legend{padding:0 5px;font-weight:800}.product-tag-dialog fieldset label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px}.product-tag-dialog fieldset label:hover{background:#f2f8f5}.product-tag-dialog fieldset small{margin-left:auto;color:#71817b}.product-tag-merge-warning{display:grid;gap:3px;padding:11px 12px;border:1px solid #f0cf8c;border-radius:9px;background:#fff9eb;color:#8b5e00}.product-tag-dialog .form-status{min-height:20px;margin:0;color:#b42318}.product-tag-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px}
@media(min-width:1101px){.product-merchant-toolbar{grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(118px,.68fr)) auto auto!important}}
@media(max-width:1100px){.product-tag-tools{grid-template-columns:1fr auto}.product-tag-tools>label{grid-column:1/-1}.product-merchant-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))!important}.product-search-field{grid-column:1/-1}.product-toolbar-actions{grid-column:2/-1;justify-self:end}}
@media(max-width:760px){.product-tag-head{align-items:stretch;flex-direction:column}.product-tag-tools{grid-template-columns:1fr}.product-tag-summary{grid-column:1}.product-tag-modal{width:calc(100vw - 24px)}.product-tag-dialog .dialog-actions{flex-direction:column-reverse}.product-tag-dialog .dialog-actions button{width:100%}}

/* Supplier-owned Shelf Groups: presentation only; Product Category remains independent. */
.shelf-group-modal{width:min(1100px,calc(100vw - 42px));max-width:1100px}.shelf-group-manager{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:610px;max-height:76vh;overflow:hidden}.shelf-group-list{overflow-y:auto;padding:16px;border-right:1px solid #dce7e3;background:#f7faf9}.shelf-group-list>form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.shelf-group-list input,.shelf-group-products input{min-width:0;height:38px}.shelf-group-list>p{margin:10px 0 14px;color:#71817b;font-size:12px;line-height:1.5}.shelf-group-row{display:flex;width:100%;min-height:58px;margin-top:7px;padding:9px 10px;align-items:center;justify-content:space-between;border:1px solid #dce7e3;border-radius:9px;background:#fff;color:#29463d;text-align:left}.shelf-group-row span{display:grid;min-width:0;gap:3px}.shelf-group-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-group-row small{color:#71817b}.shelf-group-row i{font-style:normal}.shelf-group-row.active{border-color:#23a77b;background:#eaf8f3;color:#087f5b;box-shadow:inset 3px 0 #0ca678}.shelf-group-order{display:flex;justify-content:flex-end;gap:5px;margin-top:3px}.shelf-group-order button{padding:3px 7px;border:0;background:transparent;color:#60736d;font-size:11px}.shelf-group-order button:disabled{opacity:.35}.shelf-group-products{display:grid;align-content:start;gap:16px;overflow-y:auto;padding:20px 22px}.shelf-group-products>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.shelf-group-products h3,.shelf-group-products h4{margin:0}.shelf-group-products header p{margin:5px 0 0;color:#71817b}.shelf-group-products header>div:last-child{display:flex;gap:7px}.shelf-group-rename{display:grid;grid-template-columns:minmax(220px,420px) auto;justify-content:start;gap:8px}.shelf-group-products>section{display:grid;gap:9px}.shelf-group-current-items,.shelf-group-candidates{display:grid;max-height:190px;overflow-y:auto;border:1px solid #dce7e3;border-radius:10px;background:#fff}.shelf-group-current-items article,.shelf-group-candidates label{display:flex;min-width:0;padding:9px 11px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e7eeeb}.shelf-group-current-items article:last-child,.shelf-group-candidates label:last-child{border-bottom:0}.shelf-group-current-items span,.shelf-group-candidates span{display:grid;min-width:0;gap:3px}.shelf-group-current-items b,.shelf-group-candidates b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-group-current-items small,.shelf-group-candidates small{color:#71817b}.shelf-group-candidates label{justify-content:flex-start;cursor:pointer}.shelf-group-add>form{display:grid;gap:8px}.shelf-group-add>#searchShelfGroupProducts{grid-template-columns:minmax(0,1fr) auto}.shelf-group-add>#addShelfGroupItems>.primary{justify-self:end}.shelf-group-add .form-note{margin:0;color:#71817b;font-size:12px}
.shelf-management-page{padding:0;overflow:hidden}.shelf-management-page>.panel-head{margin:0;padding:20px 22px;border-bottom:1px solid #dce7e3}.shelf-management-page .shelf-group-manager{min-height:560px;max-height:none}.shelf-readonly-page .status-chip{align-self:flex-start}.shelf-readonly-list{display:grid;margin-top:16px;border:1px solid #dce7e3;border-radius:10px;overflow:hidden}.shelf-readonly-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #e7eeeb}.shelf-readonly-list article:last-child{border-bottom:0}.shelf-readonly-list article span{display:grid;gap:3px}.shelf-readonly-list article small{color:#71817b}.shelf-readonly-list article i{color:#087f5b;font-style:normal;font-size:12px}
@media(max-width:760px){.shelf-group-modal{width:calc(100vw - 20px)}.shelf-group-manager{grid-template-columns:1fr;max-height:82vh;overflow-y:auto}.shelf-group-list{max-height:260px;border-right:0;border-bottom:1px solid #dce7e3}.shelf-group-products{overflow:visible;padding:16px}.shelf-group-products>header{flex-direction:column}.shelf-group-rename{grid-template-columns:1fr auto}}

/* Warehouse 商品管理：Warehouse 自有商品/分类，不承载 Shelf 分组 */
.warehouse-product-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px}.warehouse-product-head h3{margin:0;color:#173e33;font-size:25px}.warehouse-product-head p{margin:5px 0 0;color:#6a7d76}.product-category-quick-filter{display:flex;gap:7px;overflow-x:auto;padding:11px 12px 5px;background:#fff;scrollbar-width:thin}.product-category-quick-filter button{display:inline-flex;min-height:32px;flex:0 0 auto;align-items:center;gap:6px;padding:5px 11px;border:1px solid #dbe6e2;border-radius:999px;background:#f8fbfa;color:#536963}.product-category-quick-filter button b{color:#244c40;font-size:12px}.product-category-quick-filter button.active{border-color:#38ad85;background:#eaf8f3;color:#087f5b;font-weight:800}.product-category-quick-filter button.active b{color:#087f5b}.warehouse-product-table{min-width:1420px}.warehouse-product-table .product-info-column{min-width:220px}.warehouse-product-table .product-code-column{min-width:145px}.warehouse-product-table .product-spec-column{min-width:170px}.warehouse-product-table .product-category-column{min-width:110px}.warehouse-product-table .product-stock-column,.warehouse-product-table .product-allocated-column,.warehouse-product-table .product-available-column{min-width:84px}.warehouse-product-table .product-warning-column,.warehouse-product-table .product-state-column{min-width:105px}.warehouse-product-table .product-actions-column{min-width:190px}.warehouse-product-table .product-code-column span,.warehouse-product-table .product-code-column small{display:block;max-width:150px;overflow-wrap:anywhere}.warehouse-product-table .product-available-column .low{color:#bd3f34}.product-status.neutral{background:#edf7f3;color:#087f5b}.product-status.warning{background:#fff1e8;color:#b54825}.warehouse-category-table{min-width:900px}.warehouse-category-table th:nth-child(1){width:28%}.warehouse-category-table th:nth-child(2),.warehouse-category-table th:nth-child(3),.warehouse-category-table th:nth-child(4),.warehouse-category-table th:nth-child(5){width:11%}.warehouse-category-table th:last-child{width:28%}
@media(max-width:1100px){.warehouse-product-head{align-items:flex-start;flex-direction:column}.warehouse-product-head .product-add-button{align-self:flex-start}.warehouse-product-table{min-width:1380px}.product-category-search{grid-template-columns:1fr}.product-category-head{align-items:flex-start;flex-direction:column}}

/* Warehouse Product List UX V2: Product Group + always-visible SKU rows. */
.warehouse-product-management{min-width:0}.warehouse-product-management .product-merchant-panel{overflow:visible;border:1px solid #dfe8e5;border-radius:13px;box-shadow:0 8px 26px rgba(22,55,46,.055)}
.warehouse-product-head .product-add-button{display:inline-flex;min-width:126px;height:42px;align-items:center;justify-content:center;gap:7px;padding:0 18px;line-height:1;text-align:center}.warehouse-product-head .product-add-button span:first-child{font-size:20px;font-weight:500;line-height:1}
.warehouse-product-toolbar{align-items:center}.warehouse-product-toolbar input,.warehouse-product-toolbar select{height:40px}.warehouse-product-toolbar .product-clear-filters{height:40px}
.warehouse-product-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}.warehouse-product-management .warehouse-product-table{width:100%;min-width:1050px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.warehouse-product-table col.product-check-col{width:42px}.warehouse-product-table col.product-info-col{width:210px}.warehouse-product-table col.product-category-col{width:96px}.warehouse-product-table col.product-spec-col{width:230px}.warehouse-product-table col.product-stock-col{width:82px}.warehouse-product-table col.product-allocated-col{width:76px}.warehouse-product-table col.product-available-col{width:84px}.warehouse-product-table col.product-state-col{width:96px}.warehouse-product-table col.product-actions-col{width:154px}
.warehouse-product-table th,.warehouse-product-table td{padding:11px 10px;vertical-align:middle}.warehouse-product-table thead th{height:46px;background:#f6f9f8;color:#52665f;font-size:12px;font-weight:750;white-space:nowrap}.warehouse-product-table .product-check-column{text-align:center}.warehouse-product-table .product-stock-column,.warehouse-product-table .product-allocated-column,.warehouse-product-table .product-available-column{font-variant-numeric:tabular-nums;text-align:left}.warehouse-product-table .product-stock-column strong,.warehouse-product-table .product-allocated-column strong,.warehouse-product-table .product-available-column strong{font-size:14px}
.warehouse-product-sku-row{position:relative;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.warehouse-product-sku-row td{background:#fff;border-bottom:1px solid #edf2f0}.warehouse-product-sku-row.group-start td{border-top:7px solid #f6f8f7}.warehouse-product-sku-row.group-start:first-child td{border-top-width:0}.warehouse-product-sku-row.group-continuation td:not(.product-group-cell){background:#fbfcfc}.warehouse-product-sku-row.group-hover td,.warehouse-product-sku-row.selected td{background:#f0faf6}.warehouse-product-sku-row.selected td:first-child{box-shadow:inset 3px 0 #0aa575}.warehouse-product-sku-row:focus-visible{outline:2px solid #17a878;outline-offset:-2px}.warehouse-product-sku-row .product-group-cell{vertical-align:middle}
.product-merchant-info{align-items:center}.product-name-copy{display:flex;min-width:0;align-items:flex-start;flex-direction:column;gap:3px}.product-name-button{max-width:150px;overflow:hidden;padding:0;border:0;background:transparent;color:#172d27;font-size:14px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.product-name-button:hover{color:#087f5b}.product-name-copy>small{color:#7b8b85;font-size:11px;white-space:nowrap}.product-category-quick-action{display:inline-flex;min-height:26px;align-items:center;gap:3px;margin-top:2px;padding:3px 8px;border:1px solid #cfe2db;border-radius:6px;background:#fff;color:#16805f;font-size:11px;font-weight:700}.product-category-quick-action:hover{border-color:#1da77b;background:#effaf6}
.product-thumb-button{display:grid;width:50px;height:50px;flex:0 0 50px;padding:0;overflow:hidden;border:0;border-radius:9px;background:#edf2f0;place-items:center}.warehouse-product-image{position:relative;display:grid;width:50px;height:50px;overflow:hidden;border:1px solid #e0e8e5;border-radius:9px;background:linear-gradient(110deg,#eef3f1 8%,#f8faf9 18%,#eef3f1 33%);background-size:200% 100%;animation:warehouse-product-image-loading 1.25s linear infinite;place-items:center}.warehouse-product-image-fallback{color:#9aaba5;font-size:18px;font-weight:800}.warehouse-product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .15s ease}.warehouse-product-image img.loaded{opacity:1}.warehouse-product-image:has(img.loaded){animation:none;background:#edf2f0}@keyframes warehouse-product-image-loading{to{background-position-x:-200%}}
.product-category-chip{display:inline-flex;max-width:100%;min-height:27px;align-items:center;padding:4px 9px;overflow:hidden;border:1px solid #dbe5e2;border-radius:999px;background:#f3f6f5;color:#52665f;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.warehouse-sku-copy{display:grid;gap:3px}.warehouse-sku-copy strong{display:flex;min-width:0;align-items:center;gap:7px;overflow:hidden;color:#263f37;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.warehouse-sku-copy.continuation strong span{color:#9aa9a4;font-size:17px;font-weight:500}.warehouse-sku-copy small{overflow:hidden;color:#81908b;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.product-state-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.product-state-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.warehouse-product-table .product-row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.warehouse-product-table .product-row-actions>.link-btn{padding:2px 0}.product-group-more{position:relative}.product-group-more>summary{display:flex;align-items:center;gap:3px;color:#167dbe;font-size:12px;font-weight:650;cursor:pointer;list-style:none}.product-group-more>summary::-webkit-details-marker{display:none}.product-group-more-menu{position:absolute;z-index:20;right:0;top:25px;display:grid;min-width:112px;padding:6px;border:1px solid #dce6e2;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(22,55,46,.16)}.product-group-more-menu button{padding:8px 9px;border:0;border-radius:6px;background:#fff;text-align:left}.product-group-more-menu button:hover{background:#edf8f4}
.product-list-update-status{display:flex;min-height:36px;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid var(--ui-border,#dfe7e4);border-bottom:1px solid var(--ui-border,#dfe7e4);background:var(--ui-brand-soft,#edf8f4);color:var(--ui-text-secondary,#536963);font-size:12px;font-weight:650}.product-list-update-status[hidden]{display:none}
.product-category-quick-menu{position:fixed;z-index:1002;width:236px;padding:8px;border:1px solid #d7e5e0;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(22,55,46,.2)}.product-category-quick-menu-head{display:grid;gap:2px;padding:7px 9px 9px;border-bottom:1px solid #edf2f0}.product-category-quick-menu-head small{color:#82908c;font-size:11px}.product-category-quick-menu-head strong{color:#29483f}.product-category-quick-options{display:grid;max-height:230px;overflow:auto;padding:6px 0}.product-category-quick-options button,.product-category-quick-create{min-height:34px;padding:7px 9px;border:0;border-radius:7px;background:#fff;color:#3e5750;text-align:left}.product-category-quick-options button:hover,.product-category-quick-options button.active{background:#edf8f4;color:#087f5b}.product-category-quick-create{width:100%;border-top:1px solid #edf2f0;border-radius:0;color:#087f5b;font-weight:750}.product-category-inline-create .form-status{min-height:18px}
@media(min-width:1366px){.warehouse-product-management .product-merchant-table-wrap{overflow-x:hidden}}
@media(max-width:1365px){.warehouse-product-management .warehouse-product-table{min-width:1050px}}
@media(max-width:1100px){.warehouse-product-management .warehouse-product-head{align-items:center;flex-direction:row}.warehouse-product-management .warehouse-product-head .product-add-button{align-self:auto}.warehouse-product-management .warehouse-product-table{min-width:1050px}}
@media(max-width:760px){.warehouse-product-management .warehouse-product-head{align-items:flex-start;flex-direction:column}.warehouse-product-management .warehouse-product-head .product-add-button{align-self:stretch}.product-category-quick-menu{width:min(236px,calc(100vw - 24px))}}

/* Warehouse Product Table Visual Polish V3: continuous ERP table, not stacked cards. */
.warehouse-product-management .warehouse-product-table{min-width:1050px;border-collapse:separate;border-spacing:0;background:#fff}
.warehouse-product-table col.product-check-col{width:42px}.warehouse-product-table col.product-info-col{width:218px}.warehouse-product-table col.product-category-col{width:106px}.warehouse-product-table col.product-spec-col{width:230px}.warehouse-product-table col.product-stock-col{width:80px}.warehouse-product-table col.product-allocated-col{width:72px}.warehouse-product-table col.product-available-col{width:84px}.warehouse-product-table col.product-state-col{width:90px}.warehouse-product-table col.product-actions-col{width:128px}
.warehouse-product-table th,.warehouse-product-table td{padding:8px 9px}.warehouse-product-table thead th{height:42px;border-bottom:1px solid #dce5e2;background:#f7f9f8;color:#596b65;font-size:12px}.warehouse-product-sku-row{height:56px}.warehouse-product-sku-row td,.warehouse-product-sku-row.group-continuation td:not(.product-group-cell){border-top:0;border-bottom:1px solid #eff3f2;background:#fff}.warehouse-product-sku-row.group-start:not(:first-child) td{border-top:1px solid #d9e3df}.warehouse-product-sku-row.group-end td{border-bottom-color:#d9e3df}.warehouse-product-sku-row.group-hover td{background:#fafcfb}.warehouse-product-sku-row.selected td{background:#f6faf8}.warehouse-product-sku-row.selected td:first-child{box-shadow:inset 2px 0 #35a77f}.warehouse-product-sku-row .product-group-cell{vertical-align:middle}
.product-merchant-info{gap:9px}.product-name-copy{gap:2px}.product-name-button{max-width:145px;font-size:14px}.product-name-copy>small{color:#82908c;font-size:10.5px;font-weight:500}.product-thumb-button,.warehouse-product-image{width:46px;height:46px;flex:0 0 46px;border-radius:8px}.warehouse-product-image{border-color:#e5ebe9;background:linear-gradient(110deg,#f1f4f3 8%,#fafbfb 18%,#f1f4f3 33%)}.warehouse-product-image-fallback{color:#a7b3af;font-size:16px}
.product-category-chip{display:inline-flex;min-height:26px;max-width:100%;align-items:center;gap:4px;padding:3px 8px;border:1px solid #dce5e2;border-radius:7px;background:#f7f9f8;color:#52645e;font-size:11px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.product-category-quick-action{margin:0;cursor:pointer}.product-category-quick-action:hover{border-color:#8fc9b5;background:#f1f8f5;color:#087f5b}
.warehouse-sku-copy{gap:2px;min-width:0}.warehouse-sku-copy.continuation{padding-left:12px}.warehouse-sku-copy strong{display:block;overflow:hidden;color:#263f37;font-size:12.5px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.warehouse-sku-copy small{display:block;overflow:hidden;color:#82908c;font-size:10.5px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.warehouse-product-table .product-stock-column,.warehouse-product-table .product-allocated-column,.warehouse-product-table .product-available-column{font-variant-numeric:tabular-nums;text-align:left}.warehouse-product-table .product-stock-column strong,.warehouse-product-table .product-allocated-column strong,.warehouse-product-table .product-available-column strong{color:#32473f;font-size:13px;font-weight:700}.warehouse-product-table .product-available-column .low{color:inherit}
.product-state-status{gap:4px;padding:3px 7px;font-size:11px}.product-state-status i{width:5px;height:5px}.warehouse-product-table .product-row-actions{gap:7px;font-size:12px}.warehouse-product-table .product-row-actions>.link-btn{padding:2px 0}.product-group-more>summary{font-size:12px}
@media(min-width:1366px){.warehouse-product-management .warehouse-product-table-wrap{overflow-x:hidden}}
@media(max-width:1365px){.warehouse-product-management .warehouse-product-table-wrap{overflow-x:auto}.warehouse-product-management .warehouse-product-table{min-width:1050px}}

/* Warehouse Product Table Polish V4: airy continuous grid + aligned controls. */
.warehouse-product-management{--product-table-border:#e7eeeb;--product-table-divider:#edf2f0;--product-table-inner-divider:#f1f4f3;--product-table-group-divider:#dfe7e4}.warehouse-product-management .product-merchant-panel{overflow:visible;border:1px solid var(--product-table-border);border-radius:8px;box-shadow:none}.warehouse-product-management .warehouse-product-table-wrap{border-top:1px solid var(--product-table-border);border-radius:0;background:#fff}.warehouse-product-management .warehouse-product-table{min-width:1050px;background:#fff}
.warehouse-product-table col.product-check-col{width:42px}.warehouse-product-table col.product-info-col{width:220px}.warehouse-product-table col.product-category-col{width:104px}.warehouse-product-table col.product-spec-col{width:226px}.warehouse-product-table col.product-stock-col{width:80px}.warehouse-product-table col.product-allocated-col{width:72px}.warehouse-product-table col.product-available-col{width:84px}.warehouse-product-table col.product-state-col{width:90px}.warehouse-product-table col.product-actions-col{width:132px}
.warehouse-product-table th,.warehouse-product-table td{padding:9px 10px;border-right:1px solid var(--product-table-divider)}.warehouse-product-table th:last-child,.warehouse-product-table td:last-child{border-right:0}.warehouse-product-table thead th{height:44px;border-bottom:1px solid var(--product-table-border);background:#f7faf9;color:#596b65;font-size:12px;font-weight:650}.warehouse-product-sku-row{height:66px}.warehouse-product-sku-row.group-start.group-end{height:72px}.warehouse-product-sku-row td,.warehouse-product-sku-row.group-continuation td:not(.product-group-cell){border-top:0;border-bottom:1px solid var(--product-table-inner-divider);background:#fff}.warehouse-product-sku-row.group-start:not(:first-child) td{border-top:0}.warehouse-product-sku-row.group-start .product-group-cell,.warehouse-product-sku-row.group-end td{border-bottom-color:var(--product-table-group-divider)}.warehouse-product-sku-row.group-hover td{background:#fafcfb}.warehouse-product-sku-row.selected td{background:#f7faf9}.warehouse-product-sku-row.selected td:first-child{box-shadow:inset 2px 0 #35a77f}.warehouse-product-sku-row .product-group-cell{vertical-align:middle}
.product-merchant-info{gap:10px}.product-name-button{font-size:14px;font-weight:750}.product-name-copy>small{color:#82908c;font-size:11px;font-weight:500}.product-thumb-button,.warehouse-product-image{width:56px;height:56px;flex:0 0 56px;border-radius:8px}.warehouse-product-image{border-color:#e6ecea}.warehouse-product-image-fallback{color:#a8b4b0;font-size:17px}.warehouse-product-image img{width:56px;height:56px}
.warehouse-sku-copy{gap:3px}.warehouse-sku-copy.continuation{padding-left:12px}.warehouse-sku-copy strong{font-size:13.5px;font-weight:650;line-height:1.4}.warehouse-sku-copy small{font-size:11px;line-height:1.35}.warehouse-product-table .product-stock-column strong,.warehouse-product-table .product-allocated-column strong,.warehouse-product-table .product-available-column strong{font-size:13.5px;font-weight:650}.product-state-status{min-height:24px;padding:3px 7px}
.warehouse-product-management .product-add-button,.warehouse-product-management #productBulkMenuButton,.warehouse-product-management .product-category-quick-action,.warehouse-product-management .product-clear-filters,.warehouse-product-management .product-page-controls button,.warehouse-product-management .product-page-jump button,.warehouse-product-management .product-task-tab,.warehouse-product-management .product-group-more>summary{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}.warehouse-product-management .button-arrow,.warehouse-product-management .product-category-quick-action>span,.warehouse-product-management .product-group-more>summary>span{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.warehouse-product-head .product-add-button{height:42px;gap:7px}.product-bulk-menu>#productBulkMenuButton{height:38px;min-width:112px;gap:6px;padding:0 13px}.product-category-chip{height:28px;min-height:28px;padding:0 8px;font-size:12px}.product-category-quick-action{gap:5px}.warehouse-product-management .product-clear-filters{height:40px;padding:0 10px;border-radius:7px}.warehouse-product-management .product-clear-filters:hover{background:#f2f7f5;color:#087f5b;text-decoration:none}.warehouse-product-management .product-page-controls button,.warehouse-product-management .product-page-jump button{height:34px;min-height:34px}.warehouse-product-management .product-page-jump input,.warehouse-product-management .product-page-size select{height:34px}.warehouse-product-management .product-group-more>summary{min-height:28px;gap:4px}.warehouse-product-management .product-category-quick-filter button{min-height:34px;align-items:center;justify-content:center;line-height:1}.warehouse-product-toolbar input,.warehouse-product-toolbar select{height:40px;border-color:#d6e0dc;border-radius:7px;font-size:13px}.warehouse-product-management .product-merchant-pagination{align-items:center}.warehouse-product-management .product-page-controls,.warehouse-product-management .product-page-jump{align-items:center}
@media(min-width:1366px){.warehouse-product-management .warehouse-product-table-wrap{overflow-x:hidden}}
@media(max-width:1365px){.warehouse-product-management .warehouse-product-table-wrap{overflow-x:auto}.warehouse-product-management .warehouse-product-table{min-width:1050px}}

/* Warehouse Product Table SKU Action Alignment V5: every SKU owns status/actions and a continuous detail divider. */
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-spec-column,
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-stock-column,
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-allocated-column,
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-available-column,
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-state-column,
.warehouse-product-table .warehouse-product-sku-row:not(.group-end)>.product-actions-column{border-bottom:1px solid var(--product-table-inner-divider)}
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-spec-column,
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-stock-column,
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-allocated-column,
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-available-column,
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-state-column,
.warehouse-product-table .warehouse-product-sku-row.group-end>.product-actions-column{border-bottom:1px solid var(--product-table-group-divider)}
.warehouse-product-table .product-sku-cell{height:inherit;vertical-align:middle}.warehouse-product-table .product-actions-column{overflow:visible}.warehouse-product-table .product-row-actions{min-height:32px;align-items:center;justify-content:flex-start;gap:8px}.warehouse-product-table .product-row-actions>.link-btn{display:inline-flex;min-height:28px;align-items:center;justify-content:center;line-height:1}.warehouse-product-table .product-group-more{display:inline-flex;position:relative;align-items:center;min-height:28px}.warehouse-product-table .product-group-more>summary{height:28px;min-height:28px;align-items:center;justify-content:center;gap:4px;line-height:1}.warehouse-product-table .product-group-more>summary>span{position:relative;top:0;line-height:1}

/* Multi-page list density V1: product imagery follows the 128/96 order-list standard. */
.warehouse-product-management .warehouse-product-table{min-width:1180px}
.warehouse-product-table col.product-info-col{width:310px}
.warehouse-product-table col.product-spec-col{width:220px}
.warehouse-product-table col.product-actions-col{width:124px}
.warehouse-product-table .product-info-column{min-width:300px}
.warehouse-product-table .product-merchant-info{gap:14px}
.warehouse-product-table .product-name-button{max-width:150px;white-space:normal;line-height:1.4;text-align:left}
.warehouse-product-table .product-thumb-button,
.warehouse-product-table .warehouse-product-image{width:128px;height:128px;flex:0 0 128px;border-radius:10px}
.warehouse-product-table .warehouse-product-image img{width:128px;height:128px;object-fit:cover}
.warehouse-product-table .warehouse-product-image-fallback{padding:8px;color:#83938e;font-size:12px;font-weight:500;line-height:1.35;text-align:center}
.warehouse-product-table .warehouse-product-sku-row{height:74px}
.warehouse-product-table .warehouse-product-sku-row.group-start.group-end{height:148px}
.warehouse-product-management,.warehouse-product-management .product-merchant-panel{min-width:0;max-width:100%}
@media(max-width:760px){
  .warehouse-product-management .warehouse-product-table{min-width:1100px}
  .warehouse-product-table col.product-info-col{width:270px}
  .warehouse-product-table .product-info-column{min-width:260px}
  .warehouse-product-table .product-thumb-button,
  .warehouse-product-table .warehouse-product-image{width:96px;height:96px;flex-basis:96px}
  .warehouse-product-table .warehouse-product-image img{width:96px;height:96px}
  .warehouse-product-table .warehouse-product-sku-row{height:60px}
  .warehouse-product-table .warehouse-product-sku-row.group-start.group-end{height:116px}
}
.product-recommendation-modal>header h3{margin:0 0 6px}.product-recommendation-modal>header p{margin:0;color:var(--ds-text-muted,#687775)}.product-recommendation-list{display:grid;gap:10px;margin:16px 0;max-height:min(56vh,560px);overflow:auto}.product-recommendation-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid var(--ds-border,#dfe7e4);border-radius:10px;background:var(--ds-surface,#fff)}.product-recommendation-row b,.product-recommendation-row small{display:block}.product-recommendation-row small{margin-top:4px;color:var(--ds-text-muted,#687775)}.product-recommendation-row ul{margin:0;padding-left:18px}.product-recommendation-price{white-space:nowrap;color:#087f5b;font-weight:600}.product-recommendation-pages{display:flex;justify-content:flex-end;align-items:center;gap:12px}@media(max-width:760px){.product-recommendation-row{grid-template-columns:1fr}.product-recommendation-pages{justify-content:space-between}}
