:root{color-scheme:light;--bg:#f5f4f1;--ink:#1d1c1a;--muted:#716d65;--line:#d6d2ca;--green:#315f45;--soft:#e8f1eb;--warn:#fff2cc}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #619278;outline-offset:3px}.test-strip{background:var(--warn);padding:7px 12px;text-align:center;font-size:11px}.family{max-width:840px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font-size:13px}.pill{border:1px solid var(--line);border-radius:20px;padding:4px 12px}main{max-width:840px;padding:20px;margin:auto}.heading,.job-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading{margin-bottom:18px}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:.07em}h1{font-size:32px;letter-spacing:-1px;margin:1px 0}h2{font-size:19px;margin:2px 0;font-weight:600}.search input{width:100%;padding:13px 15px;background:white;border:1px solid var(--line);border-radius:12px;font-size:16px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filters button{background:white;border:1px solid var(--line);border-radius:24px;padding:9px 14px;min-height:44px;font-size:13px}.filters button[aria-pressed=true]{background:var(--soft);color:var(--green);border-color:var(--green)}#status{font-size:13px;color:var(--muted);min-height:20px}.job{background:white;border:1px solid var(--line);border-radius:15px;margin:16px 0;overflow:hidden}.job-heading{padding:17px}.primary{background:var(--ink);border:1px solid var(--ink);border-radius:24px;color:white;padding:10px 15px;min-height:44px;font-weight:600;white-space:nowrap}.secondary{background:white;border:1px solid var(--line);border-radius:24px;min-width:44px;min-height:44px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;padding:0 17px 17px}.stat-label{font-size:11px;color:var(--muted)}.stat-value{display:block;font-size:27px;line-height:1.2;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.stat-value.unknown{font-size:17px;margin-top:10px;color:var(--muted)}.source-list{border-top:1px solid var(--line);padding:8px 17px}.source-line{padding:7px 0;display:flex;justify-content:space-between;gap:12px;font-size:13px}.source-line span:last-child{text-align:right;color:var(--muted)}details{border-top:1px solid var(--line)}summary{padding:13px 17px;cursor:pointer;font-size:13px}.row{padding:10px 17px;border-top:1px solid #efede9;font-size:13px;display:flex;justify-content:space-between;gap:12px}.row-note{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin:3px 0 0}.receipt-actions{padding:0 17px 12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.receipt-actions button{font-size:12px;padding:6px 12px}.sync{font-size:11px;color:var(--muted);background:#faf9f6;padding:10px 17px}.muted{color:var(--muted);font-size:12px}.warning{background:var(--warn);padding:10px 12px;border-radius:8px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid var(--line);border-radius:18px;width:min(520px,calc(100% - 20px));max-height:90dvh;padding:20px;color:var(--ink)}dialog::backdrop{background:#15151066}.dialog-heading{margin-bottom:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}label{display:block;color:var(--muted);font-size:12px}.fields input,.fields select,.fields textarea{width:100%;min-width:0;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:16px;min-height:44px}.full{grid-column:1/-1}.wide{width:100%;margin-top:12px}#save-status{font-size:13px;overflow-wrap:anywhere}@media(max-width:380px){main{padding:14px}.job-heading{padding:14px}.stats{padding:0 14px 14px}.job-name{font-size:17px}.receive{font-size:13px;padding:9px 11px}.fields{grid-template-columns:1fr}.stat-value{font-size:24px}}

.delivery-note{flex-basis:100%;font-size:11px;color:var(--muted);overflow-wrap:anywhere}#refresh-overview{padding:8px 14px;font-size:12px}
.allocation-picker{margin:12px 0 18px}.allocation-picker select{display:block;width:100%;padding:10px;margin-top:6px;min-height:44px;font-size:16px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}#allocation-status{font-size:13px;overflow-wrap:anywhere}#allocation-values label{overflow-wrap:anywhere}#allocation-history{margin-top:12px}.part-list>.warning{margin:8px 17px}.part-list>.wide{width:calc(100% - 34px);margin:8px 17px 14px;padding:8px}
.search-match{background:var(--warn)}.search-context{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
#plan-cancel-label textarea{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:16px;margin-top:6px}#plan-status{font-size:13px;overflow-wrap:anywhere}

.preview{font-size:12px;padding:8px 12px;white-space:nowrap}.preview-table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}.preview-table th,.preview-table td{border-bottom:1px solid var(--line);padding:9px 5px;text-align:right;font-variant-numeric:tabular-nums}.preview-table th:first-child{text-align:left;font-weight:400}.preview-table thead th{color:var(--muted)}#preview-status{font-size:13px;overflow-wrap:anywhere}

/* Overview clarity: mobile wrapping, bounded controls and explicit follow-up counts. */
.job-heading>div{min-width:0}.job-name,.job-number{overflow-wrap:anywhere}.job-heading>.receive{flex-shrink:0}.stat-label{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.stats>div:nth-child(n+4) .stat-value{font-size:23px}.source-line{flex-wrap:wrap}.source-line>span{min-width:0;overflow-wrap:anywhere}.count-help{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0}.attention{padding:0 17px 10px}.attention p{margin:7px 0}.notice{background:var(--soft);color:var(--green);padding:10px 12px;border-radius:8px;font-size:13px}.part-list>.count-help{margin:8px 17px}.row>div{min-width:0;overflow-wrap:anywhere}.row>span{flex-shrink:0;font-variant-numeric:tabular-nums}.heading{flex-wrap:wrap}.filters button{max-width:100%;white-space:normal}dialog{overflow-y:auto}.fields label{min-width:0}
@media(max-width:430px){.source-line{flex-direction:column;gap:3px}.source-line span:last-child{text-align:left}.stat-label{font-size:12px}.stats{gap:16px 10px}.count-help{font-size:13px}.test-strip{font-size:12px}.dialog-heading h2{overflow-wrap:anywhere}.dialog-heading>div{min-width:0}}

/* One job overview; source breakdown and shared explanations open on demand. */
.overview-help{border:1px solid var(--line);border-radius:10px;background:#faf9f6;margin:8px 0 12px}.overview-help summary{min-height:44px;padding:11px 14px;font-size:12px;color:var(--muted)}.overview-help>.count-help{margin:0;padding:0 14px 14px}.requirement-context,.search-results{padding:0 17px 10px}.requirement-context p,.search-results p{margin:4px 0}.job>.attention{padding-top:0}.job>details:first-of-type{border-top:1px solid var(--line)}

/* 0.1.18: task-focused list/detail shell, using the existing server summaries. */
body{font-family:Arial,system-ui,sans-serif;font-variant-numeric:tabular-nums}.family{max-width:1280px}main{max-width:1280px;padding:0 20px 28px}.workspace{display:block}.job-list{padding-top:20px;min-width:0}.heading{margin-bottom:16px}.heading h1{font-size:30px}.job-page{min-width:0}.job-context{margin:6px 0 0;line-height:1.5;overflow-wrap:anywhere}.job-heading{align-items:flex-start}.job-number{font-family:ui-monospace,monospace;letter-spacing:0;font-size:12px}.job-name{line-height:1.3}.job-badges{display:flex;flex-wrap:wrap;gap:6px;padding:0 17px 14px}.status-chip{display:inline-block;border:1px solid #d6d2ca;background:#f5f4f1;color:#45423c;border-radius:7px;padding:4px 7px;font-size:12px;line-height:1.3}.status-chip.warn{background:#fff2cc;border-color:#e5cf85;color:#5e4300}.stat-label{color:#55524c;font-size:12px}.stats{gap:18px 10px}.stats>div:nth-child(n+4){border-top:1px solid #efede9;padding-top:10px}.stats>div:nth-child(n+4) .stat-value{font-size:19px}.stat-value{font-size:29px}.stat-value.unknown{font-size:16px}.job[data-view=summary]>details,.job[data-view=summary]>.job-tabs{display:none}.open-job{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-top:1px solid #e8e4dd;background:white;text-align:left;padding:13px 17px;min-height:48px;font-size:13px;color:var(--ink)}.open-job:hover{background:#f5f4f1}.job[data-view=summary] .job-name{font-size:19px}.job[data-view=summary] .stat-value{font-size:25px}.job[data-view=summary] .stats>div:nth-child(n+4) .stat-value{font-size:18px}.summary-attention p{font-size:12px;line-height:1.4;padding:7px 9px}.job-tabs{display:flex;gap:0;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf9f6}.section-tab{flex:0 0 auto;min-height:48px;min-width:60px;padding:10px 13px;border:0;border-bottom:3px solid transparent;background:transparent;color:#45423c;font-size:14px}.section-tab[aria-pressed=true]{color:#1d1c1a;border-bottom-color:#1d1c1a;font-weight:700}.job[data-view=detail]>details>summary{display:none}.job[data-view=detail]>details{border-top:0}.job[data-view=detail] .job-name{font-size:24px}.job[data-view=detail]{margin-top:12px}.job[data-view=detail] .planning>div{padding-bottom:12px}.planning>.order-section>.secondary,.planning>.problem-section>.secondary{margin:8px 17px;padding:8px 12px}.planning>.order-section>.muted,.planning>.order-section>.count-help,.planning>.problem-section>.count-help{margin:12px 17px}.back-jobs{padding:8px 12px;margin-top:16px;color:#315f45}.detail-empty{display:none}.empty-results{border:1px dashed #cfcac0;border-radius:14px;padding:20px;background:#faf9f6;margin:16px 0}.empty-results p,.detail-empty p{font-size:14px;color:#55524c}.empty-results button{padding:8px 12px;margin:4px 8px 0 0}.pending-banner{margin:16px 0 0;padding:12px 14px;background:#1d1c1a;color:#fff;border-radius:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:14px}.pending-banner button{border:1px solid #fff;border-radius:9px;background:#fff;color:#1d1c1a;min-height:44px;padding:8px 12px;font-weight:600}.job-page>.notice{margin:12px 0 0}.workspace[data-view=job]>.job-list{display:none}.row{font-size:14px}.row-note{font-size:13px;color:#55524c}.count-help{color:#55524c}.job-tabs:focus-within{outline-offset:2px}
/* Receive stays a native modal; large Quantity and a reachable action footer. */
#receive-dialog{padding:0;width:min(540px,calc(100% - 20px));max-height:92dvh;overflow-y:auto}#receive-form>.dialog-heading{padding:17px 18px;margin:0;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:2}#receive-form>.fields{padding:18px;grid-template-columns:1fr 1fr}#receive-form>.fields .quantity-field{grid-row:2}#receive-form .quantity-field input{font-size:34px;font-weight:700;height:66px;border-color:#716d65;text-align:left}#receive-form>.warning,#receive-form>#save-status,#receive-form>#session-expired{margin:0 18px 14px}#receive-form>#refresh-arrival{width:calc(100% - 36px);margin:0 18px 12px}.arrival-extra{border:1px solid var(--line);border-radius:10px}.arrival-extra>summary{min-height:46px;font-size:14px;padding:12px}.arrival-extra>label{padding:0 12px 12px}.arrival-actions{position:sticky;bottom:0;display:flex;gap:10px;align-items:stretch;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:2}.arrival-actions button{flex:1;min-height:52px;font-size:14px;padding:10px;white-space:normal;line-height:1.3}.arrival-actions #save{flex:1.25}.arrival-actions button[hidden]{display:none}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.filters button{flex:none;white-space:nowrap;min-height:44px}.nosb{scrollbar-width:thin;scrollbar-color:#c2bdb4 transparent}
@media(min-width:700px) and (max-width:1023px){#jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#jobs>.job{margin:0}.job-list>.heading,.job-list>.search,.job-list>.filters{max-width:none}.job-page{max-width:840px;margin:auto}}
@media(min-width:1024px){main{padding-top:0}.workspace{display:grid;grid-template-columns:370px minmax(0,1fr);gap:24px}.workspace[data-view=job]>.job-list{display:block}.job-list{border-right:1px solid var(--line);padding-right:20px}.job-page{padding-top:8px}.back-jobs{margin-top:8px}.detail-empty{display:block;padding:64px 28px;border-left:0;color:#55524c}.job[data-view=detail] .receive{min-height:48px}.job-list .job-heading{padding:14px}.job-list .job-badges{padding-left:14px;padding-right:14px}.job-list .stats{padding-left:14px;padding-right:14px}.job-list .receive{font-size:13px;padding:9px 11px}.job-list .job-context{font-size:12px}.job-list .heading{gap:6px}.job-list .heading h1{font-size:28px}}
@media(max-width:430px){main{padding-left:12px;padding-right:12px}.family{padding-left:14px;padding-right:14px}.job[data-view=detail] .job-name{font-size:21px}.job-heading{gap:8px}.job-badges{padding-left:14px;padding-right:14px}.stat-label{font-size:12px}.pending-banner{align-items:flex-start;flex-direction:column}.arrival-actions{padding-left:12px;padding-right:12px}#receive-form>.fields{padding:14px;grid-template-columns:1fr}#receive-form>.fields .quantity-field{grid-row:auto}#receive-dialog{width:calc(100% - 12px);max-height:96dvh}.section-tab{padding:10px 11px}.job[data-view=summary] .stat-value{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* 0.1.19: compact navigation and receipt context. No domain calculations. */
.filters{flex-wrap:wrap;overflow-x:visible;padding-bottom:0;gap:7px}.filters button{white-space:normal;text-align:left}
.stats>div{display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0}.stat-label{display:block;min-height:2.9em}.stat-value,.stat-value.unknown{margin-top:4px}
@supports(grid-template-rows:subgrid){.stats{row-gap:6px}.stats>div{grid-row:span 2;grid-template-rows:subgrid}.stat-label{min-height:0}.stat-value,.stat-value.unknown{margin-top:0}.stats>div:nth-child(n+4){margin-top:10px}}
.job[data-view=summary][data-selected=true]{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green);background:#f7faf8}.job[data-view=summary][data-selected=true]>.open-job{background:var(--soft);color:var(--green);font-weight:600}
.job-badges:empty{display:none}.job[data-view=summary]>.stats{padding-bottom:16px}.job[data-view=summary] .job-heading{padding-bottom:12px}
#receive-form>.fields .quantity-field{grid-row:auto}.arrival-context{border:1px solid #d6e3d9;border-radius:10px;background:#f3f7f4;padding:12px;color:var(--ink)}.arrival-context-title{font-size:13px;font-weight:600;margin:0 0 9px;overflow-wrap:anywhere}.arrival-context-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arrival-context-counts>div{display:flex;flex-direction:column;justify-content:space-between;gap:4px}.arrival-context-counts span{font-size:12px;color:#55524c}.arrival-context-counts strong{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.arrival-context-note{font-size:12px;color:#55524c;margin:10px 0 0}
@media(min-width:1024px){.job-list .filters button{padding:8px 10px;font-size:12px}.job[data-view=summary] .job-name{font-size:18px}.job[data-view=summary] .open-job{font-size:12px}}
@media(max-width:430px){.filters button{padding:8px 11px;font-size:12px}.arrival-context{padding:10px}.arrival-context-counts strong{font-size:20px}}

/* 0.1.20: compact controls and shared Keystone access/account pattern. */
.family-actions{display:flex;align-items:center;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;border-radius:50%;padding:9px;color:var(--ink);font-weight:600;font-size:18px}.icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.list-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0}.filter-select{flex:1;min-width:0}.filter-select select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:16px}#refresh-overview.refresh-button{flex:0 0 44px;width:44px;min-height:44px;padding:5px;font-size:24px;border-radius:10px}.job-list>.heading{margin-bottom:12px}.job-list #status{margin:9px 0;min-height:0}.job-list{padding-top:14px}
.access-gate{max-width:420px;margin:48px auto;padding:30px 24px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center}.access-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 20px;background:var(--soft);color:var(--green);border:1px solid #c4d9ca;border-radius:12px;font-size:26px;font-weight:700}.access-gate h1{font-size:28px;margin:8px 0 12px;letter-spacing:-.5px}.access-gate>p{font-size:14px;line-height:1.5}.google-sign-in{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;background:#1a73e8;color:#fff;font-size:15px;font-weight:600;border-radius:10px;text-decoration:none;margin-top:22px}.google-sign-in:focus-visible,.access-reload:focus-visible{outline:3px solid #619278;outline-offset:3px}.access-reload{display:inline-block;padding:12px;min-height:44px;color:var(--green)}.access-gate .access-footer{margin:24px 0 0;font-size:12px;color:var(--muted)}.access-gate .notice{text-align:left}
#account-dialog,#help-dialog{width:min(420px,calc(100% - 24px));padding:20px}#account-dialog .wide{padding:9px 12px;border-radius:10px}.account-access{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.account-access strong{background:var(--soft);color:var(--green);border-radius:7px;padding:5px 9px}#account-permissions,#account-status{font-size:14px;line-height:1.5}#help-dialog .count-help{margin:0;font-size:14px;line-height:1.6}
#receive-form>.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:14px 18px}#receive-form .source-field{grid-column:1;grid-row:1}#receive-form .date-field{grid-column:2;grid-row:1}#receive-form .quantity-field input{height:58px;font-size:30px}.arrival-context{padding:10px 12px}.arrival-context-title{margin-bottom:6px}.arrival-context-counts strong{font-size:20px}.arrival-count-help{border:0;margin-top:4px}.arrival-count-help>summary{min-height:44px;padding:10px 0 4px;font-size:12px;color:#55524c}.arrival-count-help .arrival-context-note{margin:4px 0}.arrival-actions{gap:8px;padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(max-width:430px){.family{padding:10px 14px}.access-gate{margin:24px auto;padding:24px 18px}.access-gate h1{font-size:26px}.heading h1{font-size:28px}#receive-form>.fields{padding:12px 14px;gap:10px}#receive-form>.dialog-heading{padding:12px 14px}#receive-form>.dialog-heading h2{font-size:18px}.arrival-context{padding:9px 10px}.arrival-context-title{font-size:12px}.arrival-actions button{min-height:48px}.family-actions{gap:6px}}
@media(max-width:359px){#receive-form>.fields{grid-template-columns:1fr}#receive-form .source-field,#receive-form .date-field{grid-column:auto;grid-row:auto}}

/* 0.1.24: compact receiving, with one scroll area between header and actions. */
#receive-dialog{overflow:hidden;max-height:calc(100dvh - 20px)}
#receive-form{display:flex;flex-direction:column;max-height:inherit;min-height:0}
#receive-form>.dialog-heading{position:static;flex-shrink:0;padding:10px 14px;gap:10px}
#receive-form>.dialog-heading h2{font-size:17px;line-height:1.25}
#receive-form>.dialog-heading .eyebrow{font-size:10px}
#receive-form #close{flex:0 0 44px;width:44px;font-size:21px}
.arrival-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:10px}
#receive-form .arrival-body>.fields{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px;gap:10px}
#receive-form .source-field{grid-column:1;grid-row:1}
#receive-form .date-field{grid-column:2;grid-row:1}
#receive-form .quantity-field{grid-row:auto}
#receive-form .fields input,#receive-form .fields select,#receive-form .fields textarea{margin-top:4px}
#receive-form .quantity-field{color:var(--ink);font-size:13px;font-weight:600}
#receive-form .quantity-field input{height:54px;font-size:30px;margin-top:4px;scroll-margin:10px}
.arrival-context{padding:8px 10px}
.arrival-context-title{font-size:12px;line-height:1.35;margin:0;min-width:0}
.arrival-context>.arrival-context-title{margin-bottom:6px}
.arrival-context-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.arrival-context-toggle{font-size:11px;font-weight:400;color:var(--green);white-space:nowrap}
.arrival-count-help{margin:0;border:0}
.arrival-count-help>summary{padding:0;min-height:44px;list-style:none;color:var(--ink)}
.arrival-count-help>summary::-webkit-details-marker{display:none}
.arrival-context-counts{gap:6px}
.arrival-context-counts>div{gap:2px}
.arrival-context-counts span{font-size:11px;line-height:1.3}
.arrival-context-counts strong{font-size:19px}
.arrival-count-help .arrival-context-note{margin:8px 0 0}
#receive-form .arrival-body #quantity-hint{margin:0;font-size:13px;padding:8px 10px}
#receive-form .arrival-body>#save-status,#receive-form .arrival-body>#session-expired{margin:0 14px 10px}
#receive-form #save-status:empty{display:none}
#receive-form .arrival-body>#refresh-arrival{width:calc(100% - 28px);margin:0 14px 10px}
.arrival-actions{position:static;flex-shrink:0;padding:8px 12px max(8px,env(safe-area-inset-bottom))}
.arrival-actions button{min-height:48px;font-size:14px}
@media(max-width:699px){
  #receive-dialog{position:fixed;top:calc(var(--receive-viewport-top,0px) + 8px);bottom:auto;margin:0 auto;width:calc(100% - 16px);max-height:calc(var(--receive-viewport-height,100dvh) - 16px);border-radius:16px}
  .family{padding-top:6px;padding-bottom:6px}
  .family-actions{gap:6px}
  .family .pill{font-size:12px;padding:3px 9px}
  .test-strip{padding:5px 10px;font-size:11px;line-height:1.35}
  .job-list{padding-top:10px}
  .job-list>.heading{margin-bottom:8px}
  .heading .eyebrow{font-size:10px}
  .heading h1{font-size:25px;line-height:1.2}
  .search input{padding:11px 12px;min-height:44px}
  .list-toolbar{margin:8px 0}
  .job-list #status{margin:6px 0;font-size:12px}
  .job{margin:10px 0}
  .job[data-view=summary] .job-heading{padding:12px 13px 8px;gap:8px}
  .job[data-view=summary] .job-name{font-size:18px;line-height:1.25}
  .job[data-view=summary] .job-number{font-size:11px}
  .job[data-view=summary] .job-context{margin-top:4px;font-size:12px}
  .job[data-view=summary] .receive{padding:9px 12px;min-height:44px;font-size:13px}
  .job[data-view=summary] .job-badges{padding:0 13px 9px}
  .job[data-view=summary] .stats{padding:0 13px 12px;gap:8px}
  .job[data-view=summary] .stat-value{font-size:25px}
  .job[data-view=summary] .stat-label{font-size:11px}
  .job[data-view=summary] .attention{padding:0 13px 6px}
}

/* Compact job rows: quantities and review badges stay visible when folded. */
.fold-all{padding:6px 10px;font-size:12px;line-height:1.2;min-height:44px}
.job-toggle{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:8px;font-size:22px;line-height:1;background:transparent;color:var(--muted)}
.job[data-view=summary]{border-radius:10px;margin:8px 0}
.job[data-view=summary] .job-heading{align-items:center;padding:6px 10px;gap:5px}
.job[data-view=summary] .job-heading>div{flex:1;min-width:0}
.job[data-view=summary] .job-number{font-size:11px;line-height:1.2}
.job[data-view=summary] .job-name{font-size:16px;line-height:1.2;margin:2px 0}
.job[data-view=summary] .receive{min-height:44px;padding:6px 10px;font-size:12px;border-radius:9px}
.job[data-view=summary] .job-context{font-size:12px;line-height:1.3;margin:4px 0 0}
.job[data-view=summary] .job-badges{padding:0 10px 5px;gap:4px}
.job[data-view=summary] .status-chip{font-size:11px;line-height:1.2;padding:2px 5px;border-radius:5px}
.job[data-view=summary]>.stats{gap:5px;padding:0 10px 8px;grid-template-rows:none}
.job[data-view=summary] .stats>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;grid-row:auto;min-height:0;min-width:0}
.job[data-view=summary] .stat-label{font-size:11px;line-height:1.2;min-height:0}
.job[data-view=summary] .stat-value,.job[data-view=summary] .stat-value.unknown{order:-1;margin:0;font-size:19px;line-height:1.15;flex-shrink:0}
.job[data-view=summary] .stat-value.unknown{font-size:12px;white-space:nowrap;overflow-wrap:normal;min-height:22px;display:flex;align-items:center}
.job[data-view=summary] .attention{padding:0 10px 5px}
.job[data-view=summary] .attention p{font-size:12px;padding:6px 8px;margin:4px 0;line-height:1.35}
.job[data-view=summary] .open-job{font-size:12px;min-height:44px;padding:8px 10px}
.job[data-view=summary] .requirement-context,.job[data-view=summary] .search-results{padding:0 10px 5px}
.job[data-view=detail] .job-heading{padding:10px 12px;gap:8px;align-items:center}
.job[data-view=detail] .job-name{font-size:19px;line-height:1.2}
.job[data-view=detail] .job-context{font-size:12px;line-height:1.3;margin-top:3px}
.job[data-view=detail] .receive{min-height:44px;padding:7px 11px;font-size:13px;border-radius:10px}
.job[data-view=detail] .job-badges{padding:0 12px 7px;gap:4px}
.job[data-view=detail] .stats{padding:0 12px 10px;gap:6px 8px}
.job[data-view=detail] .stat-label{font-size:11px;line-height:1.25;min-height:0}
.job[data-view=detail] .stat-value{font-size:23px;line-height:1.15;margin-top:2px}
.job[data-view=detail] .stats>div:nth-child(n+4){margin-top:4px;padding-top:6px}
.job[data-view=detail] .stats>div:nth-child(n+4) .stat-value{font-size:18px}
.job[data-view=detail] .attention{padding:0 12px 6px}
.job[data-view=detail] .attention p{padding:6px 8px;margin:4px 0;font-size:12px;line-height:1.35}
.section-tab{min-height:44px;padding:8px 10px;font-size:13px}
.row{padding:8px 12px;font-size:13px}
.row-note{font-size:12px;line-height:1.35}
.back-jobs{margin-top:8px;padding:6px 10px;font-size:13px;border-radius:9px}
/* Keep 16px editable text and 44px targets; remove padding around them. */
#receive-dialog{border-radius:12px}
#receive-form>.dialog-heading{padding:6px 10px;gap:6px}
#receive-form>.dialog-heading h2{font-size:15px;line-height:1.2}
#receive-form>.dialog-heading .eyebrow{font-size:9px}
#receive-form .arrival-body>.fields{padding:8px 10px;gap:8px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
#receive-form .fields input,#receive-form .fields select,#receive-form .fields textarea{font-size:16px;min-height:44px;padding:7px 6px;margin-top:2px;border-radius:7px}
#receive-form .quantity-field{font-size:12px}
#receive-form .quantity-field input{height:44px;font-size:24px;margin-top:2px;line-height:1.2}
#receive-form .quantity-field input:focus-visible{outline-width:2px;outline-offset:2px}
#receive-form .arrival-context{padding:6px 8px;border-radius:7px}
#receive-form .arrival-context-title{font-size:11px}
#receive-form .arrival-context-caption{margin-bottom:4px;gap:4px}
#receive-form .arrival-context-toggle{font-size:10px}
#receive-form .arrival-context-counts strong{font-size:17px}
#receive-form .arrival-extra>summary{min-height:44px;padding:9px 8px;font-size:12px}
.arrival-actions{padding:6px 10px max(6px,env(safe-area-inset-bottom));gap:6px}
.arrival-actions button{min-height:44px;padding:7px 8px;font-size:13px;line-height:1.2;border-radius:9px}
@media(max-width:699px){
  main{padding-left:10px;padding-right:10px}
  .test-strip{padding:3px 8px;font-size:10px}
  .family{padding:2px 10px;font-size:12px}
  .family .pill{display:none}
  .family .icon-button{border:0;background:transparent;border-radius:8px;font-size:17px}
  .family .icon-button svg{width:20px;height:20px}
  .family-actions{gap:0}
  .job-list{padding-top:2px}
  .job-list>.heading{margin-bottom:4px;gap:8px;flex-wrap:nowrap}
  .heading .eyebrow{display:none}
  .heading h1{font-size:20px;line-height:1.2;letter-spacing:-.4px}
  .search input{padding:8px 10px;min-height:44px;border-radius:9px}
  .list-toolbar{gap:6px;margin:6px 0}
  .filter-select select{padding:7px 9px}
  .job-list #status{font-size:11px;line-height:1.3;margin:4px 0}
  #receive-dialog{top:calc(var(--receive-viewport-top,0px) + 4px);width:calc(100% - 8px);max-height:calc(var(--receive-viewport-height,100dvh) - 8px);border-radius:12px}
}

/* Small green Receive face inside the existing 44px touch target. */
.job[data-view] .receive{display:inline-flex;align-items:center;justify-content:center;position:relative;isolation:isolate;flex-shrink:0;height:44px;min-height:44px;min-width:0;padding:0 8px;background:transparent;border:0;border-radius:7px;box-shadow:none;color:var(--green);font-size:11.5px;line-height:1;font-weight:600}
.job[data-view] .receive::before{content:"";position:absolute;inset:8px 0;border:1px solid #b8d1bf;border-radius:7px;background:var(--soft);z-index:-1;pointer-events:none}
.job[data-view] .receive:hover::before{background:#dcebe0;border-color:#99bba3}
.job[data-view] .receive:active::before{background:#ccdfd1}
.snapshot-file{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #d8d9d3;font-weight:600}.snapshot-file input{width:100%;min-height:44px;font-size:16px}.snapshot-file input::file-selector-button{min-height:40px;margin-right:8px;padding:6px 10px;border:1px solid #b8d1bf;border-radius:7px;background:#e8f1eb;color:#315f45;font:inherit}#snapshot-file-help{font-size:13px;line-height:1.4}

/* Counts keep their full column width; labels wrap only between words. */
.job .stat-label{overflow-wrap:normal;word-break:normal;hyphens:none}
.job-heading>div{min-width:0}
.snapshot-details{margin:8px 0;border:1px solid var(--line);border-radius:8px;background:#faf9f6}
.snapshot-details>summary{min-height:44px;padding:10px 12px;font-size:12px;color:#55524c;line-height:1.4}
.snapshot-details>.warning{margin:0;padding:8px 12px;border-radius:0 0 8px 8px;font-size:12px}

/* Search context is bounded to three section links, never event excerpts. */
.search-results{display:flex;flex-wrap:wrap;gap:4px}
.search-hit{padding:5px 8px;min-height:44px;border-radius:7px;font-size:12px;line-height:1.2;color:var(--green)}

/* Unknown is a word, not a large numeric metric. Keep it inside its cell. */
.job[data-view=detail] .stat-value.unknown,
.job[data-view=detail] .stats>div:nth-child(n+4) .stat-value.unknown{font-size:13px;line-height:1.25;min-height:26px;display:flex;align-items:center;max-width:100%;overflow-wrap:normal;word-break:normal}
