.packing-page {
  max-width:1440px;
  margin:0 auto;
  padding:24px;
  display:grid;
  gap:16px;
  min-width:0
}
.packing-breadcrumb {
  display:flex;
  gap:10px;
  color:var(--text-subdued);
  font-size:13px
}
.packing-breadcrumb a {
  color:var(--info)
}
.packing-hero,.packing-section-head,.packing-selection-bar,.packing-pages,.packing-dialog-head,.packing-dialog-actions {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px
}
.packing-hero h1,.packing-card h2,.packing-dialog h2,.packing-dialog h3 {
  margin:0
}
.packing-hero p:not(.eyebrow) {
  margin:5px 0 0
}
.packing-card,.packing-dialog {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.packing-card {
  padding:18px;
  min-width:0
}
.packing-section-head p {
  margin:4px 0 0
}
.packing-tabs {
  display:flex;
  gap:8px
}
.packing-tabs [aria-pressed=true] {
  background:var(--primary);
  color:white;
  border-color:var(--primary)
}
.packing-search {
  display:flex;
  align-items:end;
  gap:9px;
  margin:18px 0
}
.packing-search label {
  font-weight:600
}
.packing-search input {
  flex:1;
  min-width:0;
  border:1px solid var(--border-strong);
  border-radius:6px;
  padding:9px 12px;
  font:inherit
}
.packing-selection-bar {
  justify-content:flex-start;
  flex-wrap:wrap;
  padding:12px;
  background:#f6faf8;
  border:1px solid var(--border);
  border-radius:8px
}
.packing-check {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  font-weight:600;
  cursor:pointer
}
.packing-check input {
  width:19px;
  height:19px;
  accent-color:var(--primary)
}
#selected-count {
  margin-right:auto;
  white-space:nowrap
}
.packing-list {
  display:grid;
  gap:0;
  margin-top:12px
}
.packing-order {
  display:grid;
  grid-template-columns:minmax(190px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--border);
  padding:12px 3px;
  min-width:0
}
.packing-order.has-product-summary {
  grid-template-columns:minmax(150px,1fr) minmax(170px,1.3fr) minmax(120px,.8fr) minmax(110px,.7fr) auto
}
.packing-order:hover {
  background:#f6faf8
}
.packing-order-main {
  min-width:0
}
.packing-order-main small,.packing-order-meta small {
  display:block;
  color:var(--text-subdued);
  margin-top:3px
}
.packing-order strong,.packing-order-meta {
  overflow-wrap:anywhere
}
.packing-order-actions {
  display:flex;
  justify-content:flex-end
}
.packing-order-actions button {
  min-height:44px
}
.packing-error {
  grid-column:1/-1;
  color:#8e1f0a
}
.packing-feedback {
  min-height:20px;
  margin:8px 0;
  color:var(--text-subdued)
}
.packing-feedback.is-error {
  color:#8e1f0a
}
.packing-feedback.is-success {
  color:#0c5132
}
.packing-pages {
  justify-content:flex-end;
  margin-top:14px
}
.packing-banner {
  padding:12px 16px;
  background:#fff8e7;
  border:1px solid #e8b44c;
  border-radius:8px
}
.packing-dialog {
  width:min(760px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  padding:22px;
  overflow:auto
}
.packing-dialog::backdrop {
  background:rgba(16,28,25,.58)
}
.packing-close {
  width:44px;
  height:44px;
  border:1px solid var(--border);
  border-radius:8px;
  background:white;
  font-size:25px;
  cursor:pointer
}
.packing-dialog-actions {
  justify-content:flex-start;
  flex-wrap:wrap;
  border-top:1px solid var(--border);
  padding-top:16px;
  margin-top:16px
}
.packing-manifest {
  display:grid;
  gap:8px
}
.packing-manifest-row,.packing-history-row {
  border:1px solid var(--border);
  border-radius:8px;
  padding:12px
}
.packing-manifest-row small,.packing-history-row small {
  display:block;
  color:var(--text-subdued);
  margin-top:3px
}
.packing-archive {
  border-top:1px solid var(--border);
  margin-top:16px;
  padding-top:16px
}
.packing-archive p {
  color:var(--text-subdued)
}
.packing-archive .packing-check,.packing-history-row .packing-check {
  display:flex
}
.packing-archive button {
  margin-top:12px
}
.packing-status {
  display:inline-block;
  border-radius:999px;
  background:#e3f1df;
  color:#0c5132;
  padding:4px 9px;
  font-size:12px;
  font-weight:700
}
.packing-status.is-unchecked {
  background:#fff3d6;
  color:#6f4e00
}
.packing-status.is-error {
  background:#fff0ed;
  color:#8e1f0a
}
.packing-hint {
  color:var(--text-subdued)
}
.packing-entry {
  display:flex;
  justify-content:space-between;
  text-decoration:none;
  color:var(--info);
  font-weight:700;
  padding:15px 18px
}
.packing-entry:hover {
  background:#f6faf8
}
:is(.packing-page,.packing-dialog) :focus-visible {
  outline:3px solid #1769aa;
  outline-offset:3px
}
.packing-page .btn,.packing-dialog .btn {
  min-height:44px
}
@media(max-width:700px) {
  .packing-page {
    padding:16px;
    gap:12px
  }
  .packing-hero,.packing-section-head {
    align-items:start;
    flex-direction:column
  }
  .packing-tabs {
    width:100%
  }
  .packing-tabs button {
    flex:1
  }
  .packing-card {
    padding:14px
  }
  .packing-search {
    display:grid;
    grid-template-columns:1fr auto
  }
  .packing-search label {
    grid-column:1/-1
  }
  .packing-selection-bar {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .packing-selection-bar .packing-check {
    grid-column:1/-1
  }
  .packing-selection-bar button {
    width:100%
  }
  .packing-order {
    grid-template-columns:1fr auto;
    gap:8px
  }
  .packing-order-main {
    grid-column:1/-1
  }
  .packing-order-actions {
    grid-column:2;
    grid-row:2/4
  }
  .packing-order-meta {
    grid-column:1
  }
  .packing-pages {
    justify-content:space-between
  }
  .packing-dialog {
    padding:16px
  }
  .packing-dialog-actions button {
    flex:1
  }
}
#pdf-preview-region:not(:empty) {
  margin-top:16px
}
#pdf-preview {
  display:block;
  width:100%;
  height:360px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f4f5f5
}
@media(max-width:700px) {
  #pdf-preview {
    height:310px
  }
}
.packing-page [hidden],.packing-dialog [hidden] {
  display:none!important
}

