*{box-sizing:border-box}html,body{margin:0;background:#020711;color:#f4fbff;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body{padding:0 0 30px}main{width:min(100%,460px);margin:auto;padding:16px 12px}.skyline{aspect-ratio:816/286;background:url('skyline-header.jpg') center/100% 100% no-repeat;border:0;border-radius:0;margin:0 -12px}.neonbar{height:3px;margin:8px 28px 20px;background:linear-gradient(90deg,#2deaff,#ff39c8,#2deaff)}.hero{position:relative;padding:6px 6px 20px}.eyebrow,label{color:#46eaff;font-size:11px;font-weight:800;letter-spacing:2px}.live{position:absolute;right:4px;top:0;color:#ff4ccc;border:1px solid #ff38c8;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800;box-shadow:0 0 15px #ff38c855;animation:livePulse 1.25s ease-in-out infinite}@keyframes livePulse{0%,100%{opacity:1;box-shadow:0 0 8px #ff38c844}50%{opacity:.58;box-shadow:0 0 24px #ff38c8cc}}.hero h1{font-size:37px;line-height:.98;margin:22px 0 10px;letter-spacing:-1.5px}.hero p{color:#91a6b5;font-size:17px;line-height:1.45;margin:0}.statusStrip,.card,.progress{border:1px solid #18a4be;border-radius:24px;background:#03111c}.statusStrip{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;margin:12px 0 14px}.statusStrip div{padding:15px 6px;text-align:center;border-right:1px solid #164859}.statusStrip div:last-child{border:0}.statusStrip small,.stats div,.camStats div{font-size:7px;letter-spacing:1.3px;color:#7893a2}.statusStrip b,.stats b,.camStats b{display:block;color:#40eaff;font-size:11px;margin-top:7px}.card{padding:16px;margin-bottom:14px}.row{display:flex;justify-content:space-between;align-items:flex-start}.row h2{font-size:26px;margin:8px 0 14px}.row em{font-style:normal;color:#8ca1ae;font-size:12px}.distanceBox{border:1px solid #146b7e;border-radius:15px;padding:13px 15px;margin-bottom:10px}.distanceBox small{display:block;color:#7994a4;font-size:9px;letter-spacing:1.4px}.distanceBox b{display:inline-block;color:#38eaff;font-size:28px;margin-top:12px}.distanceBox span{color:#8ca1ae;font-size:12px;margin-left:8px}#map{height:430px;border:1px solid #15869e;border-radius:16px;overflow:hidden}.maplibregl-ctrl-top-left{top:20px;left:14px}.maplibregl-ctrl-group{background:#041522dd!important;border:1px solid #13778d!important;border-radius:15px!important;overflow:hidden}.maplibregl-ctrl-group button{width:46px!important;height:46px!important}.maplibregl-ctrl-attrib{font-size:6px!important;background:#020711bb!important;color:#8fa3ad!important}.vehicleMarker{width:44px;height:44px;border:2px solid #2deaff;border-radius:10px;background:#03101a;color:#ffd23b;font:bold 27px/40px Arial;text-align:center;box-shadow:0 0 16px #2deaff}.youMarker{width:50px;height:50px;border-radius:50%;background:rgba(3,10,24,.96);border:2px solid #ff42cf;box-shadow:0 0 0 5px rgba(255,53,200,.13),0 0 22px rgba(255,53,200,.85);position:relative;display:grid;place-items:center}.youMarker:before{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;border:5px solid #ff42cf;box-shadow:0 0 12px #ff42cf}.youMarker:after{content:'';position:absolute;inset:-8px;border:1px solid rgba(255,80,215,.55);border-radius:50%;animation:customerPing 1.8s ease-out infinite}.youMarker span{position:absolute;left:50%;bottom:57px;transform:translateX(-50%);padding:5px 9px;border:1px solid #ff42cf;border-radius:999px;background:rgba(5,10,25,.94);color:#fff;font:800 8px/1 Arial;letter-spacing:1.6px;white-space:nowrap;box-shadow:0 0 12px rgba(255,53,200,.45)}@keyframes customerPing{0%{transform:scale(.75);opacity:.9}75%,100%{transform:scale(1.35);opacity:0}}.stats,.camStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.stats div,.camStats div{border:1px solid #135a6b;border-radius:13px;padding:12px}#maps{display:block;margin-top:10px;padding:15px;text-align:center;border-radius:12px;background:linear-gradient(90deg,#22dff0,#37f4d4);color:#021017;font-weight:900;text-decoration:none}.camTitle{display:flex;justify-content:space-between;align-items:center}.camTitle span{font-size:11px;color:#c4d1d7}.camera{height:190px;margin-top:12px;border:1px solid #7e2679;border-radius:15px;background:radial-gradient(circle,#2a1139,#070d1c 60%);display:flex;flex-direction:column;align-items:center;justify-content:center}.cameraIcon{width:58px;height:40px;border:2px solid #42eaff;border-radius:9px;position:relative;margin-bottom:18px;box-shadow:0 0 16px #22dff044}.cameraIcon:before{content:'';position:absolute;width:17px;height:17px;border:2px solid #ff43ca;border-radius:50%;left:18px;top:9px}.cameraIcon:after{content:'';position:absolute;width:18px;height:9px;border:2px solid #42eaff;border-bottom:0;border-radius:5px 5px 0 0;left:18px;top:-10px}.cameraIcon span{position:absolute;width:7px;height:7px;border-radius:50%;background:#ff43ca;right:6px;top:6px;box-shadow:0 0 8px #ff43ca}.camera b{font-size:22px;letter-spacing:2px}.camera small{color:#8fa2af;margin-top:12px}.progress{padding:16px 12px;margin-bottom:14px}.track{height:4px;background:#284a59;margin:4px 18px 12px}.track i{display:block;width:44%;height:100%;background:linear-gradient(90deg,#2deaff,#ff39c8)}.progressLabels{display:flex;justify-content:space-between;text-align:center;color:#45eaff}.progressLabels span{font-size:16px;width:20%}.progressLabels small{display:block;color:#b0c0c7;font-size:6px;margin-top:5px}footer{border-top:1px solid #174252;padding:15px 5px;color:#8096a1;font-size:9px;letter-spacing:2px}footer strong{display:block;color:#ff48ca;margin-top:12px}.driverBrand{padding:34px 18px 24px}.driverBrand b{font-size:34px;font-style:italic}.driverBrand span{display:block;color:#ff40c8;letter-spacing:5px;font-weight:800}.driverBrand small{display:block;color:#48eaff;letter-spacing:3px;margin-top:12px}.driverCard{border:1px solid #1689a1;border-radius:24px;background:#03111c;padding:22px}.driverCard h1{font-size:28px;margin:0 0 8px}.driverCard p,#destStatus,#gps{color:#91a7b4;line-height:1.4}input,button{width:100%;border-radius:12px;padding:15px;margin-top:10px;font-size:16px}input{background:#061725;border:1px solid #17677a;color:#fff}button{border:0;background:linear-gradient(90deg,#20e4f5,#32efcf);color:#021016;font-weight:900}.secondary{background:#0b2230;color:#42eaff;border:1px solid #17677a}#stop{background:#ff3d78;color:#fff}button:disabled{opacity:.45}

/* V9 mobile polish */
.mapWrap{position:relative}.resetMap{position:absolute;right:12px;top:12px;z-index:5;width:auto;margin:0;padding:9px 11px;border:1px solid #27eaff;border-radius:999px;background:rgba(2,13,24,.9);color:#eaffff;font-size:9px;letter-spacing:1.2px;box-shadow:0 0 14px rgba(39,234,255,.22)}.resetMap span{color:#ff45cc;margin-right:4px}.resetMap:active{transform:scale(.97)}
.videoCameraIcon{width:68px;height:42px;border:2px solid #42eaff;border-radius:10px;position:relative;margin-bottom:18px;box-shadow:0 0 18px #22dff044}.videoCameraIcon:before{content:'';position:absolute;right:-20px;top:8px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid #42eaff}.videoCameraIcon:after{content:'REC';position:absolute;left:8px;top:13px;color:#ff43ca;font:800 9px/1 Arial;letter-spacing:1px}.videoCameraIcon i{position:absolute;width:8px;height:8px;border-radius:50%;background:#ff43ca;right:8px;top:8px;box-shadow:0 0 9px #ff43ca;animation:recPulse 1s steps(1) infinite}.videoCameraIcon span{display:none}@keyframes recPulse{0%,49%{opacity:1}50%,100%{opacity:.25}}
.routeCar{display:inline-block;width:29px;height:13px;border:2px solid #42eaff;border-radius:7px 8px 4px 4px;position:relative;background:#071827;box-shadow:0 0 8px #2deaff55}.routeCar:before{content:'';position:absolute;right:-6px;top:4px;width:7px;height:5px;background:#ff43ca;clip-path:polygon(0 0,100% 50%,0 100%)}.routeCar:after{content:'';position:absolute;left:4px;bottom:-5px;width:5px;height:5px;border-radius:50%;background:#8fa3ad;box-shadow:14px 0 0 #8fa3ad}.routeCar b{display:none}
@media(max-width:430px){#map{height:390px}.card{padding:14px}.distanceBox b{font-size:26px}.resetMap{font-size:8px;padding:8px 9px}}

#driverLogin{margin-top:4px}#dispatchCard{margin-top:4px}.dispatchTop{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.dispatchTop>div{min-width:0}.logoutBtn{width:auto;flex:0 0 auto;margin:0;padding:9px 11px;background:#0b2230;color:#ff55cf;border:1px solid #8c2b78;font-size:10px;letter-spacing:1px}.authNote{font-size:11px;color:#7f96a4}

#driverLogin label{display:block;margin-top:18px}#driverLogin input{margin-top:8px}#driverPasswordLogin{margin-top:20px}


/* V16 compact completion state */
.completeState{margin:12px 6px 14px;padding:25px 18px 22px;border:1px solid #19dff5;border-radius:25px;background:linear-gradient(145deg,#03131d,#06101b);text-align:center;box-shadow:0 0 24px #12dff514}.completeCheck{width:62px;height:62px;margin:0 auto 12px;border:2px solid #28edda;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900;color:#28edda;box-shadow:0 0 20px #28edda35}.completeKicker{color:#48eaff;font-size:10px;font-weight:900;letter-spacing:2.6px;margin:0 0 9px}.completeState h1{margin:0;font-size:clamp(38px,10vw,52px);line-height:.95;letter-spacing:-1.5px}.completeState p{margin:10px auto 16px;max-width:340px;color:#91a6b5;font-size:15px;line-height:1.35}.reviewCard{margin:0 auto;max-width:350px;padding:17px 16px 16px;border:1px solid #2b4c5d;border-radius:18px;background:#f8fafc;box-shadow:0 0 22px #0ce8ff10;text-align:center;color:#101820}.googleWord{font-size:20px;font-weight:700;letter-spacing:-.7px;color:#202124}.reviewPrompt{margin-top:8px;color:#4d5962;font-size:10px;font-weight:900;letter-spacing:1.8px}.reviewStars{margin:7px 0 12px;color:#fbbc04;font-size:23px;letter-spacing:3px;line-height:1}.reviewButton{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;background:#fff;border:1px solid #d7dde2;color:#182028;font-size:12px;font-weight:900;letter-spacing:.3px;box-shadow:0 4px 12px #00000012}.arrowIcon{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eef2f5;color:#28343d;font-size:14px}.reviewCard[aria-disabled="true"] .reviewButton{opacity:1}.completeState+article{margin-top:0}
@media(max-width:430px){.completeState{padding:22px 16px 19px}.completeCheck{width:56px;height:56px;font-size:31px}.completeState h1{font-size:40px}.completeState p{font-size:14px}.reviewCard{padding:15px}.reviewStars{font-size:21px}}
/* compact completed-state review */
.completeState{padding:20px 18px 20px}.completeState .completeCheck{width:52px;height:52px;margin-bottom:10px;font-size:29px}.completeState .completeKicker{display:none}.completeState h1{font-size:clamp(31px,8vw,42px);line-height:1;letter-spacing:-1px}.completeState p{margin:9px auto 15px;font-size:14px}.reviewCard{max-width:350px;padding:15px 16px 14px;border-color:#dadce0;border-radius:18px;background:#fff;color:#202124}.googleBrand{font:600 24px/1 Arial,sans-serif;letter-spacing:-1.5px;margin:0 0 10px}.gBlue{color:#4285f4}.gRed{color:#ea4335}.gYellow{color:#fbbc05}.gGreen{color:#34a853}.reviewPrompt{margin:0;color:#3c4043;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}.reviewStars{margin:8px 0 12px;font-size:22px;letter-spacing:2px}.reviewButton{min-height:48px;background:#1a73e8;border:0;color:#fff;border-radius:8px;font-size:14px;font-weight:700;box-shadow:none}.reviewArrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.arrowIcon,.googleWord{display:none!important}

/* v18 completion cleanup */
.completeState{padding:18px 18px 20px}
.completeState>.completeCheck{margin-bottom:16px}
.completeState>.reviewCard{margin-top:0}
@media(max-width:430px){.completeState{padding:18px 14px 18px}.completeState>.completeCheck{margin-bottom:14px}}
