/* Workshop refinement: existing CI and workflows; no new layout or data contract. */
:root{--work-ink432:#183c29;--work-muted432:#52685a;--work-paper432:#fffdf8;--work-line432:#cbd7cc;--work-green432:#174c32}
#categoryAdmin .categoryBox>summary{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 44px;align-items:center;gap:16px}
#categoryAdmin .categorySummaryMeta{justify-self:start;text-align:left;margin:0;min-width:0}
#categoryAdmin .categoryBox>summary>.foldPlus{justify-self:end}
#categoryAdmin .categoryTitle,#categoryAdmin .subRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
#categoryAdmin .categoryTitle input,#categoryAdmin .subRow input{min-width:0;width:100%;box-sizing:border-box}
#categoryAdmin .configActions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
#categoryAdmin .configActions button{min-width:44px;min-height:44px;flex:0 0 auto}
.groupMenuButton435{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px;min-width:48px;min-height:48px;padding:0!important;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--work-ink432);font-size:28px;line-height:1;cursor:pointer;touch-action:manipulation;box-shadow:none}
.groupMenuButton435:active{background:#dfece1}.groupMenuButton435:focus-visible{outline:3px solid var(--work-green432);outline-offset:2px}
.mobileGroupTitle322,.stockMainTitle301{flex:1 1 auto}.mobileGroup322>summary>strong{flex-shrink:1;min-width:0}
.groupActionMenu435{position:fixed;inset:auto;margin:0;padding:6px;z-index:10000;box-sizing:border-box;max-width:calc(100vw - 16px);min-width:220px;border:1px solid var(--work-line432);border-radius:12px;background:var(--work-paper432);color:var(--work-ink432);box-shadow:0 8px 24px #183c291a}
.groupActionMenu435[hidden]{display:none!important}.groupActionMenu435>button{display:block;width:100%;min-height:48px;padding:12px 14px;text-align:left;font:inherit;font-weight:600;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.groupActionMenu435>button:focus-visible{outline:2px solid var(--work-green432);outline-offset:-2px;background:#e7f3ec}
.groupRenameDialog435{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--work-line432);border-radius:16px;background:var(--work-paper432);color:var(--work-ink432);font:16px/1.5 system-ui,sans-serif;box-shadow:none}
.groupRenameDialog435::backdrop{background:#183c2955}.groupRenameDialog435 h2{margin:0 0 20px;font-size:22px;line-height:1.3}.groupRenameDialog435 label{display:block;font-weight:600}.groupRenameDialog435 input{display:block;box-sizing:border-box;width:100%;min-height:52px;margin:8px 0 12px;padding:12px;font:inherit;border:1px solid var(--work-line432);border-radius:10px;background:#fff}.groupRenameDialog435 p{color:var(--work-muted432);margin:12px 0;font-size:14px}.groupRenameDialog435 [role=alert]{color:#8d2929}.groupRenameActions435{display:flex;gap:12px;margin-top:24px}.groupRenameActions435 button{flex:1 1 0;min-height:48px;font:inherit;padding:10px;white-space:normal}.groupRenameDialog435 :focus-visible{outline:3px solid var(--work-green432);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.groupMenuButton435:hover,.groupActionMenu435>button:hover{background:#e7f3ec}}
.productMeasures433{display:grid;gap:4px;margin:8px 0 16px;color:#294f38;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mobileVariant322>.productMeasures433{margin:0 12px 12px;padding-top:10px;border-top:1px solid #dfe7dc}
.optionalMeasure433,.groupTools433 details{padding:12px;border:1px solid #cbd7cc;border-radius:10px;margin:16px 0;background:#fffdf8}
.optionalMeasure433 summary,.groupTools433 summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:650}
.groupTools433 input{display:block;width:100%;min-height:52px;font-size:16px;margin:8px 0}
.groupTools433 button,.conversionIssue433 button{min-height:48px;white-space:normal}
.groupTools433 small{display:block;margin-top:8px;color:#52685a}
.conversionIssue433{padding:16px;border-left:3px solid #997128;background:#fff8e8;margin-bottom:16px}
.conversionIssue433>div{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid #dfd5be}
.conversionIssue433 .productMeasures433{margin-bottom:0}
.optionalPhoto433{width:100%;margin-top:16px}
.hubActions362 button{min-width:48px;min-height:48px}.hubPool362>.groupTools433{margin:12px 16px}.stockName368 .productMeasures433{margin:6px 0 0;font-size:14px}
.drainFields433[hidden]{display:none!important}
.liveScanner391.manualScan433{overflow:auto;justify-content:flex-start}.manualScan433 .scanView391{flex:0 0 120px;min-height:120px;height:120px}
.scanManual433{display:grid;gap:12px}.scanManual433[hidden]{display:none}.scanManual433 input{display:block;min-height:52px;font-size:20px;width:100%}.scanManual433 button,.scanTools391 button{min-height:48px}.scanTools391{flex-wrap:wrap}
:is(#articleModal,#articleInfoModal127,#modal,#opsDialog92){color:var(--work-ink432);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
:is(#articleModal,#articleInfoModal127,#modal)>.card{box-shadow:none!important;border:1px solid var(--work-line432);scroll-padding-block:88px 100px;overscroll-behavior:contain}
:is(#articleModal,#articleInfoModal127,#modal) .modalHeader{gap:16px;align-items:center}
:is(#articleModal,#articleInfoModal127,#modal) .modalHeader h2{font-size:24px!important;letter-spacing:-.025em;line-height:1.2!important}
:is(#articleModal,#articleInfoModal127,#modal,#opsDialog92) :is(button,summary){touch-action:manipulation}
:is(#articleModal,#articleInfoModal127,#modal,#opsDialog92) button{min-height:48px;min-width:48px;box-shadow:none!important;line-height:1.3}
:is(#articleModal,#articleInfoModal127,#modal,#opsDialog92) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:52px;font-size:16px;line-height:1.4;border-radius:10px;scroll-margin-block:88px 100px}
:is(#articleModal,#modal,#opsDialog92) :is(input,select,textarea,button,summary):focus-visible{outline:3px solid var(--work-green432)!important;outline-offset:3px}
#articleModal :is(.guidedCard300,.guidedArticle300){gap:16px}
#articleModal :is(.guidedCard300,.guidedArticle300) h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}
#articleModal :is(.muted,.guidedReview300 dt,.recognizedHead198 small){color:var(--work-muted432)!important}
#articleModal :is(#guidedQty300,#gaContentQty300,.expiryParts231 input),#modal #qty{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;letter-spacing:0}
#articleModal .guidedProgress300{gap:8px;margin-bottom:4px}
#articleModal .guidedProgress300 small{font-size:13px;color:var(--work-muted432)}
#articleModal .guidedProgress300>div{height:4px}
#articleModal .guidedProgress300 i{background:var(--work-green432)}
#articleModal .guidedCard300[data-movement432=out] .guidedProgress300 i{background:#8d2929}
#articleModal .guidedCard300[data-movement432=out] .primary{background:#8d2929!important;color:#fff!important;border-color:#8d2929!important}
#articleModal .guidedActions300{gap:12px;margin-top:8px;padding-block:12px;background:var(--work-paper432)}
#articleModal .guidedActions300>button{min-height:52px;font-size:17px;font-weight:600}
#articleModal .guidedBackLink300{justify-self:stretch;min-height:48px;padding:12px 16px;border:1px solid var(--work-line432);border-radius:12px;background:#e7f3ec;color:var(--work-ink432);text-decoration:none;font:inherit;font-weight:600}
#articleModal .guidedReview300{border-radius:12px;border-color:var(--work-line432)}
#articleModal .guidedReview300>div{padding:12px 14px;gap:6px 16px}
#articleModal .guidedReview300 dd{font-weight:600;font-variant-numeric:tabular-nums}
#articleModal .guidedSourceNote300{color:var(--work-muted432);font-size:14px;border-radius:10px}
#articleModal .recognizedHead198{border:1px solid #dfe7dc;border-radius:12px!important;background:#f2f6ee}
#articleModal .recognizedHead198 b{line-height:1.3}
#articleModal .expiryParts231{gap:10px}
#articleModal .expiryParts231 label{font-size:15px}
#articleModal .expiryParts231 input{padding-inline:10px;min-width:0}
#articleModal .receiptLot422{border-radius:12px;padding:14px}
#articleModal .formFeedback231{line-height:1.5;font-size:16px;box-shadow:none}
#articleInfoModal127 :is(strong,b),.mobileVariantSelect322 strong,.mobileGroup322 summary>strong{font-variant-numeric:tabular-nums}
.mobileVariantActions322 :is(button,.mobileVariantInfo322){min-height:48px;min-width:48px}
.mobileVariantActions322 button span{font-size:14px;line-height:1.3}
.mobileVariantSelect322 strong{font-size:18px}
.mobileVariantSelect322 small{color:var(--work-muted432)}
.mobileVariantActions322 .mobileVariantInfo322{flex-basis:48px}
#articleModal.guideExisting198 button,#articleModal.guideExisting198 #guideBox194 button{min-height:48px!important}
#articleModal.guideExisting198 #guideBox194 .guidedActions300>button{min-height:52px!important;font-size:17px!important}
#articleModal.guideExisting198 #guideBox194 .recognizedHead198 button.wasteShortcut420{height:48px!important;width:48px!important;max-width:48px!important;min-height:48px!important;min-width:48px!important}
.mobileVariantActions322 button:disabled{opacity:1!important;background:#edf0eb!important;color:#647169!important;border-color:#cbd7cc!important;cursor:not-allowed}
/* Text and signs keep direction readable without depending on colour alone. */
:is(.mobileVariantActions322,.guideActions194) .actionPlus365{background:#e2f0e7!important;color:#174c32!important;border-color:#b8d2c0!important}
:is(.mobileVariantActions322,.guideActions194) .actionMinus365{background:#fbe9e7!important;color:#8d2929!important;border-color:#dfb9b6!important}
.feedbackToast{box-shadow:none!important;font-size:16px;line-height:1.45;border-radius:12px;transition:opacity 140ms ease!important;transform:none!important}
dialog#durableBusy275{box-shadow:none!important;border:1px solid var(--work-line432);color:var(--work-ink432);background:var(--work-paper432)}
@media(max-width:820px){
 :is(#articleModal,#articleInfoModal127,#modal){top:var(--work-visible-top432,0px)!important;bottom:auto!important;height:var(--work-visible-height432,100dvh)!important;max-height:var(--work-visible-height432,100dvh)!important}
 :is(#articleModal,#articleInfoModal127,#modal)>.card{height:100%!important;max-height:100%!important;padding:16px!important;border:0;border-radius:0!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
 :is(#articleModal,#articleInfoModal127,#modal) .modalHeader{position:sticky!important;top:-16px!important;padding:12px 0!important;margin-bottom:16px!important;z-index:5}
 #articleModal .guidedActions300{position:sticky;bottom:-16px;z-index:4;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid #dfe7dc}
 #articleModal .guidedCard300{padding:0!important;border-radius:0!important}
 #articleModal .guidedReview300>div{grid-template-columns:1fr;gap:2px}
 #articleModal .guidedReview300 dd{text-align:left}
 #articleModal .guidedInline300{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}
 #articleModal .guidedInline300>*{min-width:0}
 .mobileVariantActions322{gap:8px;flex-wrap:wrap}
 .mobileVariantActions322>.mobileWasteAction365{flex:0 0 48px}
 #opsDialog92{max-height:calc(var(--work-visible-height432,100dvh) - 24px)!important;scroll-padding-block:76px 100px}
}
@media(hover:hover) and (pointer:fine){
 #articleModal button:not(:disabled):hover{filter:brightness(.97)}
}
@media(prefers-reduced-motion:no-preference){
 :is(#articleModal,#modal,#opsDialog92) button{transition:background-color 120ms ease,transform 100ms ease}
 :is(#articleModal,#modal,#opsDialog92) button:not(:disabled):active{transform:translateY(1px)}
}
@media(prefers-reduced-motion:reduce){
 :is(#articleModal,#articleInfoModal127,#modal,#opsDialog92) *, .feedbackToast{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* 437: each inventory record occupies one row at every viewport width. */
.stockList.stockPools301{grid-template-columns:minmax(0,1fr)}
/* Product families are visibly enclosed, including collapsed groups. */
:is(.stockMain301,.mobileGroup322,.hubPool362){border:2px solid #8aab91;border-inline-start:5px solid #38704c;border-radius:12px;background:#f7faf4;overflow:hidden;margin-block:16px;box-sizing:border-box}
:is(.stockMain301,.mobileGroup322,.hubPool362)>summary{background:#e0ecdf;color:#183c29;min-height:80px;box-sizing:border-box}
:is(.stockMain301,.mobileGroup322,.hubPool362)[open]>summary{background:#e0ecdf;border-bottom:1px solid #a4bea5}
:is(.stockMainBody301,.mobileGroupBody322){padding:16px;gap:12px;background:#f7faf4}
.hubPool362>.hubStockRow362{margin-inline:16px;background:#fffef9;border:1px solid #d9e2d6;border-radius:8px;margin-block:12px;padding-inline:12px}
.hubPool362>.hubStockRow362:last-child{margin-bottom:16px}
.hubStockRow362>.hubActions362{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end}
.hubStockRow362>.hubActions362>button{flex:0 0 48px;min-width:48px;min-height:48px;padding-inline:0}
@media(min-width:1101px){.hubStockColumns362,.hubStockRow362,.hubPool362>summary{grid-template-columns:54px minmax(150px,2fr) minmax(85px,1fr) minmax(100px,1fr) 264px}}
@media(min-width:821px) and (max-width:1100px){.hubStockRow362>.hubActions362{grid-column:2/-1;justify-self:end}}
:is(.stockMain301,.mobileGroup322,.hubPool362)>summary:focus-visible{outline:3px solid #175436;outline-offset:-4px}
@media(max-width:820px){:is(.stockMain301,.mobileGroup322,.hubPool362){margin-block:12px}:is(.stockMainBody301,.mobileGroupBody322){padding:10px}.hubPool362>.hubStockRow362{margin-inline:10px}}
.attentionStatus437.zStatusCard158{display:block;padding:0;min-height:0}
.attentionStatus437>summary{display:flex;align-items:center;gap:20px;padding:22px 24px;cursor:pointer;list-style:none;min-height:104px;box-sizing:border-box}
.attentionStatus437>summary::-webkit-details-marker{display:none}
.attentionStatus437>summary>span:nth-child(2){flex:1;min-width:0}
.attentionOpen437{display:block;margin-top:8px;text-decoration:underline;font-weight:600;font-size:15px}
.attentionChevron437{font-size:24px;flex-shrink:0}.attentionStatus437[open] .attentionChevron437{transform:rotate(180deg)}
.attentionStatus437>summary:focus-visible{outline:3px solid var(--work-green432);outline-offset:3px;border-radius:12px}
.attentionDetails437{padding:0 24px 16px;background:var(--work-paper432);border-radius:0 0 12px 12px}
.attentionRow437 .attentionText437{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.attentionRow437 .attentionText437 small{grid-column:auto;grid-row:auto;line-height:1.5}
.attentionAction437{font-size:14px;color:#175436;font-weight:600;white-space:nowrap}
.attentionAll437{min-height:48px;margin-block:8px}
@media(max-width:820px){.attentionStatus437>summary{padding:16px;gap:12px;min-height:88px}.attentionDetails437{padding:0 16px 12px}.attentionRow437 .attentionAction437{grid-column:2;grid-row:2;justify-self:start}.attentionRow437 .attentionText437{grid-column:2;grid-row:1}.attentionRow437 .zChevron158{grid-column:3;grid-row:1/3}}
