:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#10283c;background:#edf2f4;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ec9d36;outline-offset:2px}.topbar{height:76px;background:#10283c;color:#f4f7f7;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:4px solid #e5a446}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem;letter-spacing:-.04em}.mark{display:grid;place-items:center;background:#e8a33c;color:#112b3d;width:35px;height:35px;border-radius:5px;font-size:.8rem;letter-spacing:-.08em}.topright{display:flex;gap:24px;align-items:center}.badge{border:1px solid #557184;color:#bdd0da;font-size:.72rem;letter-spacing:.14em;font-weight:700;padding:7px 10px;border-radius:4px}.quiet{color:white;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}main{max-width:1500px;margin:auto;padding:34px clamp(18px,4vw,64px) 70px}.intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.15em;color:#587488;margin:0 0 10px}h1{font-size:clamp(2.4rem,4vw,4rem);line-height:1.06;letter-spacing:-.065em;margin:0;color:#112e42}h1+p{color:#547184;margin:12px 0 0;font-size:1.04rem}.status{text-align:right;color:#68808e;font-size:.75rem;display:grid;gap:7px}.statusline{color:#246b5b;font-weight:800;letter-spacing:.08em}.status i{display:inline-block;background:#2a9677;border-radius:100%;width:8px;height:8px;margin-right:6px}.workspace{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(360px,.83fr);align-items:start;gap:22px}.form{display:grid;gap:16px}.panel,.results{background:#fff;border:1px solid #d9e3e9;border-radius:11px;box-shadow:0 5px 22px #14374909}.panel{padding:23px 25px 25px}.panelhead{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e3ebee;padding-bottom:17px;margin-bottom:20px}.number{font-size:.7rem;font-weight:800;color:#fff;background:#173e55;padding:6px 8px;border-radius:4px}.panel h2,.empty h2{font-size:1.1rem;margin:0;letter-spacing:-.025em}.fields{display:grid;gap:16px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:700;color:#34566b}label small{font-weight:400;color:#7690a0;margin-top:-4px;font-size:.75rem}input,select{min-width:0;width:100%;height:43px;border:1px solid #c9d9e1;background:#f9fbfc;border-radius:5px;padding:0 10px;color:#132f41;font-size:.93rem}input::placeholder{color:#8da1ac}select{padding-right:4px}.stop{margin-top:21px;padding:19px 0 0;border-top:1px dashed #d3e0e5}.stophead{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:#12334a}.stopicon{background:#e5f0f4;color:#2b6178;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:.78rem;font-weight:800}.hint,.format{font-size:.82rem;color:#667e8d;line-height:1.5;margin:0 0 17px}.format{margin:15px 0 0}.actions{display:flex;gap:10px}.primary,.secondary{border:0;border-radius:6px;padding:14px 20px;font-weight:750}.primary{background:#e9a441;color:#132b37;flex:1;text-align:left;display:flex;justify-content:space-between}.primary:hover{background:#f3b454}.secondary{background:#dae5ea;color:#234559}.secondary:hover{background:#c9dce4}.results{padding:26px;position:sticky;top:18px;min-height:430px}.resulttop{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e0e9ec;padding-bottom:17px}.resulttop .eyebrow{margin:0}.resultpill{background:#eaf0f3;color:#557386;padding:7px 9px;border-radius:4px;font-size:.67rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}.resultpill.ready{background:#e4f4ed;color:#24705b}.empty{padding:80px 23px 50px;text-align:center}.emptyglyph{font-size:3rem;color:#e5a446;margin-bottom:15px}.empty p{color:#607e8d;line-height:1.55;max-width:340px;margin:10px auto}.arrival{padding:22px 0;display:grid;gap:7px}.arrival span:first-child{color:#667f8c;font-size:.83rem;font-weight:700}.arrival strong{font-size:clamp(1.7rem,2.7vw,2.55rem);letter-spacing:-.05em;color:#102f45;line-height:1.1}.arrival span:last-child{color:#56768b;font-size:.84rem}.metricrow{display:grid;grid-template-columns:repeat(3,1fr);background:#123449;border-radius:7px;color:white;padding:17px 10px}.metricrow div{padding:2px 11px;border-right:1px solid #3c5c6c;display:grid;gap:5px}.metricrow div:last-child{border:0}.metricrow span{color:#afc4ce;font-size:.72rem}.metricrow strong{font-size:1.12rem}.alerts{display:grid;gap:8px;margin-top:18px}.alert{background:#fff2db;border-left:3px solid #dc9029;color:#634820;padding:11px 13px;font-size:.8rem;line-height:1.45}.alert.good{background:#eaf5f0;border-color:#3f997b;color:#2e6656}.timeline-title,.remaining h3{font-size:1rem;margin:26px 0 13px}.timeline{margin:0;padding:0;list-style:none;border-left:1px solid #ccdbe2;margin-left:8px}.timeline li{position:relative;padding:0 0 17px 23px}.timeline li:before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;background:#d19a4a;border:2px solid white;box-shadow:0 0 0 1px #d19a4a;border-radius:50%}.eventtime{color:#648190;font-size:.75rem;font-weight:700}.eventtitle{font-weight:750;font-size:.88rem;margin:3px 0;color:#19384b}.eventdetail{color:#667f8d;font-size:.77rem;line-height:1.45}.remaining{border-top:1px solid #e0e9ed}.clock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.clock-grid div{background:#f1f6f8;border-radius:5px;padding:11px 7px;text-align:center}.clock-grid span{display:block;color:#60808e;font-size:.68rem}.clock-grid strong{display:block;font-size:.92rem;margin-top:5px}.footnote{font-size:.71rem;line-height:1.55;color:#7b909c;margin:25px 0 0}footer{border-top:1px solid #d4e1e7;padding:24px clamp(18px,4vw,64px);font-size:.71rem;font-weight:800;letter-spacing:.13em;color:#2f5367;display:flex;justify-content:space-between}footer span{font-weight:400;letter-spacing:0;color:#7b909c}@media(max-width:1050px){.workspace{grid-template-columns:1fr}.results{position:static}.fields.four{grid-template-columns:repeat(4,1fr)}}@media(max-width:650px){.topbar{height:64px}.badge{display:none}.intro{align-items:start}.status{display:none}main{padding-top:24px}.panel,.results{padding:18px}.fields.two,.fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.two label:first-child:nth-last-child(6){grid-column:auto}.actions{flex-direction:column}.primary{text-align:center}.arrival strong{font-size:1.75rem}.metricrow{padding:13px 4px}.metricrow div{padding:0 7px}.metricrow strong{font-size:.92rem}footer span{display:inline;text-align:right}}@media(max-width:390px){.fields.two,.fields.three{grid-template-columns:1fr}.resulttop{align-items:start;flex-direction:column}}@media print{body{background:white}.topbar,.form,.intro,.quiet,footer{display:none!important}.workspace{display:block}.results{border:0;box-shadow:none;padding:0}.footnote{color:#555}main{padding:0}.timeline li{break-inside:avoid}}

