.sb-i[data-v="pm-stock"] .sb-bg{background:linear-gradient(135deg,#F59E0B,#EF4444);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;border-radius:0;padding:2px 7px;box-shadow:0 0 0 1px rgba(245,158,11,.45)}
/* Additive stock workspace - existing APEX operational ledger and tokens. */
.stock-workspace{min-width:0;max-width:100%;color:var(--tx)}
.stock-toolbar,.stock-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.stock-toolbar{justify-content:space-between;margin-bottom:var(--sp-md)}
.stock-heading h1{font-size:var(--fs-xl);margin:0 0 4px;font-weight:800}
.stock-heading p,.stock-note{font-size:var(--fs-sm);color:var(--tx3);line-height:1.6;margin:4px 0}
.stock-tabs.utabs{max-width:100%;min-width:0}
.stock-tabs.utabs>.utab{flex:none;transition:none}
@media(pointer:coarse){.stock-tabs.utabs>.utab{min-width:44px;min-height:44px}}
@media(max-width:600px){.stock-tabs.utabs>.utab{padding:8px 6px;font-size:12px;min-height:44px}}
.stock-workspace .btn,.stock-dialog .btn{min-height:38px;padding:6px 10px}
.stock-filters,.stock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md)}
.stock-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r);margin-bottom:12px}
.stock-filters>.stock-actions{grid-column:1/-1;align-self:end}
.stock-filters>label{align-content:start}
.stock-filters .fi{height:38px;margin:0}
@media(min-width:1100px){.stock-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.stock-filters>.stock-actions{grid-column:auto;flex-wrap:nowrap}}
@media(pointer:coarse),(max-width:767px){.stock-workspace .btn,.stock-dialog .btn{min-width:44px}}
.stock-workspace label,.stock-dialog label{display:grid;gap:6px;font-size:var(--fs-sm);color:var(--tx2);font-weight:600;min-width:0}
.stock-workspace .fi,.stock-dialog .fi{width:100%;min-width:0;box-sizing:border-box;min-height:38px}
.stock-check{display:flex!important;align-items:center;gap:8px!important;align-self:center}
.stock-check input{width:18px;height:18px;flex:none}
.stock-workspace [hidden],.stock-dialog [hidden]{display:none!important}
.stock-panel{border:1px solid var(--bdr);background:var(--white);border-radius:var(--r);padding:var(--sp-lg);margin-bottom:var(--sp-md);min-width:0}
.stock-panel h2{font-size:var(--fs-md);margin:0 0 var(--sp-md)}
.stock-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--bdr);border-radius:var(--r)}
.stock-table-wrap .tbl{min-width:660px;width:100%}
.stock-table-wrap td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.stock-code{font-family:var(--m);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stock-link{background:none;border:0;color:var(--acc);font:inherit;font-weight:700;cursor:pointer;text-align:left;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.stock-badge{display:inline-block;background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r-sm);padding:3px 8px;font-size:var(--fs-xs);font-weight:700}
.stock-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-md);margin:0}
.stock-facts dt{font-size:var(--fs-xs);color:var(--tx3);margin-bottom:4px}
.stock-facts dd{margin:0;font-size:var(--fs-base);overflow-wrap:anywhere}
.stock-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:var(--sp-lg)}
.stock-state{padding:var(--sp-xl);text-align:center;border:1px dashed var(--bdr);border-radius:var(--r);background:var(--bg2)}
.stock-state h2{font-size:var(--fs-md)}
.stock-alert{border-left:3px solid var(--amb);background:var(--amb2);padding:var(--sp-md);margin-bottom:var(--sp-md);font-size:var(--fs-sm);line-height:1.6;overflow-wrap:anywhere}
.stock-error{color:var(--red);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere}
.stock-error:empty{display:none}
.stock-pager{display:flex;justify-content:space-between;gap:var(--sp-sm);align-items:center;padding:var(--sp-md) 0;font-size:var(--fs-sm)}
.stock-dialog{box-sizing:border-box;width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--bdr);border-radius:var(--r-lg);background:var(--white);color:var(--tx);padding:0;font-family:var(--f);box-shadow:var(--shadow)}
.stock-dialog::backdrop{background:rgba(11,17,32,.6)}
.stock-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--bdr)}
.stock-dialog-head h2{margin:0;font-size:var(--fs-md)}
.stock-dialog-body{padding:var(--sp-lg)}
.stock-dialog footer{display:flex;justify-content:flex-end;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-lg)}
.stock-dialog fieldset{border:1px solid var(--bdr);border-radius:var(--r-sm);padding:var(--sp-md);margin:var(--sp-md) 0;min-width:0}
.stock-dialog legend{font-size:var(--fs-sm);font-weight:700}
.stock-span{grid-column:1/-1}
.stock-line{display:grid;grid-template-columns:minmax(150px,2fr) minmax(65px,1fr) minmax(65px,1fr) 65px auto;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--bdr)}
.stock-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:8px 0}
.stock-dialog .stock-field-actions{align-items:flex-end;gap:8px}
.stock-field-actions>label{flex:1 1 220px}
.stock-field-actions>.btn{flex:0 0 auto}
.stock-field-actions .fi{margin:0}
.stock-option{align-items:end}
@media(max-width:767px){.stock-field-actions>label{flex-basis:100%}.stock-option{grid-template-columns:minmax(0,1fr)}}
.stock-skeleton{height:20px;width:70%;margin:18px 0;border-radius:var(--r-sm);background:var(--bg3)}
.stock-skeleton:last-child{height:180px;width:100%}
.stock-scan-video{display:block;width:100%;max-height:45dvh;background:var(--bg3);border-radius:var(--r);object-fit:cover}
/* Scan stays a single, bounded workspace; other inventory panels are unchanged. */
.stock-panel.stock-scan-panel{box-sizing:border-box;width:100%;max-width:680px;margin-inline:auto}
.stock-scan-panel .stock-camera-actions{gap:var(--sp-md);margin-bottom:var(--sp-lg)}
.stock-scan-panel .stock-camera-actions [data-stock-action=start-camera]{flex:1 1 240px;min-height:64px;padding:14px 24px;background:var(--acc);border-color:var(--acc);color:var(--white);font-size:clamp(20px,2.5vw,26px);font-weight:800;line-height:1.25;white-space:normal}
.stock-scan-panel .stock-camera-actions [data-stock-action=stop-camera]{min-height:48px}
.stock-scan-panel .stock-scan-video{margin-bottom:var(--sp-md)}
.stock-scan-panel .stock-note,.stock-scan-panel .stock-error{line-height:1.6;margin-block:var(--sp-md)}
.stock-scan-panel h2{margin-top:var(--sp-lg);margin-bottom:var(--sp-md)}
.stock-scan-panel #stock-lookup{display:grid;gap:var(--sp-md);min-width:0}
.stock-scan-panel #stock-lookup label{font-size:var(--fs-base)}
.stock-scan-panel #stock-lookup .fi{min-height:48px;font-size:16px}
.stock-scan-panel #stock-lookup .stock-actions{gap:var(--sp-md)}
.stock-scan-panel #stock-lookup .btn{min-height:48px;white-space:normal}
@media(max-width:767px){.stock-scan-panel .stock-camera-actions [data-stock-action=start-camera]{flex-basis:100%}.stock-scan-panel #stock-lookup .stock-actions .btn{flex:1 1 160px}}
.stock-workspace :is(button,input,select,textarea,summary,a):focus-visible,.stock-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* After base controls so iPad keeps 44px targets and avoids input zoom too. */
@media(pointer:coarse){.stock-workspace .btn,.stock-dialog .btn,.stock-workspace .fi,.stock-dialog .fi,.stock-workspace .stock-link{min-height:44px}.stock-workspace input,.stock-workspace select,.stock-dialog input,.stock-dialog select,.stock-dialog textarea{font-size:16px}}
@media(max-width:767px){.stock-filters,.stock-form-grid,.stock-columns,.stock-facts{grid-template-columns:minmax(0,1fr)}.stock-toolbar{align-items:flex-start}.stock-workspace .btn,.stock-dialog .btn,.stock-workspace .fi,.stock-dialog .fi{min-height:44px}.stock-line{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--sp-md) 0}.stock-line>label:first-child{grid-column:1/-1}.stock-dialog-body{padding:var(--sp-md)}.stock-panel{padding:var(--sp-md)}}