/* Awaiting shipment extends the existing packing workspace. */
[hidden] { display:none !important }
.shipping-recovery {
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  padding:18px;
  margin-top:18px;
  min-width:0
}
.shipping-editor h3,.shipping-recovery h3 { margin:0 }
.shipping-fields {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0 8px
}
.shipping-fields label { display:grid; align-content:start; gap:5px; font-weight:600; min-width:0 }
.shipping-fields input,.shipping-fields select {
  width:100%; min-width:0; min-height:44px;
  border:1px solid var(--border-strong); border-radius:6px;
  padding:9px 12px; font:inherit; background:var(--surface); color:var(--text)
}
.shipping-provider-group {
  border:1px solid var(--border); border-radius:8px;
  padding:12px; margin:14px 0; min-width:0
}
.shipping-provider-group legend { font-weight:700; padding:0 5px }
.shipping-rate {
  display:flex; align-items:center; gap:12px;
  border:1px solid var(--border); border-radius:8px;
  padding:12px; margin:8px 0; cursor:pointer; min-height:60px
}
.shipping-rate:has(input:checked) { border-color:var(--primary); background:#f2faf6 }
.shipping-rate input { width:20px; height:20px; flex:none; accent-color:var(--primary) }
.shipping-rate-details { min-width:0; overflow-wrap:anywhere }
.shipping-rate-details small { display:block; margin-top:3px; color:var(--text-subdued) }
.shipping-purchase-action { border-top:1px solid var(--border); padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px }
.shipping-recovery button { margin:4px 8px 4px 0 }
.shipping-recovery-choices { display:flex; flex-wrap:wrap; gap:4px 8px; margin-bottom:12px }
.shipping-recovery-choices p { flex-basis:100%; margin:0 }
.shipping-recovery-choices button { max-width:100%; white-space:normal; overflow-wrap:anywhere }
.shipping-order { grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto }
#shipping-feedback:empty,#shipping-drawer-feedback:empty,#shipping-form-error:empty { min-height:0; margin:0 }
@media(max-width:700px) {
  .packing-tabs { flex-wrap:wrap; width:100% }
  .packing-tabs button { flex:1 1 auto; white-space:nowrap }
  .shipping-fields { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .shipping-order { grid-template-columns:1fr }
  .shipping-order .packing-order-main,.shipping-order .packing-order-meta,.shipping-order .packing-order-actions { grid-column:1; grid-row:auto }
  .shipping-order .packing-order-actions { justify-content:flex-start }
  .shipping-purchase-action { align-items:stretch; flex-direction:column }
  .shipping-purchase-action button { width:100% }
  #shipping-search-form { grid-template-columns:1fr auto }
  #shipping-search-form #shipping-refresh { grid-column:1/-1 }
}

/* Modal package workspace: anchored to the right, with independent scrolling. */
body.shipping-drawer-open { overflow:hidden }
.shipping-order-clickable { cursor:pointer }
.shipping-order-clickable:focus-within { outline:2px solid var(--primary); outline-offset:-2px }
dialog.shipping-editor {
  position:fixed; inset:0 0 0 auto; margin:0; padding:0;
  width:min(720px,100vw); max-width:100vw; height:100dvh; max-height:100dvh;
  border:0; border-left:1px solid var(--border); border-radius:0;
  background:var(--surface); color:var(--text); overflow:hidden;
  box-shadow:-16px 0 48px rgb(0 0 0 / 12%);
}
dialog.shipping-editor[open] { display:flex; flex-direction:column; animation:shipping-drawer-enter 180ms ease-out }
dialog.shipping-editor::backdrop { background:rgb(15 23 20 / 38%) }
.shipping-drawer-head { flex-direction:row; align-items:center; flex:none; margin:0; padding:24px; border-bottom:1px solid var(--border); gap:16px }
.shipping-drawer-head > div { min-width:0 }
.shipping-drawer-head h3 { font-size:24px; line-height:1.25 }
.shipping-drawer-head .eyebrow { margin:0 0 6px }
.shipping-drawer-head button { flex:none }
.shipping-drawer-body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px 24px 24px; scroll-padding:20px }
.shipping-editor .shipping-fields { grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px 12px }
.shipping-editor .shipping-fields label { grid-column:span 2 }
.shipping-editor .shipping-fields label:first-child,
.shipping-editor .shipping-fields label:nth-child(7),
.shipping-editor .shipping-fields label:nth-child(8) { grid-column:1/-1 }
.shipping-editor .shipping-fields label:nth-child(5) { grid-column:span 4 }
.shipping-editor .shipping-purchase-action { flex:none; padding:16px 24px max(16px,env(safe-area-inset-bottom)); background:var(--surface) }
.shipping-editor .shipping-purchase-action p { margin:0; font-size:13px }
.shipping-editor .shipping-purchase-action button { flex:none }
.shipping-editor .shipping-recovery { margin-top:20px }
.shipping-editor :focus-visible { outline:2px solid var(--primary); outline-offset:3px }
@keyframes shipping-drawer-enter { from { transform:translateX(100%) } to { transform:translateX(0) } }
@media(max-width:700px) {
  dialog.shipping-editor { width:100vw; border:0 }
  .shipping-drawer-head { padding:20px 16px }
  .shipping-drawer-head h3 { font-size:21px }
  .shipping-drawer-head .eyebrow { font-size:11px }
  .shipping-drawer-head button { padding:10px; font-size:13px }
  .shipping-drawer-body { padding:4px 16px 20px }
  .shipping-editor .shipping-purchase-action { padding:12px 16px max(12px,env(safe-area-inset-bottom)); gap:8px }
}
@media(prefers-reduced-motion:reduce) {
  dialog.shipping-editor[open] { animation:none }
}

/* Shared asynchronous feedback in the label queue and package drawer. */
.packing-loader { display:flex; align-items:center; gap:12px; min-height:72px; padding:16px; margin:16px 0; border:1px solid var(--border); border-radius:10px; color:var(--primary); background:var(--surface); font-weight:600 }
.packing-loader[hidden] { display:none }
.packing-loader::before,.btn.is-loading::before { content:""; display:inline-block; width:20px; height:20px; flex:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:packing-loader-spin 800ms linear infinite }
.btn.is-loading { display:inline-flex; align-items:center; gap:10px }
@keyframes packing-loader-spin { to { transform:rotate(360deg) } }
@media (prefers-reduced-motion:reduce) {
  .packing-loader::before,.btn.is-loading::before { animation:none }
}

.shipping-list-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:16px 0 }
.shipping-list-toolbar label { font-weight:600 }
.shipping-list-toolbar select { max-width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--border-strong); border-radius:6px; background:var(--surface); color:inherit; font:inherit }

