/* Scoped allocation workspace; other dashboard modes keep their layout. */
/* FBS design: compact shell, grouped stock ledger and one primary export. */
body:has(#allocation-workspace-panel:not([hidden]) #allocation-supply-agent-panel:not([hidden])) #summary-grid { display: none; }
body:has(#allocation-workspace-panel:not([hidden])) .table-card > .table-heading { display: none; }
body:has(#allocation-workspace-panel:not([hidden])) #allocation-workspace-panel { padding: 0; }
.sw-workspace, .sw-drawer, .wc-dialog {
  --sw-bg: var(--portal-soft); --sw-surface: var(--portal-surface); --sw-text: var(--portal-text);
  --sw-muted: var(--portal-muted); --sw-line: var(--portal-line); --sw-blue: var(--portal-accent);
  --sw-active: var(--portal-active); --sw-warn: var(--portal-warning); --sw-warn-bg: var(--portal-warning-soft);
  color: var(--sw-text); font-size: 14px; line-height: 1.4;
}
.sw-workspace { padding: 10px; background: var(--sw-bg); gap: 8px; }
.sw-workspace *, .sw-drawer * { box-sizing: border-box; }
.sw-workspace :is(section, form, fieldset, .supply-agent-top-deck, .sw-workspace-heading > div, .sw-plan-heading > div) { min-width: 0; }
.sw-workspace :is(h2, h3, h4, p, small, summary), .sw-drawer :is(h2, h3, h4, p, small) { overflow-wrap: anywhere; }
.sw-workspace .button, .sw-drawer .button, .wc-dialog .button { min-height: 40px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.sw-workspace .sw-table-scroll { min-width: 0; overscroll-behavior-x: contain; }
.sw-workspace :is(.supply-agent-empty-state, .supply-agent-loading, .supply-agent-error) { border-radius: 6px; border-color: var(--sw-line); background: var(--sw-surface); color: var(--sw-muted); }
.sw-drawer :is(.supply-plan-list-item, .supply-plan-history-table) { color: var(--sw-text); background: var(--sw-surface); border-color: var(--sw-line); }
.sw-workspace [hidden], .sw-drawer [hidden] { display: none !important; }
.sw-workspace small, .sw-drawer small { color: var(--sw-muted); font-size: 12px; line-height: 1.35; }
.sw-workspace h2 { font-size: 22px; color: var(--sw-text); line-height: 1.2; margin: 0; }
.sw-workspace h3, .sw-drawer h3 { font-size: 17px; color: var(--sw-text); margin: 0 0 4px; }
.sw-workspace h4, .sw-drawer h4 { color: var(--sw-text); font-size: 14px; }
.sw-workspace :is(.sw-workspace-heading,.sw-plan-heading,.sw-savebar),
.sw-workspace-heading > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sw-workspace-heading { margin-bottom: 0; }
.sw-workspace .supply-agent-one-page { gap: 10px; }
.sw-workspace .supply-agent-top-deck { grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 8px; }
.sw-workspace .supply-plan-create-card { order: 1; padding: 0; margin: 0; border: 0; background: transparent; }
.sw-workspace .supply-plan-create-card > div:first-child { display: none; }
.sw-workspace .supply-plan-create-card .button { min-width: 0; }
.sw-workspace .sw-settings { order: 0; padding: 10px 12px; background: var(--sw-surface); border-color: var(--sw-line); display: block; }
.sw-settings > summary { cursor: pointer; color: var(--sw-text); font-size: 13px; }
.sw-settings > summary > span, .sw-settings > summary > small { margin-left: 14px; }
.sw-settings[open] > summary { margin-bottom: 12px; }
.sw-workspace .supply-scope-grid { grid-template-columns: minmax(190px,.65fr) minmax(0,1.35fr); align-items: start; gap: 10px; }
.sw-workspace .supply-scope-role { padding: 10px; border-color: var(--sw-line); background: var(--sw-surface); }
.sw-workspace .supply-scope-role p { font-size: 12px; color: var(--sw-muted); margin: 4px 0 10px; }
.sw-workspace .supply-scope-settings { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.sw-workspace .supply-scope-settings > label { font-size: 12px; flex: 0 1 190px; color: var(--sw-text); }
.sw-workspace .supply-scope-hint, .sw-workspace .supply-scope-save-status { font-size: 12px; color: var(--sw-muted); margin: 8px 0; }
.sw-workspace .supply-loading-route { display: block; padding: 8px 0; border-bottom: 1px solid var(--sw-line); }
.sw-workspace .sw-recipient { display: flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 600; }
.sw-route-fields { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; padding: 8px 0 2px 24px; }
.sw-route-fields label { display: grid; gap: 4px; flex: 1 1 130px; color: var(--sw-muted); font-size: 12px; }
.sw-add-recipient { margin-top: 10px; }
.sw-add-recipient > summary { cursor: pointer; color: var(--sw-blue); font-size: 13px; }
.sw-workspace :is(input,select), .sw-drawer :is(input,select,textarea) {
  max-width: 100%; min-width: 0; min-height: 40px; border: 1px solid var(--sw-line); border-radius: 6px;
  padding: 6px 8px; background: var(--sw-surface); color: var(--sw-text); font: inherit;
}
.sw-workspace input[type="checkbox"], .sw-drawer input[type="checkbox"] { min-height: 0; }
.sw-workspace .sw-plan { padding: 10px; gap: 8px; border-color: var(--sw-line); background: var(--sw-surface); }
.sw-workspace .supply-plan-lines { gap: 6px; }
.sw-plan-heading { margin-bottom: 0; }
.sw-plan-heading h3 { line-height: 1.2; }
.sw-routes { display: flex; align-items: stretch; gap: 8px; flex-wrap: wrap; margin-bottom: 0; }
.sw-route { min-width: 180px; max-width: 300px; flex: 1; padding: 5px 10px; display: grid; gap: 2px; text-align: left;
  border: 1px solid var(--sw-line); border-radius: 6px; color: var(--sw-text); background: var(--sw-surface); cursor: pointer; font: inherit; }
.sw-workspace [aria-pressed="true"] { background: var(--sw-active); border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-meter { display: block; height: 4px; background: var(--sw-line); border-radius: 3px; overflow: hidden; }
.sw-meter > span { display: block; height: 100%; background: var(--sw-blue); }
.sw-table-tools, .sw-filters { display: flex; gap: 6px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.sw-table-tools { margin-bottom: 0; }
.sw-table-tools form, .sw-catalog form { display: flex; gap: 6px; flex-wrap: wrap; }
.sw-table-tools input { width: 240px; font-size: 13px; }
.sw-workspace .sw-table-scroll { max-height: 70vh; border-color: var(--sw-line); }
.sw-workspace .sw-table { width: 100%; min-width: 1140px; table-layout: fixed; border-collapse: separate; border-spacing: 0; color: var(--sw-text); font-size: 13px; }
.sw-workspace .sw-table.is-expanded { min-width: 1370px; }
.sw-workspace .sw-table th { font-size: 12px; text-transform: none; letter-spacing: normal; font-weight: 600; color: var(--sw-muted); background: var(--sw-bg); top: 0; z-index: 2; }
.sw-workspace .sw-table :is(th,td) { padding: 7px 9px; text-align: right; border-right: 0; border-bottom: 1px solid var(--sw-line); background: var(--sw-surface); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.sw-workspace .sw-table th { background: var(--sw-bg); height: 48px; line-height: 1.2; }
.sw-workspace .sw-table thead tr { height: 48px; }
.sw-workspace .sw-table td { height: 48px; padding-top: 5px; padding-bottom: 5px; }
.sw-workspace .sw-table .sw-product { width: 25%; text-align: left; position: sticky; left: 64px; z-index: 1; }
.sw-workspace .sw-table .sw-photo { width: 64px; min-width: 64px; text-align: center; position: sticky; left: 0; z-index: 1; }
.sw-photo img, .sw-photo-placeholder { display: block; width: 44px; height: 44px; object-fit: contain; margin: auto; border-radius: 4px; }
.sw-photo-placeholder { line-height: 44px; color: var(--sw-muted); background: var(--sw-bg); }
.sw-stock { width: 130px; }
.sw-stock strong { white-space: nowrap; }
.sw-workspace .sw-table .sw-final { width: 92px; position: sticky; right: 0; z-index: 1; box-shadow: -1px 0 var(--sw-line); }
.sw-workspace .sw-table th:is(.sw-photo,.sw-product,.sw-final) { z-index: 3; }
.sw-workspace .sw-table td small { display: block; }
.sw-workspace .sw-table tr.is-draft td { background: var(--sw-active); }
.sw-workspace .sw-table input { width: 72px; text-align: right; font-size: 13px; min-height: 32px; }
.sw-link { border: 0; padding: 0; background: transparent; color: var(--sw-blue); cursor: pointer; font: inherit; text-align: left; }
.sw-product-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; font-weight: 600; width: 100%; }
.sw-product small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sw-status { font-size: 12px; text-align: right; }
.sw-status.is-warning { color: var(--sw-warn); }
.sw-table-foot { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; font-size: 12px; color: var(--sw-muted); margin-top: 7px; }
.sw-timing { font-size: 12px; color: var(--sw-muted); margin: 5px 0 8px; }
.sw-savebar { padding: 10px; background: var(--sw-bg); border-radius: 6px; font-size: 13px; }
.sw-savebar > div { display: flex; gap: 8px; flex-wrap: wrap; }
.sw-error { background: var(--sw-warn-bg); color: var(--sw-warn); padding: 10px; border-radius: 6px; }
.sw-diagnostic-disclosure, .sw-context { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--sw-line); font-size: 13px; }
.sw-diagnostic-disclosure summary, .sw-context summary { cursor: pointer; color: var(--sw-blue); }
.sw-diagnostic-disclosure p, .sw-context p { color: var(--sw-muted); margin: 8px 0; }
.sw-diagnostic-disclosure ul, .sw-unallocated { max-height: 340px; overflow: auto; }
.sw-unallocated table { width: 100%; border-collapse: collapse; }
.sw-unallocated :is(th,td) { padding: 7px; border-bottom: 1px solid var(--sw-line); text-align: left; }
.sw-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body dialog.sw-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(560px,100%); height: 100dvh; max-height: 100dvh; max-width: 100%; padding: 0; border: 0; border-left: 1px solid var(--sw-line); background: var(--sw-surface); }
body dialog.sw-drawer[open] { display: flex; flex-direction: column; overflow: hidden; }
.sw-drawer::backdrop { background: rgb(15 30 50 / 40%); }
.sw-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--sw-line); position: sticky; top: 0; z-index: 1; background: var(--sw-surface); }
.sw-drawer-heading { flex: 0 0 auto; }
.sw-drawer-heading h2 { font-size: 18px; color: var(--sw-text); margin: 0; }
.sw-drawer-body { padding: 20px; flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.sw-drawer .supply-plan-list { display: flex; flex-direction: column; max-height: none; overflow: visible; background: var(--sw-surface); border-color: var(--sw-line); border-radius: 6px; }
.sw-drawer .supply-plan-list-row { flex: 0 0 auto; }
.sw-drawer .supply-plan-list-item { flex-wrap: wrap; gap: 6px; }
.sw-drawer .supply-plan-list-main { flex-basis: 100%; }
.sw-drawer .supply-plan-list-main strong { color: var(--sw-text); white-space: normal; overflow-wrap: anywhere; }
.sw-drawer .supply-plan-list-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sw-drawer .supply-plan-list-item:is(:hover,.is-selected) { background: var(--sw-active); color: var(--sw-text); }
.sw-drawer :is(.supply-agent-empty,.supply-agent-loading,.supply-agent-error) { border-radius: 6px; border-color: var(--sw-line); background: var(--sw-surface); color: var(--sw-muted); }
.sw-drawer .supply-agent-error { color: var(--sw-warn); background: var(--sw-warn-bg); }
.sw-drawer .supply-agent-error strong { color: inherit; }
.sw-drawer-body fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.sw-drawer-body h4 { margin: 18px 0 8px; }
.sw-drawer-body label { display: grid; gap: 5px; margin: 12px 0; font-size: 13px; }
.sw-drawer-body label.sw-check { display: flex; align-items: center; gap: 8px; }
.sw-drawer-body textarea { width: 100%; min-height: 64px; }
.sw-drawer-body details { margin: 12px 0; }
.sw-drawer-body summary { cursor: pointer; }
.sw-ledger { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; font-size: 13px; }
.sw-ledger dt { color: var(--sw-muted); }
.sw-ledger dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.sw-catalog-list { display: grid; margin: 12px 0; }
.sw-catalog-item { border: 0; border-bottom: 1px solid var(--sw-line); background: var(--sw-surface); color: var(--sw-text); text-align: left; font: inherit; cursor: pointer; padding: 12px 0; display: grid; gap: 4px; }
.sw-drawer-actions { display: flex; justify-content: space-between; gap: 8px; }
@media(max-width: 900px) {
  .sw-workspace { padding: 8px; }
  .sw-workspace .supply-agent-top-deck, .sw-workspace .supply-scope-grid { grid-template-columns: minmax(0,1fr); }
  .sw-workspace .supply-plan-create-card { order: -1; justify-content: end; }
  .sw-settings > summary > span, .sw-settings > summary > small { display: block; margin: 4px 0 0; }
  .sw-workspace .sw-plan { padding: 8px; }
  .sw-workspace .sw-table { min-width: 1140px; }
  .sw-drawer-body { padding: 16px; }
}
@media(pointer: coarse) {
  .sw-workspace button, .sw-drawer button, .sw-workspace input, .sw-drawer input { min-height: 44px; }
  .sw-workspace .sw-table input, .sw-drawer input { font-size: 16px; }
}

/* Unified settings: own grid, without inherited two-column label cards. */
.sw-workspace .supply-agent-top-deck { display: block; }
.sw-workspace .ss-form { min-width: 0; gap: 18px; }
.ss-form > fieldset { display: grid; gap: 20px; }
.ss-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ss-common { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: start; }
.ss-form .ss-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 13px; }
.ss-field > span { color: var(--sw-text); font-weight: 600; }
.ss-form .ss-field :is(input,select) { width: 100%; min-height: 40px; font-size: 14px; }
.ss-common small { display: block; margin-top: 6px; }
.ss-sender { max-width: 480px; width: 100%; }
.ss-form h4 { margin: 0 0 6px; font-size: 15px; }
.ss-recipients > p { margin: 0 0 12px; color: var(--sw-muted); font-size: 13px; }
.sw-workspace .ss-recipients .supply-loading-route { margin-bottom: 10px; padding: 12px; border: 1px solid var(--sw-line); border-radius: 6px; min-width: 0; }
.ss-form .sw-route-fields { display: grid; grid-template-columns: minmax(0,1.4fr) repeat(2,minmax(0,1fr)); padding: 12px 0 0; gap: 12px; }
.ss-form .ss-check, .ss-form .sw-recipient { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ss-form input:is([type=checkbox],[type=radio]) { width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; flex: 0 0 18px; }
.ss-form :is(.ss-route-extra,.ss-packing) > summary { cursor: pointer; color: var(--sw-blue); font-size: 13px; }
.ss-route-extra { margin-top: 12px; }
.ss-extra-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; align-items: end; margin: 14px 0; }
.ss-route-extra .ss-check { grid-column: 1 / -1; }
.ss-packing { padding-top: 14px; border-top: 1px solid var(--sw-line); }
.ss-packing > .ss-check { margin-top: 14px; }
.ss-form .ss-partial { display: grid; gap: 10px; padding: 12px 0; }
.ss-partial legend { padding: 0; color: var(--sw-text); font-size: 13px; font-weight: 600; }
.ss-actions, .ss-actions > div { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; min-width: 0; }
.ss-actions { padding-top: 14px; border-top: 1px solid var(--sw-line); }
.ss-actions > span { font-size: 12px; color: var(--sw-muted); }
.ss-actions .supply-plan-create-card { display: block; order: 0; }
.ss-actions button { white-space: normal; }
.ss-form .sw-error { margin: 0; }
.ss-form input:invalid:not(:placeholder-shown) { border-color: var(--sw-warn); }
.sd-panel > h4 { font-size: 16px; margin: 4px 0; }
.sd-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.sd-metrics button { display: flex; flex-direction: column; align-items: start; gap: 4px; padding: 12px; border: 1px solid var(--sw-line); border-radius: 6px; background: var(--sw-surface); color: var(--sw-text); text-align: left; font: inherit; cursor: pointer; }
.sd-metrics strong { font-size: 21px; }
.sd-search { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.sd-search input { flex: 1 1 200px; max-width: 420px; }
.sd-table-wrap { width: 100%; overflow: auto; border: 1px solid var(--sw-line); border-radius: 6px; }
.sd-table { width: 100%; min-width: 650px; table-layout: fixed; border-collapse: collapse; font-size: 13px; }
.sw-workspace .sd-table :is(th,td) { padding: 9px 10px; text-align: right; border-bottom: 1px solid var(--sw-line); overflow-wrap: anywhere; }
.sw-workspace .sd-table th { text-transform: none; font-size: 12px; background: var(--sw-bg); letter-spacing: normal; }
.sw-workspace .sd-table :is(th,td):first-child { text-align: left; width: 30%; }
.sw-workspace .sd-table :is(th,td):last-child { text-align: left; width: 26%; }
.sd-table small { display: block; }
.sd-sources { margin-top: 16px; }
.sd-sku ul { padding-left: 18px; font-size: 13px; }
.sd-sku .sw-ledger { grid-template-columns: minmax(0,1fr) minmax(65px,auto); }
body dialog.wc-dialog { width: min(850px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; border: 1px solid var(--sw-line); border-radius: 6px; padding: 24px; color: var(--sw-text); background: var(--sw-surface); }
.wc-dialog::backdrop { background: rgb(14 23 32 / 48%); }
.wc-form > header, .wc-form > footer, .wc-heading { display: flex; align-items: center; gap: 16px; justify-content: space-between; flex-wrap: wrap; }
.wc-form fieldset { min-width: 0; border: 0; padding: 0; margin: 16px 0; }
.wc-group { padding: 16px; margin-bottom: 16px; border: 1px solid var(--sw-line); border-radius: 6px; }
.wc-heading .ss-field { flex: 1 1 220px; }
.wc-members { display: grid; gap: 8px; }
.wc-form p, .wc-members label { overflow-wrap: anywhere; }
.wc-form input:not([type="checkbox"]), .wc-form select { width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--sw-line); border-radius: 6px; font: inherit; background: var(--sw-surface); color: var(--sw-text); }
.wc-form input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; }
.wc-form .ss-check { display: flex; align-items: center; gap: 8px; }


@media(max-width: 1100px) {
  .ss-extra-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sd-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width: 700px) {
  .ss-common, .ss-form .sw-route-fields { grid-template-columns: minmax(0,1fr); }
  .ss-sender { max-width: none; }
  .ss-actions > div { width: 100%; }
  .sd-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 450px) {
  .ss-extra-grid { grid-template-columns: minmax(0,1fr); }
  .ss-actions > div > *, .ss-actions button { width: 100%; }
}

/* Result-first layout; selectors are scoped to FBS, not other portal pages. */
.sw-workspace { min-width: 0; padding: 0; background: var(--sw-surface); }
html .supply-agent-workspace.sw-workspace { color: var(--sw-text); background: var(--sw-surface); }
.wc-dialog h2 { color: var(--sw-text); }
.sw-workspace .supply-agent-top-deck { display: block; }
.sw-workspace .sw-plan { padding: 12px 0 0; border: 0; border-radius: 0; }
.sw-workspace .sw-plan-heading { padding: 0 4px 8px; }
.sw-workspace .sw-plan-id { display: block; font-size: 11px; }
.sw-workspace .sw-plan-heading h3 { font-size: 20px; }
.sw-workspace .sw-settings { border-radius: 6px; background: var(--sw-bg); }
.sw-workspace .sw-settings > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; }
.sw-workspace .sw-settings > summary > :is(span,small) { margin: 0; }
.sw-workspace .sw-table-tools { padding: 6px 0; }
.sw-workspace .sw-filters { gap: 4px; }
.sw-workspace .sw-filters [data-sw-filter] { border-color: transparent; }
.sw-workspace .sw-filters [aria-pressed=true] { border-color: var(--sw-line); }
.sw-workspace .sw-table-scroll { max-height: 68vh; border-radius: 6px; }
.sw-workspace .sw-table .sw-groups th { height: 28px; top: 0; padding: 4px 8px; text-align: center; border-left: 1px solid var(--sw-line); color: var(--sw-text); }
.sw-workspace .sw-table .sw-groups { height: 28px; }
.sw-workspace .sw-table .sw-column-headings th { top: 28px; }
.sw-workspace .sw-table td { height: 58px; }
.sw-workspace .sw-table td.sw-final { background: var(--sw-active); }
.sw-cover-before { color: var(--sw-muted); white-space: nowrap; }
.sw-cover-after { white-space: nowrap; font-weight: 600; }
.sw-workspace .sw-savebar-top { padding: 6px 0; font-size: 12px; color: var(--sw-muted); }
.sw-workspace .sw-savebar-top > div { display: flex; flex-wrap: wrap; gap: 6px; }
.sw-workspace a[aria-disabled=true] { opacity: .55; }
.sw-diagnostic-disclosure { border-top: 1px solid var(--sw-line); padding: 12px 0; }
.sw-diagnostic-disclosure > summary { cursor: pointer; color: var(--sw-text); font-size: 13px; font-weight: 600; }
.sw-workspace .sw-timing { margin: 5px 0; }
@media(min-width: 1100px) {
  .sw-workspace .ss-form > fieldset { grid-template-columns: minmax(230px,.8fr) minmax(0,1.4fr); gap: 14px 28px; align-items: start; }
  .sw-workspace .ss-form .ss-sender { grid-column: 1; grid-row: 1; max-width: none; }
  .sw-workspace .ss-form .ss-common { grid-column: 1; grid-row: 2; grid-template-columns: minmax(0,1fr); }
  .sw-workspace .ss-form > fieldset > small { grid-column: 1; grid-row: 3; }
  .sw-workspace .ss-form .ss-recipients { grid-column: 2; grid-row: 1 / span 3; }
  .sw-workspace .ss-form .ss-packing { grid-column: 1 / -1; }
}
@media(max-width: 700px) {
  /* Three pinned columns would cover the entire narrow viewport. Keep only the photo pinned. */
  .sw-workspace .sw-table :is(.sw-product, .sw-final) { position: static; box-shadow: none; }
  .sw-workspace .sw-table th:is(.sw-product, .sw-final) { position: sticky; }
  .sw-workspace .sw-table th.sw-product { left: auto; }
  .sw-workspace .sw-table th.sw-final { right: auto; }
  .sw-workspace .sw-plan-heading h3 { font-size: 17px; overflow-wrap: anywhere; }
  .sw-workspace .sw-table-tools form { width: 100%; }
  .sw-workspace .sw-table-tools input { flex: 1; min-width: 0; width: auto; }
  .sw-workspace .sw-savebar-top { align-items: start; }
}
