.cabinet-tracking-modal{
 z-index:1390;
 padding:12px;
 background:rgba(15,23,42,.62);
 backdrop-filter:saturate(150%) blur(14px)
}
.ct-dialog{
 display:grid;
 grid-template-rows:auto minmax(0,1fr) auto auto;
 width:min(1060px,calc(100vw - 24px));
 max-height:94vh;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.82);
 border-radius:24px;
 background:#f7f8fa;
 box-shadow:0 34px 96px rgba(15,23,42,.34)
}
.ct-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:18px;
 padding:20px 24px 16px;
 border-bottom:1px solid #e4e7ec;
 background:rgba(255,255,255,.96)
}
.ct-head>div{min-width:0}
.ct-head>div>span{
 color:#c9242f;
 font-size:11px;
 font-weight:850;
 letter-spacing:.08em
}
.ct-head h2{
 margin:4px 0 0;
 font-size:25px;
 letter-spacing:-.025em
}
.ct-head p{
 margin:5px 0 0;
 overflow:hidden;
 color:#667085;
 font-size:12px;
 text-overflow:ellipsis;
 white-space:nowrap
}
.ct-close{
 display:grid;
 place-items:center;
 flex:0 0 auto;
 width:40px;
 height:40px;
 padding:0;
 border:0;
 border-radius:50%;
 background:#eceef1;
 color:#344054;
 font-size:25px;
 line-height:1
}
.ct-body{
 min-height:360px;
 overflow:auto;
 padding:18px 24px 22px
}
.ct-summary{
 display:grid;
 grid-template-columns:auto auto minmax(220px,1fr);
 align-items:center;
 gap:14px;
 margin-bottom:14px;
 padding:14px 16px;
 border:1px solid #dde2e8;
 border-radius:16px;
 background:#fff
}
.ct-summary-number{
 display:grid;
 gap:2px;
 min-width:112px;
 padding-right:16px;
 border-right:1px solid #e6e8eb
}
.ct-summary span,.ct-progress-label{
 color:#667085;
 font-size:11px
}
.ct-summary-number strong{
 color:#172033;
 font-size:21px
}
.ct-progress-wrap{display:grid;min-width:0;gap:7px}
.ct-progress-label{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 font-weight:750
}
.ct-progress-label b{color:#344054}
.ct-progress{
 height:10px;
 overflow:hidden;
 border-radius:999px;
 background:#edf0f3
}
.ct-progress i{
 display:block;
 height:100%;
 border-radius:inherit;
 background:linear-gradient(90deg,#0071e3,#34a1ff);
 transition:width .2s ease
}
.ct-all-complete{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 margin-bottom:14px;
 padding:13px 15px;
 border:1px solid #8fc9ad;
 border-radius:15px;
 background:#edf9f3;
 color:#116845
}
.ct-all-complete>div{display:grid;min-width:0;gap:3px}
.ct-all-complete b{font-size:13px}
.ct-all-complete span{font-size:11px;line-height:1.4}
.ct-all-complete button{flex:0 0 auto;min-height:46px}
.ct-list{display:grid;gap:10px}
.ct-cabinet-card{
 min-width:0;
 overflow:hidden;
 border:1px solid #dce1e7;
 border-left:5px solid #f0a12b;
 border-radius:16px;
 background:#fff;
 box-shadow:0 4px 14px rgba(15,23,42,.04)
}
.ct-cabinet-card.is-complete{border-left-color:#16835f}
.ct-cabinet-card>header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 padding:12px 14px;
 border-bottom:1px solid #edf0f3
}
.ct-cabinet-number{display:flex;align-items:center;min-width:0;gap:10px}
.ct-cabinet-number>span{
 display:grid;
 place-items:center;
 flex:0 0 auto;
 width:34px;
 height:34px;
 border-radius:10px;
 background:#eef5fc;
 color:#0067ce;
 font-size:12px;
 font-weight:900
}
.ct-cabinet-number>div{display:grid;min-width:0;gap:1px}
.ct-cabinet-number small{color:#667085;font-size:9px}
.ct-cabinet-number h3{
 margin:0;
 overflow-wrap:anywhere;
 font:850 14px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}
.ct-state{
 display:inline-flex;
 align-items:center;
 flex:0 0 auto;
 gap:5px;
 padding:5px 9px;
 border-radius:999px;
 background:#fff6e8;
 color:#925100;
 font-size:11px;
 font-weight:850
}
.is-complete .ct-state{background:#e9f8f0;color:#117653}
.ct-state i{font-style:normal}
.ct-cabinet-card dl{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:0;
 margin:0
}
.ct-cabinet-card dl>div{
 display:grid;
 min-width:0;
 gap:3px;
 padding:11px 14px;
 border-right:1px solid #edf0f3
}
.ct-cabinet-card dl>div:last-child{border-right:0}
.ct-cabinet-card dt{color:#667085;font-size:9px;font-weight:800}
.ct-cabinet-card dd{
 min-width:0;
 margin:0;
 overflow-wrap:anywhere;
 color:#344054;
 font-size:12px;
 font-weight:720
}
.ct-cabinet-card>footer{
 display:flex;
 align-items:center;
 gap:8px;
 padding:10px 14px;
 border-top:1px solid #edf0f3;
 background:#fbfcfd
}
.ct-cabinet-card>footer>span{flex:1}
.ct-cabinet-card button{min-height:44px}
.ct-reopen{border-color:#d4a9ad;color:#9e2731;background:#fff8f8}
.ct-history{padding:0 14px 12px;border-top:1px solid #edf0f3;background:#fbfcfd}
.ct-history ol{display:grid;gap:8px;margin:0;padding:12px 0 0;list-style:none}
.ct-history li{display:grid;gap:2px;padding-left:10px;border-left:3px solid #cfd7e2}
.ct-history li>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ct-history b{font-size:11px}.ct-history time,.ct-history span{color:#667085;font-size:10px}
.ct-history span{overflow-wrap:anywhere}
.ct-history-loading,.ct-history-error{margin:0;padding:12px 0;color:#667085;font-size:11px}
.ct-history-error{color:#b4232c}
.ct-not-ready{
 display:flex;
 align-items:flex-start;
 gap:13px;
 padding:18px;
 border:1px solid #e9c98f;
 border-radius:16px;
 background:#fff8ea;
 color:#7a4b00
}
.ct-not-ready>span{
 display:grid;
 place-items:center;
 flex:0 0 auto;
 width:34px;
 height:34px;
 border-radius:50%;
 background:#f4c96d;
 color:#5e3b00;
 font-size:18px;
 font-weight:900
}
.ct-not-ready h3{margin:0 0 4px;font-size:15px}
.ct-not-ready p{margin:0;font-size:12px;line-height:1.5}
.ct-empty{padding:36px 16px;color:#667085;text-align:center}
.ct-status{min-height:20px;padding:0 24px;color:#52606d;font-size:11px}
.ct-actions{
 display:flex;
 align-items:center;
 gap:8px;
 padding:13px 24px 19px;
 border-top:1px solid #e4e7ec;
 background:rgba(255,255,255,.96)
}
.ct-actions>span{flex:1}.ct-actions button{min-height:46px}
.ct-dialog button:disabled{cursor:not-allowed;opacity:.5}
.ct-dialog button:focus-visible,.ct-cabinet-card button:focus-visible{
 outline:3px solid rgba(0,113,227,.28);
 outline-offset:2px
}

.ct-scan-identity{display:grid;gap:2px;margin:22px 0 17px}
.ct-scan-identity>span{
 width:max-content;
 padding:4px 8px;
 border-radius:7px;
 background:#eef2f6;
 color:#475467;
 font-size:10px;
 font-weight:850
}
.ct-scan-identity h2{
 margin:5px 0 0!important;
 overflow-wrap:anywhere;
 font:900 28px/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}
.ct-scan-identity h3{margin:0!important}
.ct-scan-grid b small{display:block;margin-top:3px;color:#667085;font-size:10px}
.scan-result .ct-summary{margin-top:14px}
.ct-scan-actions{flex-wrap:wrap}
.ct-scan-actions button{min-height:48px}
.ct-scan-safety{
 margin:12px 0 0;
 padding:10px 12px;
 border-radius:10px;
 background:#f5f7fa;
 color:#596273;
 font-size:11px;
 line-height:1.45
}
.ct-advance-success{
 display:grid;
 justify-items:center;
 gap:8px;
 padding:44px 18px;
 text-align:center
}
.ct-advance-success>span{
 display:grid;
 place-items:center;
 width:54px;
 height:54px;
 border-radius:50%;
 background:#e8f7ee;
 color:#147a3d;
 font-size:28px;
 font-weight:900
}
.ct-advance-success h2{margin:8px 0 0!important;font-size:24px}
.ct-advance-success p{max-width:440px;margin:0;color:#667085;line-height:1.55}
body.driver-operations-role #topNavLinks [data-page="shopfloor-scan"]:not(.hidden),
body.small-parts-manager-role #topNavLinks [data-page="shopfloor-scan"]:not(.hidden){
 display:block!important
}
body.driver-operations-role #app main>#shopfloor-scan:not(.hidden),
body.small-parts-manager-role #app main>#shopfloor-scan:not(.hidden){
 display:block!important
}

@media(max-width:760px){
 .ct-cabinet-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ct-cabinet-card dl>div:nth-child(2){border-right:0}
 .ct-cabinet-card dl>div:nth-child(-n+2){border-bottom:1px solid #edf0f3}
}
@media(max-width:640px){
 .cabinet-tracking-modal{padding:0!important}
 .ct-dialog{
  width:100vw;
  height:100dvh;
  max-height:none;
  border:0;
  border-radius:0
 }
 .ct-head{
  padding:calc(14px + env(safe-area-inset-top)) 14px 13px
 }
 .ct-head h2{font-size:21px}
 .ct-body{min-height:0;padding:12px}
 .ct-summary{grid-template-columns:1fr 1fr;gap:9px;padding:12px}
 .ct-summary-number{min-width:0;padding-right:8px}
 .ct-summary-number:nth-child(2){padding-right:0;border-right:0}
 .ct-progress-wrap{grid-column:1/-1}
 .ct-all-complete{align-items:stretch;flex-direction:column}
 .ct-all-complete button{width:100%}
 .ct-cabinet-card>footer{display:grid;grid-template-columns:1fr 1fr}
 .ct-cabinet-card>footer>span{display:none}
 .ct-cabinet-card>footer button{width:100%}
 .ct-cabinet-card>footer .primary{grid-column:1/-1}
 .ct-status{padding:0 12px}
 .ct-actions{
  padding:10px 12px calc(10px + env(safe-area-inset-bottom))
 }
}
@media(max-width:420px){
 .ct-cabinet-card dl{grid-template-columns:minmax(0,1fr)}
 .ct-cabinet-card dl>div{
  border-right:0!important;
  border-bottom:1px solid #edf0f3
 }
 .ct-cabinet-card dl>div:last-child{border-bottom:0}
 .scan-order-grid.ct-scan-grid{grid-template-columns:minmax(0,1fr)}
 .ct-scan-actions{display:grid}
 .ct-scan-actions button,.ct-scan-actions .scan-readonly{width:100%}
 .ct-scan-identity h2{font-size:23px}
}
@media(max-width:340px){
 .ct-head{gap:8px;padding-left:10px;padding-right:10px}
 .ct-head p{white-space:normal}
 .ct-body{padding:9px}
 .ct-summary{grid-template-columns:minmax(0,1fr)}
 .ct-summary-number{padding:0 0 8px;border-right:0;border-bottom:1px solid #e6e8eb}
 .ct-summary-number:nth-child(2){padding-bottom:8px;border-bottom:1px solid #e6e8eb}
 .ct-progress-wrap{grid-column:1}
 .ct-cabinet-card>header{align-items:flex-start;flex-direction:column}
 .ct-cabinet-card>footer{grid-template-columns:minmax(0,1fr)}
 .ct-cabinet-card>footer .primary{grid-column:1}
 .ct-actions{display:grid;grid-template-columns:1fr 1fr}
 .ct-actions>span{display:none}
 .ct-actions button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .ct-progress i{transition:none}
}
