.phone{width:280px;height:560px;background:#FFF;border-radius:36px;border:3px solid rgb(255 255 255 / .15);box-shadow:0 20px 60px rgb(0 0 0 / .4),0 0 0 1px rgb(0 0 0 / .1);overflow:hidden;display:flex;flex-direction:column;position:relative}.ios-status{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 4px;font-size:.7rem;font-weight:600;color:#1a1a1a;background:#fff;z-index:5}.ios-time{font-weight:700}.ios-icons{display:flex;gap:4px;align-items:center;font-size:.6rem}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid #E8ECF0;z-index:5}.app-logo{font-family:'Exo 2',sans-serif;font-weight:800;font-size:.85rem;color:var(--st-navy);letter-spacing:-.02em}.app-logo span{color:var(--st-blue)}.app-status{display:flex;align-items:center;gap:4px;font-size:.55rem;font-weight:700;color:#22C55E;text-transform:uppercase;letter-spacing:.05em}.app-status-dot{width:6px;height:6px;background:#22C55E;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.phone-map{flex:1;position:relative;background:#E8F0E0;overflow:hidden}.map-bg{position:absolute;inset:0;background:linear-gradient(135deg,#E8F0E0 0%,#D4E4C8 30%,#E0ECDA 60%,#ECF2E8 100%)}.map-road{position:absolute;background:#fff;border-radius:1px;opacity:.9}.road-main-h{top:38%;left:0;right:0;height:4px;background:#F5DCA0}.road-main-v{left:45%;top:0;bottom:0;width:4px;background:#F5DCA0}.road-sec-h1{top:25%;left:10%;right:30%;height:3px}.road-sec-h2{top:60%;left:20%;right:15%;height:3px}.road-sec-v1{left:25%;top:10%;bottom:20%;width:3px}.road-sec-v2{left:72%;top:20%;bottom:30%;width:3px}.road-sec-d1{top:30%;left:45%;width:80px;height:3px;transform:rotate(35deg);transform-origin:left}.map-park{position:absolute;background:#C8DDB8;border-radius:40%;opacity:.6}.park-1{top:8%;left:60%;width:60px;height:45px}.park-2{top:70%;left:10%;width:50px;height:35px;border-radius:30%}.park-3{top:50%;left:65%;width:40px;height:55px}.map-label{position:absolute;font-size:.45rem;font-weight:600;color:rgb(0 0 0 / .35);letter-spacing:.02em;white-space:nowrap}.label-1{top:18%;left:8%}.label-2{top:45%;left:55%}.label-3{top:75%;left:35%}.label-4{top:12%;left:45%}.route-canvas{position:absolute;inset:0;z-index:2;pointer-events:none}.pin-container{position:absolute;z-index:3;transition:top 0.8s ease,left 0.8s ease}.pin-marker{width:28px;height:28px;background:var(--st-blue);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgb(56 109 180 / .4);border:2px solid #fff}.pin-marker::after{content:'';width:8px;height:8px;background:#fff;border-radius:50%;transform:rotate(45deg)}.pin-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;border:2px solid rgb(56 109 180 / .2);background:rgb(56 109 180 / .06);animation:pinRing 2s ease-out infinite}@keyframes pinRing{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}100%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.vehicle-card{background:#fff;padding:10px 14px;border-top:1px solid #E8ECF0;z-index:5}.vehicle-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #F1F5F9}.vehicle-name{font-weight:700;font-size:.75rem;color:#1a1a1a}.vehicle-reg{font-size:.65rem;color:#64748B}.vehicle-type{font-size:.55rem;color:#94A3B8}.vehicle-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.vehicle-time{font-size:.55rem;color:#94A3B8}.follow-btn{background:var(--st-blue);color:#fff;border:none;padding:4px 16px;border-radius:4px;font-size:.6rem;font-weight:700;font-family:'Montserrat',sans-serif;cursor:pointer}.vehicle-status-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:600;color:#333}.pill-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;border-radius:3px;font-size:.5rem;font-weight:800;color:#fff;background:var(--st-blue)}.pill-badge.idle{background:#F59E0B}.pill-badge.speed{background:#6366F1;font-size:.45rem;width:auto;padding:0 4px}.compass-dir{display:flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600;color:#666}.vehicle-address{display:flex;align-items:flex-start;gap:6px;font-size:.55rem;color:#64748B;line-height:1.4;padding-top:6px;border-top:1px solid #F1F5F9}.vehicle-address svg:first-child{flex-shrink:0;margin-top:1px}.nav-arrow{flex-shrink:0;margin-left:auto;background:#1a1a1a;border-radius:4px;padding:4px;width:24px;height:24px}.app-nav{display:flex;justify-content:space-around;padding:8px 0 12px;background:#fff;border-top:1px solid #E8ECF0;z-index:5}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.5rem;font-weight:500;color:#94A3B8}.nav-item.active{color:var(--st-blue)}.nav-item svg{width:18px;height:18px;