/* Warehouse controls need to be legible from standing distance. */
:root{font-size:16px;color:#24334b}
body{line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app .page{max-width:1900px;padding:24px 28px 0}
#app .page-heading{margin-bottom:18px}
#app .page-heading h1{font-size:32px}
#app .page-heading p{font-size:16px;color:#52647d}
#app .eyebrow{font-size:12px;color:#5d7190}
#app .nav-item{font-size:15px;min-height:48px}
#app .workspace-label{font-size:11px;color:#8da2c1}
#app .sidebar-user-text strong{font-size:14px}
#app .sidebar-user-text span,#app .sidebar-bottom strong{font-size:12px}
#app .sidebar-bottom p{font-size:11px;color:#96a9c5}
#app .breadcrumb,#app .topbar-right,#app .today{font-size:13px;color:#62738b}
#app .tag{font-size:12px;padding:5px 9px;letter-spacing:0}
#app .metric{min-height:96px;padding:16px}
#app .metric-label{font-size:14px;color:#596d88;margin-bottom:8px}
#app .metric-value{font-size:32px}
#app .metric-value small{font-size:14px;color:#637794}
#app .metrics-row{gap:14px;margin-bottom:16px}
#app .work-toolbar{flex-wrap:wrap;gap:12px}
#app .mode-switch button{font-size:16px;min-height:44px;padding:9px 16px}
#app .key-hints{font-size:14px;color:#52647e}
#app kbd{font-size:13px;min-width:32px;color:#516783}
.sound-controls{display:flex;align-items:center;gap:7px;margin-left:auto}
#app .sound-controls .btn{font-size:14px;min-height:40px}
#app .btn{font-size:16px;min-height:46px}
#app .packing-grid{grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:18px}
#app .section-head{height:54px}
#app .section-head strong{font-size:16px}
#app .section-head .subtle{font-size:13px;color:#667a95}
#app .camera-stage{aspect-ratio:16/9}
#app .camera-empty h2{font-size:24px;color:#e0e9f8}
#app .camera-empty p{font-size:16px;color:#acbdd7;line-height:1.7}
#app .camera-actions .btn{font-size:16px;min-height:44px}
#app .feed-pill{font-size:13px;padding:7px 11px}
#app .feed-bottom{font-size:12px}
#app .scan-region>span{font-size:11px;color:#d4e5fc}
.scan-performance{padding:0 17px 12px;font-size:12px;color:#667a95;line-height:1.5}
.result-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0;color:#667a95;font-size:14px}
.result-pagination>div{display:flex;align-items:center;gap:12px}.result-pagination .btn{font-size:14px}
.camera-alert{position:absolute;top:66px;left:16px;right:16px;pointer-events:none;padding:12px 16px;border-radius:8px;text-align:center;color:#fff;font-size:clamp(20px,2vw,30px);font-weight:750;line-height:1.25;background:#244c7fe8;box-shadow:0 4px 14px #0002}
.camera-alert.error{background:#b51d2beF}
.camera-alert.success{background:#116b48ef}
#app .scan-feedback{min-height:102px;padding:16px 20px;gap:14px;border-left:5px solid #567fb9}
#app .scan-feedback strong{font-size:clamp(21px,1.8vw,28px);line-height:1.3;font-weight:750;color:#2d486b}
#app .scan-feedback span:last-child{font-size:16px;color:#52657d;line-height:1.5}
#app .scan-feedback.error{border-color:#c32d3d;background:#fff0f1}
#app .scan-feedback.error strong{color:#b1192b}
#app .scan-feedback.success{border-color:#168458;background:#eaf8f0}
#app .scan-feedback.success strong{color:#136b46}
#app .feedback-symbol{width:43px;height:43px;font-size:26px}
#app .scan-form{min-height:49px}
#app .scan-form input{font-size:16px;height:34px;color:#253e60}
#app .scan-form input::placeholder{color:#647891}
#app .scan-submit{font-size:14px;min-height:36px}
#app .camera-footer{font-size:12px;color:#526b8b;flex-wrap:wrap;padding-bottom:15px}
#app .camera-footer span:last-child{display:inline}
#app .order-ref h2{font-size:25px}
#app .order-tracking{font-size:18px;color:#405c81;word-break:break-word}
#app .order-meta{font-size:14px;color:#61738d;flex-wrap:wrap}
#app .order-meta .tag{font-size:12px}
#app .progress-label{font-size:16px;color:#526985}
#app .progress-label strong{font-size:21px}
#app .progress-track{height:7px}
#app .product{padding:16px 0;gap:12px}
#app .product-visual{width:48px;height:55px}
#app .product-info strong{font-size:19px;color:#2e4566}
#app .product-info span{font-size:16px;color:#526984}
#app .product-info code{font-size:16px;color:#4c688b;word-break:break-all}
#app .product-count{font-size:31px;color:#3c649a;flex-shrink:0}
#app .product-count.done{color:#13794d}
#app .product-count.excess{color:#b72b38}
#app .order-notice{font-size:15px;color:#785219}
#app .order-empty h3{font-size:18px;color:#5c718d}
#app .order-empty p{font-size:15px;color:#6f819b;max-width:280px}
#app .order-actions{position:sticky;bottom:0;background:#fff;z-index:2;padding:15px 18px 12px;box-shadow:0 -5px 15px #1d355906}
#app .order-actions .btn{font-size:17px;min-height:50px}
#app .order-actions .quiet{font-size:15px;min-height:40px}
#app .order-actions kbd{font-size:13px}
#app .demo-lab strong{font-size:15px;color:#78602f}
#app .demo-lab p{font-size:14px;color:#7c6b48}
#app .demo-codes button{font-size:14px;min-height:49px;padding:9px 12px;color:#725c2f}
#app .demo-codes code{font-size:13px;color:#7a6d50}
#app .list-heading h2{font-size:19px}
#app .text-button{font-size:15px;color:#2d64af}
#app .table th{font-size:12px;color:#526782;padding:13px 15px}
#app .table td{font-size:15px;color:#3f526f;padding:15px;line-height:1.55}
#app .table td strong{font-size:16px;color:#2c456b}
#app .table code{font-size:14px;color:#48678c}
#app .table .tiny{font-size:13px;color:#61738b}
#app .table .tag{font-size:12px}
#app .table-empty{font-size:15px!important;color:#657b96!important}
.video-row-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
#app .inline-button{display:inline-flex;align-items:center;justify-content:center;font-size:15px;min-height:41px;padding:8px 12px;background:#eaf1fc;color:#24579e}
#app .download-button{background:#2864ec;color:#fff}
#app .download-button:hover{background:#1b50c5}
#app .filter-bar label{font-size:14px;color:#536c8b}
#app .filter-bar input,#app .filter-bar select{font-size:15px;min-height:42px;color:#344f73}
#app .filter-bar .btn{font-size:15px;min-height:42px}
#app .settings-card>p,#app .settings-note,#app .muted-note,#app .quality-banner,#app .pending-alert{font-size:15px;color:#526c8c}
#app .settings-card label{font-size:15px;color:#4d6585}
#app .settings-card input,#app .settings-card select{font-size:16px}
#app .settings-card .btn{font-size:15px}
#app .settings-card .configured{font-size:13px}
#app .main-footer{font-size:12px;color:#70839f}
#toast{font-size:17px;padding:16px 23px}
.login-card label,.login-card input{font-size:16px}
.login-card>p,.login-card #demo-login .small{font-size:15px}
.login-card .btn{font-size:16px}
@media(max-width:1150px){#app .sidebar{width:194px;flex-basis:194px}#app .packing-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr)}#app .page{padding:18px 18px 0}#app .key-hints{display:none}#app .product-info strong{font-size:17px}#app .product-count{font-size:28px}#app .metric-label{font-size:13px}#app .section-head .subtle{display:none}}
@media(max-width:900px){#app .sidebar{width:64px;flex-basis:64px}#app .nav-item{font-size:0}#app .packing-grid{grid-template-columns:1fr}#app .sound-controls{margin-left:0}#app .camera-stage{aspect-ratio:16/9}#app .order-card #order-body{min-height:180px}#app .order-empty{padding:24px}#app .metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}#app .order-actions{position:static}}
@media(max-width:600px){#app .page{padding:16px 12px 0}#app .page-heading h1{font-size:26px}#app .page-heading{flex-wrap:wrap}#app .page-heading p{max-width:none;font-size:15px}#app .topbar .today,#app .topbar .connection{display:none}#app .topbar-right .tag{font-size:10px}#app .sound-controls .btn{font-size:14px}#app .mode-switch button{font-size:15px}#app .camera-empty h2{font-size:20px}#app .camera-empty p{font-size:14px}#app .camera-actions .btn{font-size:14px}#app .camera-empty .camera-illustration{display:none}#app .camera-alert{top:48px;left:10px;right:10px;font-size:19px;padding:8px}#app .feed-pill{font-size:10px}#app .scan-region>span{display:none}#app .scan-feedback strong{font-size:22px}#app .scan-feedback span:last-child{font-size:15px}#app .scan-feedback{padding:14px 12px}#app .scan-form{margin:12px}#app .scan-form input{font-size:14px}#app .scan-submit{font-size:12px}#app .demo-lab>div:first-child{flex:auto}#app .demo-codes button{font-size:13px}#app .demo-codes code{font-size:12px}#app .metrics-row{gap:9px}#app .metric{padding:12px}#app .metric-value{font-size:28px}#app .product-info code{font-size:14px}#app .product-count{font-size:27px}#app .camera-footer{font-size:11px}}

/* Keep the packing view focused on the camera, with a compact order at the left. */
#app #page-packing{max-width:none;padding:16px 22px 0}
#app #page-packing .page-heading{margin-bottom:10px}
#app #page-packing .page-heading h1{font-size:26px}
#app #page-packing .page-heading .eyebrow,#app #page-packing .page-heading p{display:none}
#app #packing-metrics{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:12px}
#app #packing-metrics .metric{min-height:0;padding:0;background:transparent;border:0;border-radius:0}
#app #packing-metrics .metric>div:first-child{display:flex;align-items:baseline;gap:9px}
#app #packing-metrics .metric-label{font-size:13px;margin:0}
#app #packing-metrics .metric-value{font-size:17px;letter-spacing:0}
#app #packing-metrics .metric-value small{font-size:12px}
#app #packing-metrics .metric-icon{display:none}
#app #page-packing .work-toolbar{margin-bottom:12px}
#app #page-packing .packing-grid{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px}
#app #page-packing .order-card{position:sticky;top:16px;max-height:calc(100dvh - 32px)}
#app #page-packing .order-card #order-body{min-height:0;overflow:auto}
#app #page-packing .order-card .section-head{padding:0 14px;height:48px;gap:8px}
#app #page-packing .order-card .section-head strong{font-size:15px}
#app #page-packing .order-card .tag{font-size:11px;padding:4px 6px}
#app #page-packing .order-summary{padding:14px}
#app #page-packing .order-ref{flex-wrap:wrap}
#app #page-packing .order-ref h2{font-size:21px}
#app #page-packing .order-tracking{font-size:17px}
#app #page-packing .order-meta{font-size:13px;gap:6px;margin-top:8px}
#app #page-packing .order-progress{padding:12px 14px}
#app #page-packing .progress-label{font-size:14px;flex-wrap:wrap;gap:5px}
#app #page-packing .progress-label strong{font-size:21px}
#app #page-packing .product-list{padding:0 14px}
#app #page-packing .product{padding:14px 0;gap:10px}
#app #page-packing .product-visual{display:none}
#app #page-packing .product-info strong{font-size:17px;overflow-wrap:anywhere}
#app #page-packing .product-info span,#app #page-packing .product-info code{font-size:15px}
#app #page-packing .product-count{font-size:26px}
#app #page-packing .order-empty{padding:24px 14px}
#app #page-packing .order-empty h3{font-size:17px}
#app #page-packing .order-empty p{font-size:14px}
#app #page-packing .order-actions{position:static;flex-shrink:0;padding:12px}
#app #page-packing .order-actions .btn{font-size:15px;min-height:44px;padding:10px;gap:6px}
#app #page-packing .order-actions .quiet{font-size:14px;min-height:36px}
#app #page-packing .demo-lab{display:block;padding:0;margin-top:14px}
#app #page-packing .demo-lab summary{cursor:pointer;padding:12px 16px;font-size:14px;font-weight:600;color:#735c2a}
#app #page-packing .demo-lab summary span{font-size:13px;font-weight:400;color:#827351;margin-left:12px}
#app #page-packing .demo-lab-content{display:flex;align-items:center;gap:18px;padding:0 16px 16px}
#app #page-packing .demo-lab-content>div:first-child{flex:0 0 230px}
@media(min-width:1800px){#app #page-packing .packing-grid{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:1150px) and (min-width:901px){#app #page-packing .packing-grid{grid-template-columns:280px minmax(0,1fr)}#app #page-packing{padding:14px 16px 0}}
@media(max-width:900px){#app #page-packing .packing-grid{grid-template-columns:minmax(0,1fr)}#app #page-packing .camera-card{order:-1}#app #page-packing .order-card{position:static;max-height:none}#app #page-packing .demo-lab-content{flex-direction:column;align-items:stretch}#app #page-packing .demo-lab-content>div:first-child{flex:auto}#app #packing-metrics{gap:8px 16px}}
@media(max-width:600px){#app #page-packing{padding:12px 12px 0}#app #packing-metrics .metric-label{font-size:12px}#app #packing-metrics .metric-value{font-size:15px}#app #page-packing .demo-lab summary span{display:block;margin:4px 0 0 16px}}