.shipping-order,.shipping-order-head { grid-template-columns:minmax(85px,.6fr) minmax(140px,1.5fr) 65px 112px minmax(120px,1fr) 190px }
.shipping-order-head { display:grid; gap:12px; align-items:center; padding:8px 3px; border-bottom:1px solid var(--border); background:var(--surface); font-size:13px }
.shipping-order-head button { display:flex; align-items:center; gap:6px; min-height:44px; padding:4px 0; border:0; background:transparent; color:inherit; font:inherit; font-weight:700; cursor:pointer; text-align:left }
.shipping-order-head button[aria-pressed=true] { color:var(--primary) }
.shipping-order-head button:focus-visible { outline:2px solid var(--primary); outline-offset:3px }
.shipping-order-head button span { color:var(--text-subdued) }
.shipping-order-age,.shipping-order-date { white-space:nowrap; font-variant-numeric:tabular-nums; font-size:14px }
.shipping-order-age time { color:var(--primary); font-weight:600 }
.shipping-cell-label { display:none; color:var(--text-subdued); margin-bottom:4px }
#shipping-orders { margin-top:0 }
@media(max-width:1050px) {
  .shipping-order-head { display:none }
  .shipping-order { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px }
  .shipping-order .packing-order-main,.shipping-order .packing-order-meta,.shipping-order .packing-order-actions { grid-column:1/-1; grid-row:auto }
  .shipping-order .packing-order-actions { justify-content:flex-start }
  .shipping-order-age { grid-column:1 }
  .shipping-order-date { grid-column:2 }
  .shipping-cell-label { display:block }
}

