body[data-product="phaztrack"] .tracking-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;margin-top:14px;min-width:0}
body[data-product="phaztrack"] .tracking-map-card{position:relative;overflow:hidden;min-width:0;padding:0}
body[data-product="phaztrack"] .tracking-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.18)}
body[data-product="phaztrack"] .tracking-map-head h2{margin:0;font-size:1.05rem}
body[data-product="phaztrack"] .tracking-live{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;color:#cbd5e1}
body[data-product="phaztrack"] .tracking-live i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}
body[data-product="phaztrack"] #phazLiveMap{height:520px;min-height:390px;background:#0b1320;z-index:1}
body[data-product="phaztrack"] .tracking-tools{position:absolute;z-index:500;top:68px;left:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}
body[data-product="phaztrack"] .tracking-tools button,body[data-product="phaztrack"] .tracking-tools select{pointer-events:auto;min-height:42px;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:rgba(9,16,28,.94);color:#f8fafc;padding:9px 12px;font-weight:700;backdrop-filter:blur(8px)}
body[data-product="phaztrack"] .tracking-tools button.active{border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.3) inset}
body[data-product="phaztrack"] .vehicle-panel{display:flex;flex-direction:column;gap:10px;min-width:0}
body[data-product="phaztrack"] .vehicle-filter{display:flex;gap:7px;flex-wrap:wrap}
body[data-product="phaztrack"] .vehicle-filter button{border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#0a1524;color:#cbd5e1;padding:8px 11px;font-size:.76rem;font-weight:800}
body[data-product="phaztrack"] .vehicle-filter button.active{background:#e53946;color:#fff;border-color:#e53946}
body[data-product="phaztrack"] .tracking-vehicle-list{display:grid;gap:8px;max-height:310px;overflow:auto;padding-right:2px}
body[data-product="phaztrack"] .tracking-vehicle{width:100%;text-align:left;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:#0a1422;color:#f8fafc;padding:11px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
body[data-product="phaztrack"] .tracking-vehicle.active{border-color:#ef4444;background:#141725}
body[data-product="phaztrack"] .vehicle-dot{width:11px;height:11px;border-radius:50%;background:#64748b}
body[data-product="phaztrack"] .vehicle-dot.moving{background:#22c55e}body[data-product="phaztrack"] .vehicle-dot.parked{background:#3b82f6}body[data-product="phaztrack"] .vehicle-dot.idling{background:#f59e0b}body[data-product="phaztrack"] .vehicle-dot.offline,body[data-product="phaztrack"] .vehicle-dot.no-signal{background:#64748b}
body[data-product="phaztrack"] .tracking-vehicle strong{display:block;font-size:.9rem}body[data-product="phaztrack"] .tracking-vehicle small{display:block;color:#94a3b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-product="phaztrack"] .tracking-vehicle .speed-now{font-weight:900;font-size:.78rem;color:#e2e8f0}
body[data-product="phaztrack"] .selected-vehicle{padding:14px;position:relative}
body[data-product="phaztrack"] .phaz-close-details{
  position:sticky;top:0;float:right;z-index:8;width:34px;height:34px;margin:-2px -2px 8px 10px;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);
  border-radius:10px;background:#132234;color:#fff;font:800 22px/1 system-ui,sans-serif;cursor:pointer;
  box-shadow:0 4px 12px rgba(2,10,18,.2);
}
body[data-product="phaztrack"] .phaz-close-details:active{transform:scale(.96)}
body[data-product="phaztrack"] .selected-vehicle h3{margin:0 0 4px;font-size:1rem}
body[data-product="phaztrack"] .selected-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
body[data-product="phaztrack"] .selected-meta div{border:1px solid rgba(148,163,184,.15);border-radius:12px;background:#091321;padding:9px;min-width:0}
body[data-product="phaztrack"] .selected-meta span{display:block;color:#94a3b8;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}body[data-product="phaztrack"] .selected-meta strong{display:block;margin-top:3px;font-size:.86rem;overflow-wrap:anywhere}
body[data-product="phaztrack"] .selected-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
body[data-product="phaztrack"] .selected-actions button{min-height:42px;border:0;border-radius:12px;background:#1a2638;color:#f8fafc;font-weight:800;padding:9px}
body[data-product="phaztrack"] .selected-actions button.primary-action{background:#e53946}
body[data-product="phaztrack"] .route-player{display:none;margin-top:10px;border-top:1px solid rgba(148,163,184,.18);padding-top:10px}body[data-product="phaztrack"] .route-player.show{display:block}body[data-product="phaztrack"] .route-player input{width:100%}body[data-product="phaztrack"] .route-player-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#cbd5e1;font-size:.75rem}

/* Live map marker: clean PhazTrack navy pin with a compact vehicle silhouette and restrained status signal. */
body[data-product="phaztrack"] .phaz-map-marker{--marker:#778594;width:40px;height:46px;display:block!important;position:relative;box-sizing:border-box;overflow:visible;filter:drop-shadow(0 5px 9px rgba(2,10,18,.24));transition:transform .16s ease}
body[data-product="phaztrack"] .phaz-marker-pin{position:absolute;left:3px;top:1px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;background:#10283d;box-sizing:border-box;box-shadow:0 0 0 1px rgba(10,31,48,.18);transition:box-shadow .16s ease,transform .16s ease}
body[data-product="phaztrack"] .phaz-marker-pin::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:#10283d;border-right:2px solid #fff;border-bottom:2px solid #fff;border-radius:1px 0 3px 0;transform:translateX(-50%) rotate(45deg);box-sizing:border-box}
body[data-product="phaztrack"] .phaz-map-marker svg{width:18px;height:18px;position:relative;z-index:2;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:rotate(var(--heading));transform-origin:50% 50%;transition:transform .22s ease}
body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-bus svg,body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-truck svg,body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-van svg,body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-pickup svg,body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-suv svg{width:19px;height:19px}
body[data-product="phaztrack"] .phaz-map-marker.phaz-vehicle-motorcycle svg{width:20px;height:20px}
body[data-product="phaztrack"] .phaz-marker-status{position:absolute;z-index:4;right:1px;bottom:7px;width:9px;height:9px;border-radius:50%;background:var(--marker);border:2px solid #fff;box-shadow:0 2px 5px rgba(2,6,23,.2);box-sizing:border-box}
body[data-product="phaztrack"] .phaz-map-marker.is-selected{transform:translateY(-1px) scale(1.07)}
body[data-product="phaztrack"] .phaz-map-marker.is-selected .phaz-marker-pin{box-shadow:0 0 0 3px #e52342,0 5px 12px rgba(2,10,18,.23)}
body[data-product="phaztrack"] .phaz-marker-alert{position:absolute;z-index:6;top:-2px;right:-2px;min-width:13px;height:13px;padding:0 2px;display:flex;align-items:center;justify-content:center;border:1.5px solid #fff;border-radius:999px;background:#e52342;color:#fff;font:800 7px/1 system-ui,sans-serif;letter-spacing:-.02em;box-shadow:0 2px 5px rgba(2,6,23,.2)}
body[data-product="phaztrack"] .phaz-marker-moving{--marker:#22a861}
body[data-product="phaztrack"] .phaz-marker-parked{--marker:#2f72c8}
body[data-product="phaztrack"] .phaz-marker-idling{--marker:#df8b14}
body[data-product="phaztrack"] .phaz-marker-offline,body[data-product="phaztrack"] .phaz-marker-no-signal{--marker:#7c8793;opacity:.93}
body[data-product="phaztrack"] .phaz-marker-moving .phaz-marker-pin{animation:phazVehiclePulse 2.2s ease-out infinite}
@keyframes phazVehiclePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,168,97,0)}45%{box-shadow:0 0 0 4px rgba(34,168,97,.11)}}
body[data-product="phaztrack"] .leaflet-tooltip.phaz-vehicle-label{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(15,30,44,.95);color:#f8fafc;box-shadow:0 5px 14px rgba(2,6,23,.18);padding:5px 8px;font-size:10.5px;font-weight:750;line-height:1.2;backdrop-filter:blur(5px)}
body[data-product="phaztrack"] .leaflet-tooltip-top.phaz-vehicle-label::before{border-top-color:rgba(15,30,44,.95)}
body[data-product="phaztrack"] .leaflet-control-attribution{font-size:10px}
body[data-product="phaztrack"] .map-empty{position:absolute;z-index:450;left:50%;top:55%;transform:translate(-50%,-50%);max-width:310px;text-align:center;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(5,10,18,.9);color:#cbd5e1;padding:14px;pointer-events:none}
@media(max-width:980px){body[data-product="phaztrack"] .tracking-shell{grid-template-columns:1fr}body[data-product="phaztrack"] #phazLiveMap{height:470px}body[data-product="phaztrack"] .tracking-vehicle-list{max-height:none}}
@media(max-width:640px){body[data-product="phaztrack"] .main{padding-left:10px!important;padding-right:10px!important}body[data-product="phaztrack"] .tracking-shell{gap:10px;margin-top:10px}body[data-product="phaztrack"] #phazLiveMap{height:430px;min-height:360px}body[data-product="phaztrack"] .tracking-map-head{padding:12px}body[data-product="phaztrack"] .tracking-tools{top:62px;left:8px;right:8px;gap:6px}body[data-product="phaztrack"] .tracking-tools button,body[data-product="phaztrack"] .tracking-tools select{font-size:.7rem;padding:8px 9px;min-height:39px}body[data-product="phaztrack"] .selected-meta{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-product="phaztrack"] .vehicle-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}body[data-product="phaztrack"] .vehicle-filter button{flex:0 0 auto}body[data-product="phaztrack"] .leaflet-control-zoom{margin-top:118px!important}}

/* PhazTrack brand footer treatment for the authenticated mobile tracking app. */
@media(max-width:800px){
 body[data-product="phaztrack"] .mobilebar{background:linear-gradient(135deg,#b51222 0%,#d7192d 56%,#a50f1e 100%)!important;border-top:1px solid rgba(255,255,255,.2)!important;box-shadow:0 -8px 28px rgba(90,0,14,.22)!important}
 body[data-product="phaztrack"] .mobilebar button{color:rgba(255,255,255,.78)!important;border-radius:11px!important;font-weight:750!important}
 body[data-product="phaztrack"] .mobilebar button.active{background:#fff!important;color:#b51222!important;box-shadow:0 5px 15px rgba(74,0,12,.18)!important}
}


/* 2026-09-30 vehicle-type marker polish */
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker .phaz-marker-pin{
  background:#0b2238!important;
}
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-pickup .phaz-marker-pin{
  width:40px!important;height:32px!important;left:0!important;top:4px!important;border-radius:10px!important;
  background:#0b2238!important;
}
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-pickup .phaz-marker-pin::after{display:none!important}
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-pickup svg{
  width:25px!important;height:25px!important;
}
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-car .phaz-marker-pin,
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-suv .phaz-marker-pin,
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-van .phaz-marker-pin,
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-truck .phaz-marker-pin,
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-bus .phaz-marker-pin,
body[data-product="phaztrack"] #phazLiveMap .phaz-map-marker.phaz-vehicle-motorcycle .phaz-marker-pin{
  background:#10283d!important;
}
body[data-product="phaztrack"] #phazLiveMap .phaz-marker-parked .phaz-marker-status{background:#22a861!important}
body[data-product="phaztrack"] #phazLiveMap .phaz-marker-moving .phaz-marker-status{background:#e52342!important}
body[data-product="phaztrack"] #phazLiveMap .phaz-marker-idling .phaz-marker-status{background:#df8b14!important}
body[data-product="phaztrack"] #phazLiveMap .phaz-marker-offline .phaz-marker-status,
body[data-product="phaztrack"] #phazLiveMap .phaz-marker-no-signal .phaz-marker-status{background:#7c8793!important}
