/* TRANSFER-COST-DIALOG-594：运费分摊弹窗只保留更宽的宽度与分摊预览表格样式；
   头部/内容/底部固定结构改由 TRANSFER-TRANSPORT-STYLE-664 通用弹窗底座提供。 */
.transfer-packing-table-wrap { overflow-x: auto; }
.transfer-packing-table { min-width: 860px; }
.transfer-packing-table td { vertical-align: middle; }
.transfer-packing-table td:nth-child(3) { min-width: 170px; }
.transfer-packing-table td:last-child { white-space: nowrap; }
.transfer-group-measurements { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.transfer-group-measurements label { min-width: 0; }
.transfer-group-measurements input { width: 100%; box-sizing: border-box; }
.transfer-packing-photo-field .pe-file-items { overflow: visible; }
.transfer-packing-photo-zoom { max-width: min(90vw,1000px); max-height: 90vh; padding: 24px; border: 0; border-radius: 12px; }
.transfer-packing-photo-zoom::backdrop { background: rgb(12 22 38 / 76%); }
.transfer-packing-photo-zoom img { display: block; max-width: 100%; max-height: calc(90vh - 48px); object-fit: contain; }
.transfer-packing-photo-zoom img[hidden] { display: none; }
.transfer-packing-photo-zoom .cc-dialog-close { position: absolute; top: 8px; right: 8px; }

.pe-anomaly-dialog.transfer-cost-dialog {
  width: min(920px, calc(100vw - 32px));
  max-width: none;
}

.transfer-cost-dialog .transfer-dialog-body > p,
.transfer-cost-dialog [data-preview] > p {
  margin: 0;
  color: var(--muted, #5a677a);
  line-height: 1.6;
}

.transfer-cost-dialog [data-preview] {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.transfer-cost-dialog [data-preview] .pe-table-wrap {
  min-width: 0;
  overflow-x: hidden;
}

.transfer-cost-dialog [data-preview] .pe-table {
  min-width: 0;
  table-layout: fixed;
}

.transfer-cost-dialog [data-preview] .pe-table th,
.transfer-cost-dialog [data-preview] .pe-table td {
  padding: 12px 10px;
  overflow-wrap: anywhere;
}

.transfer-cost-dialog [data-preview] .pe-table th:first-child { width: 30%; }
.transfer-cost-dialog [data-preview] .pe-table th:nth-child(2) { width: 10%; }
.transfer-cost-dialog [data-preview] .pe-table th:nth-child(3) { width: 19%; }
.transfer-cost-dialog [data-preview] .pe-table th:nth-child(4) { width: 23%; }
.transfer-cost-dialog [data-preview] .pe-table th:nth-child(5) { width: 18%; }

@media (max-width: 700px) {
  .transfer-group-measurements { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pe-anomaly-dialog.transfer-cost-dialog {
    width: calc(100vw - 20px);
  }

  .transfer-cost-dialog .transfer-dialog-body {
    padding: 16px;
  }

  .transfer-cost-dialog [data-preview] .pe-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .transfer-cost-dialog [data-preview] .pe-table tbody {
    display: grid;
    gap: 10px;
  }

  .transfer-cost-dialog [data-preview] .pe-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 12px;
    border: 1px solid var(--line, #e4eaf3);
    border-radius: 10px;
  }

  .transfer-cost-dialog [data-preview] .pe-table td {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 0;
    border: 0;
  }

  .transfer-cost-dialog [data-preview] .pe-table td:first-child {
    grid-column: 1 / -1;
    font-weight: 700;
  }

  .transfer-cost-dialog [data-preview] .pe-table td::before {
    content: attr(data-label);
    color: var(--muted, #7c879b);
    font-size: 12px;
    font-weight: 400;
  }
}

/* TRANSFER-TRANSPORT-TOOLBAR-UI: filter labels stack above controls inside the borderless
   list card, mirroring the stock replenishment pe-toolbar metrics. */
.transfer-list-filters{padding:16px 18px;display:flex;gap:12px;align-items:end;flex-wrap:wrap;border-bottom:1px solid var(--line,#e4eaf3)}
.transfer-list-filters label{display:grid;gap:6px;min-width:0;font-size:12px;color:var(--muted,#7c879b)}
.transfer-list-filters label:first-child{flex:1;max-width:440px}
.transfer-list-filters input,.transfer-list-filters select{width:100%;box-sizing:border-box;border:1px solid var(--line,#dce4ef);border-radius:10px;background:var(--card,#fff);color:var(--ink,#172033);min-height:42px;padding:0 12px;font:inherit}
.transfer-list-filters input::placeholder{font-size:12px}

/* TRANSFER-TRANSPORT-STYLE-664：全部调拨弹窗对齐订单「维护发货资料」——
   细线 cc-dialog-close × 图标、头部固定（底部分隔线）、内容区独立滚动、
   底部固定操作条（取消左/确认提交右），长内容不再把按钮滚出视野。 */
.transfer-form-dialog{width:min(720px,calc(100vw - 32px))}
.transfer-form-dialog .pe-action-box{display:flex!important;flex-direction:column;gap:0!important;max-height:calc(100dvh - 32px);padding:0!important;overflow:hidden}
.transfer-form-dialog .pe-action-box>header{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:18px 20px;border-bottom:1px solid var(--line,#e4eaf3)}
.transfer-form-dialog .pe-action-box>header .pe-eyebrow{margin:0 0 6px}
.transfer-form-dialog .pe-action-box>header h2{margin:0;font-size:19px}
.transfer-form-dialog .transfer-dialog-body{display:grid;gap:12px;flex:1;min-height:0;padding:18px 20px;overflow-y:auto;overscroll-behavior:contain}
.transfer-form-dialog .pe-action-box>footer{display:flex;flex:none;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:14px 20px;border-top:1px solid var(--line,#e4eaf3);background:var(--card,#fff)}
@media(max-width:700px){.transfer-form-dialog{width:calc(100vw - 20px)}.transfer-form-dialog .pe-action-box>header{padding:16px}.transfer-form-dialog .transfer-dialog-body{padding:16px}.transfer-form-dialog .pe-action-box>footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}

/* TRANSFER-PACKING-EDITOR-760: one editable group and a persistent batch coverage summary. */
.pe-anomaly-dialog.transfer-packing-plan-dialog{width:min(1060px,calc(100vw - 32px));max-width:none}
.transfer-packing-plan-dialog .pe-action-box{height:min(760px,calc(100dvh - 32px))}
.transfer-packing-plan-dialog .transfer-dialog-body{display:flex;flex-direction:column;gap:0;overflow:hidden;padding:0}
.transfer-packing-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);flex:1;min-height:0}
.transfer-packing-navigation{display:flex;flex-direction:column;min-height:0;padding:16px;border-right:1px solid var(--line,#e4eaf3);background:var(--surface,#f7f9fc)}
.transfer-packing-navigation-title,.transfer-packing-current-heading,.transfer-packing-coverage-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.transfer-packing-navigation-title strong,.transfer-packing-coverage-title strong{color:var(--ink,#172033)}
.transfer-packing-navigation-title .btn{padding:6px 10px;white-space:nowrap}
.transfer-packing-navigation-list{display:grid;align-content:start;gap:8px;min-height:0;margin-top:12px;overflow-y:auto}
.transfer-packing-group-choice{display:grid;gap:6px;width:100%;min-width:0;padding:12px;border:1px solid var(--line,#e4eaf3);border-radius:10px;background:var(--card,#fff);color:var(--ink,#172033);text-align:left;cursor:pointer}
.transfer-packing-group-choice.is-active{border-color:var(--primary,#2f7df4);background:#eef5ff}
.transfer-packing-group-choice>span{display:flex;justify-content:space-between;gap:6px}
.transfer-packing-group-choice>small{overflow:hidden;color:var(--muted,#7c879b);text-overflow:ellipsis;white-space:nowrap}
.transfer-packing-group-choice:focus-visible{outline:2px solid var(--primary,#2f7df4);outline-offset:2px}
.transfer-packing-current{display:grid;align-content:start;gap:16px;min-width:0;min-height:0;padding:18px 20px;overflow-y:auto}
.transfer-packing-current-heading{align-items:end}
.transfer-packing-current-title{display:flex;align-items:center;gap:10px;min-width:0}
.transfer-packing-current-heading h3{margin:0;font-size:18px}
.transfer-packing-current .cc-help{margin:0}
.transfer-packing-box-count{width:150px;flex:none}
.transfer-packing-box-count label,.transfer-packing-quantity{display:grid;gap:4px;min-width:0}
.transfer-packing-current input,.transfer-packing-current select{width:100%;box-sizing:border-box}
.transfer-packing-remove-icon.btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;padding:6px}
.transfer-packing-remove-icon svg{width:17px;height:17px}
.transfer-packing-product-rows{min-width:0}
.transfer-packing-product-table{width:100%;min-width:0;table-layout:fixed}
.transfer-packing-product-table th,.transfer-packing-product-table td{padding:8px 10px}
.transfer-packing-product-table th:nth-child(2){width:125px}
.transfer-packing-product-table th:last-child{width:62px;text-align:center}
.transfer-packing-product-table td:last-child{text-align:center}
.transfer-packing-product-table select,.transfer-packing-product-table input{min-width:0}
.transfer-packing-add-item{justify-self:start}
.transfer-packing-coverage{flex:none;display:grid;gap:8px;max-height:154px;padding:12px 20px;border-top:1px solid var(--line,#e4eaf3);background:var(--card,#fff)}
.transfer-packing-coverage-title span{color:var(--muted,#7c879b);font-size:12px}
.transfer-packing-coverage-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;overflow-y:auto}
.transfer-packing-coverage-item{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 9px;border-radius:8px;background:#f6f8fc;font-size:12px}
.transfer-packing-coverage-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transfer-packing-coverage-item small{white-space:nowrap;color:var(--muted,#7c879b)}
.transfer-packing-coverage-item.done small{color:#278864}
.transfer-packing-coverage-item.excess small{color:#bd4355}
.transfer-packing-plan-dialog [data-transfer-error]{flex:none;max-height:64px;margin:0;padding:8px 20px;overflow:auto}
.transfer-packing-confirm-dialog .transfer-dialog-body{align-content:start;gap:10px;padding-top:10px}
.transfer-packing-confirm-dialog .transfer-packing-group-summary{margin:0}
@media(max-width:700px){
  .pe-anomaly-dialog.transfer-packing-plan-dialog{width:calc(100vw - 20px)}
  .transfer-packing-plan-dialog .pe-action-box{height:calc(100dvh - 20px)}
  .transfer-packing-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .transfer-packing-navigation{padding:10px 12px;border-right:0;border-bottom:1px solid var(--line,#e4eaf3)}
  .transfer-packing-navigation-list{display:flex;gap:6px;max-height:82px;margin-top:8px;overflow-x:auto;overflow-y:hidden}
  .transfer-packing-group-choice{flex:0 0 146px}
  .transfer-packing-current{gap:12px;padding:12px}
  .transfer-packing-box-count{width:110px}
  .transfer-packing-product-table th:nth-child(2){width:76px}
  .transfer-packing-product-table th:last-child{width:52px}
  .transfer-packing-product-table th,.transfer-packing-product-table td{padding:6px 4px}
  .transfer-packing-coverage{max-height:126px;padding:9px 12px}
  .transfer-packing-coverage-items{grid-template-columns:1fr}
}
.transfer-packing [data-transfer-qr] .pe-card{display:inline-grid;justify-items:center;gap:8px;max-width:100%;overflow-wrap:anywhere}
.transfer-packing [data-transfer-qr] img{width:180px;height:180px;object-fit:contain}

/* TRANSFER-BATCH-DIALOG-LAYOUT-749: keep the shared dialog frame; compact only batch entry. */
.transfer-batch-dialog .transfer-batch-guidance{margin:0;color:var(--muted,#7c879b);line-height:1.5}
.transfer-batch-dialog .transfer-batch-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.transfer-batch-dialog .transfer-batch-route>div,.transfer-batch-dialog .transfer-batch-line>div{min-width:0}
.transfer-batch-dialog .transfer-batch-reason input{width:100%;box-sizing:border-box}
.transfer-batch-dialog .transfer-batch-products{display:grid;gap:10px;min-width:0}
.transfer-batch-dialog .transfer-batch-products>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.transfer-batch-dialog .transfer-batch-products h3{margin:0;font-size:15px;color:var(--ink,#172033)}
.transfer-batch-dialog [data-batch-lines]{display:grid;gap:10px;min-width:0}
.transfer-batch-dialog .transfer-batch-line{display:grid;grid-template-columns:minmax(0,1fr) 116px auto;gap:10px;align-items:start;padding:12px}
.transfer-batch-dialog .transfer-batch-line .cc-help{margin:6px 0 0;font-size:11px}
.transfer-batch-dialog .transfer-batch-line .cc-help:empty{display:none}
.transfer-batch-dialog .transfer-batch-line-qty input{width:100%;box-sizing:border-box}
.transfer-batch-dialog .transfer-batch-line [data-remove]{margin-top:20px;white-space:nowrap}
@media(max-width:700px){
  .transfer-batch-dialog .transfer-batch-route{grid-template-columns:1fr}
  .transfer-batch-dialog .transfer-batch-line{grid-template-columns:minmax(0,1fr) auto}
  .transfer-batch-dialog .transfer-batch-line-main{grid-column:1/-1}
  .transfer-batch-dialog .transfer-batch-line-qty{grid-column:1}
}