/* Shipping desk: a compact queue and a guided package panel. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.packing-page { gap:20px; padding-top:20px }
.packing-hero { padding:0 2px }
.packing-hero h1 { font-size:28px; letter-spacing:-.7px }
.packing-hero .eyebrow { margin:0 0 5px; font-size:11px }
.packing-hero p:not(.eyebrow) { color:var(--text-subdued); font-size:14px }
.packing-card { padding:0; box-shadow:0 2px 8px rgb(0 0 0 / 3%); overflow:hidden }
.packing-card > .packing-section-head { padding:20px 22px; border-bottom:1px solid var(--border) }
.packing-card h2 { font-size:18px; letter-spacing:-.3px }
.packing-tabs { padding:4px; gap:3px; background:#f3f5f4; border-radius:10px }
.packing-tabs .btn { background:transparent; border-color:transparent; border-radius:7px; color:var(--text-subdued); padding:9px 14px; font-size:13px; font-weight:600 }
.packing-tabs .btn[aria-pressed=true] { background:var(--surface); color:var(--primary); border-color:var(--border); box-shadow:0 1px 3px rgb(0 0 0 / 5%) }
#shipment-workspace,#print-workspace { padding:0 22px 18px }
.shipping-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:18px 0 10px }
.shipping-toolbar .packing-search { flex:1 1 360px; margin:0; align-items:center }
.shipping-toolbar .shipping-list-toolbar { margin:0; flex:0 1 auto }
.shipping-toolbar .shipping-list-toolbar select { font-size:13px; width:225px }
.shipping-toolbar .packing-search input { min-height:44px; font-size:14px }
#shipping-completeness { font-size:12px; margin:0 0 12px }
.shipping-load-more { display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 0 8px; text-align:center }
.shipping-load-more .packing-hint { margin:0 }
.shipping-load-more .packing-feedback { margin:0 }
.shipping-load-more .btn { min-height:44px; min-width:min(100%, 220px) }
.shipping-order-head { background:#f7f8f8; padding:3px 12px; border-top:1px solid var(--border); font-size:12px; color:var(--text-subdued) }
.shipping-order { padding:14px 12px; font-size:14px }
.shipping-order,.shipping-order-head { grid-template-columns:minmax(90px,.7fr) minmax(150px,2fr) 65px 112px minmax(115px,1fr) 120px }
.shipping-order .packing-order-main strong { font-size:15px; font-variant-numeric:tabular-nums }
.shipping-order .packing-order-main small { margin-top:4px; font-size:12px }
.shipping-order .packing-order-actions .btn { font-size:13px; width:100%; padding:9px 12px; color:var(--primary) }
.shipping-order-status { font-size:12px; color:var(--text-subdued) }
.shipping-order-age,.shipping-order-date { font-size:13px }
.print-queue-note { font-size:13px; margin:16px 0 0 }
#orders-list > .packing-hint { text-align:center; padding:36px 20px; background:#f8faf9; border:1px dashed var(--border); border-radius:10px }
.shipping-drawer-head { padding:20px 24px }
.shipping-drawer-head h3 { font-size:22px; letter-spacing:-.4px }
.shipping-drawer-head .eyebrow { font-size:10px; letter-spacing:1.3px }
.shipping-drawer-head .btn { min-height:44px; font-size:13px; padding:9px 13px }
.shipping-drawer-body { background:#f7f9f8; padding:20px 24px 24px }
.shipping-order-summary { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:20px; margin-bottom:20px; font-size:13px }
.shipping-summary-items { display:grid; gap:10px; align-content:start }
.shipping-summary-item { display:flex; gap:10px; align-items:start; line-height:1.5; overflow-wrap:anywhere }
.shipping-quantity { flex:none; min-width:32px; padding:2px 6px; border:1px solid var(--border); border-radius:5px; background:var(--surface); text-align:center; font-weight:700; font-size:12px }
.shipping-destination { display:grid; align-content:start; gap:4px; border-left:1px solid var(--border); padding-left:20px; overflow-wrap:anywhere }
.shipping-destination small { color:var(--text-subdued); font-size:11px; text-transform:uppercase; letter-spacing:.5px }
.shipping-destination > span { color:var(--text-subdued); line-height:1.5; font-size:12px }
.shipping-package-section,.shipping-rates-section { padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--surface) }
.shipping-rates-section { margin-top:16px }
.shipping-section-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px }
.shipping-section-title h4 { margin:0; font-size:15px; letter-spacing:-.2px }
.shipping-section-title > .packing-hint { font-size:11px; margin:0 0 0 auto }
.shipping-step { display:inline-grid; place-items:center; width:24px; height:24px; background:#e8f3ed; color:var(--primary); border-radius:50%; font-size:12px; font-weight:700 }
.shipping-profile-note { padding:10px 12px; border-radius:6px; background:#f0f6f2; font-size:12px; line-height:1.5; margin:12px 0 }
.shipping-editor .shipping-fields { margin:14px 0 8px; gap:12px }
.shipping-editor .shipping-fields label { font-size:12px; gap:6px }
.shipping-editor .shipping-fields input,.shipping-editor .shipping-fields select { font-size:14px; padding:10px; height:44px; border-radius:7px }
.shipping-editor .shipping-fields label:nth-child(7) { grid-column:span 4 }
.shipping-editor .shipping-fields label:nth-child(8) { grid-column:span 2 }
#shipping-weight-hint,#shipping-rate-prompt { font-size:12px; line-height:1.5; margin:10px 0 14px }
#shipping-rates-button { min-height:44px; width:100%; font-size:14px; margin-top:2px }
.shipping-provider-group { padding:12px 0 0; margin:14px 0 0; border:0; border-top:1px solid var(--border); border-radius:0 }
.shipping-provider-group legend { padding:0 8px 0 0; font-size:13px }
.shipping-rate { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:10px; padding:12px; margin:8px 0 0; min-height:74px }
.shipping-rate input { width:18px; height:18px }
.shipping-rate-details { display:grid; gap:3px; font-size:13px }
.shipping-rate-service { color:var(--text-subdued); font-size:12px }
.shipping-rate-details small { margin:0; font-size:10px; line-height:1.5 }
.shipping-rate-price { align-self:start; padding-top:2px; font-size:18px; font-variant-numeric:tabular-nums; letter-spacing:-.3px }
.shipping-editor .shipping-purchase-action { box-shadow:0 -3px 12px rgb(0 0 0 / 3%) }
.shipping-editor .shipping-purchase-action .btn { min-height:46px; font-size:14px }
.shipping-provider-group .packing-error { margin:8px 0; font-size:12px }
@media(max-width:1050px) {
  .shipping-order-head { display:none }
  .shipping-order { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
  .shipping-order .packing-order-actions .btn { width:auto }
  .shipping-order .packing-order-main { display:flex; align-items:center; justify-content:space-between; gap:12px }
  .shipping-order .packing-order-main small { margin:0 }
}
@media(max-width:700px) {
  .packing-page { padding:16px 12px }
  .packing-hero h1 { font-size:25px }
  .packing-card > .packing-section-head { padding:16px 14px; gap:14px }
  #shipment-workspace,#print-workspace { padding:0 14px 14px }
  .packing-tabs { flex-wrap:nowrap }
  .packing-tabs .btn { padding:8px; font-size:12px; flex:1 1 0; white-space:normal }
  .shipping-toolbar { gap:10px; padding-top:14px }
  .shipping-toolbar .packing-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px }
  .shipping-toolbar #shipping-refresh { grid-column:auto }
  .shipping-toolbar .packing-search input { grid-column:1/-1 }
  .shipping-toolbar .shipping-list-toolbar,.shipping-toolbar .shipping-list-toolbar select { width:100% }
  .shipping-order { padding:14px 4px }
  .shipping-drawer-head { padding:16px }
  .shipping-drawer-body { padding:16px 12px }
  .shipping-order-summary { grid-template-columns:1fr; gap:14px; margin:0 4px 16px }
  .shipping-destination { border-left:0; border-top:1px solid var(--border); padding:12px 0 0 }
  .shipping-package-section,.shipping-rates-section { padding:14px }
  .shipping-section-title > .packing-hint { flex-basis:100%; margin-left:32px }
  .shipping-editor .shipping-fields label:nth-child(7),.shipping-editor .shipping-fields label:nth-child(8) { grid-column:1/-1 }
  .shipping-editor .shipping-fields { gap:12px 8px }
  .shipping-rate-price { font-size:16px }
}

/* Fulfillment context stays beside the order, without widening the queue. */
.shipping-order-products { display:flex; align-items:center; gap:12px; min-width:0 }
.shipping-thumbnail { flex:0 0 48px; width:48px; height:48px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border,#dfe4e2); border-radius:8px; background:#f5f7f6; font-size:10px; line-height:1.2; text-align:center; color:#66736e; overflow:hidden }
.shipping-thumbnail img { width:48px; height:48px; object-fit:contain; background:white }
.shipping-thumbnail-preview { position:fixed; z-index:80; width:220px; height:220px; padding:8px; pointer-events:none; border:1px solid var(--border,#dfe4e2); border-radius:10px; background:#fff; box-shadow:0 10px 28px rgba(20,32,28,.18) }
.shipping-thumbnail-preview img { width:100%; height:100%; object-fit:contain; background:#fff }
@media (hover: none) { .shipping-thumbnail-preview { display:none } }
.shipping-item-text { display:grid; gap:5px; min-width:0 }
.shipping-line-source { color:#61766c; font-weight:400 }
.shipping-split-body { display:grid; gap:12px; padding:8px 4px 4px }
.shipping-split-lines { display:grid; gap:10px }
.shipping-split-line { display:grid; grid-template-columns:minmax(0,1fr) auto 72px; gap:8px; align-items:center; font-weight:600 }
.shipping-split-line input { width:72px; min-height:40px; padding:8px; border:1px solid var(--border-strong); border-radius:6px; font:inherit }
.shipping-order .packing-order-actions { display:flex; flex-direction:column; gap:6px }
.shipping-requested-method { color:#52655d; font-size:11px }
.shipping-requested-summary { grid-column:1/-1; display:grid; gap:4px; padding:12px 14px; border-radius:8px; background:#f1f7f4 }
.shipping-requested-summary small { color:#61766c }
.shipping-paid-cost { font-size:18px; font-weight:700; color:#007e62 }
.shipping-recovery > button { margin:4px 6px 4px 0 }
.shipping-print-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end }
.shipping-print-actions[hidden] { display:none }
@media (max-width:640px) {
  .shipping-print-actions { width:100% }
  .shipping-print-actions .btn { flex:1 1 160px }
}

.shipping-rate-delivery { color:#2d6553; font-size:12px; font-weight:600; line-height:1.4 }
.shipping-rate-delivery.is-unavailable { color:#69716e; font-weight:400 }
.shipping-insurance { border-top:1px solid var(--border); margin:8px 0; padding-top:4px }
.shipping-insurance-toggle { display:flex; align-items:center; gap:8px; min-height:44px; width:fit-content; font-size:13px; font-weight:600; cursor:pointer }
.shipping-insurance-toggle input { width:18px; height:18px; margin:0; accent-color:var(--primary) }
#shipping-insurance-value label { display:block; font-size:12px; font-weight:600; margin-bottom:5px }
#package-insured-value { width:100%; max-width:220px; min-height:44px; padding:8px; border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--text); font:inherit; font-size:16px }
.shipping-insurance .packing-hint { margin:4px 0 8px; font-size:12px; line-height:1.5 }
.shipping-rate-insurance { grid-column:1/-1; font-size:12px; line-height:1.5; color:var(--text-subdued) }
.shipping-original-addresses { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:16px; margin:18px 0 }
.shipping-original-address { border:1px solid var(--border); border-radius:10px; padding:16px; overflow-wrap:anywhere; line-height:1.5 }
.shipping-original-address h3 { margin:0 0 10px; font-size:14px }

/* Keep progress and print controls visible before the document preview. */
.packing-feedback.is-loading { display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--border); border-radius:10px; color:var(--primary); background:#f6faf8; font-weight:600 }
.packing-feedback.is-loading::before { content:""; width:20px; height:20px; flex:none; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:packing-loader-spin 800ms linear infinite }
#batch-actions { position:sticky; top:-22px; z-index:2; background:var(--surface); padding:12px 0; border-bottom:1px solid var(--border); margin-bottom:16px }
#batch-actions #release-batch { margin-left:auto; font-size:13px }
@media(max-width:600px) { #batch-actions #release-batch { margin-left:0 } }
@media(prefers-reduced-motion:reduce) { .packing-feedback.is-loading::before { animation:none } }

/* Order totals stay compact and independent of the package loading state. */
.shipping-profit { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:16px; margin-bottom:20px }
.shipping-profit h4 { margin:0 0 12px; font-size:14px }
.shipping-profit-lines { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 16px; margin:0; font-size:13px }
.shipping-profit-lines dt { color:var(--text-subdued) }
.shipping-profit-lines dd { margin:0; font-weight:600; text-align:right; font-variant-numeric:tabular-nums }
.shipping-profit-result { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--border); margin-top:12px; padding-top:12px; color:var(--green, #008060); font-size:14px; font-weight:600 }
.shipping-profit-result strong { font-size:20px; font-variant-numeric:tabular-nums }
.shipping-profit .packing-hint { font-size:11px; line-height:1.5; margin:10px 0 0 }
.shipping-profit .packing-loader { padding:8px 0; border:0; font-size:12px }
.shipping-profit-summary { margin:4px 0 0; color:#008060; font-size:13px; font-weight:700 }
.shipping-profit-summary:empty { display:none }
.shipping-profit-result.is-loss, .shipping-profit-summary.is-loss { color:#b42318 }
.shipping-purchase-totals { min-width:0; flex:1 }

/* Keep packing inputs and the changing rates together in the workspace. */
.shipping-drawer-head { padding:12px 18px }
.shipping-drawer-head h3 { font-size:20px }
.shipping-drawer-head .eyebrow { margin-bottom:3px }
.shipping-drawer-body { padding:14px 18px; scroll-padding:12px }
#packing-operation-status:empty { min-height:0; margin:0; padding:0 }
.shipping-order-summary { gap:10px 16px; margin-bottom:12px }
.shipping-summary-items { display:flex; gap:10px }
.shipping-summary-item-list { display:grid; gap:6px; min-width:0; align-content:start }
.shipping-summary-item { gap:6px; font-size:12px; line-height:1.4 }
.shipping-destination { padding-left:14px; gap:2px; font-size:12px }
.shipping-requested-summary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:6px 10px; font-size:12px }
.shipping-profit { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:10px 14px; margin-bottom:12px }
.shipping-profit h4 { margin:0; font-size:13px }
.shipping-profit-result { margin:0 0 0 auto; padding:0; border:0; align-items:baseline; font-size:12px; gap:8px }
.shipping-profit-result strong { font-size:18px }
.shipping-profit-lines { order:1; flex-basis:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 14px; font-size:12px }
.shipping-profit-metric { min-width:0 }
.shipping-profit-lines dt { font-size:11px; line-height:1.4 }
.shipping-profit-lines dd { text-align:left; margin-top:2px; font-size:14px; overflow-wrap:anywhere }
.shipping-profit > .packing-hint { order:2; flex-basis:100%; margin:0; line-height:1.4 }
.shipping-profit .packing-loader { min-height:32px; margin:0 }
.shipping-workbench { display:grid; gap:12px; align-items:start }
.shipping-workbench > * { min-width:0 }
.shipping-package-section,.shipping-rates-section { padding:12px; border-radius:10px }
.shipping-rates-section { margin-top:0 }
.shipping-section-title h4 { font-size:14px }
.shipping-profile-note { padding:7px 9px; margin:8px 0; font-size:11px; line-height:1.4 }
.shipping-editor .shipping-fields { gap:9px 8px; margin:10px 0 6px }
.shipping-editor .shipping-fields label { gap:4px }
.shipping-editor .shipping-fields input,.shipping-editor .shipping-fields select { padding:8px; min-width:0 }
#shipping-weight-hint,#shipping-rate-prompt { font-size:11px; line-height:1.4; margin:8px 0 }
.shipping-provider-group { padding-top:6px; margin-top:10px }
.shipping-rate { padding:9px; gap:8px; margin-top:6px; min-height:64px }
.shipping-rate-details { grid-template-columns:auto minmax(0,1fr); gap:2px 6px; align-items:baseline }
.shipping-rate-delivery,.shipping-rate-details small { grid-column:1/-1 }
.shipping-editor .shipping-purchase-action { padding:10px 18px max(10px,env(safe-area-inset-bottom)) }
.shipping-purchase-totals { min-width:0 }
@media(min-width:1000px) {
  dialog.shipping-editor { width:min(1100px,94vw) }
  .shipping-workbench { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) }
}
@media(min-width:1000px) and (min-height:750px) {
  #shipping-package-form { position:sticky; top:0 }
}
@media(max-width:700px) {
  .shipping-drawer-head { padding:10px 12px }
  .shipping-drawer-head h3 { font-size:19px }
  .shipping-drawer-body { padding:12px }
  .shipping-order-summary { margin:0 0 12px; gap:8px }
  .shipping-destination { padding:8px 0 0 }
  .shipping-profit-lines { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .shipping-profit { gap:8px; padding:10px }
  .shipping-profit-result { flex-wrap:wrap }
  .shipping-editor .shipping-purchase-action { padding:8px 12px max(8px,env(safe-area-inset-bottom)) }
}
