*{box-sizing:border-box} :root{--brand-blue:#1073b4;--brand-blue-hover:#0d639b;--brand-blue-soft:#eef6fc;--brand-blue-border:#d3e7f7;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16374d;background:#f4f7fa;font-synthesis:none}
body{margin:0} button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #54aeee;outline-offset:3px}
.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--brand-blue);color:#fff;padding:30px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:235px;overflow-y:auto}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;max-width:250px}.brandMark{display:flex;align-items:center;justify-content:center;width:100%;height:72px;padding:0 12px;background:#fff;border-radius:12px;overflow:hidden}.brand img{display:block;width:100%;height:auto;flex:none;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:inherit;opacity:.95;margin:0 0 0 12px}.sidebar .brandMark{height:62px;padding:0 10px}
.sidebar .site{padding:26px 14px 16px;color:#fff;font-size:11px;letter-spacing:2px;font-weight:700}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:10px;text-align:left;font-weight:500;font-size:14px}.nav button.selected{background:#fff;color:var(--brand-blue);font-weight:700;box-shadow:0 2px 8px #07528720}.nav button:not(.selected):hover{background:#ffffff1f}.nav button:focus-visible{outline-color:#fff}.nav .ico{width:20px;font-size:18px;text-align:center}.sidebarFoot{margin-top:auto;padding:20px 12px 4px;color:#fff;font-size:12px}
.main{grid-column:2;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;background:white;border-bottom:1px solid #e0e8ee;padding:20px 36px;min-height:86px}.topbar .siteLabel{font-weight:650}.topbar .siteLabel small{color:#738996;display:block;font-size:11px;margin-top:4px;letter-spacing:1px}.headerActions{display:flex;align-items:center;gap:18px}.avatar{height:38px;width:38px;display:grid;place-items:center;border-radius:50%;background:#e6f1f9;color:var(--brand-blue);font-size:14px;font-weight:700}.user{display:flex;gap:10px;align-items:center}.user strong{font-size:13px;display:block}.user small{font-size:11px;color:#718592}.language{border:1px solid #dce5eb;background:white;padding:9px 10px;border-radius:9px;color:#234558;font-size:13px;max-width:145px}.linkbtn{border:0;background:transparent;color:var(--brand-blue);font-size:13px;padding:8px}
.content{max-width:1500px;padding:28px 36px 55px;margin:0 auto}.pilotBanner{font-size:12px;padding:12px 15px;background:#edf4f8;border:1px solid #d5e4ee;color:#526f80;border-radius:10px;margin-bottom:28px;display:flex;gap:10px;align-items:center}.pilotBanner b{white-space:nowrap;color:var(--brand-blue)}.titleRow{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:750;color:#688596;text-transform:uppercase;margin:0 0 10px}h1{font-size:32px;font-weight:700;letter-spacing:-1.1px;margin:0 0 9px}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 16px}h3{font-size:16px;margin:0 0 10px}p{line-height:1.6;margin:8px 0}.muted{color:#708491;font-size:13px}.btn{border:1px solid #d9e4eb;background:white;border-radius:9px;color:#29516a;font-size:13px;font-weight:650;padding:11px 17px;min-height:42px;display:inline-flex;gap:9px;align-items:center;justify-content:center;text-decoration:none}.btn.primary{background:var(--brand-blue);border-color:var(--brand-blue);color:white;box-shadow:0 3px 7px #0e6ba319}.btn.secondary{background:#eef6fc;border-color:#d3e7f7;color:var(--brand-blue)}.btn.danger{color:#b34336;background:#fff5f2;border-color:#f0d5cc}.btn.small{min-height:34px;font-size:12px;padding:7px 11px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid #e0e8ee;border-radius:13px;padding:20px 22px;position:relative}.stat .ico{position:absolute;right:20px;top:20px;background:#edf5fa;border-radius:9px;padding:7px 10px;font-size:17px;color:var(--brand-blue)}.stat span{font-size:12px;color:#6b828f}.stat strong{font-size:34px;display:block;margin:10px 0 4px;letter-spacing:-1px}.stat small{color:#7f929d;font-size:11px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.tabs{display:flex;gap:4px;background:#e6edf3;border-radius:9px;padding:4px}.tabs button{border:0;border-radius:7px;padding:9px 12px;font-size:12px;background:transparent;color:#658194}.tabs button.selected{background:white;color:#173e56;box-shadow:0 1px 3px #213e5010}
input,textarea,select{border:1px solid #d6e2ea;border-radius:8px;padding:11px 12px;background:#fff;color:#16374d;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #9ccff0;outline-offset:1px}input[type=checkbox]{accent-color:var(--brand-blue);width:18px;height:18px}textarea{resize:vertical;min-height:85px}.search{width:min(330px,100%);font-size:12px}.routeList{display:grid;gap:13px}.routeCard{background:white;border:1px solid #dde7ee;border-radius:13px;overflow:hidden}.cardTop{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:14px}.driverTitle{display:flex;gap:13px;align-items:center}.vehicleIcon{height:42px;width:42px;border-radius:10px;background:#eaf4fc;color:var(--brand-blue);display:grid;place-items:center;font-size:23px}.driverTitle strong{font-size:15px}.reg{font-size:11px;font-weight:700;letter-spacing:.8px;background:#f3f7fb;border:1px solid #dce7ef;padding:4px 7px;border-radius:5px;margin-left:10px}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.badge.ready{background:#fff6db;color:#9b7b1f}.badge.active{background:#e6f2ff;color:var(--brand-blue)}.badge.returning{background:#f0edff;color:#7960a7}.badge.finished,.badge.approved{background:#e8f4ed;color:#428166}.badge.cancelled,.badge.correction{background:#fcf0ec;color:#b36b50}.badge.pending,.badge.sample{background:#eef3f6;color:#697e8a}.stopFlow{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:0 23px 22px;font-size:13px;color:#496c82}.stopFlow .step{height:25px;width:25px;display:inline-grid;place-items:center;border:1px solid #d5e4ee;border-radius:50%;font-size:11px;margin-right:5px;background:white}.stopFlow .step.done{background:#e5f3ec;color:#428166;border-color:#e5f3ec}.stopFlow .step.current{background:var(--brand-blue);color:white;border-color:var(--brand-blue)}.connector{height:1px;width:23px;background:#dae6ee;margin:0 6px}.cardBottom{background:#fafcfe;border-top:1px solid #edf1f5;padding:12px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px}.cardBottom span{font-size:11px;color:#6e8797}.empty{background:#fff;border:1px dashed #cedee7;border-radius:13px;padding:50px 20px;text-align:center;color:#78909e;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:white;border:1px solid #dfe8ee;border-radius:13px;padding:23px}.details{display:grid;gap:15px}.metricRow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:15px 0}.metricRow small{display:block;font-size:11px;color:#78909e;margin-bottom:7px}.metricRow strong{font-size:17px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.field.full{grid-column:1/-1}.field small{font-size:11px;font-weight:400;color:#748d9d}.check{display:flex;align-items:center;gap:11px;font-size:13px;margin:16px 0}.deliveryStop{border-top:1px solid #e8eef3;padding:19px 0}.deliveryStop:first-of-type{border-top:0}.deliveryStop .stopHeader{display:flex;justify-content:space-between;gap:12px}.listTable{width:100%;border-collapse:collapse;font-size:13px}.listTable th{text-align:left;color:#6e8796;font-weight:500;font-size:11px;padding:13px 15px;border-bottom:1px solid #dde7ee}.listTable td{padding:17px 15px;border-bottom:1px solid #edf2f6;vertical-align:middle}.listTable tr:last-child td{border-bottom:0}.tableWrap{overflow-x:auto;border:1px solid #dfe8ee;background:#fff;border-radius:13px}.customerCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.customerCards .panel{padding:20px}.customerCards p{font-size:12px;color:#6d8898;min-height:37px}.customerCards .actions{margin-top:15px}.customerCards h3{margin-bottom:8px}.unit{font-size:12px;background:#f1f6f9;padding:9px 11px;border-radius:7px;margin:14px 0}.error{color:#9e4639;border:1px solid #efccc4;background:#fff1eb;border-radius:9px;padding:13px;font-size:13px;margin-top:15px}.notice{background:#eff6fa;color:#597d91;border-radius:9px;padding:12px;font-size:12px;margin:14px 0}.photos{display:flex;gap:8px;margin:12px 0}.photos a{display:block}.photos img{height:90px;width:110px;object-fit:cover;border-radius:7px;border:1px solid #dce7ee}
.modalBackdrop{position:fixed;inset:0;background:#0b293e65;z-index:10;padding:30px 16px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.modal{width:650px;max-width:100%;max-height:92vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 20px 90px #09293c44;padding:27px}.modalHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modalHead h2{margin:0}.modalFoot{display:flex;gap:10px;justify-content:flex-end;padding-top:24px}.dialogStop{padding:16px;background:#f5f9fc;border-radius:10px;margin-bottom:12px}.dialogStop .fields{grid-template-columns:1fr 100px auto;align-items:end;gap:10px}.dialogStop .btn{height:41px;padding:8px}.timeline{border-left:2px solid #e1ebf1;margin:20px 6px;padding-left:21px}.timeline article{position:relative;margin-bottom:22px}.timeline article:before{content:"";position:absolute;left:-27px;top:4px;width:8px;height:8px;border:2px solid white;border-radius:50%;background:#4786af}.timeline strong{font-size:13px}.timeline p{font-size:12px;color:#6c8392}.timeline code{font-family:inherit;white-space:pre-wrap;font-size:12px;line-height:1.6;color:#496a7d}.loginLayout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.loginHero{background:var(--brand-blue);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.loginHero h1{font-size:48px;line-height:1.13;letter-spacing:-2px;max-width:460px}.loginHero p{color:#fff;max-width:370px;margin-top:25px;font-size:15px}.loginFormArea{display:flex;flex-direction:column;padding:32px 50px;background:#fff}.loginFormArea .language{align-self:flex-end}.loginBox{width:100%;max-width:390px;margin:auto}.loginBox h2{font-size:26px;margin:10px 0 9px}.loginBox .fields{grid-template-columns:1fr;margin-top:28px}.loginBox .btn.primary{width:100%;margin-top:22px}.demoBox{border-top:1px solid #e1e9ef;margin-top:30px;padding-top:22px}.demoButtons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.demoButtons .btn{font-size:11px;min-height:33px;padding:7px 10px}.loginFoot{font-size:11px;color:#8a9eaa;margin-top:40px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--brand-blue);color:white;border-radius:10px;padding:13px 24px;z-index:30;font-size:13px;box-shadow:0 6px 25px #17384f33;display:none}#toast.show{display:block}
.reviewChecks{border:1px solid #e1eaf0;background:#f8fbfd;border-radius:10px;padding:14px;margin:4px 0 16px}.reviewLine{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0}.reviewLine strong{font-size:12px}.reviewLine .muted{font-size:11px;margin:5px 0}.reviewChecks>.muted{font-size:11px}.badge.loadMatches,.badge.evidenceAttached{color:#397a5b;background:#e6f4eb}.badge.loadDifference,.badge.evidenceMissing{color:#a77522;background:#fff3d9}.badge.awaiting_provider,.badge.not_requested{color:#6a7f8c;background:#eaf0f5}.badge.removed{color:#9e655b;background:#fff0eb}.workdayPanel{margin-bottom:24px}.workdayPanel .stats{margin:18px 0 10px;grid-template-columns:repeat(3,1fr)}.workdayPanel .stat{background:#f9fcfe}.workdayPanel .titleRow{margin-bottom:10px}
@media(max-width:720px){.reviewLine{align-items:flex-start;flex-wrap:wrap}.workdayPanel .stats{grid-template-columns:1fr;gap:8px}.workdayPanel .stat{padding:12px 15px}.workdayPanel .stat strong{font-size:24px;margin:4px 0}.workdayPanel .titleRow{flex-wrap:wrap}.cardBottom{flex-wrap:wrap}.cardBottom .actions{margin-left:auto}}
@media(min-width:1450px){.content{padding-top:36px}.routeCard{margin-bottom:3px}}
@media(max-width:1050px){.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:25px 12px}.sidebar .brandMark{height:52px;padding:0 8px}.brand small{font-size:9px;letter-spacing:2px}.topbar{padding:18px 24px}.content{padding:24px}.customerCards{grid-template-columns:repeat(2,minmax(0,1fr))}.user{display:none}.loginHero{padding:45px}.loginHero h1{font-size:40px}.loginFormArea{padding:30px}.stats{gap:10px}.stat{padding:18px 15px}.stat .ico{right:12px}.stat span{font-size:11px}}
@media(max-width:720px){.layout{display:block}.sidebar{position:static;width:100%;padding:13px 16px;display:block}.sidebar .brand{display:flex;max-width:190px;margin-bottom:12px}.sidebar .brandMark{height:46px;padding:0 10px;border-radius:9px}.sidebar .brand small{display:none}.sidebar .site,.sidebarFoot{display:none}.nav{display:flex;gap:4px;overflow:auto}.nav button{white-space:nowrap;padding:10px 12px;font-size:12px}.nav .ico{font-size:15px}.topbar{padding:15px 18px;min-height:72px}.headerActions{gap:5px}.language{font-size:12px;max-width:130px}.content{padding:20px 16px 38px}.pilotBanner{align-items:flex-start;font-size:10px;line-height:1.5;margin-bottom:23px}.pilotBanner b{font-size:10px}h1{font-size:27px}.titleRow{align-items:flex-start}.titleRow .btn{font-size:11px;padding:10px 12px;white-space:nowrap}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:16px}.stat strong{font-size:29px}.stat .ico{top:15px;right:14px}.stat small{font-size:10px}.toolbar{flex-direction:column;align-items:stretch}.search{width:100%}.tabs{overflow:auto}.tabs button{flex:1;white-space:nowrap;padding:10px;font-size:11px}.cardTop{padding:18px 16px}.driverTitle{gap:10px}.driverTitle strong{font-size:14px}.reg{margin-left:5px;font-size:10px}.vehicleIcon{width:34px;height:34px;font-size:19px}.stopFlow{padding:0 16px 18px;font-size:12px;gap:8px}.connector{width:13px;margin:0}.cardBottom{padding:11px 16px}.cardBottom span{font-size:10px}.grid{grid-template-columns:1fr}.panel{padding:19px}.customerCards{grid-template-columns:1fr}.modal{padding:22px 18px;max-height:94vh}.modalBackdrop{padding:12px}.fields{gap:12px}.dialogStop .fields{grid-template-columns:1fr 80px}.dialogStop .btn{grid-column:1/-1}.loginLayout{display:block}.loginHero{padding:23px;min-height:250px;justify-content:flex-start;gap:25px}.loginHero .brand{max-width:230px}.loginHero .brandMark{height:60px}.loginHero h1{font-size:30px;max-width:340px;letter-spacing:-1px}.loginHero p{font-size:12px;margin-top:10px}.loginHero .loginFoot{display:none}.loginFormArea{padding:20px 25px 30px;min-height:600px}.loginBox{margin:35px auto auto}.loginBox h2{font-size:24px}.loginFoot{margin-top:28px}.metricRow strong{font-size:15px}.tableWrap{border-radius:10px}.listTable th,.listTable td{padding:14px 12px}}
.instructionList{display:grid;gap:12px;margin:16px 0 24px}.instructionCard{background:#fff9e9;border:1px solid #efdaa6;border-radius:12px;padding:16px}.instructionMessage{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.04rem;line-height:1.55}.instructionRecipients{display:grid;gap:10px}.instructionRecipients>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.badge.acknowledged,.badge.workdayFinished{background:#e3f4ea;color:#21683b}.badge.awaitingAcknowledgement,.badge.workdayOpen{background:#fff3d6;color:#826210}
.routeEditStops{display:grid;gap:14px;margin:14px 0}.routeEditStop{padding:16px;border:1px solid #dce7ee;border-radius:12px}.routeEditStop .fields{margin-top:12px}.routeEditStop .actions{margin-top:10px}.removedStop{opacity:.7;background:#fff0ed}.routeEditStop .titleRow{gap:12px}.routeEditStop .titleRow strong{overflow-wrap:anywhere}
.dialogStop .dispatchStopGrid{grid-template-columns:minmax(0,1fr) 100px auto;align-items:stretch;row-gap:7px}.dispatchStopGrid .stopLabel{grid-row:1;font-size:12px;font-weight:650;align-self:end}.dispatchStopGrid .customerLabel{grid-column:1}.dispatchStopGrid .loadedLabel{grid-column:2}.dispatchStopGrid>select{grid-column:1;grid-row:2}.dispatchStopGrid>input{grid-column:2;grid-row:2}.dialogStop .dispatchStopGrid>.btn{grid-column:3;grid-row:2}.dispatchStopGrid>select,.dispatchStopGrid>input,.dialogStop .dispatchStopGrid>.btn{height:41px;min-height:41px}.dispatchStopGrid .stopUnit{grid-column:2;grid-row:3;font-size:11px;color:#748d9d}
@media(max-width:720px){.dialogStop .dispatchStopGrid{grid-template-columns:minmax(0,1fr) 80px}.dialogStop .dispatchStopGrid>.btn{grid-column:1/-1;grid-row:4}}
.routeProvenance{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:11px;color:#6e8797}.routeCard>.routeProvenance{padding:0 23px 16px}.routeProvenance strong{color:#496c82;font-weight:650}
.customerModal{width:820px}.customerForm [hidden]{display:none!important}.customerForm[data-page=details] .modalFoot button[type=submit]{display:none}.configSteps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.configStep{background:#f4f8fb;border-color:#e0e8ef;text-align:center}.configStep.selected{background:#e6f3fc;border-color:#94c8e9;color:#0d679e}.customerPage .fields{margin:14px 0}.pageNavigation{display:flex;justify-content:flex-end;margin:14px 0 18px}.customerPage>.pageNavigation:first-child{justify-content:flex-start}.productConfigList{display:grid;gap:16px;margin:18px 0}.productConfig{border:1px solid #dbe7ee;border-radius:12px;padding:18px;background:#fbfdff}.productConfigHead{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px}.stockRules{margin-top:16px;background:white;border:1px solid #e0e9ef;border-radius:8px;padding:13px}.stockRules summary,.scheduleDay summary{font-size:13px;font-weight:700;cursor:pointer;line-height:1.5}.stockRules .muted{display:block;font-size:11px;margin-top:10px}.stockRules .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.stockRules .check{margin:12px 0}.stockRules .muted:last-child{line-height:1.6}.configHeading{margin-top:30px}.scheduleDay{border:1px solid #dce7ee;border-radius:10px;padding:14px 16px;margin:10px 0}.scheduleDay[open]{background:#fafcfe}.scheduleWindows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.scheduleWindow{background:white;border:1px solid #e0e9ef;border-radius:9px;padding:13px;min-width:0}.scheduleWindow>strong{font-size:12px}.scheduleWindow .check{font-size:11px;margin:8px 0 0}.scheduleWindow .field{font-size:11px}.scheduleWindow input[type=time]{width:100%;padding:9px 5px;font-size:13px;min-height:40px}.customerProducts .unit{margin:8px 0}.customerCards .badge.scheduleConfigured{color:#397a5b;background:#e6f4eb}.customerCards .muted{overflow-wrap:anywhere;min-height:0}.multiCustomerHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.multiCustomerHeader select{height:41px}.productLoadList{display:grid;gap:10px;margin-top:16px}.productLoadRow{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:15px;align-items:end;padding-top:12px;border-top:1px solid #e2eaf0}.productLoadRow strong{display:block;font-size:12px;overflow-wrap:anywhere}.productLoadRow small{display:block;margin:5px 0 10px;font-size:11px}.productLoadRow input{height:41px}.dispatchWindows{font-size:11px;line-height:1.6;margin:14px 0 0}.deliveryProductInputs{display:grid;gap:16px}.deliveryProductInput{padding:16px 0;border-top:1px solid #e2eaf0}.deliveryProductInput:first-child{border-top:0}.deliveryProductInput strong{font-size:14px}.deliveryProductInput .fields{margin-top:12px}.deliveryMetrics{display:grid;gap:12px;margin:16px 0}.deliveryMetrics .metricRow{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #e6edf2}.deliveryMetrics .metricRow:last-child{border-bottom:0}
@media(max-width:720px){.configSteps{gap:6px}.configStep{font-size:11px;padding:10px 8px}.productConfig{padding:14px}.stockRules .fields{grid-template-columns:1fr}.scheduleWindows{grid-template-columns:1fr}.scheduleDay{padding:13px}.scheduleWindow .fields{gap:8px}.customerPage>.fields{grid-template-columns:1fr}.productLoadRow{grid-template-columns:minmax(0,1fr) 80px;gap:10px}.multiCustomerHeader{grid-template-columns:minmax(0,1fr) auto}.multiCustomerHeader>.btn{grid-column:2}.productConfigHead .btn{padding:7px 9px;font-size:11px}.customerPage .notice{line-height:1.6}}
@media(max-width:720px){.routeCard>.routeProvenance{padding:0 16px 16px}}
.customerCardSchedule{margin-top:12px}.customerCardSchedule summary{font-size:12px;color:var(--brand-blue);cursor:pointer}.customerCardSchedule p{margin:10px 0;line-height:1.6}.customerProducts{max-height:200px;overflow:auto}
.productConfig .towelFields{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.15fr);align-items:end}.towelFields input,.towelFields select{height:41px}.collectionProductFields{padding-top:14px;border-top:1px solid #e1eaf0}.collectionProductFields input,.collectionProductFields select{height:41px}.collectionConfig{border:1px solid #dce7ee;background:#f6fafc;border-radius:10px;margin:24px 0;padding:18px}.collectionConfig .muted{line-height:1.6}.collectionProductFields .field{font-size:11px}.deliveryProductInput .fields.collectionEntry{grid-template-columns:repeat(3,minmax(0,1fr))}
.deliveryMetrics:has(.metricRow>div:nth-child(3)) .metricRow{grid-template-columns:repeat(3,minmax(0,1fr))}
.reviewFilters{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.2fr;gap:18px;margin:24px 0 14px}.reviewStats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.reviewStats section{padding:18px 22px;background:white;border:1px solid #dce7ee;border-radius:12px}.reviewStats small{display:block;font-size:12px;color:#6a8597}.reviewStats strong{display:block;font-size:30px;margin-top:12px}.reviewRecords{display:grid;gap:12px}.reviewRecord{background:white;border:1px solid #dce7ee;border-radius:12px}.reviewRecord>summary{padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none}.reviewRecord>summary:after{content:'⌄';color:#668799}.reviewIdentity{flex:1;min-width:0}.reviewIdentity strong{font-size:15px;overflow-wrap:anywhere}.reviewIdentity small{display:block;font-size:11px;color:#6e8797;margin-top:8px}.reviewSignals{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.reviewBody{border-top:1px solid #e2eaf0;padding:22px}.reviewActions,.reviewLinks{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px}.reviewLinks{padding-top:18px;border-top:1px solid #e2eaf0}.reviewPagination{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:22px 0}.reviewPagination .actions{gap:12px}.correctionRequests{background:#fff8e9;border:1px solid #eddbb5;border-radius:9px;padding:14px;margin:15px 0}.correctionRequests strong{font-size:12px}.correctionRequests p{font-size:13px}.correctionRequests small{display:block;color:#738390;font-size:11px;margin-top:7px}.badge.rejected{background:#fff0ee;color:#a1483d}.badge.samplePod{background:#edeafa;color:#6a52a1}.photos>div{position:relative;display:grid;gap:7px;max-width:180px}.photos .podThumbnail{width:180px;height:110px;pointer-events:none}.photos .photoButton{position:absolute;inset:0 0 28px;opacity:0;z-index:1}.photos .photoButton:focus{opacity:1}.podPreview{width:100%;max-height:65vh;object-fit:contain;border-radius:8px}
@media(max-width:720px){.reviewFilters{grid-template-columns:1fr 1fr;gap:14px}.reviewStats{grid-template-columns:1fr 1fr;gap:10px}.reviewStats section{padding:16px}.reviewRecord>summary{padding:16px;align-items:flex-start;flex-wrap:wrap}.reviewIdentity{flex-basis:100%}.reviewSignals{justify-content:flex-start}.reviewBody{padding:17px}.reviewActions{gap:14px}.reviewActions .btn{flex:1;min-width:120px}.reviewPagination{align-items:flex-start;flex-direction:column}.reviewPagination .actions{width:100%;justify-content:space-between}}
@media(max-width:520px){.productConfig .towelFields{grid-template-columns:repeat(2,minmax(0,1fr))}.towelFields>.field:first-child{grid-column:1/-1}.collectionConfig>.fields,.collectionProductFields{grid-template-columns:1fr}.deliveryProductInput .fields.collectionEntry{grid-template-columns:repeat(2,minmax(0,1fr))}.deliveryProductInput .collectionEntry .field:last-child{grid-column:1/-1}}
/* Shift checks remain readable on phones and long checklists scroll in the dialog. */
.laundryPicker{display:grid;gap:5px;min-width:160px;max-width:300px}.laundryPicker small{font-size:11px;color:#637d8e}.laundryPicker select{min-height:42px;font-size:14px;font-weight:600;background:#f3f8fc;border:1px solid #d5e3ec;border-radius:9px;padding:8px 28px 8px 12px;max-width:100%}.driverPicker{display:grid;gap:8px;align-content:start}.driverPicker>.btn{justify-self:start}.driverPicker>small{line-height:1.5;font-size:11px}.locationConfig{border:1px solid #dce7ee;background:#f8fbfd;border-radius:12px;padding:20px;margin:22px 0 0}.locationConfig h3{margin:0 0 16px}.locationConfig h4{font-size:13px;margin:20px 0 10px}.locationConfig .check{margin:12px 0}.locationConfig>.muted{font-size:12px;line-height:1.6}.sharedLocations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.locationSummary{min-width:150px;max-width:260px}.locationSummary strong,.locationSummary small{display:block}.locationSummary small{font-size:11px;color:#708899;margin-top:7px;line-height:1.5}.siteSetup{margin-top:24px}.siteSetup .actions{margin-top:18px;gap:12px}.siteSetup p{line-height:1.7;max-width:700px}
@media(max-width:720px){.topbar{align-items:flex-start;gap:12px;flex-wrap:wrap}.laundryPicker{min-width:140px;flex:1;max-width:100%}.laundryPicker select{font-size:12px}.headerActions{flex-wrap:wrap}.sharedLocations{grid-template-columns:1fr}.driverPicker>.btn{font-size:11px;padding:9px 10px}.locationConfig{padding:16px}}
.driverCheckPanel{border:1px solid #dbe6ec;border-radius:16px;background:#f8fbff;padding:18px;margin:16px 0;}
.inspectionPoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.inspectionPoint{min-width:0;border:1px solid #dbe6ec;padding:16px;border-radius:12px;background:#f8fbff;}
.inspectionPoint strong{display:block;margin-bottom:10px;}
.inspectionPoint .field{margin:0;}
.inspectionPoint textarea,.inspectionPoint select{width:100%;}
.inspectionCards{display:grid;gap:16px;}
.customerDeletedFilter{margin:0 0 20px}.customerActions{gap:14px;margin-top:16px}.customerDeleteQuestion{font-size:16px;font-weight:700;margin-bottom:14px}.deletedCustomer{background:#f8fafc;border-style:dashed}
.dispatchDateHint{display:grid;gap:6px;padding:12px 14px;background:#eef6fc;border:1px solid #d3e7f7;border-radius:9px;margin-top:4px}.dispatchDateHint strong{font-size:13px;line-height:1.5;color:#16669a}.dispatchDateHint small{font-size:11px;line-height:1.5;font-weight:400;color:#617d8e}.dispatchDateHint.past{background:#fff8ee;border-color:#f0dfbd}.dispatchDateHint.past strong{color:#8b651b}.dispatchDateHint[hidden]{display:none}
.inspectionGroupHead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.inspectionGroupHead h3{font-size:19px;letter-spacing:.5px;margin:0}.inspectionGroupHead>span{font-size:13px;color:#617d8e}.inspectionSession+.inspectionSession{border-top:1px solid #dce7ee;margin-top:22px;padding-top:22px}.inspectionDriver{font-size:14px;margin:0 0 14px}.inspectionPair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.inspectionSide{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #cfe3d8;border-radius:12px;background:#f5fbf7}.inspectionSide.end{border-color:#ecd4d5;background:#fdf7f7}.inspectionSide.missing{background:#f8fafc;border-color:#e0e8ee}.inspectionSideHead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.inspectionSideHead h4{font-size:13px;margin:0}.inspectionSide>.muted{margin:5px 0 10px;overflow-wrap:anywhere}.inspectionSideActions{display:grid;gap:12px;margin-top:auto;padding-top:14px}.inspectionSideActions .btn{width:100%;min-height:46px}.btn.inspectionStart{color:white;background:#16764d;border-color:#16764d}.btn.inspectionStart:hover{background:#105f3d}.btn.inspectionFinish{color:white;background:#b53137;border-color:#b53137}.btn.inspectionFinish:hover{background:#9e252b}
@media(max-width:720px){.inspectionPair{grid-template-columns:1fr;gap:14px}.inspectionGroupHead{align-items:flex-start;flex-wrap:wrap;gap:8px}.inspectionSide{padding:16px}}
.inspectionResults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0;}
.inspectionResults p{margin:0;padding:10px;border-bottom:1px solid #dbe6ec;overflow-wrap:anywhere;}
.inspectionVideo{display:block;width:100%;max-height:60vh;margin:14px 0;background:#152e40;border-radius:12px;}
.badge.awaiting_video{background:#fff4d6;color:#805e12;}.badge.video_saved{background:#e1f4e8;color:#215d39;}.badge.exception{background:#fff0df;color:#835310;}
@media(max-width:720px){.inspectionPoints,.inspectionResults{grid-template-columns:minmax(0,1fr);}.driverCheckPanel{padding:14px;}.inspectionPoint{padding:12px;}.inspectionCards .titleRow{align-items:flex-start;}}

.approvalLock{margin:18px 0;padding:16px 18px;background:#edf7f2;border:1px solid #c9e6d8;border-radius:10px;color:#245c43}.approvalLock strong{display:block;font-size:14px}.approvalLock .muted{color:#47735f;line-height:1.6;margin:8px 0 0}.routeEditStop input[readonly]{background:#f1f5f7;color:#597080;cursor:default}
.departureButton{display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:16px;width:calc(100% - 46px);margin:8px 23px 22px;padding:18px 26px 18px 14px;border:1px solid #296e98;border-radius:16px;background:linear-gradient(115deg,var(--brand-blue-hover),var(--brand-blue));color:white;text-align:left;cursor:pointer;box-shadow:0 7px 18px #15436419;min-height:145px}.departureButton:hover{background:linear-gradient(115deg,var(--brand-blue),#1683c8)}.departureButton:focus-visible{outline:3px solid #64bde6;outline-offset:4px}.departureButton:disabled{opacity:.7;cursor:wait}.departureLabel{font-size:23px;font-weight:750;letter-spacing:-.4px}.departureArrow{font-size:30px;color:#a4def5}.details>.departureButton{width:100%;margin:0 0 22px}.vanScene{position:relative;width:210px;height:108px;display:block;overflow:hidden}.lutonVan{position:absolute;width:208px;height:95px;left:0;top:3px;animation:vanRide 2s ease-in-out infinite}.vanBox{position:absolute;top:5px;left:14px;width:132px;height:68px;background:linear-gradient(165deg,#fff,#e3ecf1);border:1px solid #fff;border-radius:5px 7px 3px 3px;box-shadow:inset 0 -4px #c3d4e0}.vanBox:after{content:'';position:absolute;right:-32px;top:-1px;width:35px;height:26px;background:linear-gradient(145deg,#fff,#dfe9ef);border-radius:0 12px 6px 0;border-top:1px solid #fff}.vanBrand{position:absolute;left:8px;top:12px;width:116px;height:39px;object-fit:contain}.vanTravel{position:absolute;width:208px;height:101px;left:0;top:0}.vanChassis{position:absolute;left:11px;top:70px;width:186px;height:11px;border-radius:2px;background:linear-gradient(#37444d,#15232c)}.vanTailLift{position:absolute;left:8px;top:12px;width:6px;height:71px;border:1px solid #9babb6;border-radius:1px;background:linear-gradient(90deg,#cbd4da,#eef3f6,#94a5af)}.vanTailLift:after{content:"";position:absolute;left:-5px;bottom:0;width:7px;height:17px;border-radius:1px;background:#ed9042;border:1px solid #c57431}.vanMirror{position:absolute;left:182px;top:46px;width:6px;height:11px;border-radius:2px;background:#263b49;border:1px solid #567284}.vanBumper{position:absolute;left:193px;top:69px;width:6px;height:10px;border-radius:2px;background:#3c5261}.vanDoor{position:absolute;left:5px;top:26px;width:24px;height:11px;border-bottom:1px solid #adbdc9;border-left:1px solid #adbdc9;border-radius:0 0 0 2px}.vanDoor:after{content:"";position:absolute;left:3px;top:0;width:6px;height:2px;border-radius:1px;background:#697f8e}.vanCab{position:absolute;left:147px;top:34px;width:49px;height:41px;background:#edf4f8;clip-path:polygon(0 0,60% 0,94% 45%,100% 100%,0 100%);border-radius:0 4px 3px 0;box-shadow:inset 0 -5px #bccdd8}.vanWindow{position:absolute;left:7px;top:5px;width:31px;height:20px;background:linear-gradient(135deg,#5689a7,#163e5d);clip-path:polygon(0 0,55% 0,100% 100%,0 100%)}.vanLight{position:absolute;right:1px;bottom:10px;width:7px;height:7px;background:#ffd979;border-radius:2px}.vanWheel{position:absolute;top:65px;width:29px;height:29px;background:#183143;border:3px solid #102738;border-radius:50%;box-shadow:0 0 0 2px #c5d2dc;display:grid;place-items:center}.vanWheel.rear{left:38px}.vanWheel.front{left:158px}.vanSpokes{width:17px;height:17px;display:block;border-radius:50%;border:2px solid #9eb2c1;background:conic-gradient(#e0eaf1 0 15deg,#657f92 15deg 70deg,#e0eaf1 70deg 85deg,#657f92 85deg 140deg,#e0eaf1 140deg 155deg,#657f92 155deg 210deg,#e0eaf1 210deg 225deg,#657f92 225deg 280deg,#e0eaf1 280deg 295deg,#657f92 295deg 360deg);animation:vanWheelTurn 1s linear infinite}.vanRoad{position:absolute;left:0;right:0;bottom:1px;height:3px;border-top:1px solid #64b4d960;background:repeating-linear-gradient(90deg,transparent 0 20px,#a4d7eb70 20px 39px,transparent 39px 60px);animation:vanRoadMove 1s linear infinite}.driverCheckPanel .actions{gap:16px;margin-top:18px}.driverCheckPanel .actions .btn{min-height:44px;padding:12px 17px}.inspectionVideoActions{display:grid;justify-items:start;gap:14px;margin:18px 0}.inspectionVideoActions .btn{min-height:46px}.videoCaptureActions{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0 20px}.videoCaptureActions .btn{min-height:48px}.videoSelection{padding:14px 16px;background:#f2f6f9;border-radius:10px;overflow-wrap:anywhere;font-size:13px}.inspectionPoint .field{margin-top:10px}.inspectionPoint [hidden]{display:none}.modalFoot{gap:16px}
@keyframes vanWheelTurn{to{transform:rotate(360deg)}}@keyframes vanRoadMove{to{background-position:-60px 0}}@keyframes vanRide{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:720px){.departureButton{grid-template-columns:128px minmax(0,1fr) 18px;gap:10px;margin:8px 17px 20px;width:calc(100% - 34px);padding:12px 15px 12px 8px;min-height:112px}.vanScene{width:128px;height:80px}.vanTravel{transform-origin:0 0;scale:.64;top:9px}.vanRoad{bottom:8px}.departureLabel{font-size:19px}.departureArrow{font-size:23px}.driverCheckPanel .actions{display:grid;grid-template-columns:1fr;gap:14px}.driverCheckPanel .actions .btn{width:100%}.videoCaptureActions{display:grid;grid-template-columns:1fr;gap:14px}.videoCaptureActions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.lutonVan,.vanSpokes,.vanRoad{animation:none}}
.btn.vehicleChange{background:#16764d;border-color:#16764d;color:white;box-shadow:0 3px 8px #16764d20}.btn.vehicleChange:hover{background:#105f3d;border-color:#105f3d}.btn.workdayFinish{background:#b53137;border-color:#b53137;color:white;animation:workdayFinishPulse 2.8s ease-in-out infinite}.btn.workdayFinish:hover{background:#9e252b;border-color:#9e252b;animation:none}.btn.workdayFinish:disabled{animation:none}
@keyframes workdayFinishPulse{0%,100%{background-color:#b53137;box-shadow:0 0 0 0 #b5313700}50%{background-color:#cc3b42;box-shadow:0 0 0 5px #b5313718}}
.handoverModal{width:600px}.handoverHero{display:flex;align-items:center;justify-content:center;gap:38px;background:linear-gradient(115deg,var(--brand-blue-hover),var(--brand-blue));border-radius:14px;padding:24px 16px;margin-bottom:22px;overflow:hidden}.handoverClipboard{display:grid;gap:10px;padding:16px 12px;border:2px solid #a9d7e9;border-radius:8px;background:#ffffff12;position:relative}.handoverClipboard:before{content:'';position:absolute;top:-6px;left:30px;width:24px;height:9px;border-radius:4px;background:#a9d7e9}.handoverCheck{display:flex;gap:9px;align-items:center}.handoverCheck>span{color:#a9edc8;font-size:16px;font-weight:750;animation:handoverCheckIn 2.4s ease-in-out calc(var(--check-order)*.2s) 3 both}.handoverCheck>i{display:block;width:32px;height:3px;background:#a9d7e9;border-radius:2px}.handoverVehicles{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center}.handoverRegistration{padding:13px 16px;border:1px solid #d8e5ed;border-radius:10px;background:#f6f9fc}.handoverRegistration:last-child{border-color:#b8dec9;background:#eff9f3}.handoverRegistration small{display:block;font-size:11px;color:#627e8f;margin-bottom:7px}.handoverRegistration strong{font-size:19px;letter-spacing:.6px;overflow-wrap:anywhere}.handoverArrow{color:#4284aa;font-size:25px}.handoverExplanation{font-size:14px;line-height:1.7;margin:20px 0}.handoverSteps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.handoverSteps li{display:flex;gap:11px;align-items:center;font-size:13px;color:#526e80}.handoverSteps li>span{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#eaf3fa;color:#226d9a;font-size:12px;font-weight:700}.handoverSteps li.done>span{background:#e3f4ea;color:#21683b}.handoverModal .modalFoot{padding-top:26px}
@keyframes handoverCheckIn{0%,15%{opacity:.25;transform:scale(.75)}35%,100%{opacity:1;transform:scale(1)}}
@media(max-width:720px){.handoverHero{gap:28px;padding:18px 12px}.handoverRegistration{padding:12px 10px}.handoverRegistration strong{font-size:16px}.handoverVehicles{gap:8px}.handoverModal .modalHead{gap:14px}.handoverModal .modalHead h2{line-height:1.35}.handoverModal .modalFoot .btn{flex:1}.handoverExplanation{font-size:13px}}
.handoverContinue{font-size:14px;font-weight:700;margin:20px 0 14px}
@media(prefers-reduced-motion:reduce){.btn.workdayFinish,.handoverCheck>span{animation:none}}
.workdayPanel{padding:24px;background:#fff;border:1px solid #dce7ee;border-radius:14px;margin:0 0 26px}.workdayStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 22px}.workdayStats>div{padding:20px;background:#f5f9fc;border:1px solid #e0eaf2;border-radius:12px;min-width:0}.workdayStats small{display:block;color:#647e90;font-size:12px;margin-bottom:12px}.workdayStats strong{display:block;color:#173a52;font-size:25px;line-height:1.35}.workdayPanel>.titleRow{margin-bottom:20px}.workdayPanel>.btn{margin-top:18px}.driverCheckPanel{margin:22px 0;padding:20px;background:#f6f9fb;border:1px solid #dce7ee;border-radius:12px}.photoCapture{padding:20px 0;margin:18px 0;border-top:1px solid #e0e8ee}.captureActions{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.capturePreviews{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0}.capturePreviews>div{display:grid;gap:10px;width:140px}.capturePreviews img{width:140px;height:110px;object-fit:cover;border-radius:9px;border:1px solid #dce7ee}.capturePreviews>div .btn{justify-self:start}.rejectDetails{padding:16px;background:#fff8ee;border:1px solid #f0ddba;border-radius:12px;margin:20px 0}.rejectDetails[hidden],.signatureArea[hidden],.customerReceipt section[hidden]{display:none}.customerReceipt{margin:28px 0;padding:24px;background:#f7fafc;border:1px solid #dce7ee;border-radius:13px;display:grid;gap:22px}.signatureArea canvas{display:block;width:100%;max-width:600px;aspect-ratio:3/1;background:#fff;border:2px dashed #a9becd;border-radius:10px;touch-action:none;margin:16px 0;cursor:crosshair}.signatureArea .btn{margin-top:8px}.confirmationPhotos{margin:24px 0}.rejectSummary,.deliveryProof{margin:22px 0;padding-top:18px;border-top:1px solid #e0e8ee}.deliveryProof .photos{margin:16px 0}.deliveryConfirmation>.deliveryMetrics{margin:20px 0}.deliveryEntry .modalFoot,.deliveryConfirmation .modalFoot{margin-top:28px;gap:18px}
@media(max-width:720px){.workdayPanel{padding:18px}.workdayStats{grid-template-columns:1fr;gap:12px}.workdayStats>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.workdayStats small{margin:0;font-size:12px}.workdayStats strong{font-size:21px;white-space:nowrap}.customerReceipt{padding:16px;gap:18px}.captureActions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.captureActions .btn{font-size:12px;padding:12px}.signatureArea canvas{min-height:140px}.deliveryConfirmation .modalFoot{display:grid;grid-template-columns:1fr}.deliveryConfirmation .modalFoot .btn{width:100%}}
.auditStop{display:inline-block;background:#edf5fc;color:#186ba1;padding:7px 10px;margin:10px 0 4px;border-radius:7px;font-size:13px;font-weight:650}.badge.signatureCaptured{background:#e8f4ed;color:#428166}
.photos{flex-wrap:wrap}.photos>div{max-width:100%}.photos .podThumbnail{max-width:100%}
.journeyLabel{display:grid;gap:12px;min-width:0}.journeyLabel small{color:#c6e9ef;font-size:12px;line-height:1.6;font-weight:450}.finishButton{background:linear-gradient(115deg,#103f51,#087a7a);border-color:#176b77}.finishButton:hover{background:linear-gradient(115deg,#165263,#0a8b89)}.finishButton .vanRoad,.finishButton .vanSpokes{animation-direction:reverse}.finishButton .departureArrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid #83ddd4;border-radius:50%;color:#d2fff6;animation:arrivalGlow 2.4s ease-in-out infinite}.cameraPreview{display:block;width:100%;max-height:55vh;object-fit:contain;border-radius:12px;background:#142c3e;margin:18px 0}.cameraActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px;margin-top:24px}.cameraActions .btn{min-height:46px}.cameraCapture [hidden],.customerReceipt [hidden]{display:none}.rejectLines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rejectLines section{padding:16px;background:#fff;border:1px solid #eadbc4;border-radius:9px}.rejectLines h3{font-size:14px;margin-bottom:16px}
@keyframes arrivalGlow{50%{box-shadow:0 0 0 7px #8fd4cb14}}
@media(max-width:720px){.finishButton{grid-template-columns:118px minmax(0,1fr) 24px;gap:9px;padding-right:13px}.finishButton .vanScene{width:118px}.finishButton .departureArrow{width:26px;height:26px;font-size:17px}.journeyLabel small{font-size:10px}.cameraActions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cameraActions .btn{width:100%}.rejectLines{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.finishButton .departureArrow{animation:none}}

.journeyRunning:disabled{opacity:1}.journeyRunning .vanTravel{animation:vanDepart .65s cubic-bezier(.45,0,.7,1) both}.finishButton.journeyRunning .vanTravel{animation:vanReturn .65s cubic-bezier(.45,0,.7,1) both}.journeyRunning .vanSpokes{animation-duration:.3s}.journeyRunning .vanRoad{animation-duration:.35s}@keyframes vanDepart{0%{transform:translateX(0)}20%{transform:translateX(-4px)}100%{transform:translateX(220px)}}@keyframes vanReturn{0%{transform:translateX(0)}20%{transform:translateX(4px)}100%{transform:translateX(-220px)}}@media(prefers-reduced-motion:reduce){.journeyRunning .vanTravel{animation:none}}

.routeRegistration{padding:0;border:0;background:none;color:#173a52;font-size:23px;font-weight:800;letter-spacing:.7px;cursor:pointer;text-align:left}.routeRegistration:hover{text-decoration:underline}.routeRegistration:focus-visible{outline:3px solid #64bde6;outline-offset:5px;border-radius:3px}.workdayActions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.workdayActions .btn{min-height:48px;padding:13px 20px}.currentVehicleReg{display:block;font-size:22px;letter-spacing:.7px;margin-top:6px}.toolbar>.field{margin:0}.workdayPanel>.notice{margin:18px 0}.workdayPanel>.driverCheckPanel{margin-top:20px}@media(max-width:720px){.workdayActions{display:grid;grid-template-columns:1fr;gap:14px}.workdayActions .btn{width:100%}.routeRegistration{font-size:21px}.toolbar>.field{width:100%}}
.driverWorkday{padding:20px 24px;margin-bottom:22px}.driverWorkday>.titleRow{margin-bottom:10px;gap:12px}.driverWorkday>.titleRow>div{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.driverWorkday>.titleRow h2,.driverWorkday>.titleRow p{margin:0}.driverWorkday .workdayStats{margin:14px 0;gap:14px}.driverWorkday .workdayStats>div{padding:14px 18px}.driverWorkday .workdayStats small{margin-bottom:8px}.driverWorkday .workdayStats strong{font-size:23px}.workdayTotalsHelp{font-size:12px;color:#617b8d;margin-top:10px}.workdayTotalsHelp summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}.workdayTotalsHelp p{line-height:1.6}.driverWorkday .driverCheckPanel{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;margin:18px 0 0}.driverWorkday .driverCheckPanel .titleRow{margin:0;flex:1;min-width:180px;gap:14px}.driverWorkday .driverCheckPanel .actions{margin:0;gap:12px}.driverWorkday .driverCheckPanel>p{flex-basis:100%;margin:0}.driverWorkday .workdayActions{margin-top:16px}.badge.workdayNotStarted{background:#edf2f6;color:#586f7f}@media(max-width:720px){.driverWorkday{padding:18px}.driverWorkday .workdayStats{gap:12px}.driverWorkday .workdayStats>div{padding:14px}.driverWorkday .driverCheckPanel .actions{width:100%}.driverWorkday .workdayStats strong{font-size:21px}}

.vanFacing{position:relative;display:block;width:208px;height:101px}.finishButton .vanFacing,.returnJourney .vanFacing{transform:scaleX(-1)}.finishButton .vanBrand,.returnJourney .vanBrand{transform:scaleX(-1)}
.departureStart [hidden]{display:none}
.deliveryStop.stopFocus{padding:20px;border:1px solid #d4e4ed;border-radius:12px;margin:14px 0}.deliveryStop.stopFocus.current{background:#f0f8ff;border-color:#73b8e4;box-shadow:0 0 0 3px #459eda12;animation:currentStopGlow 2.8s ease-in-out infinite}.deliveryStop.stopFocus.next{background:#f7fafc;border-style:dashed}.stopFocus .stopHeader{gap:14px;align-items:center;flex-wrap:wrap}.stopFocus .stopHeader h3{margin:0;line-height:1.5}.stopState{display:inline-flex;gap:8px;align-items:center;flex:none;padding:7px 11px;border-radius:20px;font-size:11px;font-weight:700}.stopState.current{background:#146da3;color:white}.stopState.next{background:#e8f0f5;color:#4a6a7e}.stopState.current i{width:7px;height:7px;border-radius:50%;background:#c2f4dc;animation:currentStopDot 2.8s ease-in-out infinite}@keyframes currentStopGlow{50%{box-shadow:0 0 0 5px #459eda23}}@keyframes currentStopDot{50%{opacity:.5;box-shadow:0 0 0 3px #c2f4dc30}}@media(prefers-reduced-motion:reduce){.deliveryStop.stopFocus.current,.stopState.current i{animation:none}}@media(max-width:720px){.deliveryStop.stopFocus{padding:16px}.stopFocus .stopHeader{align-items:flex-start}}
.returnJourney{background:linear-gradient(125deg,#eef9f6,#edf6fc);border-color:#b9dcd3}.routeCard>.returnJourney{margin:0 23px 22px}.returnJourneyHead{display:flex;align-items:center;gap:26px}.returnJourneyHead .vanScene{flex:none;background:linear-gradient(115deg,#123d59,#087a7a);border-radius:12px;height:112px}.returnJourneyHead h2{font-size:25px;line-height:1.35;margin:0}.returnJourneyHead .eyebrow{color:#257257;line-height:1.6}.returnJourney .vanTravel{animation:returnJourneyDrive 3.8s ease-in-out 2 both}.returnJourney .vanSpokes{animation-direction:reverse}.returnJourney .vanRoad{animation-direction:reverse}.returnJourneyHelp{font-size:13px;line-height:1.75;margin:18px 0}.returnMaps{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.returnMaps .btn{min-height:46px;font-size:13px;padding:11px 17px}.returnArrival{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #c8e2da;margin-top:22px;padding-top:18px}.returnArrival p{margin:0}.returnArrival .btn{min-height:44px}
@keyframes returnJourneyDrive{0%{transform:translateX(210px)}25%,90%{transform:translateX(0)}100%{transform:translateX(0)}}
.completedDelivery{border-top:1px solid #e0e9ef}.completedDelivery:first-of-type{border-top:0}.completedDelivery>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:18px 0;cursor:pointer}.completedDelivery>summary::-webkit-details-marker{display:none}.deliveryDoneIcon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#e2f4ea;color:#297449}.completedDelivery>summary>div{flex:1;min-width:0}.completedDelivery>summary strong{font-size:14px;line-height:1.5;display:block;overflow-wrap:anywhere}.completedDelivery>summary small{display:block;font-size:11px;color:#6e8797;margin-top:5px}.completedDeliveryToggle{font-size:12px;color:#166da1;white-space:nowrap}.completedDeliveryToggle:after{content:' ▾'}.completedDelivery[open] .completedDeliveryToggle:after{content:' ▴'}.completedDeliveryBody{padding:0 12px 12px}.completedDeliveryBody .deliveryStop{border-top:0}.nextDeliveryNotice h2{margin-bottom:14px}.routeTools .btn{width:160px;max-width:100%;min-height:44px;font-size:13px;padding:11px 17px}.routeTools{gap:14px}
.cameraWaiting{display:grid;place-items:center;min-height:170px;border:1px dashed #b9ccd9;border-radius:12px;background:#f3f8fc;margin:18px 0}.cameraWaiting>span{font-size:48px;color:#3c84b2;animation:cameraWaitingPulse 1.6s ease-in-out infinite}.cameraCapture video[hidden]{display:none}.cameraCapture .cameraActions{gap:14px}.cameraCapture .cameraActions .btn{min-width:115px}.cameraCapture .cameraActions .btn[hidden]{display:none}
@keyframes cameraWaitingPulse{50%{opacity:.35;transform:scale(.9)}}
@media(max-width:720px){.routeCard>.returnJourney{margin:0 16px 18px;padding:16px}.returnJourneyHead{gap:14px;align-items:center}.returnJourneyHead .vanScene{width:128px;height:82px}.returnJourneyHead h2{font-size:20px}.returnJourneyHead .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:6px}.returnMaps{display:grid;grid-template-columns:1fr;width:100%;gap:12px}.returnMaps .btn{width:100%;min-height:46px}.returnArrival{gap:12px}.returnArrival .btn{width:100%}.completedDelivery>summary{flex-wrap:wrap;gap:10px}.completedDeliveryToggle{margin-left:44px}.completedDeliveryBody{padding:0}.routeTools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.routeTools .btn{width:100%;min-width:0}.cameraActions{grid-template-columns:1fr}.cameraCapture .cameraActions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.returnJourney .vanTravel,.cameraWaiting>span{animation:none}}

@media(max-width:720px){.completedDelivery>summary>div{flex:1 1 calc(100% - 48px)}.completedDeliveryToggle{flex-basis:calc(100% - 44px)}}
.returnJourney.outboundJourney .vanFacing,.returnJourney.outboundJourney .vanBrand{transform:none}.returnJourney.outboundJourney .vanTravel{animation:nextStopDrive 3.8s ease-in-out 2 both}.returnJourney.outboundJourney .vanSpokes,.returnJourney.outboundJourney .vanRoad{animation-direction:normal}.deliverySuccess{display:flex;align-items:center;gap:12px;margin:20px 0;color:#246d4d;line-height:1.6;font-size:14px}.deliverySuccess>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#d7f0e1;font-size:22px;animation:deliverySavedPop .55s ease-out both}.outboundJourney{animation:journeyReveal .4s ease-out both}
.routeTools .btn{width:160px;height:44px;min-height:44px;line-height:18px;flex:0 0 160px;box-sizing:border-box}.routeEditSection{border:0;padding:0;margin:0;min-width:0}.routeEditSection[hidden]{display:none}.routeEditTabs{margin-bottom:22px}@media(max-width:720px){.routeTools .btn{width:100%;flex:auto}}
@keyframes nextStopDrive{0%{transform:translateX(-210px)}25%,100%{transform:translateX(0)}}@keyframes deliverySavedPop{0%{transform:scale(.4);opacity:0}65%{transform:scale(1.13)}100%{transform:scale(1);opacity:1}}@keyframes journeyReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.returnJourney.outboundJourney .vanTravel,.deliverySuccess>span,.outboundJourney{animation:none}}
.mileageConfirmation{z-index:120}.mileageConfirmIcon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#fff1d0;color:#815700;font-size:30px;font-weight:800;margin-bottom:20px}.mileageComparison{padding:12px 16px;background:#f3f7fb;border-radius:12px;color:#18364b}.mileageAlert{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.mileageAlert p{margin-bottom:0}.mileageReviewSection{margin-bottom:30px}.mileageReviewCard .actions{margin-top:18px;gap:14px}.navCount{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;background:#a83820;color:white;border-radius:20px;margin-left:auto;font-size:12px}.badge.mileageAwaitingReview{background:#fff1d0;color:#815700}.badge.mileageReviewed{background:#e2f4e9;color:#246a44}@media(max-width:720px){.mileageAlert{flex-direction:column;align-items:stretch}}

/* Schedule-led preparation board: compact rows, expandable evidence */
.content:has(.dispatchPlan){padding-top:20px}.content:has(.dispatchPlan) .pilotBanner{margin-bottom:18px;padding:8px 12px}
.dispatchPlan>.titleRow{margin-bottom:14px}.dispatchPlan>.titleRow .eyebrow{margin-bottom:7px}.dispatchPlan h1{font-size:28px;margin-bottom:4px}.dispatchPlan>.titleRow .muted{margin:0}
.planBoardHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.planDay{font-size:15px;line-height:1.5;margin:0;text-transform:none;letter-spacing:0}.planDateToolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.planDateToolbar>.btn{min-height:38px;white-space:nowrap;flex-shrink:0}.planDateToolbar label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;margin:0}.planDateToolbar input{font-size:12px;padding:8px 10px;width:144px;height:38px}.planDateToolbar .tabs{padding:3px;flex-shrink:0;display:grid;grid-template-columns:repeat(2,1fr)}.planDateToolbar .tabs .btn{min-height:32px;padding:7px 12px;white-space:nowrap;overflow-wrap:normal;flex:1 0 auto}
.planCounts{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0}.planCount{border:1px solid #dce5eb;border-radius:8px;background:#fff;color:#657d8c;font-size:12px;padding:7px 11px;min-height:36px;display:flex;align-items:center;gap:10px}.planCount strong{font-size:13px;color:#234a62;background:#edf3f7;border-radius:5px;min-width:21px;padding:2px 5px}.planCount.selected{border-color:#8bb7d1;background:#eaf4fb;color:#175f8a;box-shadow:inset 0 0 0 1px #8bb7d1}.planCount.toPrepare strong{background:#eef1f3;color:#5b6770}.planCount.onRoute strong,.planCount.dispatched strong{background:#e5f0ff;color:#1161a2}.planCount.delivered strong{background:#e2f5e9;color:#256242}.planServiceNote{display:flex;align-items:center;gap:7px;margin:0 0 14px;font-size:11px;line-height:1.4;color:#788b98}.planServiceNote>span{font-size:15px}
.planColumnLabels,.planStopSummary{display:grid;grid-template-columns:minmax(190px,1fr) 140px minmax(220px,1.5fr) 64px;align-items:center;gap:16px}.planColumnLabels{padding:0 20px;font-size:10px;font-weight:650;letter-spacing:.3px;color:#78909f;margin-bottom:6px}.planSectionHeading{font-size:12px;color:#7a6740;letter-spacing:.3px;margin:12px 0 8px}.planCard{background:white;border:1px solid #dbe7ee;border-left:4px solid #c5d7e3;border-radius:12px;overflow:hidden;margin:0 0 12px}.planCard.toPrepare{border-left-color:#dbe1e5}.planCard.onRoute,.planCard.dispatched{border-left-color:#3b8fb7}.planCard.delivered{border-left-color:#38a772}
.planRouteHeader{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fbfcfe}.planRouteTime{font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.4px;min-width:51px;color:#3b6178}.planRouteName{min-width:0;flex:1}.planCard h3{font-size:15px;line-height:1.4;margin:0;overflow-wrap:anywhere}.planRouteName>small{display:block;font-size:11px;line-height:1.5;color:#78909f;margin-top:3px}.planRouteHeader>.badge{white-space:nowrap}.planActions{display:flex;flex:none}.planActions .btn{min-height:36px}.planActions .actions{gap:7px}
.planVisit{border-top:1px solid #e9eff4}.planStopSummary{padding:8px 16px;min-height:50px;font-size:12px}.planStopName{display:flex;align-items:center;gap:10px;min-width:0}.planStopNumber{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#edf4f9;color:#6089a1;font-size:11px;font-weight:600}.planCard h4{font-size:13px;line-height:1.5;font-weight:650;margin:0;overflow-wrap:anywhere}.planStopTiming{line-height:1.5}.planWindow{color:#285f7d;font-size:12px;font-variant-numeric:tabular-nums}.planStopTiming>small{display:block;font-size:10px;color:#8c9ba5;margin-top:1px}.planStopTiming .planEta{font-size:10px;color:#718b9a;margin-top:4px}.planStopTiming .planEta.onTime{color:#256242}.planStopTiming .planEta.lateArrival{color:#a1392b}
.planStockSummary{min-width:0}.planStockChips{display:flex;gap:6px;flex-wrap:wrap}.planStockChip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px 7px;padding:3px 8px;font-size:11px;line-height:1.4;border:1px solid #e3ebf0;border-radius:7px;background:#f4f7f9;color:#657b89;max-width:100%}.planStockChip strong{font-size:12px;white-space:nowrap}.planStockLevel{font-size:10px;border-left:1px solid currentColor;padding-left:7px;opacity:.85}.planStockChip.optimumStock{background:#edf9f2;border-color:#c6e9d4;color:#296847}.planStockChip.lowStock{background:#fff8e7;border-color:#eedbb1;color:#8a641d}.planStockChip.criticalStock{background:#fff0ed;border-color:#efc8bd;color:#a44431}.planStockSource{display:block;font-size:10px;line-height:1.5;color:#8a9ca7;margin-top:3px}.planMissingStock{font-size:11px;color:#93a3ad;line-height:1.5}
.planStopDetails>summary{list-style:none;cursor:pointer}.planStopDetails>summary::-webkit-details-marker{display:none}.planStopDetails>summary:hover{background:#f7fafc}.planStopDetails>summary:focus-visible{outline:2px solid #54aeee;outline-offset:-2px}.planDetailsLabel{justify-self:end;color:#347999;font-size:11px;white-space:nowrap;min-height:34px;display:flex;align-items:center;gap:6px}.planDetailsLabel:after{content:'⌄';font-size:15px}.planStopDetails[open] .planDetailsLabel:after{content:'⌃'}.planStopDetails[open]>summary{background:#f4f8fb}.planStopBody{padding:8px 18px 16px 49px;background:#fafcfd;border-top:1px dashed #e3ebf1}.planStopBody .titleRow{margin-bottom:8px}.planStopBody h5{font-size:12px;margin:0 0 8px;color:#466a80}.planExistingRoutes{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;background:#fff9ec;padding:7px 16px;font-size:11px;color:#85622b}.planExistingRoutes>.actions{margin-left:auto;font-size:11px;gap:10px}.planExistingWarning{font-weight:650}.planExistingRoutes .btn{background:#fffdf8;border-color:#eddcb7;color:#7f6434}
.planStockRows{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:10px 0}.planStock{padding:12px;border:1px solid #dce7ee;border-radius:10px;display:flex;flex-direction:column;gap:8px;background:#f7fafc;font-size:12px}.planStock strong,.planStock small{display:block}.planStock small{margin-top:5px;font-size:11px;line-height:1.6}.planStock.optimumStock{background:#edf9f2;border-color:#bce6cd}.planStock.lowStock{background:#fff8e7;border-color:#f2d69a}.planStock.criticalStock{background:#fff0ed;border-color:#f1beb2}.badge.optimumStock,.badge.onTime,.badge.delivered{background:#e2f5e9;color:#256242}.badge.lowStock{background:#fff1cc;color:#805f13}.badge.toPrepare{background:#eef1f3;color:#5b6770}.badge.criticalStock,.badge.lateArrival{background:#ffe5df;color:#a1392b}.badge.onRoute,.badge.dispatched{background:#e5f0ff;color:#1161a2}.stockHistory{border-top:1px dashed #d8e4ed;padding-top:12px;margin-top:16px}.stockHistory section{padding:10px 0}.planArrival{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#f4f8fc;border-radius:12px;margin:14px 0}.planArrival>div{flex:1;min-width:220px}.planArrival .badge{margin-left:8px}.planArrival small{display:block;margin-top:6px;color:#657f90}.previousStock>strong{display:block;margin-top:10px;font-size:12px}.dispatchWindows{margin:12px 0 0}
@media(max-width:1100px) and (min-width:721px){.planColumnLabels,.planStopSummary{grid-template-columns:minmax(145px,1fr) 112px minmax(180px,1.25fr) 60px;gap:12px}.planRouteHeader{gap:10px}.planRouteTime{font-size:16px;min-width:43px}.planCard h3{font-size:14px}.planActions .btn{padding:7px 10px}.planRouteHeader>.badge{font-size:9px}}
@media(max-width:720px){.planBoardHeader{gap:10px;align-items:flex-start}.planDay{font-size:14px}.planDateToolbar{flex-wrap:wrap;width:100%;justify-content:space-between;gap:8px}.planDateToolbar label{flex:none}.planDateToolbar label>span{display:none}.planDateToolbar input{width:140px}.planCounts{gap:6px;margin-bottom:9px}.planCount{font-size:11px;gap:6px;min-height:38px;padding:6px 8px}.planColumnLabels{display:none}.planServiceNote{margin-bottom:10px}.planRouteHeader{flex-wrap:wrap;gap:8px 10px;padding:11px 12px}.planRouteTime{font-size:16px;min-width:44px}.planRouteName{flex:1 1 calc(100% - 56px)}.planCard h3{font-size:14px}.planRouteHeader>.badge{margin-left:54px}.planActions{margin-left:auto}.planActions .btn{min-height:40px;padding:8px 12px}.planActions .actions{gap:8px}.planStopSummary{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px 12px;min-height:70px}.planStopName{gap:8px}.planStopTiming{text-align:right;max-width:160px}.planStopSummary>.planStockSummary,.planStopSummary>.planMissingStock{grid-column:1;grid-row:2;margin-left:31px}.planDetailsLabel{grid-column:2;grid-row:2;min-height:36px;font-size:11px}.planStockChip{font-size:10px;padding:4px 6px;gap:4px 6px}.planStockChip strong{font-size:11px}.planStockLevel{font-size:9px;padding-left:6px}.planStockSource{font-size:9px}.planMissingStock{font-size:10px}.planCard h4{font-size:12px}.planWindow{font-size:11px}.planStopBody{padding:8px 12px 14px}.planStockRows{grid-template-columns:1fr}.planExistingRoutes{padding:8px 12px;gap:7px}.planExistingRoutes>.actions{width:100%;justify-content:space-between;margin-left:0}.planExistingRoutes .btn{min-height:40px}.planRouteName>small{font-size:10px}}

@media(min-width:721px){.dispatchPlan>.titleRow{flex-wrap:wrap;gap:14px 24px}.dispatchPlan>.titleRow>div:first-child{flex:1;min-width:230px}}

@media(max-width:720px){.dispatchPlan>.titleRow{flex-direction:column;align-items:stretch;gap:12px}.dispatchPlan>.titleRow>div:first-child{width:100%}.dispatchPlan h1{font-size:25px;line-height:1.3}.dispatchPlan>.titleRow .muted{font-size:12px}.planStopSummary>.planStockSummary,.planStopSummary>.planMissingStock{grid-column:1/-1;padding-right:70px}.planStopDetails .planDetailsLabel{align-self:center}.planBoardHeader .planCounts{width:100%}}
.planStockSource{color:#718592}.planMissingStock{color:#80939f}
/* Driver stock and non-billable load items */
.emptyCageEntry{display:flex;align-items:center;gap:18px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.emptyCageEntry .field{max-width:210px;flex:1}.emptyCageEntry>small{max-width:440px}.emptyCageSummary{padding:10px 14px;background:#f2f7fb;border-radius:12px;color:#244b62;font-weight:600}.driverStock{background:#f4f9f7;border:1px solid #d6e7df;border-radius:14px;padding:16px;margin:16px 0}.driverStock h3{margin:0 0 6px}.stockLimitHelp{font-size:13px;font-weight:600;color:#315d48;margin:8px 0 0;max-width:850px}.driverStockRow{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,auto);gap:12px 24px;align-items:start;padding:14px 0 2px;border-top:1px solid #d6e7df;margin-top:12px}.driverStockLoad>strong{display:block}.driverStockLoad p{font-size:13px;margin:7px 0 0;color:#526f80}.driverStockTargets{display:grid;gap:8px;justify-items:end;min-width:0}.driverStockTargets .driverPreviousStock{margin:0;text-align:right}.driverPreviousStock small{display:block;font-size:11px;margin-top:3px}.stockTargetValues{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.stockTargetValues span{padding:4px 8px;border-radius:7px}.targetOptimum{background:#dff2e6;color:#236642}.targetLow{background:#fff0c9;color:#73550e}.targetCritical{background:#fbe5e6;color:#a23d40}.failedAttempt{border-left:4px solid #bf563f;padding:12px;background:#fff6ef;border-radius:8px}.failedAttempt .actions{margin-top:12px}
/* Reports remain accessible after the initial alert, with a distinct emergency action. */
.incidentSafety{padding:18px 20px;border:1px solid #edd8cc;background:#fff8f2;border-radius:14px;margin:18px 0}.incidentSafety p{margin:8px 0 14px;max-width:850px}.incidentReportActions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.incidentReportActions .btn{min-height:64px;padding:18px 26px;font-size:17px}.incidentList{display:grid;gap:16px;margin:18px 0}.incidentCard{margin:0}.incidentCard h3{margin:0}.incidentCard .actions{margin-top:16px}.incidentLocation{border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0}.incidentCoords{font-family:monospace}.incidentThirdParty,.incidentHistory{border:1px solid var(--line);padding:16px;border-radius:12px;margin:18px 0}.incidentThirdParty summary,.incidentHistory summary{font-weight:700;cursor:pointer}.incidentThirdParty .fields{margin-top:16px}.operationalAlerts:empty{display:none}.incidentDetail .capturePreviews img{max-width:180px;object-fit:cover}.incidentCard .badge{white-space:normal}
@media(max-width:800px){.driverStockRow{grid-template-columns:1fr}.driverStockTargets{justify-items:start}.driverStockTargets .driverPreviousStock{text-align:left}.stockTargetValues{justify-content:flex-start}}
@media(max-width:650px){.emptyCageEntry{align-items:stretch;flex-direction:column;gap:6px}.emptyCageEntry .field{max-width:none}.incidentReportActions .btn{width:100%}.incidentCard .titleRow{align-items:flex-start;gap:10px}.incidentCard .titleRow .badge{max-width:120px}.incidentSafety .actions{gap:12px}}
/* Operational alerts and refuelling keep the evidence close to the reported values. */
.operationalSection{margin:28px 0}.operationalSection>h2{margin-bottom:8px}.alertGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.operationalCard{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.operationalCard .titleRow{width:100%;margin:0}.operationalCard p{margin:0}.operationalCard .btn{margin-top:auto}.operationalCard.lowStock{border-left:5px solid #dfaa31}.operationalCard.criticalStock{border-left:5px solid #cf554b}.operationalCard details{width:100%}.operationalCard summary{cursor:pointer;color:#466b81}.badge.checksReviewPending,.badge.fuel_awaiting_receipt{background:#fff0cf;color:#845c12}.badge.checksAcknowledged,.badge.alertReviewed,.badge.fuel_complete{background:#dff3e7;color:#286d45}.badge.alertSuperseded,.badge.fuel_void{background:#edf1f4;color:#536b7a}.incidentAddress{padding:18px;background:#fff;border:1px solid #c8dce7;border-radius:14px;margin:12px 0}.incidentAddress>strong{font-size:1.25rem}.incidentAddress p{margin:8px 0}.incidentAddress .muted{font-size:.9rem}.fuelFilters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:24px 0}.fuelStats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.fuelStats .panel{margin:0;padding:22px}.fuelStats p{margin:0 0 8px}.fuelStats strong{font-size:1.8rem}.fuelRecords{display:grid;gap:16px}.fuelCard{margin:0}.fuelCard .titleRow{margin:0 0 18px}.fuelValues{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.fuelCard .actions{margin-top:20px;gap:12px}.fuelPhoto{border:1px solid #d8e5ed;border-radius:12px;background:#fff;cursor:pointer;overflow:hidden;padding:0;text-align:left;max-width:200px;color:#21465c}.fuelPhoto img{width:100%;height:140px;object-fit:cover;display:block}.fuelPhoto span{display:block;padding:12px}.fuelPhotoLarge{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain}
@media(max-width:700px){.fuelFilters{grid-template-columns:1fr 1fr}.fuelFilters>.field:first-child{grid-column:1/-1}.fuelStats{gap:8px}.fuelStats .panel{padding:14px}.fuelStats strong{font-size:1.3rem}.fuelCard .actions .btn{flex:1}.operationalCard .titleRow{align-items:flex-start;gap:10px}.alertGrid{grid-template-columns:1fr}}
.badge.invoice_pending{background:#fff0cf;color:#845c12}.badge.invoice_matched{background:#dff3e7;color:#286d45}.badge.invoice_discrepancy{background:#ffebe6;color:#a33f31}
.fuelFilters{grid-template-columns:1.4fr 1fr 1fr 1.6fr}@media(max-width:900px){.fuelFilters{grid-template-columns:1fr 1fr}.fuelFilters>.field:first-child{grid-column:auto}}@media(max-width:500px){.fuelFilters{grid-template-columns:1fr 1fr}.fuelFilters>.field:first-child,.fuelFilters>.field:last-child{grid-column:1/-1}}
.fuelPhoto img{object-fit:contain;background:#f7fafb}.invoiceReceipts{margin:16px 0;border:1px solid #d1e1eb;border-radius:12px;padding:14px}.invoiceReceipts summary{cursor:pointer;font-weight:700;color:#166ba2}.invoiceReceiptImage{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;margin:16px auto}

/* Recorded progress keeps operational context beside the inspection, without claiming a GPS fix. */
.routeActivity{margin:0 23px 15px;padding:12px 14px;background:#f3f8fc;border:1px solid #e0ebf2;border-radius:10px;display:grid;gap:9px}
.routeActivityStatus{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}.routeActivityStatus strong{min-width:0}.routeNext{color:#607d90;font-size:12px;margin-left:auto}
.routeStatusDot{width:8px;height:8px;border-radius:50%;background:#879aaa;flex:none}.routeActivity.active .routeStatusDot,.routeStatusDot.running{background:#167bb5;animation:routeActivityPulse 2.8s ease-in-out infinite}.routeActivity.returning .routeStatusDot{background:#8063af;animation:routeActivityPulse 2.8s ease-in-out infinite}.routeActivity.finished .routeStatusDot{background:#258058}
.routeActivityMetrics{display:flex;flex-wrap:wrap;gap:8px 23px;color:#6b8595;font-size:11px}.routeActivityMetrics strong{color:#244c64}.routeActivity small{color:#6b8595;font-size:11px}
.routeDeliveryProgress{display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;accent-color:#258058;background:#dce7ee}.routeDeliveryProgress::-webkit-progress-bar{background:#dce7ee;border-radius:4px}.routeDeliveryProgress::-webkit-progress-value{background:#258058;border-radius:4px}.routeDeliveryProgress::-moz-progress-bar{background:#258058;border-radius:4px}
.overviewRefresh{margin:12px 0;color:#728a9b;font-size:11px}.overviewRefresh.stale{color:#986b14}.cardBottom .actions{flex-wrap:wrap}.cardBottom .actions .btn{min-height:36px}
.inspectionRouteContext{display:grid;gap:14px;margin:6px 0 0}.inspectionRouteContext .muted{margin:0;font-size:12px;line-height:1.6}.inspectionRouteContext .routeActivityMetrics{gap:7px 18px}.inspectionRouteActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inspectionRouteActions .btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px}.trackingSourceHelp{font-size:10px;color:#758c9b;line-height:1.6}
@keyframes routeActivityPulse{50%{box-shadow:0 0 0 4px #167bb51c}}
@media(max-width:720px){.routeActivity{margin:0 16px 14px;padding:12px}.routeActivityMetrics{gap:7px 14px}.routeNext{margin-left:17px;width:100%}.cardBottom .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cardBottom .actions .btn{min-width:0;text-align:center;display:flex;align-items:center;justify-content:center}}
@media(prefers-reduced-motion:reduce){.routeActivity .routeStatusDot,.routeStatusDot.running{animation:none}}

/* Driver refuel capture: two inputs and two distinct, required photos. */
.fuelFilters.captureOnly{grid-template-columns:1.4fr 1fr 1fr}.refuelPhotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.refuelPhotos .photoCapture{margin:12px 0;padding:18px 0}.refuelPhotos .captureActions{gap:12px}.refuelPhotos .captureActions .btn{flex:1;white-space:nowrap}.savedRefuelPhoto{width:140px;height:110px;object-fit:cover;border-radius:9px;border:1px solid #dce7ee}
@media(max-width:700px){.refuelPhotos{grid-template-columns:1fr;gap:0}.fuelFilters.captureOnly{grid-template-columns:1fr 1fr}.fuelFilters.captureOnly>.field:first-child{grid-column:1/-1}.fuelFilters.captureOnly>.field:last-child{grid-column:auto}}

/* Shift startup reports: compact checks, with explicit machine identity. */
.startupToolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.startupToolbar .field{min-width:180px;flex:1}.startupTabs{gap:12px;flex-wrap:wrap}.startupMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.startupMetrics .card{padding:20px}.startupMetrics strong{font-size:1.8rem}.startupMetrics p{margin-bottom:0}.startupResponsibility>div{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #e2ebf1;flex-wrap:wrap}.startupResponsibility>div>strong{min-width:110px}.startupResponsibility>div>.muted{flex:1}.startupReportCard{display:flex;align-items:center;justify-content:space-between;gap:20px}.startupReportCard p{margin:7px 0}.startupMachine{border:1px solid #d5e3ec;border-radius:14px;margin:16px 0;overflow:hidden}.startupMachine>summary{padding:17px 20px;background:#f3f8fc;font-weight:700;cursor:pointer}.startupMachineMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}.startupCheckRows{padding:0 20px}.startupCheckRow{display:grid;grid-template-columns:1.1fr .7fr 1.4fr;gap:16px;padding:14px 0;border-top:1px solid #e2ebf1;align-items:center}.startupCheckRow .full{grid-column:1/-1}.startupCheckRow .field{margin:0}.startupFaultHint{display:block;color:#ad382d;font-size:.83rem;margin-top:6px}.startupTableWrap{overflow-x:auto}.startupTable{width:100%;border-collapse:collapse;text-align:left}.startupTable th,.startupTable td{padding:12px 18px;border-bottom:1px solid #e2ebf1;vertical-align:top}.startupTable td:first-child{min-width:150px}.startupTable td:nth-child(3){min-width:180px}.startupSetupRow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #e2ebf1}.startupSetupRow .field{flex:1;min-width:150px}.startupSetupRow>strong{min-width:150px}.startupSetupAdd{padding:20px;background:#f3f8fc;border-radius:12px;margin-top:20px}.startupInventory{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}.startupFaultDates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.startupRevision{padding:16px 0;border-bottom:1px solid #e2ebf1}.startup-due,.startup-fail{background:#ffebe8;color:#ad382d}.startup-submitted,.startup-pass{background:#e2f5ea;color:#216342}.startup-na,.startup-cancelled,.startup-unassigned{background:#eef2f6;color:#526b7c}.startupFaultCount{color:#ad382d;font-weight:700}.startupReportActions{gap:20px}.startupReminder{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.startupConfirmation{z-index:1001}.startupSetupForm .check,.startupForm>.check{display:flex;align-items:center;gap:12px;padding:15px}.startupSetupForm input[type=checkbox],.startupForm input[type=checkbox]{width:22px;height:22px;flex:0 0 22px}
@media(max-width:650px){.startupMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.startupMetrics .card{padding:12px}.startupMetrics strong{font-size:1.5rem}.startupMetrics .muted{font-size:.8rem}.startupCheckRow{grid-template-columns:1fr 1fr;gap:12px}.startupCheckRow>div:first-child,.startupCheckRow>.field:last-of-type{grid-column:1/-1}.startupCheckRow>.field{grid-column:1/-1}.startupCheckRows{padding:0 14px}.startupReportCard,.startupReminder{flex-direction:column;align-items:stretch}.startupToolbar .field{min-width:100%;}.startupToolbar>.btn{flex:1}.startupFaultDates{grid-template-columns:1fr}.startupMachineMeta{flex-wrap:wrap}.startupInventory{align-items:flex-start;flex-direction:column;gap:0}.startupSetupRow>strong{width:100%}.startupTabs>.btn{flex:1;padding:12px}.startupResponsibility>div{gap:10px}.startupResponsibility>div>.muted{flex-basis:100%;order:3}}
.startupForm .field[hidden]{display:none}.startupCheckRow .field input,.startupSetupRow .field input{min-width:0}.startupMachine .startupMachineMeta .muted{margin:0}
/* Delivery warnings stay on the label or time window, never on a route/stop card. */
.scheduleWarning{display:table;max-width:calc(100% - 32px);margin:8px 16px;padding:5px 8px;border:1px solid #edb7b0;border-radius:7px;background:#fff5f3;color:#a32921;font-size:11px;line-height:1.4;font-weight:700}.scheduleWarning[hidden]{display:none}.schedulePulse,.deliveryWindowPulse{animation:delivery-alert-pulse 2.8s ease-in-out infinite}.taskPulse{animation:task-pulse 3s ease-in-out infinite}
@keyframes delivery-alert-pulse{0%,100%{box-shadow:0 0 0 0 #d9584a00;background-color:#fff5f3;border-color:#edb7b0}50%{box-shadow:0 0 0 2px #d9584a20;background-color:#ffe6e0;border-color:#dc8175}}
@keyframes task-pulse{0%,100%{box-shadow:0 0 0 1px #f1baa4}50%{box-shadow:0 0 0 3px #e57c50;background-color:#fff1e9}}
.startupReferencePhotos{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.startupReferencePhotos img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid #d6e3eb}.startupPhotoButton{padding:0;background:none;border:none;cursor:zoom-in}.startupPhotoFull{display:block;max-height:65vh;max-width:100%;margin:auto;object-fit:contain}.startupGuidance{background:#edf5f9;padding:16px 20px;margin:0}.startupGuidance p{white-space:pre-wrap;margin:8px 0}.startupPhotoEditor{padding:16px}.startupPhotoEditor>summary{cursor:pointer;font-weight:600}.startupSectionEditor{padding-bottom:14px}.startupCheckEditor{padding:0 16px}.setupDeleted{opacity:.65;background:#f5f5f5}.startupLayoutPreview{background:#f1f7fa;border:1px dashed #7caac0;border-radius:14px;padding:20px;margin:24px 0}.startupSetupForm .startupLayoutPreview .field{min-width:0}.startupSetupForm .startupTabs{margin-bottom:20px}
.supervisorDashboard{display:flex;flex-direction:column;gap:22px;max-width:1120px;margin:0 auto;min-width:0}.supervisorDashboard>.supervisorTasksPage{width:100%}.supervisorWelcome{display:flex;justify-content:space-between;gap:24px;background:linear-gradient(115deg,var(--brand-blue-hover),var(--brand-blue));border-radius:20px;padding:30px;color:white}.supervisorWelcome h1{font-size:2.2rem;margin:8px 0}.supervisorWelcome .muted,.supervisorWelcome .eyebrow{color:#c9e6f2}.supervisorWelcomeShift{max-width:260px;align-self:center}.supervisorCounters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.supervisorCounters .card{padding:18px 24px}.supervisorCounters strong{font-size:2rem}.supervisorCounters p{margin:6px 0 0}.supervisorTask{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #edb29d;border-radius:16px;background:#fff8f3}.supervisorTask>div:nth-child(2){flex:1}.supervisorTask h3,.supervisorTask p{margin:5px 0}.taskIcon{font-size:1.7rem;color:#a9462a}.taskState{color:#a9462a;font-size:.9rem;font-weight:600}.taskDone{background:#eef9f2;border-color:#a9d9b9}.taskDone .taskIcon{color:#287444}.supervisorAllDone{padding:24px;background:#eef9f2;color:#236741;border-radius:14px}.supervisorPlanLink{display:flex;align-items:center;justify-content:space-between;gap:20px}
@media(prefers-reduced-motion:reduce){.schedulePulse,.deliveryWindowPulse,.taskPulse{animation:none}}
@media(max-width:650px){.supervisorWelcome{flex-direction:column;padding:22px}.supervisorWelcome h1{font-size:1.8rem}.supervisorWelcomeShift{align-self:stretch;max-width:none}.supervisorCounters{gap:8px}.supervisorCounters .card{padding:12px}.supervisorCounters strong{font-size:1.6rem}.supervisorTask{flex-wrap:wrap;padding:18px;gap:12px}.supervisorTask>.btn{width:100%}.supervisorPlanLink{flex-direction:column;align-items:stretch}.startupLayoutPreview .startupCheckRow{display:flex;flex-direction:column;align-items:stretch}.startupSetupForm .startupSetupRow{padding:12px}}

.startupLayoutPreview .startupCheckRow{grid-template-columns:1fr minmax(150px,1fr) 1fr;align-items:start}.startupLayoutPreview .startupCheckRow>div:first-child{display:flex;flex-direction:column;gap:8px}

.vehicleConflict{padding:20px;border:1px solid #edce95;background:#fff8eb;color:#614419;border-radius:16px}.vehicleConflict strong{display:block;font-size:1.15rem}.vehicleConflict p{margin:12px 0;line-height:1.55}.vehicleConflict .muted{color:#725f41}.inspectionHandoverActions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.inspectionHandoverActions p{flex:1 1 240px;margin:0}.inspectionHandoverActions .btn{white-space:normal}

/* Customer public opening hours stay separate from delivery windows. */
.customerCards{grid-template-columns:repeat(2,minmax(0,1fr))}
.customerSchedules{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;align-items:stretch}.customerSchedulePanel{padding:14px;border:1px solid #e0e9ef;background:#f8fafc;border-radius:10px;min-width:0}.customerSchedulePanel h4{font-size:13px;margin:0 0 12px}.openingPanelHead{display:flex;gap:8px;justify-content:space-between;align-items:start}.openingPanelHead .btn{padding:5px 9px;min-height:28px;font-size:11px}.customerCards .customerSchedulePanel p{min-height:0;margin:8px 0;font-size:11px;line-height:1.5}.customerHoursLine{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:5px 0;flex-wrap:wrap}.customerHoursLine strong{font-weight:600;text-align:right}.hoursSource{display:inline-block;font-size:11px;margin-top:12px;color:#1075b2;overflow-wrap:anywhere}.hoursSummary details{font-size:11px;margin-top:10px}.openingWeek{display:grid;gap:10px;margin:16px 0 24px}.openingDay{border:1px solid #dfe8ee;border-radius:10px;padding:14px;background:#f8fafc}.openingDayHead{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;font-size:13px}.openingDayHead select{min-width:0}.openingRanges{display:grid;gap:10px;margin:12px 0}.openingRange{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.openingRange .check{grid-column:1;font-weight:400;margin:0}.openingRange>.btn{grid-column:2;grid-row:1}.openingRange .fields{gap:10px}.openingException{border:1px solid #dfe8ee;border-radius:10px;padding:14px;margin:12px 0}.openingException .openingDay{margin:12px 0}.hoursEditor h3{margin-top:24px}.configSteps{flex-wrap:wrap}
@media(max-width:1100px){.customerCards{grid-template-columns:1fr}}
@media(max-width:540px){.customerSchedules{grid-template-columns:1fr}.openingDayHead{grid-template-columns:1fr;gap:8px}.openingRange{grid-template-columns:1fr}.openingRange>.btn{grid-column:1;grid-row:auto;justify-self:end}.customerHoursLine{font-size:12px}.customerCards .customerSchedulePanel p{font-size:12px}}

.hoursEditor [hidden]{display:none!important}.customerForm .configSteps{grid-template-columns:repeat(3,minmax(0,1fr))}

.reportSections,.reportSubsections,.reportToolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.reportSections{padding:0 0 18px;border-bottom:1px solid #dbe7ed}.reportSubsections{padding:6px 0}.reportToolbar{margin:14px 0}.reportToolbar .field{max-width:260px}.reportIntro h2{margin:4px 0}.reportIntro p{max-width:850px}.hygieneReportCard,.vehicleCleanCard{display:flex;justify-content:space-between;align-items:center;gap:20px}.hygieneReportCard p,.vehicleCleanCard p{margin:7px 0}.leaderboard table{width:100%;border-collapse:collapse}.leaderboard th,.leaderboard td{padding:12px;text-align:left;border-bottom:1px solid #e0e9ee}.rankingWinner{background:#e4f4e9;font-weight:700}.rankingTop{background:#f1f8fb}.hygieneCaptureRow{padding:20px;border:1px solid #dce7ee;border-radius:14px;margin:14px 0;background:#fbfdfe}.hygieneCaptureRow h3{font-size:17px;margin:0}.hygieneCaptureRow .fields{margin:12px 0}.hygieneCaptureRow details{margin-top:12px}.hygieneCaptureRow details>summary{font-size:13px;cursor:pointer;color:#146b99}.hygienePhotos{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.hygienePhotos img{max-width:120px;height:95px;object-fit:contain;border:1px solid #dce7ee;border-radius:8px}.hygienePhotos>div{display:flex;flex-direction:column;gap:8px}.hygieneResult{padding:16px;border-bottom:1px solid #dce7ee}.hygieneResult p{margin:8px 0}.hygieneResults{display:grid;gap:8px}.reportSignature{width:260px;border:1px solid #dce7ee}.hygieneSetupRow{display:flex;align-items:end;gap:12px;margin:16px 0;flex-wrap:wrap}.hygieneSetupRow .field:first-child{flex:1;min-width:200px}.hygieneSetupRow .field:nth-child(2){width:140px}.hygieneSetupRow .check{margin-bottom:12px}.cleaningCoverage{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.cleaningCoverage>div{padding:16px;background:#fff;border:1px solid #dce7ee;border-radius:12px}.reportsPage .details .titleRow>.eyebrow{display:none}@media(max-width:600px){.hygieneReportCard,.vehicleCleanCard{align-items:start;flex-direction:column}.reportSections .btn,.reportSubsections .btn{flex:1;font-size:12px}.reportToolbar{align-items:stretch}.hygieneCaptureRow{padding:14px}.hygieneCaptureRow .fields{grid-template-columns:1fr}.hygieneCaptureRow .titleRow{align-items:start}.hygieneSetupRow .field{width:100%!important}.leaderboard{padding:16px}.leaderboard td,.leaderboard th{padding:9px;font-size:12px}}
.reportSections,.reportSubsections{align-items:stretch}.reportSections .btn,.reportSubsections .btn{align-self:stretch}

.hygieneCaptureRow .field[hidden]{display:none!important}
.hygieneForm>.signatureArea{margin-bottom:24px}.hygieneForm>.signatureArea>.btn,.hygieneForm>.actions>.btn{min-height:44px}.hygieneForm>.actions{gap:18px}.hygieneForm>.modalFoot{gap:16px;padding-top:28px}
@media(max-width:600px){.hygieneForm>.actions,.hygieneForm>.modalFoot{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.hygieneForm>.signatureArea>.btn{width:100%}}
.exportDownloads .actions{align-items:end;gap:18px}.exportDownloads .actions .field{min-width:170px}.exportTable{max-width:100%;overflow:auto}.exportTable td{min-width:110px;max-width:280px;overflow-wrap:anywhere}.exportTable th{white-space:nowrap}

.exportsPage{grid-template-columns:minmax(0,1fr);min-width:0}.exportsPage>.card{min-width:0;max-width:100%}.exportTable{width:100%;min-width:0}@media(max-width:600px){.exportsPage .fields{grid-template-columns:1fr}.exportDownloads .actions{align-items:stretch}.exportDownloads .actions>.btn,.exportDownloads .actions>.field{width:100%}}

/* Shift handovers: compact totals, expandable detail and explicit physical counts. */
.shiftPage,.shiftForm{min-width:0;display:grid;gap:20px}
.shiftMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.shiftMetric{border:1px solid #d5e5ef;background:#f4f9fc;border-radius:14px;padding:16px;display:grid;gap:6px;min-width:0}
.shiftMetric strong{font-size:1.8rem;line-height:1.2;color:#15394b}
.shiftContributors{display:grid;gap:10px;margin:16px 0}.shiftContributors>div,.shiftFactLine{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding:12px 0;border-bottom:1px solid #e1ebf0}
.shiftFactCounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.shiftFactCounts>div{display:grid;gap:5px;padding:12px;background:#f3f8fb;border-radius:12px}.shiftFactCounts strong{font-size:1.45rem}.shiftProblem{background:#fff0ea!important;color:#a7372e}
.shiftReportCard{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.shiftReportCard>div:first-child{display:grid;gap:6px}
.shiftReadRows{display:grid;gap:8px}.shiftReadRows>div{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #e1ebf0}
.shiftStockRow,.shiftQuestion{display:grid;gap:14px;padding:18px;border:1px solid #d8e6ef;border-radius:14px;background:#f8fbfd}
.shiftStockEditor{display:grid;gap:16px}.shiftStockRow .fields{grid-template-columns:repeat(3,minmax(0,1fr))}.shiftStockRow .field,.shiftStockRow input,.shiftStockRow select,.shiftSetupRow .field{min-width:0}.shiftStockRow>.btn{justify-self:start}
.shiftQuestion{margin-top:16px}.shiftQuestion .hygienePhotos{margin:12px 0}
.shiftSupplyRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid #dbe7ee;padding:18px 0}
.shiftSetupRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;border-bottom:1px solid #dbe7ee}.shiftSetupRow>.btn{justify-self:start}.shiftConfirm{padding:20px;border:1px solid #a8d9c5;border-radius:12px;background:#f0faf5}
.shiftForm>.actions,.shiftForm .modalFoot{gap:16px}.shiftForm details>summary{margin-bottom:12px}.shiftAllocated summary{font-weight:700}.reportSections{flex-wrap:wrap}
@media(max-width:700px){.shiftMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shiftFactCounts{grid-template-columns:repeat(2,minmax(0,1fr))}.shiftSupplyRow,.shiftSetupRow{grid-template-columns:minmax(0,1fr)}.shiftStockRow .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shiftStockRow .fields>.field:last-child{grid-column:1/-1}.shiftReportCard .actions{width:100%}.shiftMetric strong{font-size:1.4rem}.shiftForm,.shiftPage{gap:16px}}

.shiftModal{width:860px}.shiftForm [hidden]{display:none!important}

.shiftMetric p,.shiftFactCounts p{margin:0;font-size:12px}.shiftPage>.shiftMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shiftDeliveryCounts{grid-template-columns:repeat(2,minmax(0,1fr))}.shiftPage .reportIntro p{margin:6px 0}

.announcementGate{min-height:100vh;background:#f2f7fb;padding:24px}.announcementGateTop{display:flex;align-items:center;gap:20px;max-width:860px;margin:0 auto 28px}.announcementGateTop .brand{background:var(--brand-blue);border-radius:14px;padding:14px;margin-right:auto}.announcementGateCard{max-width:720px;margin:0 auto;padding:32px}.announcementGateCard h1{font-size:28px}.announcementText{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;padding:18px;background:#fff7df;border:1px solid #f0db9e;border-radius:12px;margin:20px 0}.announcementSymbol{display:grid;place-items:center;background:#ffebb5;color:#866100;width:48px;height:48px;border-radius:50%;font-size:30px;font-weight:bold}.announcementGateCard .check{margin:24px 0}.announcementGateCard form>.btn{width:100%;min-height:52px}.announcementManagement{margin:24px 0}.announcementManagement .panel{margin-bottom:16px}.announcementManagement .actions{margin-top:20px}.loadItemSetup>summary{font-size:16px;font-weight:700;cursor:pointer}.catalogRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e0e8ed}.catalogRow .muted{margin:6px 0}.unbillableLines{display:grid;gap:12px;margin-top:16px}.unbillableLines>select{width:100%;min-height:44px}.unbillableLoadRow{grid-template-columns:minmax(0,1fr) 100px auto}.unbillableSummary{background:#f5f7fb;padding:10px 14px;border-radius:9px}.unbillableSummary .muted{margin:6px 0;font-size:12px}.stockPriorityLabel{font-size:11px;font-weight:750;margin:0;padding:7px 16px}.stockPriorityHelp{font-size:11px;color:#647d8d;margin:0;padding:7px 16px}.planVisit.stockPriority2>.stockPriorityLabel{color:#a7352c}.planVisit.stockPriority1>.stockPriorityLabel{color:#88620f}@media(max-width:720px){.announcementGate{padding:16px}.announcementGateTop{flex-wrap:wrap;gap:10px}.announcementGateTop .brand{width:100%;margin:0}.announcementGateCard{padding:22px}.catalogRow{align-items:flex-start;flex-direction:column}.unbillableLoadRow{grid-template-columns:minmax(0,1fr) 80px}.unbillableLoadRow>.btn{grid-column:1/-1;justify-self:end}}

.announcementTranslation{border:1px solid #d8e5ed;border-radius:10px;padding:14px;margin:12px 0}.announcementTranslation>summary{cursor:pointer;font-weight:650}.announcementTranslation .field{margin-top:14px}.announcementGateCard [hidden]{display:none!important}

.announcementTranslationReview[hidden]{display:none!important}

.badge.announcementPublished{background:#e2f4e9;color:#246a44}
.badge.awaitingDriverChecks{background:#e8f2fc;color:#1d6294}
.inspectionResolutionActions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.inspectionResolutionActions .btn{flex:1 1 220px;min-height:48px}
.announcementGateTop .brand,.announcementGateTop .brand strong{color:#fff}



/* Shared Super Laundry palette for interactive controls. */
.btn.primary:not(:disabled):hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}.btn.primary:not(:disabled):active{box-shadow:none}.btn.secondary{background:var(--brand-blue-soft);border-color:var(--brand-blue-border)}.loginHero>.loginFoot{color:#fff}

/* Super Laundry sign-in: a decorative wash cycle, separate from operational data. */
.loginHero{padding:36px 48px;gap:24px;justify-content:space-between}
.loginHero>.brand{max-width:230px}.loginHero>.brand .brandMark{height:62px}
.loginHeroBody{max-width:460px;width:100%;margin:10px 0}
.loginHero h1{font-size:46px;line-height:1.08;letter-spacing:-1.8px;white-space:pre-line;max-width:none;margin:0}
.loginHeroBody>p{max-width:350px;font-size:15px;line-height:1.65;margin:18px 0 0}
.loginTagline{color:#fff;font-size:11px;letter-spacing:1px;line-height:1.6}
.loginFormArea>.loginFoot{max-width:390px;width:100%;align-self:center;line-height:1.6;color:#657b8b;margin-top:24px}
.loginLaundryScene{position:relative;width:100%;height:382px;margin-top:20px}
.laundryMotion{position:absolute;left:50%;top:0;width:400px;height:340px;margin-left:-200px;isolation:isolate}
.laundryHalo{position:absolute;inset:57px 18px 2px;border:1px solid #ffffff21;border-radius:50%;background:radial-gradient(ellipse,#ffffff15,transparent 70%)}
.laundryGround{position:absolute;left:15px;right:25px;bottom:7px;height:19px;background:#063d6b30;filter:blur(6px);border-radius:50%}
.laundryWasher{position:absolute;left:32px;top:62px;width:220px;height:256px;border-radius:2px;background:linear-gradient(100deg,#899ba8,#e2e8ec 18%,#aab8c2 50%,#d5dfe6 78%,#8b9eac);border:1px solid #c4d1da;box-shadow:0 9px 15px #05395840,inset -5px 0 0 #5b728233}
/* The side shares the front's top/bottom at its near edge and narrows into the distance. */
.laundryWasher:before{content:'';position:absolute;right:-25px;top:-1px;bottom:-1px;width:26px;clip-path:polygon(0 0,100% 12px,100% calc(100% - 12px),0 100%);background:linear-gradient(90deg,#536977,#8295a3 65%,#4b6272);border-right:2px solid #526978}
.loginDeliveryScene{width:100%;max-width:440px;height:240px;flex:none;align-self:center;position:relative;margin:20px 0 0;pointer-events:none}
.loginDeliveryArtwork{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none}
.washerHeader{position:absolute;inset:0 0 auto;height:57px;border-bottom:5px solid #253846;background:linear-gradient(110deg,#a0aeb9,#e2e9ed 35%,#c3cfd7 65%,#8e9faa);box-shadow:inset 0 2px 0 #eef5f9a0}
.washerHeader:before,.washerHeader:after{content:'';position:absolute;bottom:8px;width:3px;height:3px;border-radius:50%;background:#62798a;box-shadow:0 1px 1px #ffffffb0}.washerHeader:before{left:12px}.washerHeader:after{right:12px}
.washerLogo{position:absolute;top:10px;right:15px;width:100px;height:32px;object-fit:contain}
.washerControlPanel{position:absolute;left:0;top:57px;bottom:4px;width:30px;display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:13px;background:linear-gradient(90deg,#8e9eab,#c7d3db 55%,#99abb9);border-right:3px solid #536978}
.washerEmergencyStop{width:15px;height:15px;border:4px solid #e5bb4f;border-radius:50%;background:linear-gradient(130deg,#ec685b,#b83731);box-shadow:0 1px 2px #193a4f60}
.washerDisplay{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;width:21px;height:28px;padding:5px 3px;background:linear-gradient(#172c3d 25%,#3a8cca 26%,#246796);border:2px solid #2a3e4b;border-radius:1px;box-shadow:0 1px 1px #ebf6ffa0}
.washerDisplay i{width:9px;height:2px;background:#a1d9f5}.washerDisplay i:nth-child(2){width:12px}
.washerControlKeys{display:grid;grid-template-columns:repeat(3,3px);gap:3px}.washerControlKeys i{width:3px;height:4px;border-radius:1px;background:#354e60;box-shadow:0 1px 0 #e4f0f780}
.washerRecess{position:absolute;left:31px;right:10px;top:58px;height:155px;border-top:6px solid #253642;border-bottom:6px solid #253642;background:linear-gradient(90deg,#435866,#a4b5c1 10%,#ccd7de 75%,#8ea3b2);box-shadow:inset 0 5px 7px #172c3d50}
.washerDoor{position:absolute;left:14px;top:0;width:144px;height:144px;padding:10px;border-radius:50%;background:linear-gradient(145deg,#677f90,#eaf2f7 30%,#a4b8c7 52%,#f4f9fc 67%,#758fa2);border:1px solid #657e91;box-shadow:0 4px 5px #173d5850,inset 0 0 0 3px #d5e0e7,inset 0 -5px 0 4px #3b566d}
.washerGlass{position:relative;width:122px;height:122px;border:4px solid #4c6579;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 40% 35%,#658ca6,#23435f 75%);box-shadow:inset 0 0 12px #153b5e80}
.washerGlass:after{content:'';position:absolute;inset:7px;border-radius:50%;border-top:6px solid #ffffff36;border-left:3px solid #ffffff13;transform:rotate(-28deg);pointer-events:none}
.washerDrum{position:absolute;inset:6px;border-radius:50%;border:6px dotted #93bdd24d;animation:washerSpin 9s linear infinite}
.washerRotor{position:absolute;inset:5px;border-radius:50%;animation:towelTumble 7s ease-in-out infinite}
.washCloth{position:absolute;width:54px;height:33px;border-radius:12px 8px 15px 7px;box-shadow:inset 0 -6px #ffffff36,0 3px 5px #092d491f}
.clothOne{left:7px;top:24px;background:#fff;transform:rotate(22deg)}.clothTwo{left:51px;top:52px;background:#b0e4ef;transform:rotate(-42deg);width:47px;height:39px}.clothThree{left:16px;top:68px;background:#e7f3f6;transform:rotate(72deg);width:52px;height:27px}
.washerWater{position:absolute;left:-38px;right:-38px;top:85px;height:70px;border-radius:45%;background:#77d7ec55;box-shadow:0 -5px 0 #b4edfa27;animation:washerWater 5s ease-in-out infinite}
.washerSuds{position:absolute;bottom:13px;width:10px;height:10px;border:2px solid #c6f5fa99;border-radius:50%;animation:washerSuds 4s ease-in-out infinite}.sudsOne{left:17px}.sudsTwo{left:92px;width:7px;height:7px;animation-delay:-2s}
.washerFrontGate{position:absolute;left:40px;top:108px;width:147px;height:51px;border:5px solid #b5c5d0;border-radius:1px;box-shadow:0 3px 3px #16374d40,inset 0 1px 2px #123d5950;pointer-events:none}.washerFrontGate:before,.washerFrontGate:after{content:'';position:absolute;left:-5px;right:-5px;height:3px;background:linear-gradient(#f1f8fc,#8ea6b8)}.washerFrontGate:before{top:-5px}.washerFrontGate:after{bottom:-5px}
.washerGateHandle{position:absolute;left:-9px;top:9px;width:32px;height:22px;border:3px solid #a7bbc9;border-radius:1px;border-right:0;box-shadow:0 2px 2px #153b5e40}.washerGateHandle:after{content:'';position:absolute;left:6px;right:-9px;top:6px;height:5px;background:#3c5568}
.washerDoorLatch{position:absolute;right:12px;top:87px;width:11px;height:96px;border:2px solid #a3b6c4;border-radius:2px;background:linear-gradient(90deg,#203b50,#3a5265,#172e41);box-shadow:1px 2px 3px #153b5e50}.washerDoorLatch:before,.washerDoorLatch:after{content:'';position:absolute;left:0;right:0;height:4px;background:#9db1c1}.washerDoorLatch:before{top:4px}.washerDoorLatch:after{bottom:4px}
.washerBottom{position:absolute;bottom:4px;left:31px;right:3px;height:36px;border-top:2px solid #60798d;background:linear-gradient(120deg,#a2b4c1,#ccd7df 55%,#859cae);box-shadow:inset 0 1px 0 #e5edf3}.washerBottom:before,.washerBottom:after{content:'';position:absolute;top:9px;width:3px;height:3px;border-radius:50%;background:#688295}.washerBottom:before{left:16px}.washerBottom:after{right:16px}
.washerFoot{position:absolute;bottom:-6px;width:24px;height:6px;border-radius:0 0 2px 2px;background:#243c50}.footLeft{left:8px}.footRight{right:8px}
.cleanTowelStack{position:absolute;right:24px;bottom:14px;width:105px;height:69px;transform:rotate(3deg)}
.freshTowel{position:absolute;left:0;right:0;height:20px;border:1px solid #e1eef4;border-radius:6px;background:linear-gradient(#fff,#ecf6fb);box-shadow:0 4px 0 #1c669332,inset 0 -4px #d2e8f1}
.freshTowel:after{content:'';position:absolute;left:8px;right:8px;bottom:5px;border-top:1px dashed #afcad8}.towelBottom{bottom:0}.towelMiddle{bottom:21px;left:4px;right:-3px}.towelTop{bottom:42px;left:0;right:3px}
.laundryBubble{position:absolute;width:21px;height:21px;border:1px solid #ffffff80;background:#ffffff09;border-radius:50%;box-shadow:inset 3px 3px 0 #ffffff0c;animation:laundryBubbleFloat 6s ease-in-out infinite}
.bubbleOne{top:94px;left:0}.bubbleTwo{top:15px;left:122px;width:13px;height:13px;animation-delay:-2s}.bubbleThree{top:185px;right:16px;width:25px;height:25px;animation-delay:-4s}
.laundrySparkle{position:absolute;right:69px;bottom:99px;width:17px;height:17px;animation:laundrySparkle 4s ease-in-out infinite}
.laundrySparkle:before,.laundrySparkle:after{content:'';position:absolute;border-radius:50%;background:#ddfaff}.laundrySparkle:before{left:7px;top:0;width:3px;height:17px}.laundrySparkle:after{left:0;top:7px;width:17px;height:3px}
@keyframes washerSpin{to{transform:rotate(360deg)}}
@keyframes towelTumble{0%,100%{transform:rotate(0deg)}45%{transform:rotate(230deg)}55%{transform:rotate(230deg)}90%{transform:rotate(-50deg)}}
@keyframes washerWater{0%,100%{transform:translateY(3px) rotate(-7deg)}50%{transform:translateY(-1px) rotate(7deg)}}
@keyframes washerSuds{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-17px);opacity:1}}
@keyframes laundryBubbleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes laundrySparkle{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
@media(max-width:1050px) and (min-width:721px){.loginHero{padding:32px}.loginHero h1{font-size:40px}.loginHeroBody>p{font-size:14px}.loginLaundryScene{height:336px}.laundryMotion{transform:scale(.85);transform-origin:top center}}
@media(max-width:900px) and (min-width:721px){.loginLaundryScene{height:294px}.laundryMotion{transform:scale(.72)}.loginDeliveryScene{height:210px}}
@media(max-width:720px){.loginHero{padding:24px;gap:20px;min-height:0}.loginHero>.brand{max-width:205px}.loginHero>.brand .brandMark{height:52px}.loginHeroBody{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:12px 8px;margin:0;max-width:none;align-items:start}.loginHero h1{font-size:28px;line-height:1.12;letter-spacing:-.7px;grid-column:1}.loginHeroBody>p{grid-column:1;font-size:12px;line-height:1.55;margin:0}.loginLaundryScene{grid-column:2;grid-row:1/span 2;width:130px;height:180px;margin:0}.laundryMotion{position:absolute;left:-23px;top:0;width:340px;height:280px;margin:0;transform:scale(.52);transform-origin:top left}.laundryWasher{left:44px;top:10px}.laundryHalo{inset:12px 18px 2px}.cleanTowelStack{display:none}.loginDeliveryScene{height:190px;max-width:360px;margin-top:24px}.bubbleOne{top:34px;left:8px}.bubbleTwo{left:auto;top:15px;right:38px}.bubbleThree{top:130px}.laundrySparkle{right:38px;bottom:90px}.loginTagline{display:none}.loginFormArea{padding:22px 24px 28px;min-height:0}.loginBox{margin:24px auto 0}.loginFormArea>.loginFoot{margin-top:24px}.loginBox h2{font-size:24px}.loginHero>.brand small{font-size:9px}}
@media(max-width:360px){.loginHero{padding:20px}.loginHeroBody{grid-template-columns:minmax(0,1fr) 108px}.loginHero h1{font-size:25px}.loginLaundryScene{width:108px}.laundryMotion{left:-22px;transform:scale(.46)}}
@media(prefers-reduced-motion:reduce){.laundryMotion,.laundryMotion *{animation:none!important}}

.routeRejectMarker{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 23px 18px}.reviewSections{margin-bottom:24px}
.rejectReceipts{margin-top:22px;grid-template-columns:minmax(0,1fr);gap:20px}
.rejectReceipts>h2,.rejectReceipts>p{margin:0}
.rejectReceiptToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rejectReceiptToolbar .tabs{margin:0;max-width:100%}
.rejectHistoryFilters{display:grid;gap:12px;padding:20px;background:#edf4f9;border:1px solid #dce7ef;border-radius:13px;min-width:0}
.rejectFilterFields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px}
.rejectFilterFields .field,.rejectFilterFields input{min-width:0;width:100%}
.rejectHistoryFilters p,.rejectHistoryFilters .error{margin:0}
.rejectHistoryFilters>div:empty,.rejectHistoryFilters [hidden]{display:none}
.rejectFilterDraft{color:#936623}
.rejectFilterStatus{color:#547286;font-size:13px;line-height:1.6}
.rejectReceiptList{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}
.rejectReceiptCard{display:grid;gap:18px;min-width:0;background:#fff;border:1px solid #d8e4ec;border-radius:14px;padding:24px;box-shadow:0 2px 5px #17384f05;overflow-wrap:anywhere}
.rejectReceiptCard h3{margin:0;font-size:18px;line-height:1.4}
.rejectReceiptCard p,.rejectReceiptCard .titleRow{margin:0}
.rejectReceiptHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rejectReceiptHeader>div{min-width:0;flex:1 1 200px;display:grid;gap:6px}
.rejectReceiptCard .badge{white-space:normal}
.rejectReceiptTotals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 18px;border-radius:10px;background:#f3f8fb}
.rejectReceiptTotals>div{display:grid;gap:6px}
.rejectReceiptTotals strong{font-size:18px}
.rejectReceiptTotals>div:first-child strong{color:#21683b}
.rejectQuantityLines{display:grid;gap:12px;font-size:13px}
.rejectQuantityLine{display:grid;gap:5px}
.rejectReceiptCard .rejectReceiptReason{background:#fff8e9;color:#805f2f;border:1px solid #efdfb8;padding:14px;line-height:1.6}
.rejectReceiptFooter{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-top:1px solid #e5edf2;padding-top:16px;font-size:12px;color:#6b8494}
.rejectReceiptCard .actions{margin:0;gap:12px}
.rejectReceiptCard>div:empty{display:none}
@media(max-width:720px){.routeRejectMarker{padding:0 16px 16px}.routeRejectMarker .badge{white-space:normal}.rejectReceiptCard{padding:18px}.rejectHistoryFilters{padding:16px}.rejectFilterFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rejectFilterFields>.btn{grid-column:1/-1;justify-self:start}.rejectReceiptCard .actions{flex-wrap:wrap}.rejectReceiptCard .actions .btn{flex:1 1 140px}.rejectReceipts>.fields{grid-template-columns:1fr}.rejectReceiptCard .titleRow{flex-wrap:wrap;gap:12px}}
@media(max-width:420px){.rejectFilterFields,.rejectReceiptTotals{grid-template-columns:minmax(0,1fr)}.rejectReceiptToolbar{gap:12px}.rejectReceiptToolbar .tabs{width:100%}}
/* Dispatch preparation and driver progress have distinct layouts. */
.dispatchComplete{display:flex;align-items:center;gap:24px;padding:24px 28px;margin:20px 0 28px;border:1px solid #b5dfcd;border-radius:18px;background:linear-gradient(120deg,#eaf8f0,#f7fbff);box-shadow:0 8px 22px #20694708}
.dispatchCompleteCopy{flex:1;min-width:0}.dispatchCompleteCopy .eyebrow{color:#32805b;font-size:10px;letter-spacing:1.5px;margin:0 0 8px}.dispatchCompleteCopy h2{font-size:24px;line-height:1.25;letter-spacing:-.6px;margin:0;color:#204c3a}.dispatchCompleteCopy>p:last-child{font-size:13px;line-height:1.65;color:#527664;margin:9px 0 0;max-width:490px}.dispatchCompleteNext{display:grid;justify-items:center;gap:10px;flex:none}.dispatchCompleteNext .btn{min-height:46px}.dispatchCompleteNext small{color:#6b8578;font-size:11px}
.dispatchCompleteArt{position:relative;flex:none;width:144px;height:96px}.dispatchCompleteArt .vanScene{position:absolute;left:0;bottom:0;width:144px;height:73px}.dispatchCompleteArt .vanTravel{scale:.66;transform-origin:0 0;top:2px;left:1px}.dispatchCompleteArt .vanRoad{bottom:4px;background:repeating-linear-gradient(90deg,transparent 0 20px,#8abbac 20px 39px,transparent 39px 60px)}.dispatchCompleteArt .lutonVan,.dispatchCompleteArt .vanSpokes,.dispatchCompleteArt .vanRoad{animation:none}.dispatchCompleteCheck{position:absolute;right:0;top:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#23845d;color:white;border:4px solid #ebf8f1;box-shadow:0 0 0 1px #b4decb;font-size:23px;font-weight:800}.dispatchSpark{position:absolute;width:5px;height:10px;border-radius:2px;background:#4ca887;opacity:0;left:110px;top:16px}.spark1{background:#e0b151;left:92px;top:0}.spark2{background:#74b0cf;left:135px;top:8px}.spark3{background:#d6b548;left:78px;top:27px}.spark4{background:#7eb9a2;left:138px;top:34px}
.dispatchComplete.celebrate .dispatchCompleteCheck{animation:dispatchCheckPop .8s cubic-bezier(.2,.8,.3,1) both}.dispatchComplete.celebrate .dispatchSpark{animation:dispatchSparkle 1.1s ease-out both}.dispatchComplete.celebrate .spark1{animation-delay:.08s}.dispatchComplete.celebrate .spark2{animation-delay:.14s}.dispatchComplete.celebrate .spark3{animation-delay:.2s}.dispatchComplete.celebrate .spark4{animation-delay:.12s}.dispatchComplete.celebrate .vanTravel{animation:dispatchVanSettle 1.2s ease-out both}
@keyframes dispatchCheckPop{0%{transform:scale(.25);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes dispatchSparkle{0%{opacity:0;transform:translateY(8px) rotate(0)}35%{opacity:1}100%{opacity:0;transform:translateY(-24px) rotate(120deg)}}@keyframes dispatchVanSettle{0%{transform:translateX(-50px);opacity:0}100%{transform:translateX(0);opacity:1}}
.dispatchSectionHead{display:flex;align-items:center;gap:12px;margin:0 0 14px}.dispatchSectionHead>div{flex:1;min-width:0}.dispatchSectionHead h2{font-size:17px;line-height:1.4;margin:0;color:#315570}.dispatchSectionHead p{font-size:12px;line-height:1.5;color:#708796;margin:4px 0 0}.dispatchSectionCount{display:grid;place-items:center;flex:none;min-width:28px;height:28px;padding:0 7px;border-radius:50%;font-size:12px;font-weight:700;background:#e1ecf4;color:#385f7a}.planPreparationSection{margin:22px 0 30px}.planPreparationSection>.dispatchSectionHead h2{color:#4d5c66}.planPreparationSection .dispatchSectionCount{background:#eef1f3;color:#5b6770}.planPreparationSection .planRouteHeader{background:#fff}.planDispatchedSection{padding-top:22px;border-top:2px solid #dce8ef;margin-top:26px}
.dispatchedCard{border:1px solid #d9e5ee;border-radius:13px;background:#f7fafc;margin:0 0 14px;overflow:hidden}.dispatchedCardHead{display:flex;align-items:center;gap:22px;padding:17px 20px;background:#f0f6fa}.dispatchedDriver{display:flex;align-items:center;gap:13px;min-width:205px}.dispatchedDriver>div{min-width:0}.dispatchedDriver h3{font-size:20px;line-height:1.3;margin:0 0 6px;color:#204b65;overflow-wrap:anywhere}.dispatchedDriver .reg{font-size:10px;letter-spacing:.7px;padding:4px 7px;background:white}.dispatchedJourney{flex:1;min-width:0;display:grid;justify-items:start;gap:7px}.dispatchedJourney>small{font-size:11px;color:#647f91;line-height:1.5;overflow-wrap:anywhere}.dispatchedActions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.dispatchedActions .btn{min-height:38px;white-space:nowrap}.journeyStage{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:6px 10px;background:#e4edf4;color:#526f83;font-size:11px;font-weight:700;line-height:1.3}.journeyStage i{width:6px;height:6px;flex:none;background:currentColor;border-radius:50%}.journeyStage.driving{background:#e0f0fc;color:#1474ad}.journeyStage.delivering{background:#e0f0fc;color:#1474ad}.journeyStage.returning{background:#eee7f8;color:#7854a1}.journeyStage.returned{background:#e0f1e8;color:#287352}.journeyStage.cancelled{background:#f7e9e5;color:#9b6356}.dispatchedRouteLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px}.dispatchedRouteLine strong{font-size:13px;font-weight:600;color:#4b6c82;line-height:1.5;overflow-wrap:anywhere}.dispatchedRouteLine>span{font-size:10px;line-height:1.5;color:#7c919e;flex:none}.dispatchRouteDetails{border-top:1px solid #dfe9f0;background:white}.dispatchRouteDetails>summary{display:flex;align-items:center;gap:10px;padding:12px 20px;font-size:11px;font-weight:600;color:#507b95;cursor:pointer;list-style:none;min-height:42px}.dispatchRouteDetails>summary::-webkit-details-marker{display:none}.dispatchRouteDetails>summary:after{content:'⌄';margin-left:auto;font-size:17px;transition:transform .15s}.dispatchRouteDetails[open]>summary:after{transform:rotate(180deg)}.dispatchRouteDetails>summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-3px}.dispatchedCard>.routeRejectMarker{margin:0 20px 12px}
.dispatchMiniScene{position:relative;display:block;flex:none;width:98px;height:54px;overflow:hidden;border-radius:9px;background:#e0edf5}.dispatchMiniScene .vanScene{width:98px;height:54px}.dispatchMiniScene .vanTravel{scale:.44;transform-origin:0 0;left:3px;top:5px}.dispatchMiniScene .vanRoad{bottom:3px;border-top-color:#8fb1c9;background:repeating-linear-gradient(90deg,transparent 0 14px,#779dbd 14px 30px,transparent 30px 48px)}.dispatchMiniScene.waiting .lutonVan,.dispatchMiniScene.waiting .vanSpokes,.dispatchMiniScene.waiting .vanRoad,.dispatchMiniScene.returned .lutonVan,.dispatchMiniScene.returned .vanSpokes,.dispatchMiniScene.returned .vanRoad,.dispatchMiniScene.cancelled .lutonVan,.dispatchMiniScene.cancelled .vanSpokes,.dispatchMiniScene.cancelled .vanRoad{animation:none}.dispatchMiniScene.returning{background:#ece6f4}.dispatchMiniScene.returning .vanFacing,.dispatchMiniScene.returning .vanBrand{transform:scaleX(-1)}.dispatchMiniScene.returning .vanSpokes,.dispatchMiniScene.returning .vanRoad{animation-direction:reverse}.dispatchMiniScene.returned{background:#e0f0e8}.dispatchMiniScene.cancelled{opacity:.65}.journeyCheck{position:absolute;right:4px;top:3px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#278254;color:#fff;font-size:12px;font-weight:800;border:2px solid #e0f0e8}
.dispatchMiniScene.delivering{background:#e0edf5}.deliveryDock{position:absolute;right:9px;top:9px;width:26px;height:39px;border:2px solid #8fb1c9;border-radius:4px 4px 0 0;background:repeating-linear-gradient(0deg,#f1f7fc 0 7px,#d6e6f2 7px 9px)}.deliveryDock:after{content:'';position:absolute;left:-6px;right:-6px;bottom:-2px;height:3px;background:#92b5a4;border-radius:2px}.deliveryCarrier{position:absolute;width:51px;height:39px;left:9px;bottom:6px;animation:deliveryHandover 3s ease-in-out infinite}.deliveryPerson{position:absolute;width:11px;height:18px;border-radius:5px 5px 2px 2px;background:#1675a7;left:1px;top:12px;transform:rotate(-8deg)}.deliveryPerson:before{content:'';position:absolute;width:9px;height:9px;background:#246183;border-radius:50%;left:1px;top:-11px}.deliveryPerson:after{content:'';position:absolute;width:20px;height:4px;left:5px;top:5px;border-radius:3px;background:#1675a7;transform:rotate(16deg);box-shadow:-4px 14px 0 -1px #246183}.deliveryTowels{position:absolute;left:25px;top:8px;width:22px;height:21px;border:1px solid #87b5a3;border-radius:4px;background:repeating-linear-gradient(0deg,#fff 0 5px,#d2e9df 5px 7px);transform:rotate(-5deg)}.deliveryTrolley{position:absolute;left:23px;top:13px;width:27px;height:20px;border-left:2px solid #628b80;border-bottom:2px solid #628b80;transform:rotate(-5deg)}.deliveryTrolley:before,.deliveryTrolley:after{content:'';position:absolute;bottom:-6px;width:5px;height:5px;background:#375e56;border-radius:50%}.deliveryTrolley:before{left:2px}.deliveryTrolley:after{right:1px}@keyframes deliveryHandover{0%,100%{transform:translateX(-3px)}50%{transform:translateX(9px)}}
@media(max-width:1050px){.dispatchComplete{flex-wrap:wrap;gap:16px}.dispatchCompleteNext{margin-left:168px;justify-items:start}.dispatchedCardHead{gap:16px;flex-wrap:wrap}.dispatchedJourney{min-width:170px}.dispatchedActions{margin-left:auto}.dispatchedDriver{min-width:190px}}
@media(max-width:720px){.dispatchComplete{padding:20px;gap:14px;border-radius:14px}.dispatchCompleteArt{width:102px;height:73px}.dispatchCompleteArt .vanScene{width:102px;height:53px}.dispatchCompleteArt .vanTravel{scale:.47;top:1px}.dispatchCompleteCheck{width:32px;height:32px;font-size:17px;border-width:3px}.dispatchCompleteCopy{flex:1 1 calc(100% - 116px)}.dispatchCompleteCopy h2{font-size:20px}.dispatchCompleteCopy .eyebrow{font-size:9px;letter-spacing:.8px}.dispatchCompleteCopy>p:last-child{font-size:12px}.dispatchCompleteNext{margin:4px 0 0;width:100%;justify-items:stretch;text-align:center}.dispatchCompleteNext .btn{width:100%;white-space:normal}.dispatchSectionHead{flex-wrap:wrap;gap:10px}.dispatchSectionHead h2{font-size:16px}.dispatchSectionHead>div{flex-basis:calc(100% - 45px)}.dispatchSectionHead>.btn{margin-left:auto;min-height:38px}.dispatchedCardHead{padding:14px;gap:14px}.dispatchedDriver{min-width:0;flex:1 1 100%;gap:12px}.dispatchedDriver h3{font-size:19px}.dispatchedJourney{min-width:0;flex:1 1 100%}.dispatchedActions{width:100%;margin:0;justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.dispatchedActions .btn{min-height:42px;text-align:center}.dispatchedRouteLine{padding:12px 14px;flex-direction:column;align-items:flex-start;gap:4px}.dispatchRouteDetails>summary{padding:13px 14px;min-height:44px}.dispatchRouteDetails .planArrival>div{min-width:0;flex-basis:100%}.dispatchCompleteArt .dispatchSpark{left:70%;max-width:4px}.driverTitle:has(.dispatchMiniScene){gap:10px}.driverTitle .dispatchMiniScene{width:82px;height:49px}.driverTitle .dispatchMiniScene .vanScene{width:82px;height:49px}.driverTitle .dispatchMiniScene .vanTravel{scale:.37}}
@media(prefers-reduced-motion:reduce){.dispatchMiniScene *,.dispatchComplete *{animation:none!important;transition:none!important}}

/* Shared form rhythm: keep controls, focus rings and action rows separate. */
.formStack{display:flex;flex-direction:column;gap:18px;min-width:0}
.formStack>[hidden],.routeEditSection[hidden]{display:none!important}
.formStack>.formError:empty,.formStack>div:empty{display:none}
.formStack>h3,.formStack>p,.formStack>.check,.formStack>.configSteps,.formStack>.routeEditTabs{margin-block:0}
.formStack>.modalFoot{padding-top:6px;margin-top:0}
.formStack>.btn{align-self:flex-start}
.formStack>.formError>.error{margin-top:0}
.field,.fields,.details,.actions,.modalFoot{min-width:0}
.field{max-width:100%}
.field>input:not([type=checkbox]):not([type=radio]),.field>select,.field>textarea{width:100%;max-width:100%}
.field>span,.field>small{overflow-wrap:anywhere}
.btn{min-width:0;max-width:100%;height:auto;white-space:normal;line-height:1.4;overflow-wrap:anywhere;text-align:center}
.actions{gap:12px}
.actions>.btn{flex-shrink:0}
.modalFoot{flex-wrap:wrap;gap:16px}
.modalFoot>.btn{flex:0 1 auto}
.modalHead{gap:16px;align-items:flex-start}
.modalHead h2{min-width:0;overflow-wrap:anywhere}
.modalHead>.btn{flex-shrink:0}
.fields>.btn{align-self:end;justify-self:start}
.scheduleDay>.field+.btn{margin-top:16px}
.dispatchStops,.dialogStop,.routeEditSection,.routeEditStop,.fireForm>.card,.startupSetupAdd{display:grid;gap:16px;min-width:0}
.dialogStop{margin-bottom:0}
.dialogStop>h3,.dialogStop>.dispatchWindows,.dialogStop>.dispatchWindows p,.dialogStop>.productLoadList,.dialogStop>.unbillableLines,.routeEditStop>.titleRow,.routeEditStop>.actions,.routeEditStop>.unbillableLines,.routeEditSection>.routeEditStops{margin:0}
.dialogStop>.btn,.startupSetupAdd>.btn{justify-self:start}
.dialogStop .btn,.dialogStop .dispatchStopGrid>.btn{height:auto;min-height:41px}
.dialogStop .dispatchStopGrid>.btn{align-self:stretch;justify-self:stretch}
.routeEditSection>h3,.routeEditSection>p,.fireForm>.card>p,.fireForm>.card>h3{margin:0}
form.deliveryEntry>.field+ .field,form.deliveryEntry>.field+ .btn{margin-top:18px}
.reminderActions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.titleRow,.cardTop,.productConfigHead{flex-wrap:wrap}
.titleRow>div,.cardTop>div,.driverTitle>div{min-width:0}
.titleRow .btn{white-space:normal}
.reportToolbar>.field{flex:1 1 160px;min-width:0}
.reportToolbar>.btn{align-self:flex-end}
.routeTools .btn{height:auto;min-height:44px}
.refuelPhotos .captureActions .btn{white-space:normal}
.check>input[type=checkbox]{flex-shrink:0}
@media(max-width:600px){
  .formStack .fields:not(.dispatchStopGrid),.formStack .stockRules .fields,.formStack .shiftStockRow .fields{grid-template-columns:minmax(0,1fr)}
  .formStack .fields:not(.dispatchStopGrid)>*{grid-column:1}
  .formStack .modalFoot>.btn{flex:1 1 140px}
  .formStack>.actions>.btn{flex:1 1 150px}
  .hygieneSetupRow .field:first-child,.startupSetupRow .field{min-width:0;flex-basis:100%}
  .startupSetupRow>strong{min-width:0}
  .modalHead>.btn{max-width:40%}
  .routeTools .btn{flex-basis:100%}
}

.workingScheduleEditor{display:grid;gap:18px}.workingScheduleDay{border:1px solid #dce7ee;border-radius:12px;padding:18px;display:grid;gap:14px}.workingScheduleDay h3{margin:0}.workingScheduleRow{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:16px}.workingScheduleRow>.check{margin:0}.workingScheduleRow [hidden],.shiftEntry [hidden]{display:none!important}.usualShiftSummary{margin:0;line-height:1.6}.shiftEntry .field{margin:0}
@media(max-width:600px){.workingScheduleRow{grid-template-columns:minmax(0,1fr);gap:10px}.workingScheduleDay{padding:14px}.workingScheduleRow .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.workingScheduleRow .fields>.field{grid-column:auto}}

/* Shared delivery-window alerts for drivers, supervisors, office and management. */
.driverDeliveryWindow{display:table;max-width:100%;padding:11px 14px;border:1px solid #c5dfef;border-radius:10px;background:#edf7fd;color:#17628e;font-size:13px;font-weight:650;line-height:1.6;margin:16px 0;overflow-wrap:anywhere}
.deliveryWindow{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%;padding:5px 7px;border:1px solid transparent;border-radius:8px;line-height:1.4;vertical-align:middle}
.deliveryWindow.deliveryWindowLate{background:#fff5f3;border-color:#edb7b0;color:#a32921}
.deliveryWindowLate .planWindow{color:inherit}
.deliveryWindow>.scheduleWarning{display:block;max-width:100%;margin:3px 0 0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:10px}
.deliveryWindow>.scheduleWarning[hidden]{display:none}
.modal.dispatchModal{width:min(920px,96vw)}
.dispatchCustomerGrid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.3fr) 100px auto;gap:14px;align-items:start;min-width:0}
.dispatchCustomerGrid>.field{min-width:0;margin:0}.dispatchCustomerGrid select,.dispatchCustomerGrid input{width:100%;min-width:0;height:44px}
.dispatchCustomerGrid>.btn{margin-top:25px;min-height:44px}.dispatchCustomerGrid.multipleProducts{grid-template-columns:minmax(150px,1fr) minmax(180px,1.3fr) auto}
.videoCamera [hidden]{display:none!important}.videoCamera>p[role=status]{font-weight:650}.inspectionVideoPicker{display:grid;gap:12px}.inspectionVideoPicker p{margin:0}
@media(max-width:720px){.dispatchCustomerGrid,.dispatchCustomerGrid.multipleProducts{grid-template-columns:minmax(0,1fr) 90px;gap:14px}.dispatchCustomerGrid>.field:first-child{grid-column:1/-1}.dispatchCustomerGrid>.btn{grid-column:1/-1;margin-top:0}.dispatchCustomerGrid.multipleProducts>.field{grid-column:1/-1}.driverDeliveryWindow{font-size:13px;width:100%}}

/* Audit: stable navigation targets and readable directory actions at every width. */
.nav{grid-auto-rows:1fr}
.nav button{min-height:60px;line-height:20px}
.nav .ico{flex:0 0 20px;line-height:20px}
.directoryTable .actions{display:grid;grid-template-columns:minmax(160px,1fr);grid-auto-rows:1fr;min-width:160px;align-items:stretch;gap:10px}
.directoryTable .actions>.btn{width:100%;min-height:44px;overflow-wrap:normal}
.directoryTable td>.btn{min-width:72px;min-height:44px}
@media(max-width:720px){
  .nav button{min-height:44px;flex:none}
  .directoryTable{overflow:visible}
  .directoryTable .listTable,.directoryTable tbody,.directoryTable tr{display:block;width:100%}
  .directoryTable thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .directoryTable tbody>tr{padding:12px 16px;border-bottom:1px solid #dfe8ee}
  .directoryTable tbody>tr:last-child{border-bottom:0}
  .directoryTable .listTable td{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:9px 0;border:0;overflow-wrap:anywhere}
  .directoryTable td::before{content:attr(data-label);font-size:11px;color:#6e8796;font-weight:600}
  .directoryTable .listTable td[data-label=""]{display:block;padding-top:14px}
  .directoryTable td[data-label=""]::before{display:none}
  .directoryTable .actions{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .directoryTable .actions>.btn{min-width:0}
  .directoryTable .reg{justify-self:start;margin:0}
}
@media(max-width:600px){
  .reportSections,.reportSubsections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}
  .reportSections>.btn,.reportSubsections>.btn{width:100%;min-height:44px;overflow-wrap:normal}
}
@media(max-width:360px){.reportSections,.reportSubsections{grid-template-columns:minmax(0,1fr)}}

/* The first history block needs no separator after duplicate stock details were removed. */
.planStopBody>.stockHistory:first-child{border-top:0;padding-top:0;margin-top:0}

/* Daily Review: compact signals, with colour limited to the check and border. */
.reviewStats{grid-template-columns:repeat(5,minmax(0,1fr))}.reviewStat{font:inherit;text-align:left;padding:18px 22px;background:#fff;border:1px solid #dce7ee;border-radius:12px;cursor:pointer;color:inherit}.reviewStat.selected{border-color:#1680bf;box-shadow:0 0 0 1px #1680bf}.reviewStat:hover{background:#f5faff}.reviewStat:focus-visible{outline:3px solid #5aabe0;outline-offset:3px}.reviewAutomationHelp{font-size:13px;line-height:1.6;max-width:850px;color:#526f80;margin:18px 0 24px}.reviewRecord.review-error{border-left:3px solid #c34f45}.reviewRecord.review-warning{border-left:3px solid #c89437}.reviewCheckBadge{font-size:11px;font-weight:700;line-height:1.4;display:inline-block;padding:5px 10px;border-radius:20px;background:#eef2f5;color:#596c7a;max-width:100%;overflow-wrap:anywhere}.reviewCheckBadge.warning{background:#fff4dc;color:#845a13}.reviewCheckBadge.error{background:#ffefed;color:#a62f25}.reviewCheckBadge.pass{background:#eaf4ff;color:#216c9c}.dailyChecks{border:1px solid #dce7ee;border-radius:12px;padding:18px;margin:14px 0}.dailyChecksHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dailyChecks ul{list-style:none;padding:0;margin:16px 0}.dailyCheck{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid #edf1f4}.dailyCheck>div{min-width:0}.dailyCheck strong{font-size:12px;line-height:1.5}.dailyCheck .muted{font-size:12px;margin:5px 0;line-height:1.6;overflow-wrap:anywhere}.dailyCheckMark{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eaf4ff;color:#276c9a;font-size:12px;font-weight:700}.dailyCheck.error .dailyCheckMark{background:#ffefed;color:#a62f25}.dailyCheck.warning .dailyCheckMark{background:#fff4dc;color:#845a13}.dailyCheck.waiting .dailyCheckMark,.dailyCheck.info .dailyCheckMark{background:#eef2f5;color:#667786}.stockCheckMath{margin-top:7px;padding:8px 12px;background:#f8fafc;border-radius:7px}
@media(max-width:900px){.reviewStats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.reviewStats{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewStat{padding:15px}.dailyChecks{padding:12px}.dailyChecksHeading{align-items:flex-start}.reviewSignals{max-width:100%}}

/* Video quality review is separate from vehicle handover completion. */
.videoReviewSummary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.videoReviewSummary p{flex-basis:100%;margin:0;overflow-wrap:anywhere}
.videoReviewBadge{display:inline-flex;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:700;background:#eaf3ff;color:#23598d}
.videoReviewBadge.accepted{background:#e6f5eb;color:#25703c}
.videoReviewBadge.redo{background:#fff2d5;color:#805500}
.videoReviewQueue .panel{min-width:0}.videoReviewQueue .actions{flex-wrap:wrap}
.videoHistory{margin-top:16px}.videoHistory section{padding:12px 0;border-top:1px solid #dce8ef}

.inspectionIssueCard{min-width:0;border-left:4px solid #d39a2e}
.inspectionIssueCard .titleRow{align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.inspectionIssueBadge{display:inline-flex;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:700;background:#fff2d5;color:#805500}
.inspectionIssueBadge.acknowledged{background:#eaf3ff;color:#23598d}
.inspectionIssueList{padding-left:22px;margin:12px 0}.inspectionIssueList li{margin:7px 0;overflow-wrap:anywhere}.inspectionIssueList p{margin:4px 0;white-space:pre-wrap}
.inspectionIssueCard .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:12px}.inspectionIssueCard{display:flex;flex-direction:column}.inspectionIssueCard>.muted{overflow-wrap:anywhere}
.inspectionIssueSummary{border:1px solid #ebcd91;background:#fffbf2;border-radius:12px;padding:16px;margin:16px 0}.inspectionIssueHistory{margin-top:18px}

/* Supervisor Tasks: one work list, grouped by what needs attention. */
.supervisorTasksPage{max-width:1120px;margin:0 auto;min-width:0}
.supervisorTasksHeader{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}
.supervisorTasksHeader h1{margin:5px 0 10px}.supervisorTasksHeader .eyebrow{margin:0;color:#517487;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.supervisorTasksHeader .muted{margin:0;line-height:1.6}
.supervisorTasksTools{display:flex;gap:10px;flex-shrink:0}.supervisorTasksContext{font-size:12px;color:#536f80;margin:0 0 24px}
.supervisorTaskFilters{display:grid;grid-template-columns:repeat(var(--task-filter-columns,3),minmax(0,1fr));gap:14px;margin-bottom:28px}
.supervisorTaskFilter{display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;text-align:left;padding:22px 24px;min-height:85px;border:1px solid #d9e5ed;border-radius:12px;color:#476474;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.supervisorTaskFilter>span{font-weight:650;font-size:14px}.supervisorTaskFilter>strong{font-size:30px;line-height:1.15;font-weight:700;color:#183d53}
.supervisorTaskFilter:hover{background:#f5faff}.supervisorTaskFilter.selected{border-color:#117ab6;box-shadow:inset 0 0 0 1px #117ab6;background:#eff8fe;color:#096da8}.supervisorTaskFilter.selected>strong{color:#096da8}
.supervisorTaskFilter.overdue>strong{color:#93631a}.supervisorTaskFilter.completed>strong{color:#287357}
.supervisorTaskFilter:focus-visible{outline:3px solid #63b4e2;outline-offset:3px}
.supervisorTaskListHeading{margin-bottom:17px}.supervisorTaskListHeading h2{font-size:20px;margin:0 0 7px}.supervisorTaskListHeading .muted{font-size:12px;line-height:1.6;margin:0}
.supervisorTaskRow{display:grid;grid-template-columns:48px minmax(0,1fr) 120px 108px;align-items:center;gap:18px;background:#fff;border:1px solid #dfe8ee;border-radius:14px;padding:18px 20px;margin-bottom:10px;min-width:0;transition:border-color .15s,box-shadow .15s}
.supervisorTaskRow:focus-within{border-color:#8bbddc;box-shadow:0 0 0 3px #eaf5fc}
.supervisorTaskSymbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid #dcecf8;border-radius:13px;background:#edf6fd;color:#1674a6}
.supervisorTaskSymbol svg{display:block;width:26px;height:26px}
.supervisorTaskSymbol.taskIcon-fire{background:#fff4eb;border-color:#f9e4d4;color:#b45c24}
.supervisorTaskSymbol.taskIcon-cleaning{background:#edf8f5;border-color:#d8eee6;color:#267b68}
.supervisorTaskSymbol.taskIcon-production,.supervisorTaskSymbol.taskIcon-stock{background:#f4f0fb;border-color:#e8e0f6;color:#7759a3}
.supervisorTaskSymbol.taskIcon-handover{background:#f0f4f8;border-color:#e1e8ee;color:#516e85}
.supervisorTaskBody{min-width:0}.supervisorTaskTitle h3{font-size:15px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.supervisorTaskStatus{display:inline-flex;align-items:center;justify-self:start;gap:6px;font-size:11px;font-weight:650;line-height:1.4;border-radius:20px;padding:5px 9px;background:#f0f4f7;color:#536c7b}
.supervisorTaskStatus::before{content:'';width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor}
.supervisorTaskMeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;line-height:1.5;color:#577486;margin:5px 0 0}.taskShared{font-size:11px;color:#536b79;border-left:1px solid #d9e5ed;padding-left:8px}
.supervisorTaskDue,.supervisorTaskBody>.muted{margin:0;font-size:11px;line-height:1.6;color:#577486}
.supervisorTaskRow>.btn{min-width:0;min-height:44px;padding:10px 14px;box-shadow:none}
.supervisorTaskRow.isOverdue{border-left:3px solid #d2a04d}.isOverdue .supervisorTaskDue{color:#885a14}
.isOverdue .supervisorTaskStatus{background:#fff4dc;color:#885a14}
.isInProgress .supervisorTaskStatus{background:#eaf4ff;color:#256a9e}
.isComplete .supervisorTaskStatus{background:#eaf6ef;color:#287357}
.isComplete .supervisorTaskStatus::before{width:7px;height:4px;flex-basis:7px;border-radius:0;background:none;border-left:1.5px solid;border-bottom:1.5px solid;transform:translateY(-1px) rotate(-45deg)}
.supervisorTaskEmpty{text-align:center;background:#fff;border:1px solid #dfe8ee;border-radius:12px;padding:44px 24px;color:#526f80}.supervisorTaskEmpty>span{display:block;color:#287357;font-size:28px;margin-bottom:12px}.supervisorTaskEmpty h3{font-size:16px;color:#274b61;margin:0 0 8px}.supervisorTaskEmpty .muted{line-height:1.7;margin:0;font-size:12px}
.supervisorTaskNotice,.supervisorTaskLoadError{border:1px solid #e7d3ae;border-radius:10px;padding:16px 20px;background:#fffaf0;margin:0 0 20px;font-size:13px;line-height:1.6}.supervisorTaskNotice .muted{margin:5px 0 0}.supervisorTaskLoadError p{margin:0 0 10px}.taskShowMore{display:block;margin:20px auto}
@media(max-width:900px){.supervisorTasksHeader{align-items:flex-start;flex-wrap:wrap}.supervisorTaskFilter{padding:18px}}
@media(max-width:600px){.supervisorTasksHeader{gap:16px}.supervisorTasksTools{width:100%}.supervisorTasksTools>.btn{flex:1;min-height:44px;padding:10px;font-size:12px}.supervisorTasksContext{margin-bottom:18px}.supervisorTaskFilters{gap:8px;margin-bottom:24px}.supervisorTaskFilter{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 11px;min-height:95px}.supervisorTaskFilter>span{font-size:12px;overflow-wrap:anywhere}.supervisorTaskFilter>strong{font-size:27px}.supervisorTaskRow{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;padding:16px 14px}.supervisorTaskSymbol{width:40px;height:40px;border-radius:11px;align-self:start}.supervisorTaskSymbol svg{width:23px;height:23px}.supervisorTaskBody{grid-column:2/-1}.supervisorTaskStatus{grid-column:2;font-size:10px}.supervisorTaskRow>.btn{grid-column:3;max-width:128px;min-width:80px;font-size:12px;overflow-wrap:anywhere}.supervisorTaskTitle h3{font-size:14px}.supervisorTaskMeta{gap:6px;font-size:11px}.supervisorTaskEmpty{padding:32px 16px}}

/* EOD begins with automatic production and the two team inputs. */
.eodProduction{padding:22px;border:1px solid #cfe1ee;background:#fcfeff;min-width:0}.eodProduction>.eyebrow{margin:0 0 7px;font-size:10px;letter-spacing:1px;color:#4b7896}.eodProduction h3{font-size:18px;margin:0 0 10px}.eodProduction>.muted{line-height:1.6;margin:8px 0 16px}.eodProductionTotal{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;border:1px solid #d4e7f4;border-radius:10px;background:#edf7fd;padding:17px 20px;margin-bottom:20px}.eodProductionTotal>.muted{margin:0 auto 0 0;color:#3c6682;font-size:12px}.eodProductionTotal>strong{font-size:30px;line-height:1.2;color:#176898}.eodProductionTotal>span{color:#54788f;font-size:12px}.eodProduction .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.eodProduction .fields input{min-height:44px;min-width:0;width:100%}.eodProduction .muted{font-size:12px;line-height:1.6}.eodDispatchDetails{border-top:1px solid #e0eaf1;padding-top:14px;margin-top:18px}.eodDispatchDetails>.tableWrap{margin-top:12px}.eodDispatchDetails summary,.eodRecordedFacts>summary,.eodLegacyReports>summary{font-size:13px;font-weight:650;cursor:pointer;min-height:28px;line-height:1.6}.eodRecordedFacts{margin:14px 0}.eodRecordedFacts>.shiftFacts{margin-top:12px}.eodLabourSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.eodLabourSummary .muted{margin:0 0 7px}.eodLabourSummary strong{font-size:19px}.eodLegacyReports .shiftReportCard{margin-top:12px}.eodDispatchDetails .listTable th{white-space:nowrap}
@media(max-width:600px){.eodProduction{padding:16px}.eodProductionTotal{padding:14px}.eodProductionTotal>.muted{flex-basis:100%;margin-bottom:3px}.eodProduction .fields{gap:12px}.eodProduction .field{font-size:12px}.eodLabourSummary{grid-template-columns:1fr 1fr}.eodProduction h3{font-size:17px}}

@media(max-width:360px){.supervisorTaskFilters{grid-template-columns:1fr;gap:6px}.supervisorTaskFilter{flex-direction:row;align-items:center;min-height:48px;padding:10px 14px}.supervisorTaskFilter>span{overflow-wrap:normal}.supervisorTaskFilter>strong{font-size:23px}}

.eodNotes{min-width:0;font-size:13px}.eodNotes>summary{cursor:pointer;color:#326c90;font-weight:600;min-height:30px;line-height:30px}.eodNotes[open]>summary{margin-bottom:8px}.eodNotes>.field{margin:0}.shiftSupplyRow>.eodNotes{grid-column:1/-1}.shiftSupplyRow .eodNotes>summary{min-height:24px;line-height:24px}.shiftSupplyRow .eodNotes input{max-width:100%}

/* Compact fire checks: show detail only where the answer needs follow-up. */
.fireForm .fireCheckRow{gap:10px;padding:16px;border:1px solid var(--line,#dce7ee);border-radius:12px}
.fireForm .fireCheckQuestion{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,32%);gap:16px;align-items:center;margin:0}
.fireForm .fireCheckQuestion>select{width:100%;min-width:0;height:44px}
.fireForm .fireCheckRow>details{font-size:14px;color:var(--muted,#6e8798)}
.fireForm .fireCheckRow>details>summary{cursor:pointer}
.fireForm .fireCheckAttention{border-color:#e9bd6f;background:#fffaf0}
.fireForm [hidden]{display:none!important}
@media(max-width:600px){.fireForm .fireCheckQuestion{grid-template-columns:minmax(0,1fr);gap:10px}.fireForm .fireCheckRow{padding:14px}}

/* Actual supervisor sessions and shared fault follow-up. */
.shiftSessionPanel{margin:1rem 0 1.5rem;border:1px solid var(--border,#d8e5ee);border-radius:16px;background:#fff;overflow:hidden}
.shiftSessionBanner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;background:#eff7fc}
.shiftSessionBanner h2{margin:0 0 .35rem}.shiftSessionBanner .btn{min-height:44px;white-space:nowrap}
.shiftHandover{padding:1rem 1.25rem;border-top:1px solid #d8e5ee}.shiftHandover h3{margin-top:0}
.shiftTaskBlockers{display:flex;flex-wrap:wrap;gap:.65rem;padding:1rem;border:1px solid #edc779;border-radius:12px;background:#fff9ed}.shiftTaskBlockers strong{flex-basis:100%}.shiftTaskBlockers[hidden]{display:none}
.checkFaultPanel{display:grid;gap:.75rem;margin:1.25rem 0}.checkFaultPanel h2,.checkFaultCard h3{margin:0}.checkFaultCard{border-left:3px solid #c18b21}.checkFaultCard .actions{flex-wrap:wrap}.checkFaultCard p{overflow-wrap:anywhere}
@media(max-width:600px){.shiftSessionBanner{align-items:stretch;flex-direction:column}.shiftSessionBanner .btn{width:100%}.shiftHandover .shiftFactLine{align-items:flex-start;flex-wrap:wrap}}
.checkFaultCard{padding:1rem 1.25rem;border:1px solid #e1e7ec;border-left:3px solid #c18b21;border-radius:12px;background:#fff}

/* Recurring route setup shares the operational cards' quiet visual treatment. */
.routePlansEditor{display:grid;gap:16px;min-width:0}.routePlansEditor .notice{margin:0}.routePlanDays{display:flex;flex-wrap:wrap;gap:8px}.routePlanDays>.btn{min-height:42px;flex:1 0 auto}.routePlanDays>.selected{background:#e6f2fa;border-color:#1477b5;color:#154660}.routePlanHeading,.routeTemplateHead{display:flex;gap:16px;align-items:center;justify-content:space-between}.routePlanHeading h3{margin:0}.routeTemplate{border:1px solid #d4e3ec;border-radius:14px;padding:18px;display:grid;gap:12px;background:#fff}.routeTemplateHead>.field{flex:1;margin:0}.routeTemplateHead>.btn{flex-shrink:0}.routeTemplateStop{display:grid;grid-template-columns:28px minmax(140px,1fr) minmax(140px,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e6eef3}.routeTemplateCustomer{display:grid;gap:5px;min-width:0}.routeTemplateStop select{width:100%;min-width:0}.routeTemplateMove{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.routeTemplateMove .btn{min-width:72px;min-height:42px}.routePlanUnassigned{background:#f5f9fc;border:1px solid #dce8f0;border-radius:14px;padding:18px}.routeTemplateStop.unassigned{grid-template-columns:1fr 1fr}.routePlanCopy{border-top:1px solid #dce8f0;padding-top:16px}.routePlanCopy summary{cursor:pointer;font-weight:650}.routePlanCopy>.btn{margin-top:16px}.routePlanWindowDay{border:1px solid #dce8f0;border-radius:12px;padding:16px}.routePlanWindowRows{display:grid;gap:8px;margin-top:12px}.routePlanWindow{display:grid;grid-template-columns:100px 1fr 1fr auto;gap:12px;align-items:center}.routePlanWindow .field{margin:0}.routePlanWindowDay [hidden]{display:none}.routePlanTabs{justify-self:start}.routePlansEditor input[type=time]{min-width:0}
@media(max-width:700px){.routeTemplateHead{align-items:flex-end}.routeTemplateStop{grid-template-columns:28px 1fr auto}.routeTemplateStop>select{grid-column:2/4;grid-row:2}.routeTemplateMove{grid-template-columns:1fr}.routeTemplateStop.unassigned{grid-template-columns:1fr}.routeTemplateStop.unassigned>select{grid-column:1;grid-row:auto}.routePlanWindow{grid-template-columns:1fr 1fr}.routePlanWindow>strong{grid-column:1/-1}.routePlanWindow>.check{grid-column:1/-1}.routeTemplateHead .btn{max-width:110px;white-space:normal}.routePlanHeading{align-items:flex-start}.routeTemplate{padding:12px}}

.routePlanWindowDay summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:650}.routePlanWindowDay summary span{font-size:.88rem;font-weight:400;color:#638094}.routePlanWindowDay[open]>label{margin-top:14px}.routePlanWindowDay summary span:empty{display:none}

/* Compact startup categories keep exception entry and existing faults visible. */
.startupGroupCard,.startupGroupReport{padding:18px;border:1px solid var(--line,#dce7ee);border-radius:12px;min-width:0;background:#fff}
.startupGroupCard{margin:0}.startupGroupHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,42%);gap:18px;align-items:center}.startupGroupHead h3{font-size:17px;margin:0}.startupGroupHead .muted{font-size:12px;margin:6px 0 0}.startupGroupHead>.field{margin:0}.startupGroupHead select{width:100%;min-width:0;min-height:44px}
.startupWhatToCheck,.startupFullChecks,.startupExtraReadings{margin-top:12px;font-size:13px}.startupGroupCard summary,.startupGroupReport summary{cursor:pointer;color:#276a91}.startupWhatToCheck ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin:14px 0;padding-left:20px}
.startupExceptionPanel[hidden],.startupKnownFault>[hidden]{display:none!important}.startupExceptionPanel{margin-top:16px}.startupExceptionList{display:grid;gap:14px;margin-bottom:14px}.startupException,.startupKnownFault{padding:16px;border:1px solid #e9c890;border-radius:10px;background:#fffaf1;display:grid;gap:14px}.startupKnownFault{margin-top:14px}.startupException .field,.startupKnownFault .field,.startupException .fields{margin:0}.startupException .titleRow{gap:12px;align-items:center}.startupException .titleRow>.btn{margin-left:auto;flex-shrink:0}.startupException .titleRow strong{font-size:14px}.startupException select,.startupKnownFault select{min-width:0;width:100%;min-height:44px}.startupKnownFault>.muted{margin:0;white-space:pre-wrap}.startupReading{display:grid;gap:12px;margin:16px 0}.startupGroupReports{display:grid;gap:12px}.startupGroupReport>.titleRow{margin:0;gap:12px;flex-wrap:wrap}.startupGroupReport>.muted{margin:8px 0;font-size:13px}.startupExceptionSummary{font-size:13px;white-space:pre-wrap;margin:10px 0}.startupFullChecks>.startupGroups{margin-top:14px}
@media(max-width:650px){.startupGroupHead{grid-template-columns:minmax(0,1fr);gap:12px}.startupGroupCard,.startupGroupReport{padding:14px}.startupWhatToCheck ul{grid-template-columns:minmax(0,1fr)}.startupException .fields,.startupReading .fields{grid-template-columns:minmax(0,1fr)}.startupExceptionPanel>.btn{width:100%}.startupException,.startupKnownFault{padding:12px}.startupGroupReport .startupTable{min-width:440px}}

.startupGroupGuidance{margin-top:14px}.startupIdentificationPhotos{gap:10px;margin:0;flex-wrap:wrap}.startupIdentificationPhotos .startupPhotoButton{width:84px;height:84px;padding:0;overflow:hidden;border:1px solid #dce7ee;border-radius:9px;background:#f4f8fb}.startupIdentificationPhotos .startupPhotoButton img{width:100%;height:100%;object-fit:cover}.startupReferenceInfo,.startupReferenceEditor{margin-top:14px;font-size:13px}.startupReferenceInfo summary,.startupReferenceEditor summary{cursor:pointer;color:#276a91;font-weight:600}.startupReferenceInfo p{white-space:pre-wrap}.startupReferencePages{display:grid;gap:14px;margin-top:14px}.startupReferencePages .startupPhotoButton{width:100%;padding:0;background:white;border:1px solid #dce7ee;border-radius:8px;overflow:hidden}.startupReferencePages .startupPhotoButton img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.startupReferenceEditor>.field{margin-top:14px}.startupPhotoFull{max-height:none}
.eodStockGroup{display:grid;gap:12px;padding:16px 0;border-bottom:1px solid #dbe7ee}.eodStockGroup h4{margin:0}.eodStockGroupHead{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.eodStockGroupHead h4{flex:1;min-width:180px}.eodStockGroupHead .check{margin:0;font-size:13px}.eodStockGroupHead .btn{min-height:42px}.stockCheckTask{display:flex;justify-content:space-between;align-items:center;gap:16px}.stockCheckTask p{margin:6px 0}.modal:has(.stockCheckSetupRow){width:min(860px,calc(100vw - 40px))}.stockCheckSetupRow{display:grid;grid-template-columns:minmax(140px,1fr) 170px 100px 100px auto;gap:12px;align-items:end}.stockCheckSetupRow .field{min-width:0}.stockCheckLow{color:#9a650c;font-weight:700}.stockCheckForm .shiftSupplyRow,.shiftForm .shiftSupplyRow{padding:14px 0;margin:0;gap:8px 16px}.stockCheckForm .shiftSupplyRow .field,.shiftForm .shiftSupplyRow .field{margin:0}.stockCheckForm .shiftSupplyRow .muted,.shiftForm .shiftSupplyRow .muted{margin:0}.stockCheckForm .shiftSupplyRow .eodNotes,.shiftForm .shiftSupplyRow .eodNotes{margin:0}.weeklyStockTasks{display:grid;gap:12px;margin:24px 0}.weeklyStockTasks h2{margin:0}.weeklyStockTasks .card{margin:0}@media(max-width:700px){.stockCheckSetupRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stockCheckSetupRow .field:first-child{grid-column:1/-1}.stockCheckTask{align-items:start;flex-direction:column}}

/* Notifications: compact groups, with details and actions only when expanded. */
.notificationPage{max-width:1240px;margin:0 auto}.notificationPage .pageHeading{gap:20px}.notificationPage .actions{flex-wrap:wrap;gap:8px}.notificationPage .actions .btn{min-height:42px}.notificationStatusTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px}.notificationStatusTab{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:76px;padding:16px 20px;background:#fff;border:1px solid var(--line,#d7e5ee);border-radius:12px;color:#496b7e;font:inherit;font-weight:650;text-align:left;cursor:pointer}.notificationStatusTab strong{font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums}.notificationStatusTab.selected{background:#edf7fd;border-color:#1683bd;box-shadow:inset 0 0 0 1px #1683bd;color:#0873b1}.notificationCategories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.notificationCategory{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid #d7e5ee;border-radius:24px;background:#fff;color:#496b7e;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.notificationCategory.selected{background:#153f58;border-color:#153f58;color:#fff}.notificationCategoryCount{padding:2px 6px;border-radius:10px;background:#edf3f7;font-size:12px;min-width:22px;text-align:center;font-variant-numeric:tabular-nums}.notificationCategory.selected .notificationCategoryCount{background:#ffffff25;color:#fff}.notificationCategories .navIcon{width:17px;height:17px}.notificationGroups{display:grid;gap:12px;margin-top:22px}.notificationGroup{border:1px solid #d7e5ee;border-radius:14px;background:#fff;overflow:hidden}.notificationGroup>summary{display:flex;align-items:center;gap:14px;min-height:88px;padding:18px 22px;cursor:pointer;list-style:none}.notificationGroup>summary::-webkit-details-marker{display:none}.notificationGroupIcon{width:40px;height:40px;display:grid;place-items:center;background:#f0f6fa;color:#4d7d98;border-radius:11px;flex-shrink:0}.notificationGroupText{display:grid;gap:4px;flex:1;min-width:0}.notificationGroupText strong{font-size:16px;color:#173c53;font-weight:650;overflow-wrap:anywhere}.notificationGroupText small{font-size:12px;color:#718897}.notificationGroupCount{min-width:30px;padding:5px 8px;border-radius:10px;text-align:center;font-size:14px;font-weight:700;background:#edf3f7;color:#4d6d7f;font-variant-numeric:tabular-nums}.notificationGroupCount.pending{background:#edf7fd;color:#0873b1}.notificationChevron{display:flex;color:#7992a2;transition:transform .15s}.notificationGroup[open] .notificationChevron{transform:rotate(90deg)}.notificationGroupBody{border-top:1px solid #e4edf3;padding:18px 22px;background:#fbfdfe}.notificationGroupBody>section,.notificationGroupBody .operationalSection,.notificationGroupBody .mileageReviewSection,.notificationGroupBody .checkFaultPanel{margin:0}.notificationGroupBody>section>h2,.notificationGroupBody .announcementManagement>.titleRow{display:none}.notificationGroupBody .alertGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notificationGroupBody .card,.notificationGroupBody .panel{padding:18px;box-shadow:none;min-width:0;margin-bottom:12px}.notificationGroupBody .card:last-child,.notificationGroupBody .panel:last-child{margin-bottom:0}.notificationGroupBody h3{font-size:16px;margin:0}.notificationGroupBody .titleRow{gap:12px;flex-wrap:wrap}.notificationGroupBody p{font-size:14px;line-height:1.5}.notificationGroupBody .actions{margin-top:14px}.notificationGroupBody .btn{font-size:13px;padding:10px 14px}.notificationGroupBody .teamAlerts .shiftFactLine{padding:14px 0;border-bottom:1px solid #e4edf3;gap:12px}.notificationGroupBody .teamAlerts .shiftFactLine:last-child{border-bottom:0}.notificationShowMore{margin-top:16px}.notificationEmpty{text-align:center;padding:42px 20px;border:1px dashed #d7e5ee;border-radius:14px;background:#fff}.notificationEmpty h2{font-size:19px;margin:0 0 8px}.notificationStatusTab:focus-visible,.notificationCategory:focus-visible,.notificationGroup>summary:focus-visible{outline:3px solid #7ac7f1;outline-offset:-3px}.checkIssueLink{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff;border:1px solid #d7e5ee;border-radius:14px;margin:20px 0}.checkIssueLink p{margin:5px 0 0;font-size:14px}.checkFaultCard.isAcknowledged{border-left-color:#5e9ab8}.checkFaultCard.isResolved{border-left-color:#287c5e}.checkIssueResolution{padding:12px 14px;border-radius:8px;background:#f0f8f4}.checkIssueResolution p{margin:6px 0}.notificationGroupBody .badge.resolved{color:#287c5e;background:#eaf5ef}
@media(max-width:700px){.notificationStatusTabs{gap:8px;margin-top:18px}.notificationStatusTab{padding:12px;min-height:92px;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px}.notificationStatusTab strong{font-size:24px}.notificationCategories{gap:6px}.notificationCategory{font-size:12px;padding:8px 10px;gap:6px}.notificationCategory .navIcon{display:none}.notificationGroup>summary{padding:16px 14px;gap:10px;min-height:84px}.notificationGroupText strong{font-size:15px}.notificationGroupIcon{width:34px;height:34px}.notificationGroupBody{padding:14px 12px}.notificationGroupBody .alertGrid{grid-template-columns:minmax(0,1fr)}.notificationGroupBody .card,.notificationGroupBody .panel{padding:14px}.notificationGroupBody .teamAlerts .shiftFactLine{display:grid;grid-template-columns:minmax(0,1fr)}.notificationGroupBody .teamAlerts p{margin:0}.checkIssueLink{padding:16px;flex-wrap:wrap}.checkIssueLink .btn{min-height:42px}}
@media(prefers-reduced-motion:reduce){.notificationChevron{transition:none}}

/* Shared columns and equal card heights keep notification groups easy to scan. */
.notificationGroupBody .alertGrid>.panel,.notificationGroupBody .alertGrid>.card{margin:0;display:flex;flex-direction:column;align-items:stretch}
.notificationGroupBody .alertGrid>.panel>.btn:last-child,.notificationGroupBody .alertGrid>.card>.btn:last-child{align-self:flex-start;margin-top:auto}
.notificationGroupBody .operationalCard{gap:12px}.notificationGroupBody .operationalCard>p{margin:0}
.notificationGroup.criticalPriority{border-color:#dc8277;border-left:4px solid #cb4a3d}
.notificationGroup.criticalPriority .notificationGroupCount{background:#ffe7e2;color:#a62b21}
.notificationGroup.criticalPriority .notificationGroupIcon{background:#fff1ee;color:#b24034}
.notificationTaskList{display:grid;gap:12px}.notificationTaskList>.panel{margin:0}
.supplyAlertRow{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(150px,1fr) minmax(95px,.65fr) minmax(165px,1.1fr);gap:20px;padding:18px 0;border-bottom:1px solid #dfe9ef;align-items:center}
.supplyAlertRow:last-child{border-bottom:0}.supplyAlertHeader{font-size:12px;color:#668196;padding:10px 0}.supplyAlertCell{min-width:0;overflow-wrap:anywhere}.supplyAlertCell p{margin:0;font-size:12px}.supplyAlertCell p+p{margin-top:4px}.supplyQuantity{font-variant-numeric:tabular-nums}.supplyMobileLabel{display:none}.attemptConversation{display:grid;gap:10px;margin:14px 0}.attemptConversation p{margin:4px 0;white-space:pre-wrap}
@media(max-width:800px){.supplyAlertRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.supplyAlertHeader{display:none}.supplyMobileLabel{display:block;font-size:11px;color:#718897;margin-bottom:4px}.supplyAlertCell:first-child{grid-column:1/-1}.supplyAlertCell:last-child{grid-column:1/-1}}

.deliveryQuantityDifference[hidden]{display:none!important}

.dispatchStopHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dispatchStopHeader h3,.dispatchStopHeader .actions{margin:0}
.dispatchStopHeader h3{font-size:15px}
.dispatchStopHeader .actions{gap:8px}
.dispatchStops .dispatchCustomerGrid{grid-template-columns:minmax(150px,1fr) minmax(180px,1.3fr) 100px}
.dispatchStops .dispatchCustomerGrid.multipleProducts{grid-template-columns:minmax(150px,1fr) minmax(180px,1.3fr)}
@media(max-width:720px){.dispatchStops .dispatchCustomerGrid{grid-template-columns:minmax(0,1fr) 90px}.dispatchStops .dispatchCustomerGrid.multipleProducts{grid-template-columns:minmax(0,1fr)}.dispatchStopHeader .actions{flex-wrap:wrap}}

.shiftFacts .shiftFactCounts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.shiftFacts>h3{margin-top:24px}.shiftFacts>h3:first-child{margin-top:0}.shiftFacts .shiftReadRows .badge{justify-self:start}

.eodCageCounts>h3{margin-top:0}.eodCageCounts>h4{margin:22px 0 12px}.eodCageCounts>.field{max-width:360px}.eodCageCounts .fields{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.eodCageCounts .field{min-width:0}.eodCageCounts input{min-width:0;width:100%}@media(max-width:500px){.eodCageCounts .fields{grid-template-columns:1fr}}

.eodRejectChecks{display:grid;gap:14px}.eodRejectChecks>h3,.eodRejectChecks>p,.eodRejectChecks .shiftFactCounts{margin:0}.eodRejectChecks .shiftFactCounts{grid-template-columns:repeat(3,minmax(0,1fr))}.eodRejectRow{display:grid;gap:8px;padding:14px;border:1px solid #dce7ee;border-radius:12px}.eodRejectRow .titleRow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin:0}.eodRejectRow p,.eodRejectRow .check{margin:0}.eodRejectChecks>.btn{justify-self:start}

/* Arrivals at the selected laundry. */
.returnOverview{margin:0 0 26px;padding:22px 24px;border:1px solid #d9e7f0;background:white;border-radius:14px}
.returnOverviewHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.returnOverviewHead h2{font-size:20px;margin:0}.returnCount{background:#edf6fc;border-radius:9px;padding:5px 11px;font-weight:700;color:#1073b4}.returnOverview>.muted{font-size:12px;margin:10px 0 4px}
.returnOverviewRow{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(110px,.7fr) minmax(160px,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid #e6edf3;margin-top:14px}.returnDriver{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.returnDriver>strong{width:100%;font-size:16px}.returnNext{color:#1073b4;font-weight:700}.returnDestination,.returnEta{display:grid;gap:5px}.returnDestination small,.returnEta small{color:#718b9b;font-size:12px}.returnEta>strong{font-size:20px;color:#1073b4}.returnEta.unavailable>strong,.returnEta.calculating>strong{font-size:14px;color:#718b9b}.returnEta.passed>strong,.returnEta.passed small:last-child{color:#936517}.returnOverviewRow .reg{margin:0}.returnOverviewRow .actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:950px){.returnOverviewRow{grid-template-columns:1fr 1fr}.returnOverviewRow .actions{justify-content:flex-start}}
@media(max-width:480px){.returnOverview{padding:18px 16px}.returnOverviewRow{gap:14px 10px}.returnOverviewRow .actions{grid-column:1/-1}.returnOverviewRow .actions .btn{flex:1}.returnOverviewHead h2{font-size:18px}.returnDriver .reg{font-size:11px}}
/* Reports separate completed records from shift work and quality monitoring. */
.historyFilters{display:grid;grid-template-columns:1fr 1fr 1.3fr 1.3fr auto auto;gap:14px;align-items:end;background:#fff;border:1px solid #dce7ef;border-radius:16px;padding:20px}
.historyFilters .field{min-width:0}
.historyFilters .btn{min-height:44px}
.historyList{display:grid;gap:10px}
.historyRow{display:grid;grid-template-columns:48px minmax(0,1fr) 180px 150px 90px;gap:18px;align-items:center;background:#fff;border:1px solid #dce7ef;border-radius:14px;padding:20px}
.historyRow h3{font-size:16px;margin:0 0 6px}
.historyRow p{margin:0;line-height:1.5}
.historyRow .badge{justify-self:start}
.historyRowDate strong{font-size:14px}
.historyRowDate .muted{font-size:12px;margin-top:4px}
.weeklyCleaningCard{background:white;border:1px solid #dce7ef;border-radius:16px;margin-top:28px;overflow:hidden}
.weeklyCleaningHeader{display:flex;align-items:center;gap:16px;padding:22px;border-bottom:1px solid #e3edf4}
.weeklyCleaningHeader h2{font-size:19px;margin:0 0 5px}
.weeklyCleaningHeader p{margin:0}
.weeklyCleaningHeader>.badge{margin-left:auto;white-space:normal}
.weeklyCleaningBody{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}
.weeklyCleaningBody strong{font-size:18px}
.weeklyCleaningBody p{margin:8px 0 0}
.weeklyCleaningOverdue{color:#b34a24;font-weight:600}
.weeklyVehicleRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px}
.weeklyVehicleRow h3{margin-top:0}
.weeklyVehicleRow.isOverdue{border-left:4px solid #c98c21}
.weeklyCleaningHeading{padding:20px;background:#eef7fc;border:1px solid #d8eaf5;border-radius:14px}
@media(max-width:1100px){
 .historyFilters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .historyRow{grid-template-columns:40px minmax(0,1fr) 130px 85px;gap:14px}
 .historyRowDate{grid-column:2;grid-row:2}
 .historyRowDate .muted{display:none}
 .historyRow>.badge{grid-column:3;grid-row:1}
 .historyRow>.btn{grid-column:4;grid-row:1 / span 2}
}
@media(max-width:600px){
 .historyFilters{padding:16px;gap:12px}
 .historyRow{grid-template-columns:36px minmax(0,1fr) auto;padding:16px;gap:10px}
 .historyRow .supervisorTaskSymbol{width:36px;height:36px}
 .historyRowBody{grid-column:2 / span 2}
 .historyRow>.badge{grid-column:2;grid-row:3}
 .historyRow>.btn{grid-column:3;grid-row:3}
 .historyRowDate{grid-column:2 / span 2;grid-row:2}
 .weeklyCleaningHeader{flex-wrap:wrap;padding:18px}
 .weeklyCleaningHeader>.badge{margin-left:52px}
 .weeklyCleaningBody{align-items:stretch;flex-direction:column;padding:18px}
 .weeklyVehicleRow{grid-template-columns:1fr;gap:12px}
 .weeklyVehicleRow .badge{justify-self:start}
 .weeklyVehicleRow .actions{justify-content:flex-start}
}

.inspectionFilters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;align-items:end;gap:16px;padding:20px;background:#fff;border:1px solid #dce7ef;border-radius:16px;margin-bottom:16px}
.inspectionFilters .field{min-width:0;margin:0}
@media(max-width:700px){.inspectionFilters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px}}

.supervisorTaskPeriod{margin:0 0 28px}.supervisorEarlierTasks{border-top:1px solid #d9e5ed;padding-top:20px;margin-top:24px}.supervisorEarlierTasks>summary{font-weight:650;font-size:18px;cursor:pointer;margin-bottom:18px}

.fireForm [hidden]{display:none!important}

.fireTrainingSummary{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.fireTrainingSummary p{margin:0 0 5px}.fireTrainingSummary strong{white-space:pre-wrap;overflow-wrap:anywhere}.fireTrainingSigning .shiftFactLine{gap:16px;padding:16px}.fireTrainingSigning .signatureArea{margin:0}.fireTrainingSigning>details{border-top:1px solid #dce7ee;padding-top:16px}.fireTrainingSigning>details>.btn{margin:12px 12px 0 0}@media(max-width:600px){.fireTrainingSummary{grid-template-columns:1fr}.fireTrainingSigning .shiftFactLine{align-items:flex-start;flex-wrap:wrap}.fireTrainingSigning>.btn{width:100%}}

.fireDuration{min-width:0}.fireDurationInputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fireDurationInputs .field{margin:0;min-width:0}.fireDurationInputs input{width:100%;min-width:0}.fireDuration .muted{font-size:12px;margin:6px 0 0}

/* Fire book and evidence review */
.fireQuestionLabel{display:flex;align-items:center;gap:10px}.firePictogram{display:inline-flex;flex:0 0 32px;width:32px;height:32px;align-items:center;justify-content:center;border-radius:8px;background:#edf5fb;color:#2471a0}.firePictogram-co2{color:#263546;background:#edf0f4}.firePictogram-water{color:#bc3036;background:#fff0f0}.firePictogram-foam{color:#9a7425;background:#fbf5e4}.firePictogram-powder{color:#286bb1;background:#edf5ff}.firePictogram-firstAidKits,.firePictogram-firstAidStock{color:#238166;background:#eaf8f1}
.supervisorTaskSymbol.taskIcon-extinguisher,.supervisorTaskSymbol.taskIcon-alarm{background:#fff1ef;border-color:#f6ded9;color:#b64c3d}.supervisorTaskSymbol.taskIcon-lighting{background:#fff8e7;border-color:#f3e7c1;color:#9b761e}.supervisorTaskSymbol.taskIcon-storage{background:#edf7f2;border-color:#d7eade;color:#387961}.supervisorTaskSymbol.taskIcon-book{background:#edf4fd;border-color:#d9e6f8;color:#336ba9}
.fireReviewProgress{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid #d9e6f3;border-radius:12px;background:#f0f6fc;gap:16px}.fireReviewCard{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:18px}.fireReviewCard p{margin:6px 0 0}.fireReviewRecord{border:1px solid var(--line);border-radius:12px;padding:16px}.fireReviewRecord>summary{font-weight:700;cursor:pointer}.fireReviewRecord>.details{margin-top:18px}.fireReviewWarning{background:#fff7ef;border-color:#ead6be}.fireEditionRow,.fireFileRow{display:flex;align-items:center;justify-content:space-between;gap:14px}.fireBookHub .photoCapture{border:0}.fireServiceCard{display:grid;gap:10px}.fireServiceCard .btn{justify-self:start}.fireBookHub h3{margin:10px 0 0}.fireReviewSection .details .card{overflow-wrap:anywhere}.fireReviewIntro{line-height:1.6}
@media(max-width:600px){.fireReviewCard{grid-template-columns:36px minmax(0,1fr);padding:14px}.fireReviewCard>.btn{grid-column:2;justify-self:start}.fireReviewProgress{align-items:flex-start;flex-direction:column;gap:5px}.fireEditionRow{align-items:flex-start;flex-direction:column}.fireQuestionLabel{gap:8px}.firePictogram{flex-basis:28px;width:28px;height:28px}}

.formOrderControls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.formOrderControls .btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;white-space:nowrap}.shiftSetupRow>.formOrderControls{align-self:end}.startupSectionEditor>.startupSetupRow .formOrderControls{margin-top:6px}

/* Form management keeps configuration separate from completed reports. */
.manageFormsPage{gap:24px;min-width:0}.manageFormsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.manageFormsHeader .pageHeading{margin:0;flex:1;min-width:240px}.manageFormsHeader .actions{margin-top:4px}.manageFormsPage>.reportSections{margin:0;padding-bottom:0;gap:16px}.manageFormsPage>.reportSubsections{padding:0;gap:8px}.manageFormsPanel{border:1px solid #d7e5ee;border-radius:16px;background:#fff;padding:24px;min-width:0;box-shadow:0 3px 14px #173c5305}.manageFormsPanelHead{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #e4edf3}.manageFormsPanelHead h2{font-size:21px;margin:0}.manageFormsTabs{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:#f0f5f8;border-radius:10px}.manageFormsTabs .btn{font-size:13px;min-height:38px;padding:8px 14px;box-shadow:none;border:0;border-radius:7px}.manageFormsTabs .btn.secondary{background:transparent;color:#587285}.manageFormsTabs .btn.primary{background:#fff;color:#096da4;box-shadow:0 1px 5px #183b5214}.manageFormsSetup,.manageFormsSetup>.details{gap:18px}.formWorkflow{padding:16px 18px;border:1px solid #d9e8f2;border-radius:10px;background:#f3f8fc;color:#49697d;font-size:14px;line-height:1.65;margin:0;max-width:1000px}.formManagementGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formManagementCard{padding:20px;border:1px solid #dce7ef;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.formManagementCard h3,.formManagementCard p{margin:0}.formManagementCard .btn{margin-top:auto}.formManagementActions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px 0;border-top:1px solid #e4edf3}.formManagementActions .field{max-width:250px}.formPreview{min-width:0}.formPreview>h3{font-size:16px;margin:6px 0 16px}.formPreviewRow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:52px;padding:12px 0;border-bottom:1px solid #edf2f6;font-size:14px}.formPreviewRow>strong{flex:1;min-width:140px;font-weight:550}.formPreviewRow p{margin:0;font-size:13px}.formPreviewNumber{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:7px;background:#eff5f9;font-size:12px;color:#68869b}.formPreviewGroup{padding:15px 0;border-bottom:1px solid #e4edf3;min-width:0}.formPreviewGroup>summary{cursor:pointer;font-weight:600;font-size:14px;line-height:1.7}.formPreviewGroup>summary .muted{margin-left:16px;font-size:12px;font-weight:400}.formPreviewGroup ul{display:grid;gap:9px;padding-left:22px;font-size:14px;color:#587285}.formPreviewGroup>.actions{margin-top:16px}.manageFormsHistory,.manageFormsHistory>.details{gap:12px}.manageFormsHistory .reportToolbar{margin:0 0 8px}.manageFormsHistory .startupToolbar{grid-template-columns:minmax(150px,240px) minmax(150px,240px) auto;justify-content:start;margin:0}.manageFormsHistory .card{border:1px solid #e2ebf1;border-radius:10px;padding:15px 18px;margin:0;background:#fcfdfe;box-shadow:none}.manageFormsHistory .card p{margin:5px 0;font-size:13px}.manageFormsHistory .card .btn{min-height:38px;padding:8px 14px;font-size:13px}.manageFormsHistory .titleRow h2{font-size:16px}.manageFormsHistory .titleRow p{font-size:12px}.manageFormsHistory .empty{padding:30px 20px;margin:8px 0}.manageFormsHistory .actions{gap:12px}.manageFormsSetup>.details>.actions .btn{justify-self:start}.manageFormsTabs .btn:focus-visible,.formPreviewGroup>summary:focus-visible{outline:3px solid #7ac7f1;outline-offset:3px}
@media(max-width:700px){.manageFormsPage{gap:18px}.manageFormsPanel{padding:16px;border-radius:12px}.manageFormsHeader .actions{width:100%}.manageFormsHeader .actions .btn{flex:1;font-size:12px}.manageFormsPage>.reportSections{gap:8px}.manageFormsPanelHead{gap:14px;margin-bottom:16px}.manageFormsPanelHead h2{font-size:19px}.manageFormsTabs{width:100%}.manageFormsTabs .btn{flex:1;padding:8px;font-size:12px}.formManagementGrid{grid-template-columns:minmax(0,1fr)}.formManagementCard{padding:16px}.formPreviewGroup>summary .muted{display:block;margin-left:16px}.manageFormsHistory .startupToolbar{display:flex;flex-wrap:wrap;gap:12px}.manageFormsHistory .startupToolbar .field{flex:1;min-width:140px}.manageFormsHistory .card{padding:14px}.manageFormsHistory .card>.actions{width:100%;justify-content:space-between}.formWorkflow{padding:14px;font-size:13px}.formPreviewRow>p{margin-left:40px;flex-basis:100%}.formManagementActions .field{width:100%;max-width:none}.formManagementActions .btn{flex:1}}

.manageFormsTabs .btn.primary:not(:disabled):hover{background:#fff;color:#075c8c;border-color:transparent}.manageFormsTabs .btn.secondary:not(:disabled):hover{background:#e3edf4;color:#194d70}

/* Customer delivery tracker */
.trackerFilters{display:flex;gap:16px;align-items:end;margin:8px 0 18px}.trackerFilters>.fields{flex:1}.trackerFilters label{min-width:180px}.trackerAwaiting{display:flex;align-items:center;justify-content:space-between;gap:16px}.trackerTable{max-height:70vh;overflow:auto;border:1px solid #dce7ee;border-radius:12px}.trackerTable table{min-width:720px;border-collapse:separate;border-spacing:0;width:100%}.trackerTable th,.trackerTable td{padding:12px 16px;border-bottom:1px solid #e7edf2;white-space:nowrap;text-align:center}.trackerTable thead th{position:sticky;top:0;background:#edf4fa;z-index:2;text-align:center}.trackerTable th small{display:block;font-size:11px;font-weight:400;margin-top:5px;color:#587080}.trackerTable tbody th{text-align:center;font-weight:500}.trackerTable .trackerNumber{text-align:center;font-variant-numeric:tabular-nums}.trackerTable tfoot th,.trackerTable tfoot td{position:sticky;bottom:0;background:#e8f3ed;font-weight:700;border-top:2px solid #bdd8c8}.trackerPending{background:#fffaf0}.trackerTable tbody tr:hover{background:#f0f6fb}@media(max-width:700px){.trackerFilters{display:block}.trackerFilters>.btn{margin-top:10px}.trackerAwaiting{align-items:start;flex-direction:column}.trackerTable th,.trackerTable td{padding:10px}}

.reportHistoryPage .titleRow .actions{flex-wrap:wrap;align-items:end}.reportHistoryPage .titleRow .field{margin:0}
.reportRecord p,.reportRecord td{white-space:pre-wrap;overflow-wrap:anywhere}

.fireReviewSection p{white-space:pre-wrap;overflow-wrap:anywhere}

/* Reports: grouped filters and compact records with one-report PDF actions. */
.reportsTabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #dce7ef;padding-bottom:14px}
.reportsTabs .btn{min-height:42px}
.reportHistoryPage .historyFilters.reportsSingleType{grid-template-columns:1fr 1fr 1fr auto auto}
.reportHistoryPage .historyList{gap:0;border:1px solid #dce7ef;border-radius:14px;overflow:hidden;background:#fff}
.reportHistoryPage .historyRow{grid-template-columns:minmax(180px,1fr) 160px 145px auto;border:0;border-radius:0;border-bottom:1px solid #e4edf3;padding:14px 18px;gap:16px}
.reportHistoryPage .historyRow:last-child{border-bottom:0}
.reportHistoryPage .historyRow h3{font-size:15px;margin:0 0 4px}
.reportHistoryPage .historyRowBody{grid-column:auto;grid-row:auto}
.reportHistoryPage .historyRowDate{grid-column:auto;grid-row:auto}
.reportHistoryPage .historyRow>.badge{grid-column:auto;grid-row:auto}
.reportHistoryPage .reportRowActions{gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){
 .reportHistoryPage .historyRow{grid-template-columns:minmax(150px,1fr) 140px 145px}
 .reportHistoryPage .reportRowActions{grid-column:1 / -1;justify-content:flex-start}
}
@media(max-width:700px){
 .reportHistoryPage .historyFilters.reportsSingleType{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reportHistoryPage .historyRow{grid-template-columns:1fr auto;gap:10px;padding:14px}
 .reportHistoryPage .historyRowBody{grid-column:1 / -1}
 .reportHistoryPage .historyRowDate{grid-column:1;grid-row:2}
 .reportHistoryPage .historyRow>.badge{grid-column:2;grid-row:2}
 .reportsTabs .btn{flex:1 1 auto}
}

.reportHistoryPage a[aria-disabled=true]{opacity:.55;cursor:wait}

/* Combined laundry scope: site identity stays visible on every record. */
.allLaundryFilters {display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0;}
.allLaundryFilters input[type=search] {flex:1;min-width:220px;}
.allLaundrySummary {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0;}
.allLaundrySummaryCard {background:#fff;border:1px solid #d6e5ee;border-radius:14px;padding:18px;text-align:left;color:inherit;cursor:pointer;display:grid;gap:8px;font:inherit;}
.allLaundrySummaryCard:hover {border-color:#1577b3;background:#f3f9fd;}
.allLaundrySummaryCard span {color:#607e91;font-size:.9rem;}
.allLaundryList {display:grid;gap:10px;}
.allLaundryRow {display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;background:#fff;border:1px solid #d6e5ee;border-radius:14px;padding:18px 22px;}
.allLaundryRow h3 {margin:8px 0;font-size:1rem;overflow-wrap:anywhere;}
.allLaundryRow p {margin:0;font-size:.9rem;overflow-wrap:anywhere;}
.allLaundryTag {display:inline-block;font-size:.75rem;font-weight:700;color:#236594;background:#eaf4fb;border-radius:6px;padding:4px 8px;}
@media(max-width:640px){.allLaundryRow{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:12px;}.allLaundryRow .btn{grid-column:1/-1;}.allLaundryFilters .field,.allLaundryFilters input[type=search]{width:100%;}.allLaundrySummary{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Administrator role permissions */
.peopleAccessTabs{margin:0 0 24px}.accessLayout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.accessRoles{display:grid;gap:8px;position:sticky;top:90px}.accessRole{text-align:left;border:1px solid var(--line,#d5e4ef);background:#fff;border-radius:12px;padding:16px;display:grid;gap:5px;color:inherit}.accessRole.selected{background:#edf7ff;border-color:#0c77b9}.accessRole small{color:#657e8e}.accessEditor>input[type=search]{margin:20px 0;width:100%}.accessGroup{margin-bottom:16px;padding:20px}.accessGroup h4{margin:0 0 12px}.accessSwitchRow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-top:1px solid #edf1f4}.accessSwitchRow small{display:block;color:#698090;margin-top:5px}.accessSwitch{display:flex;align-items:center;gap:10px;min-width:90px;justify-content:flex-end}.accessSwitch input{appearance:none;width:42px;height:24px;border-radius:20px;background:#aab7c2;border:0;cursor:pointer;position:relative;flex:none}.accessSwitch input:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform .15s}.accessSwitch input:checked{background:#16814a}.accessSwitch input:checked:before{transform:translateX(18px)}.accessSwitch input:disabled{cursor:default;opacity:.5}.accessSwitch input:focus-visible{outline:3px solid #77b7e5;outline-offset:3px}.accessDependent{color:#698090}.accessHistory{display:grid;gap:12px;margin-top:20px}.accessHistory .panel{padding:16px}.accountAccess>.titleRow{align-items:start}.accessEditor>header{position:sticky;top:70px;background:#f6f9fc;padding:12px 0;z-index:2}
@media(max-width:800px){.accessLayout{grid-template-columns:1fr}.accessRoles{position:static;display:flex;overflow:auto}.accessRole{min-width:150px}.accessEditor>header{position:static}.accessSwitchRow{gap:12px}.accessGroup{padding:16px}}
/* Management dashboard: the same application shell, with a compact scorecard. */
.managementDashboard{max-width:1600px;margin:0 auto;color:var(--ink,#183c4e)}
.dashHeader{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.dashHeader h1{margin:8px 0}.dashHeader .muted{margin:8px 0}.dashLive{font-size:12px;font-weight:650;color:#497269;background:#eaf5f0;padding:10px 14px;border-radius:30px;white-space:nowrap}.dashControls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:white;border:1px solid #dce7ee;padding:18px;border-radius:16px}.dashControls label{min-width:145px;flex:1}.dashControls .btn{white-space:nowrap}.managementDashboard>.reportsTabs{margin:22px 0}.dashMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px}.dashMetric{background:white;border:1px solid #dce7ee;border-radius:16px;padding:20px 23px;position:relative;overflow:hidden}.dashMetric:before{content:'';position:absolute;width:4px;left:0;top:24px;bottom:24px;background:#197db1;border-radius:8px}.dashMetric.green:before{background:#14866d}.dashMetric.amber:before{background:#d49623}.dashMetric>p:first-child{font-size:13px;font-weight:650;margin:0 0 14px;color:#587283}.dashMetric>strong{font-size:34px;line-height:1.15;letter-spacing:-1px;font-variant-numeric:tabular-nums}.dashMetric>.muted{font-size:12px;margin:10px 0 0}.dashGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashPanel{padding:24px;background:#fff;border:1px solid #dce7ee;border-radius:16px;margin-bottom:20px;min-width:0}.dashPanel h2{font-size:18px;margin:0 0 20px}.dashPanel>.muted{font-size:12px;line-height:1.6;margin:16px 0 0}.dashPanel .dashMetrics{margin-bottom:0}.dashPanel .dashMetric{background:#f6f9fb;border:0}.dashDonutBody{display:flex;gap:24px;align-items:center}.dashDonut{width:210px;max-width:44%;flex-shrink:0}.dashDonutNumber{font-size:26px;font-weight:750;fill:#183c4e}.dashDonutCaption{font-size:12px;fill:#678294}.dashLegend{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.dashLegendItem{display:flex;align-items:center;text-align:left;gap:9px;border:0;background:transparent;padding:7px 5px;border-radius:7px;color:#365465;font:inherit;font-size:13px;cursor:pointer}.dashLegendItem[aria-pressed=true]{background:#edf3f7}.dashLegendItem strong{margin-left:auto;font-variant-numeric:tabular-nums}.dashSwatch{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dashColour0{background:#14866d}.dashColour1{background:#dc6948}.dashColour2{background:#a183ba}.dashColour3{background:#e4ad35}.dashColour4{background:#74a8bf}.dashColour5{background:#98a7b5}.dashBars{display:grid;gap:15px}.dashBarRow{display:grid;grid-template-columns:1fr auto;gap:6px 18px;background:none;border:0;text-align:left;color:inherit;font:inherit;padding:0;width:100%}.dashBarRow>strong{font-size:13px;font-variant-numeric:tabular-nums}.dashBarTitle{font-size:13px;font-weight:600}.dashBar{grid-column:1/-1;width:100%;height:9px}.dashBarRow>.muted{margin:0;grid-column:1/-1;font-size:11px}.dashBars button{cursor:pointer}.dashBars button:hover .dashBarTitle{text-decoration:underline}.dashTrend{display:block;width:100%;max-height:300px}.dashAxis{font-size:11px;fill:#607b8b}.dashDailyValues{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:12px}.dashTableScroll{overflow-x:auto;max-width:100%}.dashTable{width:100%;border-collapse:collapse;font-size:13px}.dashTable th,.dashTable td{padding:13px 12px!important;text-align:right!important;vertical-align:middle;border-bottom:1px solid #e7eef3}.dashTable th:first-child,.dashTable td:first-child,.dashTable th:nth-child(2),.dashTable td:nth-child(2){text-align:left!important}.dashTable thead th{background:#f2f7fa;color:#567184;font-size:12px;font-weight:650;white-space:normal}.dashTable tbody th{font-weight:600;min-width:120px}.dashTable td{font-variant-numeric:tabular-nums}.dashPager{display:flex;justify-content:center;gap:18px;align-items:center;margin-top:16px}.dashEmpty{padding:40px 15px;background:#f8fafc;text-align:center;border:1px dashed #dce7ee;border-radius:12px;color:#6a8190;font-size:14px}.dashMethods summary{font-weight:650;cursor:pointer}.managementDashboard :focus-visible{outline:3px solid #62a5d2;outline-offset:3px}
@media(max-width:1050px){.dashDonutBody{gap:10px}.dashDonut{width:160px}.dashHeader{align-items:flex-start;flex-direction:column;gap:8px}.dashLive{white-space:normal}.dashGrid{gap:12px}.dashPanel{padding:18px}}
@media(max-width:750px){.dashGrid{grid-template-columns:1fr}.dashMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashMetric{padding:17px}.dashMetric>strong{font-size:27px}.dashControls{gap:8px;padding:12px}.dashControls .btn{padding:10px;font-size:12px}.dashDonut{width:190px}.dashPanel{padding:16px}.managementDashboard .reportsTabs{flex-wrap:wrap}.dashTrend{min-height:150px}.dashTable{font-size:12px}}

.dashCustomerFilters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.dashCustomerFilters label{flex:1;min-width:180px}.dashCustomerFilters input,.dashCustomerFilters select{width:100%}.dashCustomerFilters .btn{white-space:nowrap}.dashStockSummary{background:#f5f9fb;border-radius:12px;padding:16px;margin-top:18px}.dashStockSummary .muted{margin:8px 0 0;font-size:12px}.dashPanel>.dashMethods{margin-top:18px;font-size:12px;line-height:1.6}.dashPanel .dashPanel{border:0;padding:0;margin-bottom:20px}

.routeBrowserFilters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.routeBrowserFilters label{min-width:140px;flex:1}.routeBrowserFilters input,.routeBrowserFilters select{width:100%}

/* Laundry lifecycle controls stay compact beside the operating status. */
.laundryDirectory .directoryTable .actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:270px}
.laundryDirectory .badge.laundryActive{background:#e3f5eb;color:#23764d}
.laundryDirectory .badge.laundryInactive{background:#edf1f5;color:#536779}
@media(max-width:720px){.laundryDirectory .directoryTable .actions{min-width:0}}

/* Native iPhone date controls must fit their grid/card, including Safari's inner value. */
.field{min-width:0}
.field>input:not([type=checkbox]):not([type=radio]),.field>select,.field>textarea{width:100%;max-width:100%}
input[type=date],input[type=month],input[type=time],input[type=datetime-local]{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;-webkit-appearance:none;appearance:none}
input::-webkit-date-and-time-value{min-width:0;min-height:1.4em;text-align:left}
.tabs{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.tabs button{flex:0 0 auto;min-width:max-content;white-space:nowrap}
@media(max-width:720px){
 .tabs button{min-height:44px;padding:10px 14px;font-size:12px}
 .field>input:not([type=checkbox]):not([type=radio]),.field>select,.field>textarea{font-size:16px;min-height:44px}
 .fireCheckQuestion{min-width:0}
}
@media(max-width:480px){
 .fields,.inspectionFilters,.historyFilters,.reportHistoryPage .historyFilters.reportsSingleType{grid-template-columns:minmax(0,1fr)}
 .routeBrowserFilters>label{min-width:0;flex-basis:100%}
}

/* Phone capture: the preview and its primary controls share one viewport. */
button,a.btn,input,select,textarea{touch-action:manipulation}
:is(.photoCameraModal,.videoCameraModal){display:flex;flex-direction:column;height:min(820px,92dvh);max-height:92dvh;overflow:hidden;padding:20px}
:is(.photoCameraModal,.videoCameraModal) .modalHead{flex:none;margin-bottom:12px;gap:12px}
:is(.photoCameraModal,.videoCameraModal) .modalHead h2{font-size:22px;min-width:0}
.cameraCapture{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}
.cameraStage{flex:1;min-height:80px;position:relative;background:#142c3e;border-radius:12px;overflow:hidden}
.cameraStage .cameraPreview{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;margin:0}
.cameraStage .cameraWaiting{height:100%;min-height:0;margin:0}
.cameraStage .cameraFlash{position:absolute;z-index:1;top:10px;right:10px;min-height:44px;padding:8px 14px;background:#fff;color:#173e50;border:1px solid #c9dce5;box-shadow:0 2px 8px #0004;font-size:14px;touch-action:manipulation}
.cameraStage .cameraFlash[aria-pressed="true"]{background:#fff1a9;border-color:#e3c54f;color:#4f3d00}
.cameraStage .cameraFlash:disabled{opacity:1;color:#5c6b73;background:#eef2f5}
.cameraShutter,.cameraAlternatives{display:flex;flex:none;gap:10px}
.cameraShutter .btn{flex:1;min-width:0;min-height:48px}
.cameraAlternatives .btn{flex:1;min-width:0;min-height:44px;font-size:13px}
.cameraCapture>p{flex:none;margin:0;font-size:13px;line-height:1.4}
.cameraCapture>.error,.cameraCapture>div:has(>.error){flex:none;max-height:100px;overflow:auto}
.cameraCapture .error{margin:0;font-size:13px;line-height:1.4}
.signatureArea canvas{object-fit:contain;cursor:pointer;touch-action:manipulation}
.signatureDialog{position:fixed;inset:0;width:min(1000px,100%);height:100dvh;max-width:100%;max-height:100dvh;box-sizing:border-box;margin:auto;border:0;padding:20px;background:#fff;color:#183a50;overscroll-behavior:contain}
.signatureDialog[open]{display:flex;flex-direction:column;gap:12px}
.signatureDialog::backdrop{background:#0b293e99}
.signatureDialogHead,.signatureDialogActions{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px}
.signatureDialogHead h2{margin:0;font-size:22px}
.signatureDialog>p{margin:0;font-size:14px;line-height:1.4;flex:none}
.signatureDialog>p:empty{display:none}
.signatureSurface{position:relative;flex:1;min-height:80px;border:2px dashed #a9becd;border-radius:12px;overflow:hidden;background:#fbfdff;touch-action:none}
.signatureSurface canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}
.signatureDialogActions .btn{flex:1;min-width:0;min-height:48px}
.outboundJourney,.returnJourney,.deliveryEntry{scroll-margin-top:16px}
.outboundJourney .returnArrival{border:0;padding:0;margin:18px 0}
.outboundJourney .returnArrival .btn{width:100%}
@media(max-width:720px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
 :is(.photoCameraModal,.videoCameraModal){height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:16px}
 .modalBackdrop:has(>:is(.photoCameraModal,.videoCameraModal)){padding:12px}
 .signatureDialog{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .reportToolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
 .reportToolbar>.field{max-width:none;width:100%}
 .reportToolbar>.btn{width:100%;align-self:stretch}
 .reportSections .btn,.reportSubsections .btn,.captureActions .btn{min-width:0;white-space:normal;overflow-wrap:anywhere;min-height:44px}
 .reportSections .btn,.reportSubsections .btn{flex:1 1 140px}
 .captureActions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .outboundJourney .returnJourneyHead .vanScene{display:none}
 .outboundJourney .returnJourneyHead h2{font-size:21px}
 .outboundJourney .returnMaps{gap:8px}
 .outboundJourney .returnMaps .btn{font-size:13px}
}
@media(max-height:480px){
 .signatureDialog[open]{gap:8px;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left))}
 .signatureDialog>p.muted{display:none}
 :is(.photoCameraModal,.videoCameraModal){height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:10px 14px}
 .cameraCapture{gap:6px}
 :is(.photoCameraModal,.videoCameraModal) .modalHead{margin-bottom:6px}
 .cameraAlternatives .btn{min-height:36px}
 .cameraShutter .btn{min-height:44px}
}

.cameraThumbs{display:flex;flex:none;gap:8px;overflow-x:auto;max-width:100%;padding:2px}
.cameraThumbs:empty{display:none}
.cameraThumb{display:flex;flex:none;align-items:center;gap:4px}
.cameraThumb img{width:48px;height:48px;object-fit:cover;border-radius:6px}
.cameraThumb .btn{font-size:12px;min-height:44px;padding:6px}
.cameraBatch .cameraShutter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cameraBatch .cameraThumbs{display:flex;flex:0 0 56px;min-height:56px;overflow-y:hidden}
.eodCheckSummary{padding:12px 0;border-bottom:1px solid var(--line,#dce5eb);min-width:0}
.eodCheckSummary>.shiftFactLine{border:0;padding:4px 0;align-items:center}
.eodCheckSummary>.shiftFactLine>strong{flex:1 1 180px}
.eodCheckSummary>.shiftFactLine>.badge{max-width:100%;white-space:normal;text-align:center}
.eodCheckSummary>p{margin:8px 0;font-size:.9rem}
.eodCheckSummary>details{margin:12px 0 4px}
.eodCheckSummary .eodCheckSummary:last-child{border-bottom:0}
.eodCheckShortcut{display:grid;justify-items:start;gap:8px;margin:12px 0}
.eodCheckShortcut>.btn{white-space:normal;text-align:center;max-width:100%}
.eodCheckShortcut>p{margin:0;font-size:.9rem}
@media(max-width:600px){.eodCheckShortcut>.btn{width:100%}}

.eodCheckSummary .badge.eod-neutral{background:#edf2f6;color:#526c7c}
.shiftForm .shiftQuestion select{width:100%;min-height:44px;height:48px;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#4b6779 50%),linear-gradient(135deg,#4b6779 50%,transparent 50%);background-size:5px 5px;background-repeat:no-repeat;background-position:calc(100% - 19px) center,calc(100% - 14px) center}
@media(max-width:720px){.shiftForm .shiftQuestion select{font-size:16px}}

/* Refuelling history keeps date and person filters readable on narrow phones. */
.refuelHistoryFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;align-items:end;margin:20px 0}
.refuelHistoryFilters>*{min-width:0}
.refuelHistoryFilters input,.refuelHistoryFilters select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.refuelFilterActions{grid-column:1/-1;flex-wrap:wrap}
.fuelPageTabs{margin-bottom:20px}
@media(max-width:600px){.refuelHistoryFilters{grid-template-columns:1fr 1fr;gap:12px}.refuelFilterActions .btn{flex:1;min-width:0}}
@media(max-width:360px){.refuelHistoryFilters{grid-template-columns:1fr}}

/* Emergency actions remain easy to tap beside the incident details. */
.incidentEmergency:not([hidden]){display:grid;gap:12px;background:#fff7e8;border:1px solid #efd2a1;color:#614715;padding:16px}
.incidentEmergency>h3,.incidentEmergency>p{margin:0}.incidentEmergency>.btn{justify-self:start;min-height:44px}
.incidentEmergency select{appearance:none;-webkit-appearance:none;min-height:44px;padding:11px 36px 11px 12px;background-image:linear-gradient(45deg,transparent 50%,#4b6779 50%),linear-gradient(135deg,#4b6779 50%,transparent 50%);background-size:5px 5px;background-repeat:no-repeat;background-position:calc(100% - 19px) center,calc(100% - 14px) center}
