:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17243a;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:290px;background:#101c2e;color:#dce5f2;display:flex;flex-direction:column;padding:18px 14px 20px;z-index:20;transform:translateX(-102%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:14px 0 42px #0b162733}.sidebar.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:3px 6px 28px 9px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;background:#4285f4;border-radius:12px;display:grid;place-items:center;color:white;font-weight:800;font-size:18px}.brand b,.brand small{display:block}.brand b{color:white;font-size:15px}.brand small{font-size:9px;letter-spacing:1.6px;color:#8291a8;margin-top:4px}.nav-item{border:0;width:100%;height:49px;border-radius:9px;color:#aebbd0;background:transparent;text-align:left;padding:0 12px;display:flex;align-items:center;gap:13px;font-size:14px;cursor:pointer}.nav-item:hover{background:#192a40}.nav-item.active{background:#243752;color:#fff;font-weight:650}.nav-icon{font-size:17px;width:20px;text-align:center;color:#9aabc1}.nav-item.active .nav-icon{color:#7badff}.nav-item em{font-size:11px;margin-left:auto;background:#314763;padding:3px 7px;border-radius:20px;font-style:normal}.side-footer{margin-top:auto;padding:15px 10px;color:#788ba4;font-size:11px}.main{min-height:100vh}.topbar{position:sticky;top:0;height:64px;background:#fff;border-bottom:1px solid #e7ecf3;display:flex;align-items:center;padding:0 28px;gap:15px;z-index:3}.crumb{display:flex;gap:11px;align-items:center;color:#96a1b2;font-size:12px}.crumb b{color:#29364b;font-size:13px}.status-dot{margin-left:auto;color:#618166;font-size:11px}.status-dot:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#51b47b;margin-right:7px}.icon-button{border:0;cursor:pointer;color:#34445c;background:transparent}.menu-toggle{width:38px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:9px}.menu-toggle:hover,.close-menu:hover{background:#eef2f8}.menu-toggle span{width:19px;height:2px;border-radius:2px;background:#34445c}.close-menu{font-size:26px;width:36px;height:36px;border-radius:8px;color:#9aa9bd;line-height:1}.scrim{position:fixed;inset:0;background:#08132377;opacity:0;visibility:hidden;z-index:19;transition:opacity .2s,visibility .2s}.scrim.show{opacity:1;visibility:visible}.content{max-width:1280px;margin:auto;padding:34px 38px 60px}.page-intro{display:flex;align-items:center;justify-content:space-between;margin:0 0 25px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#6d91c7;font-weight:700;margin:0 0 8px}.page-intro h1{font-size:27px;letter-spacing:-.6px;margin:0;color:#142239}.page-intro p:not(.eyebrow){color:#7f8b9c;font-size:13px;margin:8px 0 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.card{background:#fff;border:1px solid #e8edf4;border-radius:13px;padding:21px;box-shadow:0 3px 10px #24375208}.card-head h2{font-size:15px;margin:0;color:#22314a}.card-head p{font-size:11px;color:#8b97a8;margin:6px 0 18px}.button{border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#35445c;padding:10px 15px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.button:hover{background:#f5f8fc}.button:disabled{opacity:.45}.button.primary{background:#2869d8;color:white;border-color:#2869d8}.button.primary:hover{background:#1e5dc8}.button.danger{color:#c34b4b}.button.small{padding:7px 11px}.button-row{display:flex;gap:8px;margin-top:14px;align-items:center;flex-wrap:wrap}.tabs{display:flex;gap:7px;margin-bottom:12px}.tab{border:0;background:transparent;color:#7e8b9e;padding:11px 14px;font-size:12px;border-radius:8px;cursor:pointer}.tab.selected{background:#e9f0fc;color:#2767ca;font-weight:700}.tab span{margin-left:5px;opacity:.7}.table-card{padding:0;overflow:hidden}.table-tools{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #edf0f4}.table-tools b{font-size:13px;color:#29364b}.table-tools .muted{margin-left:9px}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1050px}th{background:#f8fafc;text-align:left;vertical-align:top;padding:10px 12px;color:#56657a;font-size:11px;border-bottom:1px solid #e8edf3}td{padding:9px 12px;border-bottom:1px solid #eff2f6;font-size:11px;color:#4b5a6e;vertical-align:middle}tbody tr:hover{background:#fbfcfe}.sort-button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;border:0;background:transparent;color:#46566e;font-weight:700;font-size:11px;padding:2px 0 8px;cursor:pointer;white-space:nowrap}.sort-button span{color:#9caaba}.column-filter{width:100%;min-width:95px;padding:7px 8px;border:1px solid #e3e8ef;border-radius:6px;font-size:11px;outline-color:#77a2e8}.barcode-wrap{min-width:155px;max-width:230px}.barcode{display:block;width:100%;height:69px}.barcode-error{font-size:10px;color:#bb4d4d}.empty{padding:30px;text-align:center;color:#8b97a8}.text-button{border:0;background:transparent;color:#2869d8;font-size:11px;cursor:pointer;padding:5px}.text-button.red{color:#c34b4b}.search-input{max-width:480px;margin:0 0 10px}.duty-results{margin-top:12px;border-top:1px solid #edf1f5}.duty-result{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;padding:14px 7px;border:0;border-bottom:1px solid #edf1f5;background:#fff;cursor:pointer}.duty-result:hover{background:#f8faff}.duty-result b,.duty-result small{display:block}.duty-result b{font-size:13px;color:#26364d}.duty-result small{font-size:11px;color:#8592a4;margin-top:5px}.select-mark{font-size:24px;color:#a7b2c0}.selected-asset{display:grid;grid-template-columns:1fr minmax(180px,310px);align-items:center;gap:16px;padding:18px 0 3px;margin-top:15px;border-top:1px solid #edf1f5}.selected-asset h3{font-size:15px;margin:7px 0 3px}.selected-asset p{font-family:ui-monospace,monospace;font-size:12px;color:#758399;margin:0}.camera-box{height:245px;background:#101c2e;border-radius:10px;display:grid;place-items:center;overflow:hidden}.camera-placeholder{display:flex;flex-direction:column;gap:10px;align-items:center;color:#9dacc1;font-size:25px}.camera-placeholder span{font-size:11px}.camera-video{width:100%;height:100%;object-fit:cover}.hint{font-size:11px;color:#8793a3;line-height:1.7;margin:12px 0 0}.result-box{margin:10px 0 14px;padding:14px;background:#f5f8fc;border-radius:8px;min-height:46px;font-family:ui-monospace,monospace;overflow-wrap:anywhere;font-size:13px;color:#34445b}.upload{display:inline-block}.card label:not(.upload){display:block;color:#59677b;font-size:11px;font-weight:600;margin:14px 0}.card input:not([type=file]),.card select{display:block;width:100%;margin-top:7px;border:1px solid #e0e6ef;border-radius:8px;padding:11px;font:inherit;font-weight:400;font-size:12px;outline-color:#6d9dec;background:white;color:#26364d}.import-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.import-controls label:not(.upload){min-width:220px;margin-bottom:0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef1f5;font-size:12px;color:#59677b}.setting-row b{color:#26364d}.muted{color:#8b97a8;font-size:11px;line-height:1.7}.card .button.danger{margin-top:15px}.modal-backdrop{position:fixed;inset:0;background:#0b172b7a;z-index:50;display:grid;place-items:center;padding:16px}.modal{width:min(540px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:24px;box-shadow:0 18px 70px #14223945}.modal h2{font-size:18px;margin:0 0 6px}.modal>p{font-size:12px;color:#8491a3;margin:0 0 15px}.modal label{display:block;margin:12px 0;font-size:11px;color:#5b6a7e}.modal input{width:100%;margin-top:6px;border:1px solid #e0e6ef;border-radius:8px;padding:11px;font-size:12px}.modal .button-row{justify-content:flex-end}.modal .button-row button{min-width:80px}
@media(max-width:760px){.topbar{height:58px;padding:0 15px;gap:11px}.content{padding:24px 15px 45px}.page-intro{align-items:flex-start;gap:12px}.page-intro h1{font-size:24px}.page-intro p:not(.eyebrow){font-size:12px;line-height:1.55}.page-intro>.button{padding:9px 10px;font-size:11px}.grid{grid-template-columns:1fr}.card{padding:17px}.table-card{padding:0}.table-tools{padding:14px}.tabs{margin-top:-2px}.selected-asset{grid-template-columns:1fr}.barcode-wrap{max-width:280px}.camera-box{height:220px}.status-dot{font-size:0}.status-dot:before{margin:0}.table-tools .button{font-size:10px;padding:7px}.sidebar{width:min(310px,84vw)}.crumb{gap:7px;font-size:11px}.crumb b{font-size:12px}}
.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:#8793a3;font-size:11px}.pagination>div{display:flex;align-items:center;gap:11px}.pagination .button{padding:6px 10px}.pagination .button:disabled{cursor:default}
body.native-scanner-active{background:transparent!important}body.native-scanner-active .app-shell{visibility:hidden}#nativeScanOverlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:24px 18px;background:transparent;visibility:visible}.native-scan-panel{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:19px;background:#101c2ee8;color:white;border:1px solid #ffffff2e;border-radius:14px;text-align:center;box-shadow:0 10px 32px #0005}.native-scan-panel strong{font-size:15px}.native-scan-panel span{font-size:12px;color:#d3dbea}.native-scan-panel button{margin-top:4px;padding:10px 18px;border:0;border-radius:8px;background:#fff;color:#23334c;font-size:12px;font-weight:700}
.asset-filter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weekday-filter{display:block;font-size:11px;color:#58677b}.weekday-filter input{display:block;width:100%;margin-top:5px;border:1px solid #e0e6ef;border-radius:8px;padding:10px;font:inherit}.asset-list,.reading-input-list{display:grid;gap:8px}.asset-option{display:flex;width:100%;flex-direction:column;gap:5px;text-align:left;border:1px solid #e5eaf1;background:#fff;border-radius:9px;padding:12px;cursor:pointer}.asset-option.selected{border-color:#2869d8;background:#f3f7ff}.asset-field{display:flex;gap:8px;align-items:baseline;line-height:1.4}.asset-field small{flex:0 0 95px;color:#8491a3;font-size:10px}.asset-field b{font-size:12px;color:#27364d;overflow-wrap:anywhere}.barcode-card{margin-top:14px;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.barcode-wrap{width:80vw;max-width:680px;min-width:0;margin:8px auto}.barcode{height:90px}.asset-number{font-family:ui-monospace,monospace;font-size:16px;font-weight:700;letter-spacing:.04em;margin:4px 0 10px;color:#17243a;overflow-wrap:anywhere}.reading-input-row{border:1px solid #e5eaf1;border-radius:9px;padding:13px}.reading-input-row>b,.reading-input-row>small{display:block}.reading-input-row>small{color:#8290a2;font-size:11px;margin-top:4px}.reading-input-row label{display:block;margin-top:10px;font-size:11px}.reading-input-row input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #e0e6ef;border-radius:8px}.reading-value-display{width:100%;padding:12px;background:#f3f7ff;border-radius:8px;font-size:14px;font-weight:650;overflow-wrap:anywhere}@media(max-width:760px){.asset-filter-list{grid-template-columns:1fr}.asset-field small{flex-basis:110px}.asset-option{padding:11px}.barcode-wrap{width:80vw;max-width:80vw}.barcode{height:88px}}
@media(max-width:760px){.asset-list{max-height:30vh;overflow:auto}.weekday-filter input{padding:9px}}
.weekday-filter-head{display:flex;align-items:center;justify-content:space-between;gap:4px}.weekday-filter-head .text-button{padding:3px 4px;font-size:10px}

/* Large, responsive barcode display */
.barcode-wrap{width:100%;max-width:1100px;margin:12px auto;overflow:visible}.barcode-wrap .barcode{display:block;width:100%;height:auto;max-height:170px}.barcode-card{padding-left:10px;padding-right:10px}
@media(max-width:760px){.barcode-wrap{width:100%;max-width:none}.barcode-wrap .barcode{width:100%;max-height:160px}}

.barcode-wrap,.barcode-card .barcode-wrap{min-width:0;width:100%;max-width:100%;overflow:hidden}.barcode-wrap .barcode{display:block;width:100%;max-width:100%;height:auto!important;max-height:none;object-fit:contain;overflow:visible}.barcode-card{width:100%;min-width:0;overflow:hidden}.barcode-card .barcode-wrap{padding:0 2px;box-sizing:border-box}
@media(max-width:760px){.content,.card,.barcode-card{min-width:0}.barcode-wrap{width:100%;max-width:100%}.barcode-wrap .barcode{width:100%;height:auto!important;max-width:100%}}

/* Fit complete barcode SVG inside the available phone/card width */
.barcode-wrap,.barcode-card .barcode-wrap{display:block;box-sizing:border-box;width:min(96vw,100%);max-width:100%;min-width:0;margin:12px auto;overflow:hidden}.barcode-wrap>svg,.barcode-wrap>.barcode{display:block;width:100%!important;max-width:100%!important;height:auto!important;min-width:0;object-fit:contain}.barcode-card{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden}.barcode-card .asset-number{max-width:100%;overflow-wrap:anywhere}

.reading-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.reading-toolbar .search-input{flex:1 1 220px}.reading-toolbar .button{margin:0}
.barcode-card{order:-1}.barcode-card h3{margin:0 0 8px}.barcode-card .empty{margin:8px 0}

.weekday-filter-control{display:flex;align-items:stretch;gap:5px}.weekday-filter-control input{min-width:0;flex:1}.weekday-dropdown-toggle{flex:0 0 40px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#34445b;font-size:18px;cursor:pointer}.weekday-dropdown-toggle[aria-expanded=true]{background:#e9f0fc;color:#2767ca}.weekday-dropdown.open:empty{display:none}.weekday-dropdown-list{display:flex;flex-direction:column;max-height:240px;overflow:auto;margin-top:5px;padding:4px;border:1px solid #dce3ec;border-radius:8px;background:#fff;box-shadow:0 8px 20px #14223918}.weekday-dropdown-option{width:100%;padding:8px 10px;border:0;border-radius:5px;background:#fff;color:#27364d;text-align:left;font:inherit;font-size:12px;cursor:pointer}.weekday-dropdown-option:hover,.weekday-dropdown-option:focus{background:#eef4ff;outline:none}

.weekday-dropdown-panel{padding:8px}.weekday-option-search{display:block;width:100%;padding:9px;border:1px solid #dce3ec;border-radius:7px;font:inherit;font-size:12px}.weekday-dropdown-actions{display:flex;gap:10px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid #edf0f4}.weekday-dropdown-list{max-height:250px;overflow:auto;padding:4px 0}.weekday-dropdown-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;font-size:12px}.weekday-dropdown-option input{margin:0;accent-color:#2869d8}.weekday-dropdown-option span{overflow-wrap:anywhere}.weekday-dropdown-option:hover{background:#f2f6fc}

.weekday-dropdown-option input[type=checkbox]{display:inline-block;width:auto;flex:0 0 18px;margin:0;padding:0;border:0;box-shadow:none}

.weekday-dropdown-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;margin-top:5px;padding:4px;border:1px solid #dce3ec;border-radius:8px;background:#fff;box-shadow:0 8px 20px #14223918}.weekday-dropdown-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:5px;background:#fff;color:#27364d;text-align:left;font:inherit;font-size:12px;cursor:pointer}.weekday-dropdown-option:hover,.weekday-dropdown-option:focus{background:#eef4ff;outline:none}


/* Simple cascading weekday filters */
.weekday-dropdown:not(.open){display:none}.weekday-dropdown.open{display:block}

.weekday-clear-button{flex:0 0 36px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#7a8798;font-size:19px;line-height:1;cursor:pointer}.weekday-clear-button:disabled{opacity:.35;cursor:default}#clearWeekdayFilters{margin-left:auto}

.barcode-card{box-sizing:border-box;text-align:center!important;align-items:center!important}.barcode-wrap,.barcode-card .barcode-wrap{display:flex!important;flex:0 1 auto;box-sizing:border-box;width:min(96vw,1100px,100%);max-width:100%;min-width:0;margin:12px auto!important;padding:0;justify-content:center;align-items:center;overflow:visible}.barcode-wrap>svg,.barcode-wrap>.barcode,.barcode-card .barcode-wrap>svg{display:block!important;flex:0 1 auto;width:100%!important;max-width:min(100%,calc(100vw - 40px))!important;height:auto!important;margin:0 auto!important;object-fit:contain;preserveAspectRatio:xMidYMid meet}
/* Match weekday filter action buttons to the input height and baseline. */
.weekday-filter-control{align-items:center;gap:6px}
.weekday-filter-control input{height:38px;margin-top:0;padding:0 10px;line-height:1.2}
.weekday-clear-button,.weekday-dropdown-toggle{box-sizing:border-box;display:grid;place-items:center;flex:0 0 36px;width:36px;height:38px;min-height:38px;padding:0;line-height:1;border-radius:8px}
.weekday-clear-button{font-size:17px}
.weekday-dropdown-toggle{font-size:16px}
/* Keep barcode SVG and its text label centered and fully visible in iOS standalone mode. */
.barcode-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;overflow:visible;padding:20px clamp(12px,4vw,24px) 18px;text-align:center}
.barcode-card h3{flex:0 0 auto;width:100%;margin:0 0 12px;text-align:center}
.barcode-card .barcode-wrap{display:block;flex:0 0 auto;box-sizing:border-box;width:min(96vw,100%);max-width:100%;min-width:0;margin:0 auto;overflow:visible}
.barcode-card .barcode-wrap>svg,.barcode-card svg.barcode{display:block;box-sizing:border-box;width:100%;max-width:100%;height:auto;max-height:none;margin:0 auto;overflow:visible}
.barcode-card .asset-number{display:block;position:relative;z-index:1;flex:0 0 auto;box-sizing:border-box;width:100%;max-width:100%;margin:8px auto 0;line-height:1.5;text-align:center;white-space:normal;font-size:clamp(15px,4vw,20px);font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow:visible;overflow-wrap:anywhere}
/* Lock weekday search input and both action buttons to identical grid rows. */
.weekday-filter-control{display:grid!important;grid-template-columns:minmax(0,1fr) 36px 36px;align-items:stretch;gap:6px}
.weekday-filter-control>input{display:block;box-sizing:border-box;width:100%;min-width:0;height:42px;margin:0!important;padding:0 10px;align-self:stretch;line-height:1.2}
.weekday-filter-control>.weekday-clear-button,.weekday-filter-control>.weekday-dropdown-toggle{display:flex;box-sizing:border-box;align-items:center;justify-content:center;align-self:stretch;width:36px;min-width:36px;height:42px;min-height:42px;margin:0;padding:0;line-height:1}
.weekday-filter-control>.weekday-clear-button{font-size:17px}
.weekday-filter-control>.weekday-dropdown-toggle{font-size:16px}
/* Align the duty-reading search field and clear button on the same exact row. */
.reading-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) max-content;align-items:stretch;gap:8px;flex-wrap:nowrap}
#readingSearch{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:none;height:44px;min-height:44px;margin:0!important;padding:0 12px;align-self:stretch}
#clearReadings{display:flex;box-sizing:border-box;align-items:center;justify-content:center;align-self:stretch;height:44px;min-height:44px;margin:0!important;padding:0 12px;white-space:nowrap;line-height:1.2}
.brand-mark{display:block;object-fit:cover;flex:0 0 40px;box-shadow:0 2px 8px #08132330}
.record-navigation{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;margin:14px auto 2px}
.record-navigation button{display:grid;place-items:center;box-sizing:border-box;width:48px;height:44px;padding:0;border:1px solid #dce3ec;border-radius:10px;background:#fff;color:#25364e;font-size:22px;font-weight:700;line-height:1;cursor:pointer}
.record-navigation button:disabled{opacity:.35;cursor:default}
.record-navigation span{min-width:48px;color:#7d899b;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.reading-quick-slot{margin:0 0 14px}
.reading-quick-row{background:#f9fbfe}
.reading-input-row.selected,.duty-result.selected{border-color:#2869d8;background:#f3f7ff}
/* Prevent iOS double-tap zoom while preserving pinch zoom and normal scrolling. */
html,body{touch-action:manipulation}
/* iOS Safari auto-zooms focused text inputs below 16px; keep search controls at 16px. */
input.search-input,input[data-filter],input[data-lfilter],input.column-filter,.weekday-filter-control input{font-size:16px!important}
/* iOS Safari zooms focused fields whose text is smaller than 16 CSS px. */
@media (max-width:760px),(hover:none) and (pointer:coarse){
 input:not([type=file]),textarea,select{font-size:16px!important;line-height:1.25}
}
.reading-input-row textarea{display:block;box-sizing:border-box;width:100%;height:9em;min-height:9em;margin-top:5px;padding:10px;border:1px solid #e0e6ef;border-radius:8px;background:#fff;color:#26364d;font:inherit;line-height:1.35;resize:vertical;white-space:pre-wrap}
.reading-value-label{display:block;align-self:stretch;width:100%;margin:12px 0 5px;color:#59677b;font-size:12px;font-weight:650;text-align:left}
.reading-value-display{display:block;box-sizing:border-box;height:9em;min-height:9em;margin:0;padding:10px 12px;border:1px solid #e0e6ef;background:#f7f9fc;color:#26364d;font:inherit;line-height:1.35;resize:none;white-space:pre-wrap;overflow:auto;text-align:left}
.barcode-card .reading-value-label{align-self:stretch;width:100%;margin:14px 0 7px;font-size:16px;font-weight:800;line-height:1.4;text-align:center}
.barcode-card .reading-value-display{font-weight:750;text-align:center!important}
.record-navigation{gap:8px}
.record-navigation button{width:44px;min-width:44px;height:44px;font-size:20px}
.record-navigation span{min-width:46px}
/* Disable pinch zoom gestures while retaining one-finger horizontal and vertical scrolling. */
html,body{touch-action:pan-x pan-y}
/* Let weekday equipment results grow with the document; use page scrolling. */
.asset-list{max-height:none!important;height:auto!important;overflow:visible!important;overscroll-behavior:unset}
.camera-box{position:relative}
.camera-box.scanning:after{content:"";position:absolute;left:5%;top:34%;width:90%;height:32%;box-sizing:border-box;border:2px solid #37d5ef;border-radius:12px;box-shadow:0 0 0 999px #07132335,0 0 18px #37d5ef66;pointer-events:none}
.barcode-card{scroll-margin-top:72px}
.duplicate-status{min-height:0;margin:8px 0;color:#58677b;font-size:12px;line-height:1.5;white-space:pre-wrap}
.duplicate-status.is-duplicate{padding:10px 12px;border:1px solid #f2c4c4;border-radius:8px;background:#fff1f1;color:#a52626;font-weight:700}

/* Show selected gallery photos inside the scan preview frame. */
.camera-image-preview{display:block;width:100%;height:100%;object-fit:contain;background:#101c2e}


.camera-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.zoom-control{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.zoom-control input[type=range]{display:block;width:auto!important;min-width:40px;flex:1 1 60px;margin:0!important;accent-color:#2869d8}.zoom-control output{min-width:48px;text-align:right;color:#59677b;font-size:12px;font-weight:700}.camera-controls #flashToggle{min-width:120px}.camera-controls button{min-height:38px}
@media(max-width:380px){.camera-controls{gap:6px}.camera-controls #flashToggle{min-width:104px;padding:8px}.zoom-control{gap:4px}.zoom-control output{min-width:40px}}

/* Compact reading query card so the stopwatch can remain in the first screen. */
.stopwatch{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:8px 0 4px;padding:8px 10px;border:1px solid #e2e8f1;border-radius:10px;background:#f7f9fc;text-align:left}
.stopwatch-readout{display:flex;flex-direction:column;gap:1px;min-width:0}
.stopwatch-readout>span{color:#78869a;font-size:10px;font-weight:650}
.stopwatch-readout output{color:#17243a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.stopwatch-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.stopwatch-actions .button{min-height:34px;padding:6px 10px;font-size:11px}
.reading-query-card{padding:8px 12px 10px!important}
.reading-query-card h3{margin:0 0 4px!important;line-height:1.2}
.reading-query-card .barcode-wrap{margin:2px auto!important}
.reading-query-card .asset-number{margin:2px auto 3px!important;line-height:1.2!important}
.reading-query-card .reading-value-label{margin:3px 0 2px!important;font-size:14px!important;line-height:1.15!important}
.reading-query-card .reading-value-display{height:6.5em!important;min-height:6.5em!important;margin:0!important;padding:4px 8px!important;line-height:1.15!important}
.reading-query-card .record-navigation{margin:4px 0!important;gap:5px}
.reading-query-card .record-navigation button{width:36px;min-width:36px;height:34px;font-size:17px}
.reading-query-card .stopwatch{margin:4px 0 0;padding:6px 9px}
.reading-query-card .stopwatch-readout output{font-size:18px}
@media(max-width:390px){.stopwatch{padding:7px}.stopwatch-readout output{font-size:18px}.stopwatch-actions{gap:4px}.stopwatch-actions .button{padding:6px 8px}.reading-query-card{padding:7px 9px!important}}
