.live-scan-sales-panel { padding:18px 20px; border-bottom:1px solid #e2e8ef; background:#f8fafc; display:grid; gap:12px; }
.live-scan-plan-line { display:flex!important;align-items:center;gap:14px!important;min-width:0; }
.live-scan-plan-line strong {white-space:nowrap;font-size:16px;color:#182638;}
.live-scan-plan-line select {flex:1;width:0!important;height:44px;padding:8px; font-size:13px;}
.live-scan-passed-count { min-width:150px; padding:10px 14px; display:flex; align-items:baseline; justify-content:center; gap:7px; border:1px solid #8fc7a5; border-radius:12px; background:#ecf8f0; color:#1f6843; white-space:nowrap; }
.live-scan-passed-count span { font-size:14px; font-weight:800; }
.live-scan-passed-count strong { color:#0b6b3b; font-size:32px; line-height:1; }
.live-scan-passed-count small { color:#5d806c; font-size:11px; }
.live-scan-review-button {border:1px solid #cddbd6;background:#fff;color:#176747;border-radius:10px;display:flex;gap:10px;align-items:center;padding:11px 14px;font-size:15px;font-weight:700;cursor:pointer;}
.live-scan-review-button span {flex:1;text-align:left;}
.live-scan-review-button:disabled{opacity:.45;cursor:default;}
.inventory-live-controller > .section-header {padding:16px 20px 8px;}
.inventory-live-controller > .section-header p,.inventory-live-controller > .section-header .analysis-badge{display:none;}
.inventory-live-controller > .section-header h2{font-size:16px;}
.inventory-live-controller .inventory-live-actions{padding:8px 20px 16px;}
.inventory-live-controller .inventory-live-actions small{display:none;}
.inventory-live-controller .inventory-live-actions button{background:#fff;color:#34485b;border:1px solid #d6e0e8;font-size:13px;min-height:38px;}
.inventory-live-controller .inventory-scan-form{padding:16px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;}
.inventory-live-controller .inventory-scan-form label{grid-column:1;min-width:0;font-size:13px;gap:8px;}
.inventory-live-controller .inventory-scan-form input{height:58px;font-size:24px;padding:10px 14px;}
.inventory-live-controller .inventory-scan-form .dialog-actions{grid-column:2;margin:0;padding:0;}
.inventory-live-controller .inventory-scan-form button{height:58px;white-space:nowrap;}
.inventory-live-controller .inventory-scan-form .form-hint{display:none;}
.inventory-live-controller .inventory-scan-form .inventory-scan-input-status:not(:empty){display:block;grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
.inventory-scan-form input[aria-invalid="true"]{border-color:#c83434;box-shadow:0 0 0 1px #c83434;}
.inventory-scan-form .inventory-scan-input-status.danger-text{color:#b42318;}
.live-scan-current {margin:0 20px 16px;padding:16px;background:#f3faf6;border:1px solid #d7eade;border-radius:12px;}
.live-scan-current-label{display:flex;gap:12px;align-items:baseline;margin-bottom:12px;min-width:0;}
.live-scan-current-label span{font-size:12px;color:#677c6e;white-space:nowrap;}
.live-scan-current-label strong{font-size:14px;overflow-wrap:anywhere;}
.live-scan-current [role=status]{display:block;color:#32734f;margin-top:6px;font-size:12px;}
.live-scan-current [role=status]:empty{display:none;}
.live-scan-outcome button{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #83b49a;background:#fff;color:#237647;border-radius:10px;font-weight:700;cursor:pointer;}
.live-scan-outcome button:first-child{background:#238153;color:#fff;border-color:#238153;}
.live-scan-outcome button.is-selected{box-shadow:0 0 0 3px #c2e5d0;}
.live-scan-outcome button:disabled{opacity:.4;cursor:default;}
.scan-review-product{display:flex;gap:12px;min-width:240px;align-items:flex-start;}
.scan-review-product img,.scan-product-no-image{width:80px;height:90px;object-fit:contain;border-radius:8px;background:#f5f7f9;flex-shrink:0;}
.scan-product-no-image{display:grid;place-items:center;font-size:11px;color:#718096;}
.scan-review-product strong{display:block;font-size:14px;}
.scan-review-product small{font-size:11px;color:#80909e;}
.scan-review-spec{display:block;margin:6px 0;font-size:12px;}
.scan-review-price{display:block;color:#237647;font-size:13px;margin:6px 0;}
.scan-review-notes{font-size:12px;color:#6d7c8e;margin:10px 0;}
.scan-review-notes summary{cursor:pointer;}
.scan-variant-picker{display:grid;gap:6px;margin:12px 0;font-size:13px;color:#24603c;}
.scan-variant-picker[hidden]{display:none!important;}
.scan-variant-picker select{width:100%;min-width:0;min-height:42px;background:#fff;}
.scan-review-product select{width:100%;min-width:0;font-size:13px;}
[data-live-selected-spec]{font-style:normal;font-weight:700;color:#237647;}
.inventory-scan-facts em{font-style:normal;}
[data-live-usd-cost]{font-size:20px;color:#187447;font-weight:800;}
.inventory-live-product{min-width:0;align-self:start;}
.inventory-live-product>.scan-variant-picker{margin:0;padding:16px 20px;background:#eff8f2;border-bottom:1px solid #d5e7dc;font-size:15px;font-weight:700;}
.inventory-live-product>.scan-variant-picker select{font-size:17px;min-height:48px;border-color:#92bba3;}
.inventory-live-product .inventory-scan-result-card{padding:20px;}
.inventory-live-product .inventory-scan-result-head{grid-template-columns:120px minmax(0,1fr);}
.inventory-live-product .inventory-scan-detail-image{height:130px;max-width:120px;object-fit:contain;}
.inventory-live-product .inventory-scan-facts{grid-template-columns:repeat(4,minmax(0,1fr));}
.inventory-live-product .dialog-actions{padding:12px 20px;}
@media(min-width:1100px){.inventory-live-workspace{grid-template-columns:minmax(370px,38%) minmax(0,62%);align-items:start;}}
@media(max-width:700px){.inventory-live-product .inventory-scan-facts{grid-template-columns:repeat(2,minmax(0,1fr));}.inventory-live-product>.scan-variant-picker{padding:12px;}}
.live-scan-sales-panel label { display: grid; gap: 8px; }
.live-scan-sales-panel select { width: 100%; min-width: 0; }
.live-scan-sales-panel details { margin-top: 16px; }
.live-scan-sales-panel details button { display: block; margin: 6px 0; max-width: 100%; white-space: normal; }
.live-scan-outcome { display: flex; flex-wrap: wrap; gap: 16px; }
.live-scan-outcome p { flex-basis: 100%; }
.live-scan-outcome button { flex: 1; min-height: 60px; font-size: 17px; }
.live-scan-review .data-table-wrap { max-width: 100%; overflow: visible; }
.live-scan-review input { width: 110px; }
.live-scan-review select { min-width:110px; }
.live-scan-review td small { display: block; }
.live-scan-review [role=alert],.live-scan-outcome [role=alert] { color: #a82b28; }
[data-live-product-sales][hidden] { display:none!important; }
.live-scan-review tr[hidden],.live-scan-review p[hidden] { display:none!important; }
.scan-sales-search { display:grid; gap:8px; margin:16px 0; min-width:0; }
.scan-sales-search input { width:100%; box-sizing:border-box; }
/* Sales review is a wide, wrapping workspace, never a horizontally scrolling table. */
.dialog:has(.live-scan-review){width:min(1680px,calc(100vw - 24px));max-width:none;}
.live-scan-review{min-width:0;}
.live-scan-review .data-table{display:block;min-width:0;width:100%;}
.live-scan-review thead{display:none;}
.live-scan-review tbody{display:grid;gap:12px;width:100%;}
.live-scan-review tr{display:grid;grid-template-columns:minmax(240px,2fr) minmax(115px,1fr) minmax(75px,.6fr) minmax(110px,1fr) minmax(130px,1fr);align-items:center;border:1px solid #d7dfe8;border-radius:10px;padding:12px;gap:12px;min-width:0;}
.live-scan-review tr:has([data-shipping]){grid-template-columns:minmax(210px,2fr) repeat(5,minmax(95px,1fr));}
.live-scan-review td{display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere;}
.live-scan-review .scan-cell-label{display:block;font-size:12px;color:#52637b;margin-bottom:8px;}
.live-scan-review td input,.live-scan-review td select{width:100%;min-width:0;box-sizing:border-box;}
.live-scan-review td:last-child{display:grid;gap:6px;}
.live-scan-review td button{white-space:normal;min-width:0;}
.live-scan-review .scan-review-product{min-width:0;}
.live-scan-review .scan-review-product>div{min-width:0;overflow-wrap:anywhere;}
.live-scan-review>.dialog-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;z-index:1;border-top:1px solid #d5e2ef;flex-wrap:wrap;}
.live-scan-review>.dialog-actions button{white-space:normal;}
.scan-supplement{padding:14px;margin:12px 0;border:1px solid #d7dfe8;border-radius:10px;background:#f6faf8;}
.scan-supplement>summary{cursor:pointer;color:#176747;font-weight:700;}
.scan-supplement-search{display:flex;gap:12px;align-items:end;margin-top:14px;}
.scan-supplement label{display:grid;gap:6px;min-width:0;font-size:13px;}
.scan-supplement-action{display:grid;gap:6px;min-width:0;}
.scan-supplement-action button{white-space:normal;}
.scan-supplement-action [data-add-message]{font-size:12px;line-height:1.5;color:#92612d;margin:0;overflow-wrap:anywhere;}
.scan-supplement-action [data-add-message]:empty{display:none;}
.scan-supplement-action [hidden]{display:none!important;}
.scan-review-success{padding:12px 16px;background:#edf7f0;border-left:3px solid #358458;color:#24643d;border-radius:6px;}
.scan-supplement-search label{flex:1;}
.scan-supplement input,.scan-supplement select{width:100%;min-width:0;box-sizing:border-box;}
.scan-supplement-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr) 85px auto;align-items:center;gap:12px;padding:12px;margin:10px 0;background:#fff;border:1px solid #d7dfe8;border-radius:8px;}
@media(max-width:1100px){
  .live-scan-review tr,.live-scan-review tr:has([data-shipping]){grid-template-columns:repeat(3,minmax(0,1fr));}
  .live-scan-review td:first-child{grid-column:1/-1;}
  .live-scan-review td:last-child{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));}
  .live-scan-review td:last-child>.scan-cell-label{display:none;}
  .scan-supplement-item{grid-template-columns:repeat(2,minmax(0,1fr));}
  .scan-supplement-item>.scan-review-product{grid-column:1/-1;}
}
@media(max-width:700px){
  .live-scan-sales-panel{padding:14px;}
  .live-scan-plan-line{gap:8px!important;}
  .live-scan-plan-line strong{font-size:14px;}
  .live-scan-current{margin:0 12px 12px;padding:12px;}
  .live-scan-outcome{gap:10px;}
  .live-scan-outcome button{font-size:15px;}
  .inventory-live-controller .inventory-scan-form{padding:12px;gap:8px;}
  .inventory-live-controller .inventory-scan-form button{font-size:13px;padding:8px;}
  .scan-review-product{min-width:0;width:100%;}
  .scan-review-product>div{min-width:0;overflow-wrap:anywhere;}
  .live-scan-review .data-table,.live-scan-review tbody,.live-scan-review tr,.live-scan-review td{display:block;width:100%;box-sizing:border-box;}
  .live-scan-review thead{display:none;}
  .live-scan-review tr{margin-bottom:12px;border:1px solid #dae1e9;}
  .live-scan-review td{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;}
  .live-scan-review .scan-cell-label{display:block;flex:0 0 100%;font-size:12px;color:#52637b;}
  .live-scan-review td input,.live-scan-review td select{width:100%;}
}
/* Dedicated controller popup: operational space, not the presenter card. */
body.live-controller-window #app-shell { display:block; }
body.live-controller-window #app-shell.hidden { display:none; }
body.live-controller-window .sidebar,
body.live-controller-window .topbar-actions,
body.live-controller-window #menu-toggle { display:none; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) .main-content { margin:0; width:100%; min-width:0; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) .topbar { padding:12px 24px; min-height:70px; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) #view-root { padding:16px 24px; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace { max-width:none; }
.inventory-live-actions { display:flex; flex-wrap:wrap; gap:10px; }
.controller-detached-note { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:20px; margin-bottom:16px; border:1px solid #c9d9e4; border-radius:12px; background:#f2f7fa; }
.controller-detached-note span { flex:1 1 260px; color:#52677b; }
.inventory-live-workspace[inert] { opacity:.55; }
@media(max-width:640px){body.live-controller-window #view-root{padding:12px;}body.live-controller-window .topbar{padding:12px;}}
/* Compact reconciliation: one desktop row per scan, no repeated tall cards. */
.dialog:has(.live-scan-review){width:min(1280px,calc(100vw - 24px));}
.dialog:has(.live-scan-review) .dialog-header{padding-bottom:12px;}
.live-scan-review>p{margin:8px 0;font-size:13px;}
.live-scan-review .scan-review-notes{font-size:12px;margin:6px 0;}
.live-scan-review .scan-supplement{padding:10px 12px;margin:10px 0;}
.live-scan-review .scan-sales-search{margin:10px 0;gap:4px;font-size:13px;}
.live-scan-review .scan-sales-search input{min-height:36px;padding:8px 10px;}
.live-scan-review tbody{gap:6px;}
.live-scan-review tr{grid-template-columns:minmax(260px,2.8fr) minmax(100px,1fr) 64px minmax(92px,.85fr) 130px;padding:8px;gap:10px;}
.live-scan-review tr:has([data-shipping]){grid-template-columns:minmax(230px,2.5fr) 100px 60px 90px 90px 130px;}
.live-scan-review .scan-cell-label{font-size:11px;margin-bottom:3px;}
.live-scan-review .scan-review-product{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;}
.live-scan-review .scan-review-product img,.live-scan-review .scan-product-no-image{width:48px;height:48px;object-fit:contain;}
.live-scan-review .scan-review-product strong{font-size:14px;display:inline;margin-right:8px;}
.live-scan-review .scan-review-product strong+small{display:inline;}
.live-scan-review .scan-review-spec{font-size:12px;line-height:1.3;margin:2px 0;}
.live-scan-review .scan-inline-variant{display:flex;align-items:center;gap:6px;font-size:12px;margin:3px 0;}
.live-scan-review .scan-inline-variant select{flex:1;min-width:0;}
.live-scan-review td input,.live-scan-review td select{min-height:32px;padding:5px 7px;font-size:13px;}
.live-scan-review td:last-child{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.live-scan-review td:last-child>.scan-cell-label{flex-basis:100%;}
.live-scan-review td button{min-height:32px;padding:5px 8px;font-size:12px;}
.live-scan-review .scan-review-stock{display:inline!important;margin-left:8px;font-size:11px;line-height:1.3;}
.stock-debt-text{color:#b42318!important;font-weight:700;}
.stock-debt-alert{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #e69b95;border-radius:6px;background:#fff0ef;color:#b42318;font-size:12px;font-weight:750;}
.stock-debt-alert::before{content:'⚠';}
.stock-debt-jump{font-family:inherit;cursor:pointer;}
.stock-debt-jump:hover,.stock-debt-jump:focus-visible{background:#ffe1de;border-color:#c9362b;outline:2px solid rgba(201,54,43,.2);outline-offset:2px;}
.stock-shortage-focus{outline:3px solid #ef3b2d!important;outline-offset:4px;box-shadow:0 0 0 8px rgba(239,59,45,.13)!important;}
/* Current projection and previous payment decision are deliberately separate. */
.live-scan-current [data-previous-product]{margin:12px 0;}
.live-scan-current .scan-review-product{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;min-width:0;}
.live-scan-current .scan-review-product img,.live-scan-current .scan-product-no-image{width:76px;height:76px;object-fit:contain;}
.live-scan-current .scan-review-product strong{font-size:19px;}
.live-scan-current .scan-product-code{display:block;font-size:18px;font-weight:750;color:#203d56;}
.live-scan-current .scan-review-spec{font-size:17px;}
.live-scan-current [data-finish-scan],.live-scan-current [data-retry-scan]{margin-top:12px;width:100%;}
.live-scan-current [hidden]{display:none!important;}
.scan-previous-empty{color:#667782;line-height:1.5;}
.scan-sync-state{display:grid;gap:6px;padding:12px 14px;border-left:3px solid #8192a4;background:#f3f6f9;border-radius:6px;margin-bottom:10px;font-size:15px;}
.scan-sync-state[data-state=success]{border-color:#27805a;background:#eff8f2;color:#235d43;}
.scan-sync-state[data-state=failed]{border-color:#b42318;background:#fff1ef;color:#9d271d;}
.scan-sync-history{font-size:13px;margin:8px 0;}
.scan-sync-history p{padding:6px 0;border-bottom:1px solid #e8edf1;overflow-wrap:anywhere;}
.scan-pending-review{margin:12px 0;padding:10px 12px;background:#fffbef;border-radius:8px;color:#705512;}
.scan-pending-review summary{font-weight:700;cursor:pointer;}
.scan-pending-review article{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee3c9;}
.scan-pending-review select{min-width:0;max-width:100%;}
.scan-pending-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0;}
.scan-pending-toolbar label{display:flex;align-items:center;gap:7px;font-size:14px;}
.scan-pending-toolbar input,.scan-pending-select input{width:19px;height:19px;min-height:0;flex:none;accent-color:#237a55;}
.scan-pending-toolbar [data-pending-count]{font-size:13px;margin-right:auto;}
.scan-pending-review article{grid-template-columns:24px minmax(0,2fr) minmax(100px,1fr) auto;}
.scan-pending-select{display:flex;align-items:center;justify-content:center;}
.scan-pending-review [data-pending-feedback]{margin:6px 0;min-height:20px;font-size:14px;}
@media(max-width:700px){.scan-pending-review article{grid-template-columns:24px minmax(0,1fr);}.scan-pending-review article>select,.scan-pending-review article>div:last-child{grid-column:2;}.scan-pending-toolbar{gap:8px;}.scan-pending-toolbar button{flex:1 1 130px;}}
.scan-batch-history article{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #dce3e9;}
.scan-batch-history button{flex-shrink:0;}
.live-scan-review .scan-sale-quantity,.live-scan-review .scan-sale-cost{font-size:18px;}
@media(min-width:901px){.live-scan-review tr{grid-template-columns:minmax(0,1fr) 90px 160px 76px;}.live-scan-review td:first-child,.live-scan-review td:last-child{grid-column:auto;}}
.live-scan-review .scan-review-product{grid-template-columns:64px minmax(0,1fr);gap:12px;}
.live-scan-review .scan-review-product img,.live-scan-review .scan-product-no-image{width:64px;height:64px;}
.live-scan-review .scan-review-product strong{font-size:19px;line-height:1.4;}
.live-scan-review .scan-review-product .scan-product-code{display:inline;font-size:18px;font-weight:750;color:#28445b;}
.live-scan-review .scan-review-spec{font-size:16px;line-height:1.4;}
.live-scan-review .scan-review-stock{display:block!important;margin:3px 0 0;font-size:13px;}
.live-scan-review td button[data-delete-sale]{font-size:15px;color:#a52c26;padding:8px 12px;}
@media(max-width:700px){.scan-pending-review article{grid-template-columns:minmax(0,1fr);}.scan-batch-history article{align-items:start;flex-direction:column;}.live-scan-review .scan-review-product strong{font-size:18px;}.live-scan-review .scan-review-product .scan-product-code{font-size:17px;}}
@media(max-width:900px){.live-scan-review tr,.live-scan-review tr:has([data-shipping]){grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));}.live-scan-review td:first-child{grid-column:1/-1;}.live-scan-review td:last-child{grid-column:1/-1;}}
@media(max-width:700px){.live-scan-review tr,.live-scan-review tr:has([data-shipping]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-bottom:0;}.live-scan-review td{display:block;padding:0;width:auto;}.live-scan-review td:first-child{grid-column:1/-1;}.live-scan-review td:last-child{display:flex;grid-column:1/-1;}.live-scan-review .scan-cell-label{margin-bottom:3px;}}

/* Far-view controller: use the full display and enlarge every operational target. */
body.live-controller-window { font-size:17px; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) .topbar { min-height:64px; padding:10px 16px; }
body.live-controller-window .topbar h1 { font-size:26px; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) #view-root {
  width:100%;
  max-width:none;
  margin:0;
  padding:12px 14px 8px;
  box-sizing:border-box;
}
body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace {
  min-height:calc(100vh - 104px);
  grid-template-columns:minmax(440px,40%) minmax(0,60%);
  gap:14px;
  align-items:stretch;
}
body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace > .section {
  min-height:0;
  margin-top:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
}
body.live-controller-window .live-scan-sales-panel {
  display:grid;
  grid-template-columns:minmax(130px,.7fr) minmax(190px,1fr) auto;
  padding:11px 22px;
  gap:14px;
  align-items:center;
}
body.live-controller-window .live-scan-sales-panel .live-scan-plan-line { grid-column:1/-1; }
body.live-controller-window .live-scan-sales-panel .live-scan-review-button { min-width:190px; }
body.live-controller-window .live-scan-passed-count { min-height:54px; padding:8px 12px; }
body.live-controller-window .live-scan-passed-count span { font-size:16px; }
body.live-controller-window .live-scan-passed-count strong { font-size:38px; }
body.live-controller-window .live-scan-plan-line strong { font-size:18px; }
body.live-controller-window .live-scan-plan-line select { height:54px; font-size:16px; padding:10px 12px; }
body.live-controller-window .live-scan-review-button { min-height:54px; font-size:17px; padding:12px 16px; }
body.live-controller-window .inventory-live-controller > .section-header { padding:18px 22px 10px; }
body.live-controller-window .inventory-live-controller > .section-header h2,
body.live-controller-window .inventory-live-product > .section-header h2 { font-size:22px; }
body.live-controller-window .inventory-live-product > .section-header p { font-size:15px; }
body.live-controller-window .inventory-live-controller .inventory-live-actions { padding:8px 22px 16px; gap:12px; }
body.live-controller-window .inventory-live-controller .inventory-live-actions button {
  min-height:48px;
  padding:10px 16px;
  font-size:15px;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form { padding:18px 22px; gap:12px; }
body.live-controller-window .inventory-live-controller .inventory-scan-form label { font-size:16px; }
body.live-controller-window .inventory-live-controller .inventory-scan-form input { height:70px; font-size:30px; padding:12px 16px; }
body.live-controller-window .inventory-live-controller .inventory-scan-form button { height:70px; padding:12px 20px; font-size:18px; }
body.live-controller-window .live-scan-current {
  flex:1;
  min-height:210px;
  margin:0 22px 22px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.live-controller-window .live-scan-current-label span { font-size:14px; }
body.live-controller-window .live-scan-current-label strong { font-size:21px; }
body.live-controller-window .scan-variant-picker { font-size:16px; }
body.live-controller-window .scan-variant-picker select { min-height:54px; font-size:18px; padding:10px 12px; }
body.live-controller-window .live-scan-outcome { margin-top:8px; gap:14px; }
body.live-controller-window .live-scan-outcome button { min-height:96px; font-size:24px; }
body.live-controller-window .live-scan-current [role=status] { font-size:15px; margin-top:10px; }
body.live-controller-window .live-scan-current [data-finish-scan],
body.live-controller-window .live-scan-current [data-retry-scan] { min-height:46px; font-size:15px; }
body.live-controller-window .live-scan-current .scan-review-product { grid-template-columns:94px minmax(0,1fr); }
body.live-controller-window .live-scan-current .scan-review-product img,
body.live-controller-window .live-scan-current .scan-product-no-image { width:94px; height:94px; }
body.live-controller-window .live-scan-current .scan-review-product strong { font-size:21px; }
body.live-controller-window .live-scan-current .scan-product-code { font-size:20px; }
body.live-controller-window .live-scan-current .scan-review-spec { font-size:18px; }
body.live-controller-window .inventory-live-product > .section-header { padding:20px 24px; }
body.live-controller-window .inventory-live-product > .scan-variant-picker { padding:20px 24px; font-size:17px; }
body.live-controller-window .inventory-live-product > .scan-variant-picker select { min-height:60px; font-size:19px; padding:11px 14px; }
body.live-controller-window .inventory-live-product > [data-inventory-scan-result] {
  min-height:0;
  flex:1;
  display:flex;
  flex-direction:column;
}
body.live-controller-window .inventory-live-product > .empty-state { justify-content:center; }
body.live-controller-window .inventory-live-product .inventory-scan-result-card {
  min-height:0;
  flex:1;
  padding:26px;
  gap:24px;
  grid-template-rows:auto minmax(0,1fr);
}
body.live-controller-window .inventory-live-product .inventory-scan-result-head { grid-template-columns:190px minmax(0,1fr); gap:24px; }
body.live-controller-window .inventory-live-product .inventory-scan-detail-image { width:190px; max-width:190px; height:190px; }
body.live-controller-window .inventory-live-product .inventory-scan-result-head h3 { font-size:30px; margin-bottom:10px; }
body.live-controller-window .inventory-live-product .inventory-scan-code-line { font-size:18px; }
body.live-controller-window .inventory-live-product .inventory-scan-facts { align-content:stretch; gap:14px; }
body.live-controller-window .inventory-live-product .inventory-scan-facts span {
  min-height:76px;
  padding:12px 10px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  font-size:19px;
  line-height:1.35;
}
body.live-controller-window .inventory-live-product .inventory-scan-facts b { font-size:14px; margin-bottom:7px; }
body.live-controller-window .inventory-live-product .inventory-scan-facts b small { font-size:11px; }
body.live-controller-window .inventory-live-product [data-live-usd-cost] { font-size:25px; }
body.live-controller-window .inventory-live-product > [data-inventory-scan-result] > .dialog-actions { padding:14px 20px; }
body.live-controller-window .inventory-live-product > [data-inventory-scan-result] > .dialog-actions button { min-height:48px; font-size:16px; }

@media(min-width:1600px) and (min-height:820px) {
  body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace { grid-template-columns:minmax(520px,39%) minmax(0,61%); }
  body.live-controller-window .inventory-live-product .inventory-scan-result-head { grid-template-columns:230px minmax(0,1fr); }
  body.live-controller-window .inventory-live-product .inventory-scan-detail-image { width:230px; max-width:230px; height:230px; }
  body.live-controller-window .inventory-live-product .inventory-scan-result-head h3 { font-size:34px; }
  body.live-controller-window .inventory-live-product .inventory-scan-facts span { min-height:90px; font-size:21px; }
  body.live-controller-window .live-scan-outcome button { min-height:112px; font-size:27px; }
}

@media(min-width:1100px) {
  body.live-controller-window .live-scan-current {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,.82fr);
    grid-template-areas:
      "label label"
      "previous outcome"
      "variant outcome"
      "status status"
      "finish finish"
      "retry retry";
    align-content:center;
    justify-content:stretch;
    column-gap:14px;
    row-gap:10px;
  }
  body.live-controller-window .live-scan-current > .live-scan-current-label { grid-area:label; margin:0; }
  body.live-controller-window .live-scan-current > [data-previous-product] { grid-area:previous; min-width:0; }
  body.live-controller-window .live-scan-current > .scan-previous-variant { grid-area:variant; margin:0; }
  body.live-controller-window .live-scan-current > .live-scan-outcome { grid-area:outcome; align-self:stretch; margin:0; flex-wrap:nowrap; }
  body.live-controller-window .live-scan-current > .live-scan-outcome button { min-width:0; padding-left:8px; padding-right:8px; }
  body.live-controller-window .live-scan-current > [data-current-sale-status] { grid-area:status; margin:0; }
  body.live-controller-window .live-scan-current > [data-finish-scan] { grid-area:finish; }
  body.live-controller-window .live-scan-current > [data-retry-scan] { grid-area:retry; }
}

@media (min-width:1100px) and (max-width:1599px), (min-width:1100px) and (max-height:1000px) {
  body.live-controller-window .live-scan-sales-panel { padding:8px 18px; gap:8px 10px; }
  body.live-controller-window .live-scan-plan-line select { height:46px; }
  body.live-controller-window .live-scan-passed-count,
  body.live-controller-window .live-scan-review-button { min-height:46px; }
  body.live-controller-window .live-scan-passed-count { padding:5px 10px; }
  body.live-controller-window .live-scan-passed-count strong { font-size:32px; }
  body.live-controller-window .live-scan-passed-count small { display:none; }
  body.live-controller-window .inventory-live-controller > .section-header { padding:12px 18px 6px; }
  body.live-controller-window .inventory-live-controller .inventory-live-actions { padding:4px 18px 10px; }
  body.live-controller-window .inventory-live-controller .inventory-live-actions button { min-height:42px; padding:8px 13px; }
  body.live-controller-window .inventory-live-controller .inventory-scan-form { padding:12px 18px; }
  body.live-controller-window .inventory-live-controller .inventory-scan-form input,
  body.live-controller-window .inventory-live-controller .inventory-scan-form button { height:60px; }
  body.live-controller-window .live-scan-current { margin:0 18px 18px; padding:16px; }
  body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product>img { width:112px; height:112px; }
  body.live-controller-window .live-scan-current > .scan-previous-variant { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; font-size:15px; }
  body.live-controller-window .live-scan-current > .scan-previous-variant [data-previous-variant] { min-height:46px; margin:0; }
}

@media(max-width:1099px) {
  body.live-controller-window { font-size:16px; }
  body.live-controller-window .live-scan-outcome button { min-height:72px; font-size:20px; }
}
/* 中控台展示屏：只有真正窄到手机档（<=767px）才塌成单列。
   用户在 1100px 以下的窗口里同样要求「网页版那种两列排版」。 */
@media(max-width:767px) {
  body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace { min-height:0; grid-template-columns:minmax(0,1fr); }
  body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace > .section { min-height:auto; }
  body.live-controller-window .live-scan-sales-panel { display:grid; grid-template-columns:minmax(0,1fr); }
  body.live-controller-window .live-scan-sales-panel .live-scan-plan-line { grid-column:auto; }
  body.live-controller-window .live-scan-passed-count { width:100%; }
  body.live-controller-window .live-scan-sales-panel .live-scan-review-button { width:100%; }
  body.live-controller-window .live-scan-current { min-height:0; }
}

@media(max-width:700px) {
  body.live-controller-window .topbar h1 { font-size:21px; }
  body.live-controller-window:has(#view-root > .inventory-live-workspace) #view-root { padding:10px; }
  body.live-controller-window .live-scan-sales-panel,
  body.live-controller-window .inventory-live-controller > .section-header,
  body.live-controller-window .inventory-live-controller .inventory-scan-form { padding:14px; }
  body.live-controller-window .inventory-live-controller .inventory-live-actions { padding:6px 14px 14px; }
  body.live-controller-window .inventory-live-controller .inventory-scan-form input { height:62px; font-size:26px; }
  body.live-controller-window .inventory-live-controller .inventory-scan-form button { height:62px; }
  body.live-controller-window .live-scan-current { margin:0 14px 14px; padding:16px; }
  body.live-controller-window .live-scan-current .scan-review-product { grid-template-columns:76px minmax(0,1fr); }
  body.live-controller-window .live-scan-current .scan-review-product img,
  body.live-controller-window .live-scan-current .scan-product-no-image { width:76px; height:76px; }
  body.live-controller-window .inventory-live-product > .section-header,
  body.live-controller-window .inventory-live-product > .scan-variant-picker { padding:16px; }
  body.live-controller-window .inventory-live-product .inventory-scan-result-card { padding:16px; gap:16px; }
  body.live-controller-window .inventory-live-product .inventory-scan-result-head { grid-template-columns:120px minmax(0,1fr); gap:14px; }
  body.live-controller-window .inventory-live-product .inventory-scan-detail-image { width:120px; max-width:120px; height:120px; }
  body.live-controller-window .inventory-live-product .inventory-scan-result-head h3 { font-size:25px; }
  body.live-controller-window .inventory-live-product .inventory-scan-code-line { font-size:15px; }
  body.live-controller-window .inventory-live-product .inventory-scan-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.live-controller-window .inventory-live-product .inventory-scan-facts span { min-height:64px; padding:9px 6px; font-size:17px; }
}
/* Previous sale stays visually distinct from the product currently on air. */
.live-scan-current [data-previous-label]{font-size:20px;font-weight:750}
.live-scan-current [data-previous-label].is-pending{color:#c82e2e}
.live-scan-current [data-previous-product] .scan-review-product>img{width:112px;height:112px;object-fit:contain;flex-shrink:0}
.live-scan-current .scan-previous-barcode{display:block;font-size:17px;font-weight:650;overflow-wrap:anywhere;margin:8px 0}
.live-scan-current .scan-previous-variant{display:block;font-size:16px;font-weight:650;margin:10px 0 14px}
.live-scan-current .scan-previous-variant[hidden]{display:none}
.live-scan-current [data-previous-variant]{width:100%;min-height:46px;font-size:17px;margin-top:6px}
body.live-controller-window .live-scan-current [data-previous-label]{font-size:23px}
body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product>img{width:132px;height:132px}
@media(max-width:600px){.live-scan-current [data-previous-product] .scan-review-product>img,body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product>img{width:88px;height:88px}}

/* Previous-product geometry: the image itself owns its column, never a stale 76/94px track. */
.live-scan-current [data-previous-product] .scan-review-product,
body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product{grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:start}
.live-scan-current [data-previous-product] .scan-review-product>div{min-width:0;overflow-wrap:anywhere}

body.live-controller-window .live-scan-current > [data-recover-scan] { grid-column:1 / -1; }

@media (min-width:1100px) and (max-width:1599px) {
  body.live-controller-window .live-scan-current { grid-template-columns:minmax(0,1fr) minmax(190px,.72fr); }
  body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product>img { width:112px; height:112px; }
}

/* ---------------------------------------------------------------------------
   /* ---------------------------------------------------------------------------
   Controller fit (0.10.312)

   The controller window is a fixed, full-viewport operating screen. It must never
   scroll the page: the topbar and both columns stay put and everything the operator
   needs is visible without scrolling. Every "far view" enlargement is capped against
   the real viewport height so the content can never grow past the screen, and each
   column keeps its own scroll container purely as a safety valve so nothing can ever
   become unreachable. Appended last so these rules win over the earlier tiers at
   equal specificity.

   用户要求（2026-09-17 明确）：中控台展示屏必须**固定式、全部信息显示在一屏、不要求滑动**
   （员工操作时没有时间划来划去）—— 与网页版效果一致。因此本段**不再限定全屏**，
   控制器窗口一律锁死一屏；配合"768px 以上保持两列"，两列在视口内一次性显示完。
   0.10.320 曾把本段收窄为仅全屏生效，0.10.321 按用户要求撤销。
   --------------------------------------------------------------------------- */
body.live-controller-window:has(#view-root > .inventory-live-workspace) #app-shell { height:100vh; overflow:hidden; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) .main-content {
  display:flex;
  flex-direction:column;
  height:100vh;
  min-height:0;
  overflow:hidden;
}
body.live-controller-window:has(#view-root > .inventory-live-workspace) .topbar { flex:0 0 auto; }
body.live-controller-window:has(#view-root > .inventory-live-workspace) #view-root {
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace {
  min-height:0;
  height:100%;
  align-items:stretch;
  overflow:hidden;
}
body.live-controller-window:has(#view-root > .inventory-live-workspace) .inventory-live-workspace > .section {
  min-height:0;
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.live-controller-window .live-scan-outcome button { min-height:min(112px,10.5vh); font-size:clamp(17px,2vh + 9px,27px); }
body.live-controller-window .inventory-live-controller .inventory-scan-form input,
body.live-controller-window .inventory-live-controller .inventory-scan-form button { height:min(70px,7vh); }
body.live-controller-window .inventory-live-controller .inventory-scan-form { padding:min(18px,2vh) 22px; }
body.live-controller-window .inventory-live-controller > .section-header { padding:min(18px,2vh) 22px min(10px,1.2vh); }
body.live-controller-window .live-scan-sales-panel { padding:min(11px,1.2vh) 22px; }
body.live-controller-window .live-scan-passed-count { min-height:min(54px,6vh); }
body.live-controller-window .live-scan-plan-line select { height:min(54px,6vh); }
body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product>img,
body.live-controller-window .live-scan-current [data-previous-product] .scan-product-no-image { width:min(132px,12vh); height:min(132px,12vh); }
body.live-controller-window .live-scan-current [data-previous-product] .scan-review-product { grid-template-columns:max-content minmax(0,1fr); }
body.live-controller-window .inventory-live-product .inventory-scan-detail-image { width:min(230px,18vh); max-width:min(230px,18vh); height:min(230px,18vh); }
body.live-controller-window .inventory-live-product .inventory-scan-facts span { min-height:min(90px,8vh); }
body.live-controller-window .inventory-live-product .inventory-scan-result-head { grid-template-columns:min(230px,18vh) minmax(0,1fr); }

/* 压线修复：放在该区块的归属文件里，用与线上同级的特异性，避免被更高优先级的规则盖掉。
   .live-scan-current 必须整体位于扫码表单之后，不能被上移覆盖表单底部的提示行。 */
body.live-controller-window .inventory-live-controller .live-scan-current {
  position: static !important;
  margin-top: 16px !important;
  clear: both;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form {
  margin-bottom: 0 !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form > .inventory-scan-input-status {
  display: block !important;
  grid-column: 1 / -1 !important;
  margin: 4px 0 0 !important;
  min-height: 18px !important;
}

/* 扫码输入区收紧：线上原为 input/button height:58px、font-size:24px，纵向占用过大。
   之前用 min-height 覆盖无效（height 优先），这里直接改 height。 */
body.live-controller-window .inventory-live-controller .inventory-scan-form {
  padding: 10px 16px !important;
  gap: 8px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form label {
  gap: 4px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form input {
  height: 40px !important;
  min-height: 40px !important;
  font-size: 19px !important;
  padding: 6px 12px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form button {
  height: 40px !important;
  min-height: 40px !important;
  font-size: 15px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-input-status {
  min-height: 16px !important;
  margin: 2px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}


/* 输入区再收一档 */
body.live-controller-window .inventory-live-controller .inventory-scan-form {
  padding: 8px 14px !important;
  gap: 6px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form input {
  height: 34px !important;
  min-height: 34px !important;
  font-size: 17px !important;
  padding: 4px 10px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form button {
  height: 34px !important;
  min-height: 34px !important;
  font-size: 14px !important;
  padding: 4px 14px !important;
}
body.live-controller-window .inventory-live-controller .inventory-scan-form > label.full {
  font-size: 12px !important;
  gap: 3px !important;
}

/* 上一版用 [data-serial-scanner-pause] 隐藏失败：那个按钮由本地工具动态创建，没有 data-* 属性，
   选择器匹配不到。它实际是 .serial-scanner-panel 的直接子按钮，用位置选择器隐藏。 */
.serial-scanner-panel > button,
.serial-scanner-panel > .button,
p.serial-scanner-panel > button {
  display: none !important;
}
/* 面板本身不需要任何留白（状态行已移到标题行） */
p.serial-scanner-panel,
.serial-scanner-panel {
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
}

/* 扫码瞬间右侧会闪出一张结果卡（打印标签/重新投到主播端）。本任务原先用 JS 每 2 秒隐藏它，
   于是"先渲染、后隐藏"造成闪烁。CSS 没有时间差，元素从不渲染，彻底消除闪烁。
   右侧该区域已由「主播端对照」承担；打印与投屏入口仍在左栏操作区。 */
.inventory-live-product [data-inventory-scan-result],
section.inventory-live-product > [data-inventory-scan-result] {
  display: none !important;
}
.livestream-capture-dialog {
  width: min(1180px, calc(100vw - 32px));
}

.livestream-capture-tool {
  display: grid;
  gap: 12px;
}

.livestream-capture-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.livestream-capture-toolbar label {
  display: grid;
  gap: 5px;
  min-width: min(440px, 100%);
}

.livestream-capture-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.livestream-capture-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 66vh;
  overflow: hidden;
  background: #10161a;
  touch-action: none;
  user-select: none;
}
.livestream-capture-stage.capture-selecting { outline: 4px solid #f3be24; outline-offset: 2px; cursor: crosshair; }

.livestream-capture-stage video,
.livestream-capture-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.livestream-capture-stage > p {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  color: #d8e1e6;
}

.livestream-capture-stage > p[hidden] { display: none; }
.livestream-capture-mode-badge { position:absolute; left:12px; top:12px; z-index:2; padding:8px 12px; border-radius:999px; background:#f3be24; color:#1b1f22; font-weight:800; box-shadow:0 2px 10px rgba(0,0,0,.28); pointer-events:none; }
.livestream-capture-mode-badge[hidden] { display:none; }

.livestream-capture-selection {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 3px solid #f3be24;
  background: rgba(243, 190, 36, .08);
  pointer-events: none;
}

.livestream-capture-stage:has(.livestream-capture-selection[style*="display: block"]) { cursor: crosshair; }
.capture-task-panel > header > div { display: grid; gap: 2px; }
.capture-task-panel > header > div small { color: #667085; font-size: 12px; }
.capture-task-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.capture-task-heading { min-width: 0; }
.capture-task-summary { color: #667085; font-size: 12px; white-space: nowrap; }
.capture-task-panel-actions { display: flex !important; align-items: center; gap: 8px; }
.capture-task-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 8px 0 2px; padding: 8px 10px; border: 1px solid #e1e8ef; border-radius: 7px; background: #f7fafc; color: #667085; font-size: 12px; }
.capture-task-toolbar[hidden] { display: none; }
.capture-task-row { display: grid; grid-template-columns: 28px 64px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #e5eaf0; }
.capture-task-select { display: grid; place-items: center; }
.capture-task-select input { width: 17px; height: 17px; accent-color: #1e6fb8; }
.capture-task-preview { width: 64px; height: 42px; overflow: hidden; border: 1px solid #dbe3eb; border-radius: 5px; background: #10161a; display: grid; place-items: center; }
.capture-task-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.capture-task-copy { display: grid; min-width: 0; gap: 3px; }
.capture-task-copy strong, .capture-task-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.capture-task-copy small { color: #667085; }
.capture-task-copy .capture-task-storage { color: #8a5b22; font-size: 11px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.capture-task-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.capture-task-panel .danger-outline { border-color: #d88989; color: #9f2d32; }
.capture-custom-destination { display: grid; gap: 5px; margin-top: 8px; color: #334155; font-size: 12px; font-weight: 700; }
.capture-custom-destination input { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd7e5; border-radius: 7px; font: inherit; font-weight: 400; }
@media (max-width: 720px) {
  .capture-task-panel > header { align-items: flex-start; flex-direction: column; }
  .capture-task-panel-actions { width: 100%; flex-wrap: wrap; }
  .capture-task-summary { margin-right: auto; }
  .capture-task-toolbar { align-items: flex-start; flex-direction: column; }
  .capture-task-row { grid-template-columns: 26px 54px minmax(0, 1fr); }
  .capture-task-actions { grid-column: 2 / -1; justify-content: flex-start; }
  .capture-task-preview { width: 54px; height: 36px; }
}

.livestream-capture-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 28px;
}

.livestream-capture-status span { overflow-wrap: anywhere; }
.livestream-capture-status strong { font-variant-numeric: tabular-nums; }
.capture-rec-dot { color: #c52f24; margin-right: 5px; }
.livestream-capture-result { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 16px; padding:12px 14px; border:1px solid #8fc3a5; border-radius:10px; background:#effaf2; color:#175c35; }
.livestream-capture-result > strong, .livestream-capture-result > span { overflow-wrap:anywhere; }
.livestream-capture-result > div { display:flex; gap:8px; flex-wrap:wrap; }
.livestream-capture-result[hidden] { display:none; }

[data-open-livestream-capture] {
  position: relative;
}
[data-capture-working-indicator] {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: #c52f24;
  vertical-align: middle;
  animation: live-capture-blink 1s steps(2, end) infinite;
}
[data-capture-working-indicator][hidden] { display: none; }
.live-capture-working { border-color: #c52f24 !important; color: #9d241c !important; }
.live-capture-dock {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #e2a4a0;
  border-radius: 6px;
  background: #fff7f6;
  box-shadow: 0 8px 24px rgba(26, 33, 38, .18);
}
.live-capture-dock .capture-rec-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 0;
  border-radius: 50%;
  background: #c52f24;
  animation: live-capture-blink 1s steps(2, end) infinite;
}
.live-capture-dock [data-live-capture-dock-state] { color: #59666e; }
@keyframes live-capture-blink { 50% { opacity: .25; } }

@media(max-width:760px) {
  .livestream-capture-toolbar { align-items: stretch; flex-direction: column; }
  .livestream-capture-toolbar label { min-width: 0; }
  .livestream-capture-stage { aspect-ratio: 4 / 3; }
  .livestream-capture-result { grid-template-columns:1fr; }
  .capture-task-row { grid-template-columns: 24px 52px minmax(0, 1fr); }
  .capture-task-preview { width: 52px; height: 38px; }
  .capture-task-actions { grid-column: 2 / -1; justify-content: flex-start; }
}
.supplier-sold-pdf { display:grid; gap:12px; min-width:0; }
.supplier-sold-pdf p { margin:0; line-height:1.5; }
.supplier-sold-pdf > label { max-width:560px; display:grid; gap:6px; }
.supplier-sold-pdf table { width:100%; border-collapse:collapse; min-width:680px; }
.supplier-sold-pdf th,.supplier-sold-pdf td { padding:8px; border-bottom:1px solid var(--border,#dce3ea); text-align:left; vertical-align:middle; }
.supplier-sold-pdf td small { display:block; margin-top:4px; color:var(--muted,#65758b); }
.supplier-sold-pdf td img { width:58px; height:58px; object-fit:contain; }
.supplier-sold-pdf [data-restock-qty] { width:86px; }
.supplier-sold-pdf [data-restock-note] { width:180px; }
.supplier-sold-pdf .dialog-actions { display:flex; flex-wrap:wrap; gap:8px; }

