:root{color-scheme:dark;--app-bg:#18191d;--app-surface:#202126;--app-surface-raised:#25262c;--app-surface-muted:#2a2b31;--app-border:#3a3b44;--app-border-soft:#30313a;--app-text:#f4f5f8;--app-text-muted:#b9bdc7;--app-text-subtle:#8e94a3;--app-accent:#8b5cf6;--app-accent-blue:#5aa7ff;--app-warning:#d29b23;--app-warning-bg:#302713;--app-danger:#e06c75;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:16px;background:var(--app-bg);color:var(--app-text)}
.mobile-splash,.mobile-capture,.mobile-list-heading,.mobile-account{display:none}
.list-controls{display:contents}
.parts-shell-header{display:contents}
.parts-app input[readonly]{background:var(--app-surface);color:var(--app-text-muted);cursor:default}
/* Dark scrollbars for the page, detail drawer and text fields. */
*{scrollbar-color:#454750 #111216;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:#111216}
::-webkit-scrollbar-thumb{background:#454750;border:2px solid #111216;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#5a5d68}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--app-accent-blue);outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin:0}h1{font-size:1.55rem;font-weight:600;line-height:1.25}h2{font-size:1.2rem;font-weight:600}h3{font-size:.95rem;font-weight:600}a{color:var(--app-accent-blue)}svg{flex-shrink:0;vertical-align:middle}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface-muted);color:var(--app-text);padding:9px 14px;min-height:40px;text-decoration:none;cursor:pointer;font-size:.875rem;font-weight:500;line-height:1.35}button:hover:not(:disabled),.button:hover{background:#333541}button.primary,.button.primary{background:#2e2a3a;border-color:#5b467f;color:var(--app-text)}button.primary:hover:not(:disabled),.button.primary:hover{background:#3b304e;border-color:#8b5cf6}.quiet{border:0;background:transparent;color:var(--app-accent-blue);padding:6px 8px}.quiet:hover:not(:disabled){background:var(--app-surface-raised)}.icon-button{padding:8px;min-width:38px;min-height:38px;background:transparent;border-color:transparent}.muted{color:var(--app-text-muted)}.small{font-size:.8rem}.full-width{width:100%}.error-text{color:#ffacb4}.attention{color:#edc56e;background:var(--app-warning-bg)}.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--app-text-subtle);margin-bottom:7px}
.app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;border-bottom:1px solid var(--app-border);background:var(--app-surface)}.brand{display:flex;align-items:center;gap:13px;color:var(--app-text);text-decoration:none;min-width:0}.brand img{width:46px;height:46px;object-fit:contain}.brand strong{font-size:1.08rem;font-weight:600}.brand-subtitle{display:block;color:var(--app-text-muted);font-size:.72rem;margin-top:3px}.account{display:flex;align-items:center;gap:10px;font-size:.85rem}.account strong{font-weight:500}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2e2a3a;color:#c5b5ff;border:1px solid #4a3f66}.role-label{display:block;margin-top:2px;color:var(--app-text-subtle);font-size:.75rem}.connection-bar{padding:8px 28px;min-height:48px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--app-border-soft);font-size:.8rem;background:#1c1d22}.connection-state{display:flex;align-items:center;gap:7px;font-weight:500}.connection-dot{width:6px;height:6px;border-radius:50%;background:#74c4a6}.connection-state.offline{color:#edc56e}.offline .connection-dot{background:#d29b23}.connection-description{color:var(--app-text-subtle)}.sync-summary{display:flex;gap:14px;align-items:center;margin-left:auto;color:var(--app-text-muted)}.sync-summary button{min-height:30px;font-size:.8rem}.sync-summary svg{width:16px;height:16px}.feedback{padding:9px 28px;border-bottom:1px solid var(--app-border-soft);color:#a5c9ff;background:#1d2633;font-size:.85rem}.banner{padding:12px 28px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.notice{padding:12px;border-radius:4px;font-size:.875rem;line-height:1.5}.workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100dvh - 225px)}.workspace.with-drawer{grid-template-columns:minmax(0,1fr) minmax(390px,42%)}.list-panel{padding:28px;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading .muted{font-size:.875rem;margin-top:8px;line-height:1.5}.capture-button{flex-shrink:0;min-height:42px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px;flex-wrap:wrap}.filters{display:flex;gap:4px;flex-wrap:wrap}.filters button{color:var(--app-text-muted);border-color:transparent;background:transparent;padding:8px 11px}.filters button span{font-size:.75rem;color:var(--app-text-subtle)}.filters button.active{border-color:#4a3f66;background:#2e2a3a;color:var(--app-text)}.filters button.active span{color:#c5b5ff}.search{display:flex;align-items:center;gap:9px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:4px;padding:0 10px;min-width:230px;max-width:340px;flex:1;color:var(--app-text-subtle)}.search input{border:0;padding:10px 0;min-height:40px;background:transparent;font-size:.85rem}.submission-table{border:1px solid var(--app-border);border-radius:5px;overflow:hidden}.table-heading,.submission-row{display:grid;grid-template-columns:minmax(190px,1fr) 125px 86px 190px;gap:16px;align-items:center}.table-heading{padding:12px 16px;background:var(--app-surface-raised);color:var(--app-text-muted);font-size:.76rem;border-bottom:1px solid var(--app-border)}.submission-row{border:0;border-bottom:1px solid var(--app-border-soft);border-radius:0;width:100%;padding:16px;background:var(--app-surface);text-align:left;font-weight:400;line-height:1.5}.submission-row:last-child{border-bottom:0}.submission-row:hover:not(:disabled){background:var(--app-surface-raised)}.submission-row.selected{background:#2e2a3a;box-shadow:inset 3px 0 var(--app-accent)}.item-summary{display:flex;gap:13px;min-width:0;align-items:center}.thumbnail{display:grid;place-items:center;width:58px;height:62px;flex-shrink:0;overflow:hidden;background:#18191d;border-radius:4px;border:1px solid var(--app-border-soft);color:var(--app-text-subtle)}.thumbnail img{width:100%;height:100%;object-fit:cover}.item-copy{display:grid;gap:5px;min-width:0}.item-copy strong{font-weight:500;font-size:.9rem}.item-description{color:var(--app-text-muted);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-meta{display:none;color:var(--app-text-muted);font-size:.76rem}.location-cell{font-size:.85rem}.counter-cell{font-size:.8rem}.counter-cell span{display:block;color:var(--app-text-subtle);font-size:.75rem;margin-top:4px}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:3px 7px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge.open{color:#edc56e;background:var(--app-warning-bg)}.status-badge.closed{color:#86d1b1;background:#1d352c}.status-badge svg{width:13px;height:13px}.sync-label{color:var(--app-accent-blue);font-size:.75rem}.sync-label.attention{color:#edc56e;background:transparent}.list-footer{font-size:.78rem;color:var(--app-text-subtle);padding:14px 0}.empty-state{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;min-height:330px;background:var(--app-surface);border:1px dashed var(--app-border);border-radius:5px;padding:35px;gap:13px}.empty-state p{font-size:.9rem;line-height:1.6;color:var(--app-text-muted);max-width:350px}.empty-icon{display:grid;place-items:center;width:52px;height:52px;color:#b2a0ec;background:#2e2a3a;border:1px solid #4a3f66;border-radius:8px;margin-bottom:3px}.empty-icon svg{width:28px;height:28px}
.with-drawer .page-heading{align-items:flex-start;flex-direction:column;gap:16px}.with-drawer .search{max-width:none;min-width:0;flex-basis:100%}.with-drawer .table-heading,.with-drawer .submission-row{grid-template-columns:minmax(0,1fr) 72px}.with-drawer .table-heading>span:nth-child(2),.with-drawer .table-heading>span:nth-child(4),.with-drawer .location-cell,.with-drawer .counter-cell{display:none}.with-drawer .compact-meta{display:block}.detail-drawer{background:var(--app-surface);border-left:1px solid var(--app-border);min-width:0;position:sticky;top:0;align-self:start;max-height:100dvh;overflow:auto;animation:drawer-enter .16s ease-out}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;border-bottom:1px solid var(--app-border);background:var(--app-surface);position:sticky;top:0;z-index:2}.drawer-header .eyebrow{font-size:.65rem;margin-bottom:5px}.drawer-heading-actions{display:flex;align-items:center;gap:9px}.drawer-body{padding:20px 22px;display:grid;gap:18px}.photo-surface{height:218px;border:1px solid var(--app-border);border-radius:5px;background:#18191d;position:relative;overflow:hidden}.photo-surface>img{width:100%;height:100%;object-fit:contain}.photo-surface.expanded{height:380px}.photo-expand{position:absolute;right:10px;bottom:10px;background:#202126e8;font-size:.75rem;min-height:32px;padding:6px 9px}.photo-expand svg{width:14px;height:14px}.photo-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:var(--app-text-muted);padding:25px;text-align:center;font-size:.8rem}.photo-empty strong{font-weight:500;font-size:.95rem;color:var(--app-text)}.photo-empty>svg{width:34px;height:34px;color:var(--app-accent-blue);margin-bottom:5px}.photo-actions{display:flex;gap:10px;margin-top:-9px}.photo-actions label{flex:1;position:relative;overflow:hidden;display:flex;font-size:.85rem}.photo-actions input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-actions label:focus-within{outline:2px solid var(--app-accent-blue);outline-offset:3px}label,.field{display:grid;gap:7px;font-size:.875rem;font-weight:500;min-width:0}input,textarea,select{color:var(--app-text);background:var(--app-bg);border:1px solid var(--app-border);border-radius:4px;width:100%;padding:10px 11px;min-width:0;min-height:42px;font-size:.9rem;font-weight:400}input::placeholder,textarea::placeholder{color:var(--app-text-subtle)}input:disabled,textarea:disabled{color:var(--app-text-muted);opacity:1;background:var(--app-surface)}textarea{resize:vertical;line-height:1.5}.location-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-heading label{display:block}.field-heading .quiet{min-height:34px;padding:6px 8px;font-size:.8rem}.field-heading svg{width:16px;height:16px}.voice-section{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.voice-section button{font-size:.8rem}.recording{color:#ffadb5;border-color:#e06c75}.capture-context{display:grid;gap:9px;padding-bottom:19px;border-bottom:1px solid var(--app-border);line-height:1.5;font-size:.875rem}.capture-context h3{margin-bottom:2px}.location-detail{color:#b8c6d5;font-weight:500}.review-fields{display:grid;gap:15px}.review-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}.review-receipt{display:flex;align-items:center;gap:9px;background:#1d302b;border:1px solid #355648;padding:12px;border-radius:4px;color:#acd9c4;font-size:.8rem}.review-receipt span span{display:block;color:#a4b5af;margin-top:4px;font-size:.75rem}audio{width:100%;height:42px}.drawer-footer{position:sticky;bottom:0;z-index:2;background:var(--app-surface);border-top:1px solid var(--app-border);padding:16px 22px;display:grid;gap:9px}.drawer-footer p{text-align:center}.footer-buttons{display:flex;gap:10px;flex-wrap:wrap}.footer-buttons .primary{flex:1}.app-footer{padding:14px 28px;border-top:1px solid var(--app-border-soft);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--app-text-subtle);font-size:.8rem}.app-footer>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.development-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#17151e;border-top:1px solid #3d3350;padding:9px 28px;color:var(--app-text-subtle);font-size:.75rem}.development-bar>span{letter-spacing:.08em;font-size:.65rem}.development-bar label{display:flex;align-items:center;gap:8px;font-size:.75rem}.development-bar select{min-height:30px;padding:3px 8px;font-size:.75rem;width:90px}.check-label input{width:16px;height:16px;min-height:0;accent-color:var(--app-accent)}.sign-in{width:min(430px,calc(100% - 40px));margin:60px auto;display:flex;flex-direction:column;gap:16px;text-align:center;border:1px solid var(--app-border);background:var(--app-surface);padding:32px;border-radius:8px}.sign-in-logo{width:88px;height:88px;align-self:center;margin-bottom:3px}.sign-in p{font-size:.9rem;line-height:1.65;color:var(--app-text-muted)}.sign-in h1{font-size:1.5rem}.sign-in .local-note{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#b6a4e9;padding-top:10px}.sign-in button{min-height:45px}.loading-panel{display:flex;align-items:center;justify-content:center;gap:14px;padding:80px 20px;color:var(--app-text-muted)}.spinner{width:22px;height:22px;border:2px solid var(--app-border);border-top-color:var(--app-accent);border-radius:50%;animation:spin 1s linear infinite}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:#42272c;padding:16px;z-index:50}#blazor-error-ui .dismiss{float:right;cursor:pointer}.loading-progress{display:block;position:relative;width:8rem;height:8rem;margin:25vh auto 1rem}.loading-progress circle{fill:none;stroke:#30313a;stroke-width:.35rem;transform-origin:50% 50%;transform:rotate(-90deg)}.loading-progress circle:last-child{stroke:#8b5cf6;stroke-dasharray:calc(3.141 * var(--blazor-load-percentage,0%) * .8),500%}.loading-progress-text{text-align:center;color:var(--app-text-muted)}.loading-progress-text:after{content:var(--blazor-load-percentage-text,'Loading TNDC Inventory Counter…')}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawer-enter{from{transform:translateX(15px);opacity:.7}to{transform:translateX(0);opacity:1}}
@media(max-width:1100px){.table-heading,.submission-row{grid-template-columns:minmax(160px,1fr) 105px 75px 150px;gap:12px}.workspace.with-drawer{grid-template-columns:minmax(0,1fr) minmax(370px,47%)}.list-panel{padding:22px}.with-drawer .thumbnail{width:48px;height:54px}.with-drawer .item-title{display:none}.connection-description{display:none}.brand-subtitle{display:none}}
@media(max-width:760px){.app-header{padding:12px 16px;gap:10px}.brand{gap:9px}.brand img{width:36px;height:36px}.brand strong{font-size:.94rem}.account .avatar,.account .role-label{display:none}.account{font-size:.75rem;gap:4px}.account strong{max-width:100px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-bar{padding:6px 16px;gap:10px;font-size:.75rem}.sync-summary{gap:7px}.sync-summary span{display:none}.feedback,.banner{padding:10px 16px}.list-panel{padding:22px 16px}.page-heading{flex-direction:column;align-items:stretch;gap:17px;margin-bottom:20px}.capture-button{width:100%;min-height:48px}.eyebrow{font-size:.65rem}.page-heading .muted{font-size:.85rem}.list-toolbar{gap:12px}.filters{width:100%;justify-content:space-between;gap:2px}.filters button{padding:8px 9px;font-size:.8rem}.search{min-width:0;max-width:none;flex-basis:100%}.submission-table{border:0;display:grid;gap:10px;overflow:visible}.table-heading{display:none!important}.submission-row,.with-drawer .submission-row{grid-template-columns:minmax(0,1fr) 60px;gap:10px;border:1px solid var(--app-border)!important;border-radius:5px;padding:13px;align-items:start}.location-cell,.counter-cell{display:none}.compact-meta{display:block}.item-title{display:none}.item-copy{gap:7px}.thumbnail{width:55px;height:68px}.item-copy strong{font-size:.875rem}.item-description{font-size:.83rem}.status-badge{font-size:.7rem}.workspace,.workspace.with-drawer{display:block}.detail-drawer{position:fixed;inset:0;z-index:20;max-height:none;height:100dvh;border:0;overflow-y:auto;overscroll-behavior:contain}.drawer-header{padding:15px 18px}.drawer-body{padding:18px;gap:18px}.drawer-footer{padding:14px 18px max(14px,env(safe-area-inset-bottom))}.photo-surface{height:210px}.photo-surface.expanded{height:340px}.photo-actions{gap:8px}input,textarea,select{font-size:16px;min-height:46px}.search input{font-size:16px}.location-fields{gap:10px}.app-footer{padding:15px 16px}.app-footer>div{display:block}.app-footer .small.muted{display:block;margin-top:5px;font-size:.7rem}.development-bar{padding:10px 16px;gap:12px}.development-bar label,.development-bar select{font-size:.8rem}.development-bar select{min-height:36px}.sign-in{margin:28px auto;padding:25px}.empty-state{min-height:290px;padding:25px}.account .icon-button{min-width:36px}.footer-buttons button{min-height:46px}.voice-section{align-items:flex-start;flex-direction:column}.brand-subtitle{display:none}}
@media(pointer:coarse){button,.button{min-height:44px}.icon-button{min-width:44px}.development-bar .check-label{min-height:44px}.check-label input{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.connection-bar{flex-wrap:wrap}.connection-description{display:block;order:3;width:100%;padding-bottom:4px}.compact-meta{overflow-wrap:anywhere}.capture-context p{overflow-wrap:anywhere}}
@media(max-width:760px){body:has(.detail-drawer){overflow:hidden}}
.detail-drawer{display:flex;flex-direction:column;max-height:calc(100dvh - 165px);overflow:hidden}.drawer-header,.drawer-footer{flex-shrink:0;position:static}.drawer-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}@media(max-width:760px){.detail-drawer{max-height:none}.drawer-body{flex:1}}
.count-fields{display:grid;gap:10px;padding:15px;border:1px solid var(--app-border);border-radius:5px;background:#1c1d22}.count-row,.identification-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px}.quantity-override{display:flex;align-items:center;gap:9px;font-size:.8rem;color:var(--app-text-muted)}.quantity-override input{width:18px;height:18px;min-height:0;flex-shrink:0;accent-color:var(--app-accent)}.count-hint{padding:9px;border-radius:4px;font-size:.8rem;line-height:1.45}.item-count{font-size:.78rem;color:#a5c9ff}.count-fields .small{line-height:1.45}@media(max-width:760px){.count-fields{padding:12px}.count-row{grid-template-columns:minmax(85px,1fr) minmax(0,1.6fr);gap:9px}.quantity-override{min-height:34px}}

/* Mobile counting: keep capture, filters, search and connection within reach. */
@media(max-width:760px){
    .app-header,.connection-bar{display:none}
    .mobile-splash{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:var(--app-bg);padding:32px;text-align:center}
    .mobile-splash img{width:94px;height:112px;object-fit:contain;margin-bottom:8px}
    .mobile-splash strong{font-size:1.65rem;font-weight:600}
    .mobile-splash>span:not(.splash-progress){max-width:240px;color:var(--app-text-muted);font-size:.85rem;line-height:1.5}
    .splash-progress{width:84px;height:3px;margin-top:20px;border-radius:3px;background:var(--app-accent);animation:splash-pulse 1s ease-in-out infinite alternate}
    .list-panel{padding:0 14px 16px}
    .page-heading,.with-drawer .page-heading{padding:18px 0 10px;margin:0;display:block}
    .page-heading h1{font-size:1.4rem}
    .page-heading .eyebrow,.page-heading .muted,.page-heading .capture-button{display:none}
    .list-controls{position:sticky;top:0;z-index:10;display:grid;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 0 0;background:var(--app-bg);box-shadow:0 -1px var(--app-bg)}
    .mobile-capture{display:flex;min-height:46px;margin:0;font-size:.95rem}
    .list-toolbar{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:8px;margin:0;min-width:0}
    .filters{flex-wrap:nowrap;gap:2px}
    .filters button{min-height:44px;gap:6px;padding:7px 8px;font-size:.85rem;white-space:nowrap}
    .search{width:100%;max-width:none;min-width:0;min-height:44px}
    .search input{min-height:42px;padding:8px 0;font-size:16px}
    .mobile-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-bottom:1px solid var(--app-border);margin-bottom:8px}
    .mobile-list-heading h2{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-muted);font-weight:600}
    .mobile-connection{min-height:44px;gap:6px;padding:6px 0 6px 8px;font-size:.75rem;color:var(--app-text-muted);white-space:nowrap}
    .mobile-connection.offline{color:#edc56e}
    .mobile-connection svg{width:14px;height:14px;margin-left:3px}
    .mobile-connection:disabled{opacity:1}
    .submission-table{gap:8px}
    .submission-row,.with-drawer .submission-row{position:relative;display:block;padding:11px 12px;min-height:126px;line-height:1.4}
    .submission-row .item-summary{gap:10px;align-items:center}
    .submission-row .thumbnail,.with-drawer .submission-row .thumbnail{width:56px;height:70px}
    .submission-row .item-copy{flex:1;gap:4px}
    .submission-row .item-copy strong{padding-right:62px;min-height:24px;font-size:.95rem}
    .submission-row .item-status{position:absolute;top:10px;right:12px}
    .submission-row .item-description{font-size:.9rem;line-height:1.4}
    .submission-row .item-count{font-size:.82rem}
    .submission-row .compact-meta{font-size:.78rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .list-footer{padding:12px 0;font-size:.72rem}
    .workspace{min-height:calc(100dvh - 100px)}
    .empty-state{min-height:220px}
    .app-footer>span{display:none}
    .app-footer{padding:10px 14px}
    .mobile-account{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 8px;color:var(--app-text-subtle);font-size:.75rem}
    .mobile-account button{min-height:44px;font-size:.8rem}
    .development-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}
    .drawer-header{padding-top:max(15px,env(safe-area-inset-top))}
}
@keyframes splash-pulse{to{opacity:.35;transform:scaleX(.65)}}

/* Desktop: the list and review body scroll independently beneath their actions. */
@media(min-width:761px){
    .inventory-app.signed-in{display:flex;flex-direction:column;height:100dvh;overflow:hidden}
    .signed-in>.app-header,.signed-in>.connection-bar,.signed-in>.banner,.signed-in>.feedback,.signed-in>.app-footer,.signed-in>.development-bar{flex-shrink:0}
    .signed-in>.workspace{flex:1;min-height:0;overflow:hidden}
    .signed-in .list-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}
    .signed-in .page-heading,.signed-in .list-toolbar,.signed-in .list-footer{flex-shrink:0}
    .signed-in .with-drawer .page-heading{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
    .signed-in .with-drawer .page-heading h1{font-size:1.25rem}
    .signed-in .with-drawer .page-heading .eyebrow,.signed-in .with-drawer .page-heading .muted{display:none}
    .signed-in .submission-table{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:3rem}
    .signed-in .table-heading{position:sticky;top:0;z-index:2}
    .signed-in .empty-state{flex:1;min-height:0;overflow:auto}
    .signed-in .detail-drawer{position:relative;top:auto;align-self:stretch;height:100%;max-height:100%}
    .signed-in .drawer-body{flex:1}
}

/* Match the compact cycle-count desktop workspace; phone cards keep their layout. */
@media(min-width:761px){
    .parts-app.signed-in>.parts-shell-header{display:flex;align-items:center;flex-wrap:wrap;flex-shrink:0;background:var(--app-surface);border-bottom:1px solid var(--app-border)}
    .parts-app.signed-in .parts-shell-header>.app-header{padding:8px 16px;border:0;gap:14px}.parts-app.signed-in .brand{gap:8px}.parts-app.signed-in .brand img{width:30px;height:30px}.parts-app.signed-in .brand strong{font-size:.9rem}.parts-app.signed-in .brand-subtitle,.parts-app.signed-in .avatar,.parts-app.signed-in .role-label{display:none}
    .parts-app.signed-in .account{gap:7px;font-size:.75rem;color:var(--app-text-muted)}.parts-app.signed-in .account .icon-button{min-width:28px;min-height:28px;padding:4px}.parts-app.signed-in .account svg{width:16px;height:16px}
    .parts-shell-header>.workflow-nav{border:0;padding:4px 8px;gap:4px}.parts-shell-header .workflow-nav a{font-size:.8rem;padding:7px 10px}
    .parts-shell-header>.connection-bar{border:0;margin-left:auto;padding:6px 16px;gap:12px;min-height:0;background:transparent;font-size:.75rem}.parts-shell-header .connection-description{display:none}.parts-shell-header .sync-summary{gap:10px}.parts-shell-header .sync-summary button{min-height:30px;padding:5px 10px;font-size:.75rem}
    .parts-app .list-panel{padding:12px 16px;gap:10px}.parts-app .page-heading,.parts-app .with-drawer .page-heading{margin:0;gap:10px;flex-direction:row;align-items:center;flex-wrap:wrap}.parts-app .page-heading h1,.parts-app .with-drawer .page-heading h1{font-size:1.2rem}.parts-app .page-heading .eyebrow,.parts-app .page-heading .muted{display:none}
    .parts-app .capture-button{min-height:32px;padding:6px 10px;font-size:.75rem}.parts-app .capture-button svg{width:16px;height:16px}
    .parts-app .list-controls{display:block;flex-shrink:0;min-width:0}.parts-app .list-toolbar{margin:0;gap:8px 12px}.parts-app .filters{gap:4px}.parts-app .filters button{min-height:32px;padding:6px 10px;font-size:.75rem}.parts-app .filters button span{font-size:.7rem}
    .parts-app .search{max-width:480px;min-width:160px;gap:7px}.parts-app .search svg{width:16px;height:16px}.parts-app .search input{min-height:32px;padding:6px 0;font-size:.8rem}
    .parts-app .with-drawer .search{max-width:none;min-width:160px;flex-basis:160px}.parts-app .list-footer{padding:0;font-size:.75rem;line-height:1.4}
    .parts-app .parts-results{scroll-padding-top:40px}.parts-results:focus-visible{outline:2px solid var(--app-accent-blue);outline-offset:2px}
    .parts-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px;table-layout:fixed;font-size:.8rem;line-height:1.4;background:var(--app-surface)}
    .parts-table th{position:sticky;top:0;z-index:2;background:var(--app-surface-raised);text-align:left;font-size:.75rem;font-weight:500;color:var(--app-text-muted);padding:9px 10px;border-bottom:1px solid var(--app-border);white-space:nowrap}
    .parts-table th:first-child{width:64px}.parts-table th.parts-location{width:64px}.parts-table th:nth-child(3){width:140px}.parts-table th.numeric{width:110px}.parts-table th:nth-child(7){width:60px}.parts-table th:nth-child(8){width:88px}.parts-table th.parts-counter{width:180px}
    .parts-table td{padding:7px 10px;border-bottom:1px solid var(--app-border-soft);vertical-align:middle;overflow-wrap:anywhere}.parts-table td.parts-location{font-size:.8rem}
    .parts-table .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.parts-table td.numeric{color:#a5c9ff}.parts-table .counter-cell{font-size:.75rem}.parts-table .counter-cell span{font-size:.7rem;margin-top:3px}
    .parts-row{cursor:pointer}.parts-row:hover{background:var(--app-surface-raised)}.parts-row.selected{background:#2e2a3a}.parts-row.selected>td:first-child{box-shadow:inset 3px 0 var(--app-accent)}.parts-row:last-child>td{border-bottom:0}
    .parts-table .thumbnail,.parts-app .with-drawer .parts-table .thumbnail{width:40px;height:40px}.parts-table .thumbnail svg{width:20px;height:20px}
    .parts-table .parts-open-item{display:block;width:100%;min-height:32px;border:0;background:transparent;padding:0;text-align:left;font-weight:400;line-height:1.4}.parts-table .parts-open-item:hover strong{text-decoration:underline}
    .parts-table .item-copy{gap:3px}.parts-table .item-copy strong{font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parts-table .item-description{display:block;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parts-table .sync-label{font-size:.7rem}.parts-table .status-badge{font-size:.7rem;padding:3px 6px}
    .parts-app .with-drawer .parts-table{min-width:420px}.parts-app .with-drawer .parts-location,.parts-app .with-drawer .parts-counter{display:none}.parts-app .with-drawer .parts-table th.numeric{width:80px}.parts-app .with-drawer .parts-table th:nth-child(7){width:48px}.parts-app .with-drawer .parts-table th:nth-child(8){width:78px}.parts-table .compact-meta{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .parts-app .drawer-header{padding:12px 16px}.parts-app .drawer-header h2{font-size:1.1rem}.parts-app .drawer-body{padding:16px;gap:14px}.parts-app .drawer-footer{padding:10px 16px}.parts-app .drawer-footer button{min-height:34px;padding:7px 10px;font-size:.8rem}
    .parts-app>.app-footer{padding:5px 16px;font-size:.7rem}.parts-app>.app-footer .small{font-size:.7rem}.parts-app>.app-footer button{min-height:24px;padding:3px 6px}.parts-app>.development-bar{padding:5px 16px;gap:16px}.parts-app>.feedback,.parts-app>.banner{padding:7px 16px;font-size:.8rem}
}

/* Identified names remain visible on phone cards, including long names. */
@media(max-width:760px){
    .parts-app .submission-row .item-title{display:block;white-space:normal;overflow-wrap:anywhere;margin-top:3px}
    .parts-app .submission-row .item-copy strong{line-height:1.4}
}
