*{box-sizing:border-box}html,body{margin:0;background:#090a0c;color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}.login{max-width:520px;margin:12vh auto;padding:28px;background:#111317;border:1px solid #2a2e33;border-radius:24px}.logo{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,#ff8c22,#f06b00);display:grid;place-items:center;color:#111;font-weight:950;font-size:25px;margin-bottom:18px}.logo.small{width:46px;height:46px;border-radius:13px;font-size:20px;margin:0}.ey{color:#ff7a00;font-size:10px;font-weight:900;letter-spacing:.17em}.login h1,.hero h1{font-size:38px;margin:8px 0}.login p,.hero p{color:#90959b}.input{width:100%;margin-top:12px;background:#0b0d0f;border:1px solid #30343a;color:#fff;border-radius:13px;padding:14px}.cta{width:100%;margin-top:14px;border:0;border-radius:13px;background:#ff7a00;color:#111;font-weight:900;padding:14px}#err{color:#ff8178;min-height:20px;margin-top:7px}header{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #22262b;position:sticky;top:0;background:#090a0cf2;z-index:20}header b,header span{display:block}header b{letter-spacing:.14em}header span{font-size:9px;color:#777d83;letter-spacing:.16em;margin-top:3px}header button{margin-left:auto;border:1px solid #34383e;background:#171a1e;color:#fff;border-radius:10px;padding:8px 10px}main{max-width:900px;margin:auto;padding:28px 18px 70px}.hero{margin-bottom:20px}.order{background:#111317;border:1px solid #292d32;border-radius:22px;padding:22px;margin-bottom:17px}.order.active{border-color:#6f3d11;box-shadow:0 18px 55px rgba(255,122,0,.06)}.order-head{display:flex;justify-content:space-between;gap:12px}.order h2{font-size:25px;margin:5px 0}.badge{border:1px solid #3a3f45;border-radius:999px;padding:8px 10px;height:max-content;font-size:9px;font-weight:900;text-transform:uppercase}.badge.en_route,.badge.arrived,.badge.in_service,.badge.assigned{color:#ff9a42;border-color:#6d4017}.badge.completed{color:#5fe198;border-color:#245d3e}.stages{display:flex;margin:18px 0}.stage{flex:1;position:relative;color:#5f646a}.stage:not(:last-child):after{content:"";position:absolute;top:7px;left:17px;right:-2px;height:2px;background:#292d32}.stage.on:not(:last-child):after{background:#d66a0d}.stage span{position:relative;z-index:2;display:block;width:15px;height:15px;border-radius:50%;background:#31363c;border:2px solid #111317}.stage.on span{background:#ff7a00}.stage small{display:block;font-size:8px;margin-top:5px}.driver{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#0c0e10;border:1px solid #282c31;border-radius:16px;padding:14px}.avatar{width:46px;height:46px;border-radius:50%;background:#ff7a00;color:#111;font-weight:900;display:grid;place-items:center}.driver b,.driver span,.eta strong,.eta span{display:block}.driver span,.eta span{font-size:10px;color:#858a90;margin-top:3px}.eta{text-align:center}.eta strong{font-size:23px;color:#ff8d27}.map{height:285px;margin-top:13px;border-radius:16px;overflow:hidden}.live{font-size:10px;color:#8b9197;margin:8px 3px}.live span{color:#54dd91;font-weight:900;margin-right:7px}.details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}.details>div{background:#0d0f12;border:1px solid #25292e;border-radius:12px;padding:11px}.details span,.details b{display:block}.details span{font-size:9px;color:#777d83;text-transform:uppercase;margin-bottom:5px}.details b{font-size:12px;line-height:1.4}.call{display:block;text-align:center;text-decoration:none;color:#111;background:#ff7a00;font-weight:900;border-radius:12px;padding:12px;margin-top:12px}.complete{margin-top:13px;padding:13px;border:1px solid #245d3e;background:#0d1c14;border-radius:12px}.complete b,.complete span{display:block}.complete span{color:#8dcaa7;margin-top:4px;font-size:12px}.empty{text-align:center;color:#7e848a;padding:50px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);opacity:0;background:#171a1e;border:1px solid #353a40;padding:11px 15px;border-radius:11px;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:650px){main{padding-top:18px}.login{margin:8vh 16px}.details{grid-template-columns:1fr}.stage small{font-size:7px}.map{height:240px}.order{padding:17px}.order h2{font-size:21px}}
.boot-shell{max-width:520px;margin:12vh auto;padding:28px;text-align:center;background:#111317;border:1px solid #2a2e33;border-radius:24px}
.boot-logo{width:84px;height:84px;border-radius:22px;display:block;margin:0 auto 18px}
.boot-shell h1{font-size:34px;margin:8px 0 10px}.boot-shell p{color:#90959b}
.fatal{max-width:620px;margin:10vh auto;padding:28px;background:#1a1010;border:1px solid #6c2c2c;border-radius:20px}
.fatal h2{margin-top:0}.fatal pre{white-space:pre-wrap;color:#ffaaa4;background:#0c0d0f;padding:12px;border-radius:10px;overflow:auto}

.login-logo{width:88px;height:88px;border-radius:22px;display:block;margin:0 auto 18px}
.header-logo{width:46px;height:46px;border-radius:13px}
.map-shell{height:285px;margin-top:13px;border-radius:16px;overflow:hidden;background:#0c0e10;border:1px solid #25292e}
.map-fallback{height:100%;display:grid;place-items:center;align-content:center;gap:7px;color:#858b91;text-align:center}
.map-fallback b{color:#fff}.map-fallback span{font-size:11px}
.pulse{width:18px;height:18px;border-radius:50%;background:#ff7a00;box-shadow:0 0 0 0 rgba(255,122,0,.45);animation:pulse 1.5s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(255,122,0,0)}100%{box-shadow:0 0 0 0 rgba(255,122,0,0)}}

/* v1.5 customer order prioritisation */
.order.active{transform:translateZ(0)}
.order.active:first-of-type{box-shadow:0 22px 70px rgba(255,122,0,.12)}