.route-setup{margin:20px 0 2px;padding:15px;background:#f0f6f8;border:1px solid #d8e5ea;border-radius:6px}.route-setup label{max-width:430px}.route-setup p{font-size:.77rem;line-height:1.45;color:#59788b;margin:9px 0 0}.route-setup a{color:#205f7e;text-underline-offset:2px}.lookup-row{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:-4px}.lookup-row button{border:1px solid #2f6981;color:#19506a;background:#e6f1f5;border-radius:5px;padding:9px 12px;font-size:.82rem;font-weight:750;white-space:nowrap}.lookup-row button:hover{background:#d7eaf0}.lookup-row button:disabled{opacity:.6;cursor:wait}.lookup-row span{font-size:.76rem;color:#617e8d;line-height:1.4}.lookup-row span.error{color:#a04b2c}@media(max-width:650px){.lookup-row{align-items:start;flex-direction:column;gap:7px}}
.capacity{min-height:65px;border:1px solid #d5e2e8;background:#f3f8fa;padding:11px 13px;border-radius:5px;display:grid;gap:4px;color:#5a7787;font-size:.78rem}.capacity strong{font-size:1rem;color:#17394b}.checkline{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:.88rem;font-weight:600;line-height:1.4;color:#36596d}.checkline input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#1d657a}.checkline input:disabled{opacity:.7}.conditional{margin-top:18px;padding-top:18px;border-top:1px solid #e1eaee}.conditional[hidden]{display:none}.choices{display:grid;gap:12px;margin-top:20px}.unavailable{margin-top:20px;background:#f0f5f7;border-left:3px solid #8ca9b7;padding:12px 14px;color:#435f6f;font-size:.8rem;line-height:1.5}.unavailable p{margin:4px 0 0}.recap-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.recap-grid span{font-size:.75rem;font-weight:700;color:#577486}.recap-grid input{font-size:.83rem}@media(max-width:650px){.capacity{min-height:43px}.recap-grid input{min-width:0}}

.metricrow{grid-template-columns:repeat(4,1fr)}@media(max-width:650px){.metricrow{grid-template-columns:repeat(2,1fr);row-gap:13px}.metricrow div:nth-child(2){border:0}.metricrow div:nth-child(3),.metricrow div:nth-child(4){border-top:1px solid #3c5c6c;padding-top:12px}}
.time-field{display:flex;flex-direction:column;gap:7px;color:#34566b;font-size:.82rem;font-weight:700}.time-field>small{font-size:.75rem;font-weight:400;color:#7690a0;margin-top:-4px}.time-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px}.time-pair label{font-size:.75rem;font-weight:600;gap:4px}.time-pair>span{font-size:1.25rem;line-height:43px;color:#34566b}.time-pair input{text-align:center}
.location-field{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.location-field label{width:100%}.location-field button{border:1px solid #2f6981;color:#19506a;background:#e6f1f5;border-radius:5px;padding:8px 12px;font-size:.82rem;font-weight:750}.location-field button:hover{background:#d7eaf0}.location-field button:disabled{opacity:.6;cursor:wait}.location-field small{font-size:.75rem;font-weight:400;color:#7690a0;line-height:1.4}.location-field small.error{color:#a04b2c}
.now-field{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.now-field label{width:100%}.now-field button{border:1px solid #2f6981;color:#19506a;background:#e6f1f5;border-radius:5px;padding:8px 12px;font-size:.82rem;font-weight:750}.now-field button:hover{background:#d7eaf0}.now-field small{font-size:.75rem;font-weight:400;color:#7690a0;line-height:1.4}
.hos-photo{margin:17px 0;padding:16px;background:#f0f6f8;border:1px solid #d8e5ea;border-radius:6px}.hos-photo strong{font-size:.9rem;color:#234559}.photo-actions{display:flex;flex-wrap:wrap;gap:9px;margin:11px 0}.photo-actions button{border:1px solid #2f6981;color:#19506a;background:#e6f1f5;border-radius:5px;padding:9px 12px;font-size:.82rem;font-weight:750}.photo-actions button:hover{background:#d7eaf0}.photo-actions button:disabled{opacity:.6;cursor:wait}.hos-photo p{margin:5px 0 0;color:#59788b;font-size:.8rem;line-height:1.45}.hos-photo p.error{color:#a04b2c}.hos-photo #hos-preview{display:block;max-width:min(100%,360px);max-height:270px;object-fit:contain;margin-top:12px;border:1px solid #c9d9e1;border-radius:5px;background:white}.hos-photo #hos-preview[hidden]{display:none}
.hos-photo img{display:block;max-width:min(100%,360px);max-height:270px;object-fit:contain;margin-top:12px;border:1px solid #c9d9e1;border-radius:5px;background:white}.hos-photo img[hidden]{display:none}

.fuel-gauge-card{display:grid;grid-template-columns:minmax(150px,210px) 1fr;align-items:center;column-gap:22px;padding:16px 18px;margin-top:18px;border:1px solid #d6e5e9;border-radius:8px;background:linear-gradient(115deg,#f3f8fa,#fff)}.fuel-gauge-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#234559;font-size:.84rem}.fuel-gauge-head span{color:#4b7080;font-weight:700}.fuel-gauge-face{position:relative;max-width:210px;margin:auto;width:100%}.fuel-gauge-face svg{width:100%;display:block;overflow:visible}.fuel-gauge-face path{fill:none;stroke-width:12;stroke-linecap:round}.gauge-track{stroke:#d8e6e9}.gauge-fill{stroke:#279980;stroke-dasharray:0 100;transition:stroke-dasharray .18s}.fuel-gauge-face .gauge-needle{stroke:#173e55;stroke-width:3;transform-origin:120px 105px;opacity:0;transition:transform .18s}.fuel-gauge-face text{font-size:13px;font-weight:800;fill:#587488}.fuel-gauge-face strong{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:.95rem;color:#173e55}.fuel-gauge-control{display:grid;gap:7px;font-size:.8rem;font-weight:700;color:#36596d}.fuel-gauge-control input{width:100%;accent-color:#258d78;cursor:pointer}.fuel-gauge-control span{display:flex;justify-content:space-between;color:#678493;font-size:.74rem;font-weight:600}@media(max-width:520px){.fuel-gauge-card{grid-template-columns:1fr;gap:8px}.fuel-gauge-head{flex-wrap:wrap}.fuel-gauge-face{max-width:190px}}
.break-place{margin-top:8px;padding:9px 11px;border-left:3px solid #2c8b75;background:#edf7f3;line-height:1.45}.break-place strong{font-weight:750;color:#174d42}.break-place a{color:#145b7e;text-decoration:underline;text-underline-offset:2px}.break-place small{display:block;color:#496b62;font-size:.75rem;margin-top:3px}
.conditions-section{padding:18px 20px;margin:20px 0;border:1px solid #d5e5e9;border-radius:8px;background:#f5f9fa}.conditions-section[hidden]{display:none}.conditions-section h3{font-size:1rem;margin:0 0 5px;color:#183e52}.conditions-section>p{font-size:.78rem;color:#5a7787;margin:0 0 14px}.conditions-list{display:grid;gap:10px;font-size:.82rem;color:#36596d}.condition-card{padding:12px 14px;border:1px solid #dbe8eb;border-radius:6px;background:#fff}.condition-card h4{font-size:.89rem;margin:0 0 7px;color:#173e55}.condition-card p{margin:6px 0;line-height:1.45}.condition-card ul{margin:5px 0 6px;padding-left:20px;line-height:1.45}

/* Final delivery appointment comparison. */
.arrival{border-radius:8px;padding:22px 16px;margin:12px -16px 0;border:2px solid transparent}
.arrival.on-time{background:#e5f6ed;border-color:#2e9165}
.arrival.on-time strong,.arrival.on-time #arrival-status{color:#155d3f}
.arrival.late{background:#fde9e8;border-color:#cb3d3b}
.arrival.late strong,.arrival.late #arrival-status{color:#a32424}
.arrival #arrival-status{font-size:.83rem;font-weight:800;line-height:1.4}
.footer-brand{font-weight:800;color:#2f5367;letter-spacing:.13em}
.daily-target{display:grid;gap:12px}.daily-target [hidden]{display:none}
