/* Software ESM - GPS Carpetas
   Cambio aislado: solo organiza GPS en GPS Traslados y GPS Marcas. */
.modal-gps-carpetas{
  max-width:980px !important;
}
.gps-carpetas-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:22px;
  margin-top:24px;
}
.gps-carpeta-card{
  position:relative;
  min-height:210px;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(125,211,252,.26);
  background:linear-gradient(145deg,rgba(8,20,42,.94),rgba(12,36,70,.86));
  color:#eaf8ff;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gps-carpeta-card::after{
  content:"";
  position:absolute;
  inset:auto -40px -60px auto;
  width:190px;
  height:190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.24),transparent 62%);
  pointer-events:none;
}
.gps-carpeta-card:hover{
  transform:translateY(-4px);
  border-color:rgba(34,211,238,.58);
  box-shadow:0 28px 70px rgba(8,145,178,.25), inset 0 1px 0 rgba(255,255,255,.12);
}
.gps-carpeta-icono{
  display:flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:62px;
  border-radius:22px;
  background:rgba(14,165,233,.18);
  border:1px solid rgba(125,211,252,.24);
  font-size:31px;
  margin-bottom:18px;
}
.gps-carpeta-card strong{
  display:block;
  font-size:1.35rem;
  letter-spacing:.02em;
  margin-bottom:10px;
}
.gps-carpeta-card small{
  display:block;
  color:#bddff2;
  line-height:1.45;
  font-size:.98rem;
}
.gps-carpeta-marcas{
  background:linear-gradient(145deg,rgba(8,25,43,.94),rgba(22,54,77,.84));
}
@media (max-width:760px){
  .gps-carpetas-grid{grid-template-columns:1fr;}
}

/* GPS Traslados - Mapa en tiempo real estilo central de monitoreo */
.modal-gps-traslados-live{
  width:min(98vw,1680px) !important;
  max-width:1680px !important;
  height:92vh !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#07111f !important;
  border:1px solid rgba(125,211,252,.18) !important;
}
.gps-live-topbar{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 22px;
  color:#eef8ff;
  background:linear-gradient(90deg,#06101e,#0a1d34 52%,#06101e);
  border-bottom:1px solid rgba(148,163,184,.20);
}
.gps-live-title{display:flex;align-items:center;gap:13px;text-align:center;margin:auto;}
.gps-live-title h2{margin:0;font-size:1.55rem;letter-spacing:.06em;font-weight:900;}
.gps-live-title p{margin:3px 0 0;color:#b8c8d9;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;}
.gps-live-dot{width:12px;height:12px;border-radius:50%;background:#32e56c;box-shadow:0 0 18px rgba(50,229,108,.75);}
.gps-live-actions{position:absolute;right:24px;display:flex;align-items:center;gap:10px;}
.gps-live-clock{font-weight:800;color:#dbeafe;letter-spacing:.04em;}
.gps-live-btn{border:1px solid rgba(125,211,252,.28);background:rgba(15,23,42,.78);color:#e5f6ff;border-radius:13px;padding:10px 14px;font-weight:800;cursor:pointer;}
.gps-live-back{background:rgba(37,99,235,.22);}
.gps-live-layout{height:calc(92vh - 76px);display:grid;grid-template-columns:360px 1fr 330px;gap:0;background:#07111f;}
.gps-live-detail-card,.gps-live-list-card{z-index:5;margin:16px;border-radius:18px;background:linear-gradient(180deg,rgba(5,16,32,.96),rgba(8,24,43,.94));border:1px solid rgba(125,211,252,.19);box-shadow:0 20px 60px rgba(0,0,0,.34);color:#eaf7ff;overflow:hidden;}
.gps-live-detail-card{padding:22px;align-self:start;max-height:calc(92vh - 108px);overflow:auto;}
.gps-live-photo-wrap{position:relative;width:96px;height:96px;margin-bottom:12px;}
.gps-live-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.82);background:#17243a;}
.gps-live-photo-status{position:absolute;right:8px;bottom:8px;width:18px;height:18px;border-radius:50%;background:#2fe263;border:3px solid #07111f;}
.gps-live-user-main{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-82px;margin-left:120px;min-height:72px;}
.gps-live-user-main strong{font-size:1.45rem;}
.gps-live-user-main span{font-size:.76rem;font-weight:900;color:#32e56c;}
.gps-live-detail-card h3{margin:18px 0 4px;font-size:1.28rem;}
.gps-live-detail-card p{margin:6px 0;color:#d7e8f7;}
.gps-live-section{margin-top:20px;padding-top:18px;border-top:1px solid rgba(148,163,184,.20);}
.gps-live-section h4{margin:0 0 12px;color:#60a5fa;font-size:.86rem;letter-spacing:.05em;}
.gps-dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:8px;vertical-align:-1px;}.gps-dot.origen{background:#32e56c}.gps-dot.destino{background:#ff5656}
.gps-live-metrics{margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,184,.20);display:grid;gap:12px;}
.gps-live-metrics div{display:flex;justify-content:space-between;gap:12px;color:#cbd5e1;}.gps-live-metrics strong{color:#f8fbff}.gps-senal{color:#22c55e!important;letter-spacing:2px;}
.gps-live-map-shell{position:relative;min-width:0;overflow:hidden;background:#e9eef1;}
.gps-live-map{position:absolute;inset:0;overflow:hidden;background:#e7edf0;}
.gps-map-bg{position:absolute;inset:-4%;background:radial-gradient(circle at 15% 25%,rgba(105,160,112,.34),transparent 18%),radial-gradient(circle at 82% 72%,rgba(105,160,112,.36),transparent 20%),linear-gradient(18deg,transparent 0 48%,rgba(250,204,21,.32) 49% 50%,transparent 51%),linear-gradient(96deg,transparent 0 58%,rgba(250,204,21,.24) 59% 60%,transparent 61%),linear-gradient(#eef3f6,#dde7ea);filter:saturate(.9);}
.gps-road{position:absolute;height:6px;background:rgba(250,204,21,.58);border-radius:99px;box-shadow:0 0 0 2px rgba(255,255,255,.55);transform-origin:left center;}.gps-road.r1{width:78%;left:8%;top:33%;transform:rotate(-8deg)}.gps-road.r2{width:66%;left:18%;top:62%;transform:rotate(11deg)}.gps-road.r3{width:48%;left:35%;top:18%;transform:rotate(34deg)}.gps-road.r4{width:52%;left:27%;top:78%;transform:rotate(-28deg)}
.gps-city{position:absolute;font-weight:900;color:rgba(20,35,55,.82);font-size:1.35rem;text-shadow:0 1px 0 #fff;}.gps-city.c1{left:48%;top:48%;font-size:1.75rem}.gps-city.c2{left:26%;top:66%;}.gps-city.c3{left:68%;top:43%;}.gps-city.c4{left:78%;top:70%;}
.gps-map-tabs{position:absolute;z-index:6;top:16px;left:16px;display:flex;border-radius:6px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.18);}.gps-map-tabs button{padding:14px 22px;border:0;background:#fff;color:#64748b;font-weight:800;font-size:1rem;}.gps-map-tabs .activo{color:#2563eb;border-bottom:3px solid #2563eb;}
.gps-route-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;}#gpsRutaActiva{fill:none;stroke:#2563eb;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(37,99,235,.35));}
.gps-point-label{position:absolute;z-index:4;transform:translate(-50%,-50%);padding:7px 12px;border-radius:8px;background:#111827;color:#fff;font-weight:800;font-size:.8rem;box-shadow:0 8px 18px rgba(0,0,0,.25);}.gps-point-label.origen::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c55e;margin-right:6px;}
.gps-destino-marker{position:absolute;z-index:4;transform:translate(-18px,-46px);display:grid;gap:2px;justify-items:start;}.gps-destino-marker span{font-size:42px;filter:drop-shadow(0 7px 8px rgba(0,0,0,.28));}.gps-destino-marker b{background:#111827;color:#fff;padding:8px 12px;border-radius:8px;font-size:.88rem;}.gps-destino-marker em{background:#ef4444;color:#fff;padding:6px 10px;border-radius:7px;font-size:.76rem;font-style:normal;font-weight:800;}
.gps-marker{position:absolute;z-index:5;transform:translate(-50%,-50%);cursor:pointer;}.gps-marker-car{width:34px;height:54px;border-radius:12px 12px 9px 9px;background:linear-gradient(#34d399,#047857);box-shadow:0 7px 14px rgba(0,0,0,.32),inset 0 0 0 2px rgba(0,0,0,.2);border:2px solid rgba(255,255,255,.65);}.gps-marker.azul .gps-marker-car{background:linear-gradient(#60a5fa,#1d4ed8)}.gps-marker.rojo .gps-marker-car{background:linear-gradient(#f87171,#b91c1c)}.gps-marker.amarillo .gps-marker-car{background:linear-gradient(#fde047,#ca8a04)}.gps-marker.morado .gps-marker-car{background:linear-gradient(#c084fc,#7e22ce)}
.gps-marker-info{position:absolute;left:40px;top:-24px;min-width:174px;background:#111827;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 10px 28px rgba(0,0,0,.28);display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center;}.gps-marker-info img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #fff;}.gps-marker-info strong{display:block;font-size:.93rem}.gps-marker-info span{display:block;color:#35e06c;font-size:.72rem;font-weight:900}.gps-marker-info small{grid-column:2;color:#dbeafe;font-size:.78rem;}
.gps-map-zoom{position:absolute;right:18px;bottom:24px;z-index:8;display:grid;border-radius:8px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.20);}.gps-map-zoom button{width:50px;height:48px;border:0;background:#fff;color:#1f2937;font-size:1.8rem;font-weight:800;border-bottom:1px solid #e5e7eb;}
.gps-live-legend{position:absolute;z-index:7;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:26px;padding:12px 26px;border-radius:12px;background:#111827;color:#fff;font-weight:700;box-shadow:0 12px 26px rgba(0,0,0,.30);}.gps-live-legend i{display:inline-block;width:15px;height:15px;border-radius:50%;margin-right:8px;vertical-align:-2px}.gps-live-legend .mov{background:#22c55e}.gps-live-legend .pausa{background:#facc15}.gps-live-legend .det{background:#ef4444}
.gps-live-list-card{padding:16px;align-self:start;max-height:calc(92vh - 108px);overflow:auto;}.gps-live-list-card h3{margin:0 0 14px;font-size:.98rem;letter-spacing:.05em;}.gps-live-list{display:grid;gap:10px;}.gps-live-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;background:#f8fafc;color:#0f172a;border-radius:12px;padding:12px;border:1px solid rgba(15,23,42,.08);cursor:pointer;}.gps-live-item img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0;}.gps-live-item strong{display:block;font-size:1.02rem;}.gps-live-item span{display:block;color:#16a34a;font-size:.75rem;font-weight:900;}.gps-live-item.det span{color:#ef4444}.gps-live-item small{display:block;color:#475569;margin-top:5px;}.gps-live-item .gps-vel{text-align:right;font-weight:800;color:#334155;}.gps-live-item.activo{outline:3px solid rgba(37,99,235,.45);}
@media(max-width:1120px){.gps-live-layout{grid-template-columns:1fr}.gps-live-detail-card,.gps-live-list-card{display:none}.gps-live-actions{right:10px}.gps-live-title{margin-left:12px}.gps-live-title h2{font-size:1.15rem}}

/* GPS Traslados fullscreen premium - ajuste solicitado: mapa gigante, paneles pequeños */
#modalTraslados.modal{
  padding:0 !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  overflow:hidden !important;
  background:#050b14 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
#modalTraslados .modal-gps-traslados-live{
  width:100vw !important;
  max-width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
}
#modalTraslados .modal-gps-traslados-live::after{display:none !important;}
#modalTraslados .gps-live-topbar{
  height:68px !important;
  padding:10px 22px !important;
}
#modalTraslados .gps-live-title h2{font-size:1.45rem !important;}
#modalTraslados .gps-live-title p{font-size:.76rem !important;}
#modalTraslados .gps-live-clock{font-size:.84rem !important;}
#modalTraslados .gps-live-btn{padding:9px 13px !important;border-radius:12px !important;font-size:.82rem !important;}
#modalTraslados .gps-live-layout{
  height:calc(100vh - 68px) !important;
  grid-template-columns:250px minmax(0,1fr) 285px !important;
  background:#06101e !important;
}
#modalTraslados .gps-live-detail-card,
#modalTraslados .gps-live-list-card{
  margin:10px !important;
  border-radius:12px !important;
  max-height:calc(100vh - 88px) !important;
}
#modalTraslados .gps-live-detail-card{
  padding:14px !important;
  font-size:.82rem !important;
}
#modalTraslados .gps-live-photo-wrap{width:72px !important;height:72px !important;margin-bottom:8px !important;}
#modalTraslados .gps-live-photo{width:72px !important;height:72px !important;}
#modalTraslados .gps-live-photo-status{right:3px !important;bottom:3px !important;width:14px !important;height:14px !important;}
#modalTraslados .gps-live-user-main{margin-top:-62px !important;margin-left:88px !important;min-height:54px !important;gap:6px !important;}
#modalTraslados .gps-live-user-main strong{font-size:1.08rem !important;}
#modalTraslados .gps-live-user-main span{font-size:.62rem !important;}
#modalTraslados .gps-live-detail-card h3{font-size:.96rem !important;margin:14px 0 2px !important;}
#modalTraslados .gps-live-detail-card p{margin:4px 0 !important;line-height:1.25 !important;}
#modalTraslados .gps-live-section{margin-top:14px !important;padding-top:12px !important;}
#modalTraslados .gps-live-section h4{font-size:.68rem !important;margin-bottom:9px !important;}
#modalTraslados .gps-live-metrics{margin-top:12px !important;padding-top:10px !important;gap:8px !important;}
#modalTraslados .gps-live-map-shell{margin:0 !important;border-left:1px solid rgba(125,211,252,.14);border-right:1px solid rgba(125,211,252,.14);}
#modalTraslados .gps-map-tabs{top:14px !important;left:14px !important;}
#modalTraslados .gps-map-tabs button{padding:12px 20px !important;font-size:.95rem !important;}
#modalTraslados .gps-live-list-card{padding:12px !important;}
#modalTraslados .gps-live-list-card h3{font-size:.8rem !important;margin-bottom:10px !important;}
#modalTraslados .gps-live-list{gap:9px !important;}
#modalTraslados .gps-live-item{
  grid-template-columns:42px 1fr auto !important;
  gap:8px !important;
  padding:10px !important;
  border-radius:11px !important;
}
#modalTraslados .gps-live-item img{width:42px !important;height:42px !important;}
#modalTraslados .gps-live-item strong{font-size:.86rem !important;}
#modalTraslados .gps-live-item span{font-size:.62rem !important;}
#modalTraslados .gps-live-item small{font-size:.66rem !important;}
#modalTraslados .gps-live-item .gps-vel{font-size:.72rem !important;}
#modalTraslados .gps-marker-info{transform:scale(.86);transform-origin:left top;}
#modalTraslados .gps-live-legend{bottom:12px !important;padding:9px 20px !important;font-size:.82rem !important;gap:18px !important;}
#modalTraslados .gps-map-zoom{right:16px !important;bottom:20px !important;}
#modalTraslados .gps-map-zoom button{width:44px !important;height:44px !important;}
@media(max-width:1120px){
  #modalTraslados .gps-live-layout{grid-template-columns:1fr !important;}
  #modalTraslados .gps-live-detail-card,
  #modalTraslados .gps-live-list-card{display:none !important;}
}

/* GPS TRASLADOS - FIX FINAL SOLO ESTE MODULO: mapa pantalla completa, paneles mini, mapa/satélite y zoom */
#modalTraslados:not(.oculto){
  position:fixed !important; inset:0 !important; width:100vw !important; height:100vh !important;
  padding:0 !important; margin:0 !important; display:block !important; overflow:hidden !important;
  background:#050b14 !important; z-index:999999 !important;
}
#modalTraslados:not(.oculto) .modal-gps-traslados-live{
  position:absolute !important; inset:0 !important; width:100vw !important; height:100vh !important;
  max-width:100vw !important; max-height:100vh !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; overflow:hidden !important; background:#06101e !important;
}
#modalTraslados:not(.oculto) .modal-gps-traslados-live::before,
#modalTraslados:not(.oculto) .modal-gps-traslados-live::after{display:none !important;content:none !important;}
#modalTraslados:not(.oculto) .gps-live-topbar{
  height:48px !important; min-height:48px !important; padding:6px 10px !important;
  border-radius:0 !important; background:linear-gradient(90deg,#06101e,#08213d,#06101e) !important;
}
#modalTraslados:not(.oculto) .gps-live-title{gap:7px !important;margin:0 auto !important;}
#modalTraslados:not(.oculto) .gps-live-dot{width:8px !important;height:8px !important;}
#modalTraslados:not(.oculto) .gps-live-title h2{font-size:1.02rem !important;line-height:1 !important;letter-spacing:.05em !important;}
#modalTraslados:not(.oculto) .gps-live-title p{font-size:.50rem !important;margin:1px 0 0 !important;line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-live-actions{right:8px !important;gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-clock{font-size:.60rem !important;}
#modalTraslados:not(.oculto) .gps-live-btn{padding:5px 7px !important;font-size:.58rem !important;border-radius:8px !important;}
#modalTraslados:not(.oculto) .gps-live-layout{
  position:absolute !important; left:0 !important; right:0 !important; top:48px !important; bottom:0 !important;
  width:100vw !important; height:calc(100vh - 48px) !important;
  display:grid !important; grid-template-columns:150px minmax(0,1fr) 170px !important;
  gap:0 !important; overflow:hidden !important; background:#07111f !important;
}
#modalTraslados:not(.oculto) .gps-live-map-shell{
  position:relative !important; min-width:0 !important; width:100% !important; height:100% !important;
  margin:0 !important; overflow:hidden !important; border-left:1px solid rgba(125,211,252,.10) !important; border-right:1px solid rgba(125,211,252,.10) !important;
}
#modalTraslados:not(.oculto) .gps-live-map{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;transform-origin:center center !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card,
#modalTraslados:not(.oculto) .gps-live-list-card{
  width:auto !important; min-width:0 !important; margin:5px !important; border-radius:9px !important;
  max-height:calc(100vh - 58px) !important; overflow:auto !important; box-shadow:0 10px 26px rgba(0,0,0,.32) !important;
}
#modalTraslados:not(.oculto) .gps-live-detail-card{padding:7px !important;font-size:.56rem !important;}
#modalTraslados:not(.oculto) .gps-live-photo-wrap,
#modalTraslados:not(.oculto) .gps-live-photo{width:38px !important;height:38px !important;}
#modalTraslados:not(.oculto) .gps-live-photo-wrap{margin-bottom:4px !important;}
#modalTraslados:not(.oculto) .gps-live-photo{border-width:2px !important;}
#modalTraslados:not(.oculto) .gps-live-photo-status{width:9px !important;height:9px !important;right:1px !important;bottom:1px !important;border-width:2px !important;}
#modalTraslados:not(.oculto) .gps-live-user-main{margin-top:-35px !important;margin-left:46px !important;min-height:32px !important;gap:3px !important;display:block !important;}
#modalTraslados:not(.oculto) .gps-live-user-main strong{font-size:.66rem !important;display:block !important;}
#modalTraslados:not(.oculto) .gps-live-user-main span{font-size:.43rem !important;display:block !important;white-space:nowrap !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card h3{font-size:.65rem !important;margin:6px 0 1px !important;line-height:1.05 !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card p{font-size:.52rem !important;line-height:1.12 !important;margin:2px 0 !important;}
#modalTraslados:not(.oculto) .gps-live-section{margin-top:6px !important;padding-top:5px !important;}
#modalTraslados:not(.oculto) .gps-live-section h4{font-size:.45rem !important;margin-bottom:4px !important;}
#modalTraslados:not(.oculto) .gps-dot{width:7px !important;height:7px !important;margin-right:3px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics{margin-top:5px !important;padding-top:5px !important;gap:3px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics div{font-size:.50rem !important;gap:3px !important;}
#modalTraslados:not(.oculto) .gps-live-list-card{padding:6px !important;}
#modalTraslados:not(.oculto) .gps-live-list-card h3{font-size:.55rem !important;margin:0 0 5px !important;}
#modalTraslados:not(.oculto) .gps-live-list{gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-item{grid-template-columns:26px 1fr !important;gap:5px !important;padding:5px !important;border-radius:7px !important;}
#modalTraslados:not(.oculto) .gps-live-item img{width:26px !important;height:26px !important;}
#modalTraslados:not(.oculto) .gps-live-item strong{font-size:.56rem !important;line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-live-item span{font-size:.40rem !important;line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-live-item small{font-size:.42rem !important;margin-top:2px !important;line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-live-item .gps-vel{grid-column:1 / -1 !important;text-align:left !important;font-size:.45rem !important;line-height:1.05 !important;}
#modalTraslados:not(.oculto) .gps-map-tabs{top:8px !important;left:8px !important;border-radius:5px !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button{padding:7px 11px !important;font-size:.64rem !important;cursor:pointer !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button.activo{color:#2563eb !important;border-bottom:2px solid #2563eb !important;}
#modalTraslados:not(.oculto) .gps-map-bg{transition:background .25s ease, filter .25s ease !important;}
#modalTraslados:not(.oculto) .gps-live-map.modo-satelite .gps-map-bg{
  background:radial-gradient(circle at 20% 20%,rgba(34,197,94,.26),transparent 18%),radial-gradient(circle at 72% 68%,rgba(22,101,52,.38),transparent 22%),radial-gradient(circle at 40% 78%,rgba(30,64,175,.30),transparent 16%),linear-gradient(135deg,#123514,#1f3f23 46%,#1f2937 47% 52%,#254b29 53%,#0f2d1d) !important;
  filter:saturate(1.35) contrast(1.08) brightness(.88) !important;
}
#modalTraslados:not(.oculto) .gps-city{font-size:.84rem !important;}
#modalTraslados:not(.oculto) .gps-city.c1{font-size:1.1rem !important;}
#modalTraslados:not(.oculto) .gps-marker-info{transform:scale(.62) !important;transform-origin:left top !important;}
#modalTraslados:not(.oculto) .gps-destino-marker{transform:translate(-12px,-34px) scale(.70) !important;transform-origin:left top !important;}
#modalTraslados:not(.oculto) .gps-point-label{font-size:.54rem !important;padding:4px 7px !important;}
#modalTraslados:not(.oculto) .gps-live-legend{bottom:8px !important;padding:6px 12px !important;font-size:.58rem !important;gap:10px !important;border-radius:8px !important;}
#modalTraslados:not(.oculto) .gps-live-legend i{width:8px !important;height:8px !important;margin-right:4px !important;}
#modalTraslados:not(.oculto) .gps-map-zoom{right:8px !important;bottom:10px !important;border-radius:6px !important;}
#modalTraslados:not(.oculto) .gps-map-zoom button{width:32px !important;height:32px !important;font-size:1.15rem !important;cursor:pointer !important;}
@media(max-width:980px){
  #modalTraslados:not(.oculto) .gps-live-layout{grid-template-columns:1fr !important;}
  #modalTraslados:not(.oculto) .gps-live-detail-card,#modalTraslados:not(.oculto) .gps-live-list-card{display:none !important;}
}

/* GPS TRASLADOS - MAPA REAL TIPO UBER (solo este módulo) */
#modalTraslados:not(.oculto) .modal-gps-traslados-live{
  width:100vw !important;height:100vh !important;max-width:100vw !important;max-height:100vh !important;
  border-radius:0 !important;margin:0 !important;padding:0 !important;background:#050b14 !important;
}
#modalTraslados:not(.oculto) .gps-live-topbar{height:44px !important;min-height:44px !important;padding:5px 10px !important;background:rgba(3,7,18,.88) !important;}
#modalTraslados:not(.oculto) .gps-live-title h2{font-size:.95rem !important;}
#modalTraslados:not(.oculto) .gps-live-title p{font-size:.48rem !important;}
#modalTraslados:not(.oculto) .gps-live-layout{top:44px !important;height:calc(100vh - 44px) !important;grid-template-columns:130px minmax(0,1fr) 150px !important;gap:0 !important;background:#07111f !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card,
#modalTraslados:not(.oculto) .gps-live-list-card{border-radius:0 !important;padding:7px !important;background:rgba(3,7,18,.82) !important;border:0 !important;overflow:auto !important;z-index:500 !important;}
#modalTraslados:not(.oculto) .gps-live-photo-wrap{width:44px !important;height:44px !important;margin:0 auto 5px !important;}
#modalTraslados:not(.oculto) .gps-live-photo{width:44px !important;height:44px !important;}
#modalTraslados:not(.oculto) .gps-live-user-main strong{font-size:.62rem !important;}
#modalTraslados:not(.oculto) .gps-live-user-main span{font-size:.45rem !important;padding:2px 4px !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card h3{font-size:.72rem !important;margin:4px 0 !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card p,
#modalTraslados:not(.oculto) .gps-live-section p{font-size:.50rem !important;line-height:1.15 !important;margin:3px 0 !important;}
#modalTraslados:not(.oculto) .gps-live-section{padding:5px !important;margin:5px 0 !important;border-radius:8px !important;}
#modalTraslados:not(.oculto) .gps-live-section h4,
#modalTraslados:not(.oculto) .gps-live-list-card h3{font-size:.52rem !important;margin:0 0 5px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics{grid-template-columns:1fr !important;gap:4px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics div{padding:4px 5px !important;border-radius:7px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics span{font-size:.44rem !important;}
#modalTraslados:not(.oculto) .gps-live-metrics strong{font-size:.55rem !important;}
#modalTraslados:not(.oculto) .gps-live-map-shell{padding:0 !important;position:relative !important;min-width:0 !important;background:#0b1220 !important;}
#modalTraslados:not(.oculto) .gps-live-map{height:100% !important;width:100% !important;border-radius:0 !important;border:0 !important;overflow:hidden !important;transform:none !important;background:#111827 !important;}
#modalTraslados:not(.oculto) .gps-leaflet-map{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:1 !important;}
#modalTraslados:not(.oculto) .gps-map-tabs{position:absolute !important;top:10px !important;left:10px !important;z-index:600 !important;background:rgba(3,7,18,.86) !important;padding:4px !important;border-radius:12px !important;display:flex !important;gap:4px !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button{font-size:.62rem !important;padding:6px 9px !important;border-radius:9px !important;}
#modalTraslados:not(.oculto) .gps-map-zoom{position:absolute !important;right:12px !important;top:56px !important;z-index:650 !important;display:flex !important;flex-direction:column !important;gap:7px !important;}
#modalTraslados:not(.oculto) .gps-map-zoom button{width:35px !important;height:35px !important;border-radius:10px !important;font-size:1.2rem !important;background:rgba(3,7,18,.88) !important;color:#fff !important;border:1px solid rgba(125,211,252,.35) !important;cursor:pointer !important;}
#modalTraslados:not(.oculto) .gps-live-legend{position:absolute !important;left:10px !important;bottom:8px !important;z-index:600 !important;font-size:.55rem !important;padding:5px 7px !important;background:rgba(3,7,18,.80) !important;border-radius:10px !important;}
#modalTraslados:not(.oculto) .gps-live-list{gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-item{padding:5px !important;border-radius:8px !important;gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-item img{width:25px !important;height:25px !important;}
#modalTraslados:not(.oculto) .gps-live-item strong{font-size:.55rem !important;}
#modalTraslados:not(.oculto) .gps-live-item span,
#modalTraslados:not(.oculto) .gps-live-item small,
#modalTraslados:not(.oculto) .gps-vel{font-size:.43rem !important;}
.gps-real-marker{display:flex;align-items:center;gap:5px;background:rgba(2,6,23,.90);border:1px solid rgba(34,211,238,.65);border-radius:999px;padding:3px 7px 3px 3px;box-shadow:0 8px 18px rgba(0,0,0,.35);color:#eaffff;white-space:nowrap;}
.gps-real-marker img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid #22c55e;}
.gps-real-marker b{display:block;font-size:10px;line-height:1;color:#fff;}
.gps-real-marker small{display:block;font-size:8px;color:#bae6fd;margin-top:2px;}
.gps-real-destino{background:rgba(127,29,29,.92);color:#fff;border:1px solid rgba(248,113,113,.8);border-radius:12px;padding:5px 8px;font-size:10px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.35);}

/* GPS Traslados - ajuste aislado: satélite sin colores raros y mapa real limpio */
#modalTraslados:not(.oculto) #gpsLeafletMap,
#modalTraslados:not(.oculto) #gpsLeafletMap .leaflet-container,
#modalTraslados:not(.oculto) #gpsLeafletMap .leaflet-pane,
#modalTraslados:not(.oculto) #gpsLeafletMap .leaflet-tile,
#modalTraslados:not(.oculto) #gpsLeafletMap img{
  filter:none !important;
  mix-blend-mode:normal !important;
}
#modalTraslados:not(.oculto) .gps-map-bg,
#modalTraslados:not(.oculto) .gps-route-svg,
#modalTraslados:not(.oculto) .gps-demo-vehicle,
#modalTraslados:not(.oculto) .gps-destino-marker{
  display:none !important;
}

/* GPS Traslados - motor MapLibre tipo Mapbox, cambio aislado */
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-canvas,
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-map{width:100% !important;height:100% !important;outline:none !important;}
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-control-container{font-size:10px !important;}
.gps-maplibre-marker{cursor:pointer;transform:translateZ(0);}
.gps-maplibre-marker.seleccionado{border-color:#fbbf24 !important;box-shadow:0 0 0 3px rgba(251,191,36,.30),0 12px 26px rgba(0,0,0,.42) !important;}
.gps-maplibre-destino{pointer-events:none;}

/* Marcas / Rondas - mapa limpio solicitado: solo mapa grande arriba, sin panel derecho ni cuadros encima */
#modalMarcasQr:not(.oculto) .modal-marcas-qr-esm{
  width:min(96vw,1500px) !important;
  max-width:1500px !important;
}
.marcas-rondas-mapa-clean-card{
  margin:14px 0 18px !important;
  padding:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  border:1px solid rgba(56,189,248,.30) !important;
  background:#050B16 !important;
  box-shadow:0 22px 70px rgba(0,0,0,.34) !important;
}
.marcas-rondas-mapbox-clean{
  width:100% !important;
  height:min(62vh,720px) !important;
  min-height:520px !important;
  background:#050B16 !important;
}
#modalMarcasQr .mapboxgl-ctrl-logo,
#modalMarcasQr .mapboxgl-ctrl-attrib{
  display:none !important;
}

/* Marcas / Rondas PC/Web - ajuste solicitado: no crear desde PC, solo historial y QR pequeño */
#modalMarcasQr:not(.oculto) .modal-marcas-qr-esm{
  width:min(96vw,1500px) !important;
  max-width:1500px !important;
}
#modalMarcasQr .modal-header-pro h2{font-size:clamp(1.35rem,2vw,2.05rem) !important;}
#modalMarcasQr .marcas-rondas-web-resumen{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 14px !important;
}
#modalMarcasQr .marcas-rondas-web-resumen span{
  border:1px solid rgba(56,189,248,.30) !important;
  background:rgba(2,12,27,.64) !important;
  color:#dff7ff !important;
  border-radius:999px !important;
  padding:9px 13px !important;
  font-weight:800 !important;
  font-size:.82rem !important;
}
#modalMarcasQr .marcas-rondas-mapa-clean-card{margin:12px 0 14px !important;}
#modalMarcasQr .marcas-rondas-mapbox-clean{height:min(66vh,760px) !important;min-height:560px !important;}
#modalMarcasQr .marcas-qr-layout,
#modalMarcasQr .marcas-qr-form-card,
#modalMarcasQr .marcas-qr-preview-card{
  display:none !important;
}
#modalMarcasQr .usuarios-toolbar.traslado-toolbar{
  display:grid !important;
  grid-template-columns:minmax(220px,.35fr) 1fr auto !important;
  gap:10px !important;
  align-items:center !important;
}
#modalMarcasQr .marcas-qr-lista-card{margin-top:14px !important;padding:14px !important;}
#modalMarcasQr .marcas-qr-lista{max-height:330px !important;}
#modalMarcasQr .marca-qr-item{padding:10px 12px !important;border-radius:16px !important;}
#modalMarcasQr .marca-qr-thumb{width:48px !important;height:48px !important;border-radius:9px !important;padding:3px !important;}
#modalMarcasQr .marca-qr-item strong{font-size:.92rem !important;}
#modalMarcasQr .marca-qr-item span,
#modalMarcasQr .marca-qr-item small{font-size:.76rem !important;}
.marcas-rondas-marker-clean{
  width:34px !important;height:34px !important;border-radius:50% !important;border:2px solid #e0f2fe !important;
  background:linear-gradient(135deg,#0284c7,#22c55e) !important;color:white !important;font-weight:900 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.42),0 0 0 4px rgba(14,165,233,.25) !important;cursor:pointer !important;
}
@media(max-width:850px){
  #modalMarcasQr .usuarios-toolbar.traslado-toolbar{grid-template-columns:1fr !important;}
  #modalMarcasQr .marcas-rondas-mapbox-clean{min-height:460px !important;}
}

/* GPS / GPS Marcas - módulo vivo separado de Marcas / Rondas */
.modal-gps-marcas-live{
  width:min(1500px,98vw) !important;
  height:94vh !important;
  max-height:94vh !important;
  padding:16px !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#03101f,#071a33 52%,#020617) !important;
  border:1px solid rgba(125,211,252,.22) !important;
}
.gps-marcas-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;position:relative;z-index:5}.gps-marcas-topbar h2{margin:2px 0 4px;font-size:26px;letter-spacing:.06em;color:#e0f2fe;text-transform:uppercase}.gps-marcas-live-layout{height:calc(100% - 86px);display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;min-height:0}.gps-marcas-map-shell{position:relative;min-height:0;border-radius:24px;overflow:hidden;border:1px solid rgba(56,189,248,.28);background:#020617;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 20px 60px rgba(0,0,0,.35)}.gps-marcas-map{position:absolute;inset:0;width:100%;height:100%;background:#020617}.gps-marcas-rightbar{min-height:0;display:flex;flex-direction:column;gap:12px}.gps-marcas-card{min-height:0;overflow:auto;border-radius:22px;padding:14px;background:linear-gradient(145deg,rgba(8,20,42,.93),rgba(2,6,23,.96));border:1px solid rgba(125,211,252,.2);box-shadow:0 16px 40px rgba(0,0,0,.28)}.gps-marcas-card h3{margin:0 0 8px;color:#e0f2fe;font-size:16px;text-transform:uppercase;letter-spacing:.06em}.gps-marcas-proyectos-list,.gps-marcas-oficiales-list{display:flex;flex-direction:column;gap:9px}.gps-marcas-project{width:100%;text-align:left;border-radius:16px;padding:12px;border:1px solid rgba(56,189,248,.18);background:rgba(15,23,42,.78);color:#dbeafe;cursor:pointer}.gps-marcas-project strong{display:block;font-size:14px}.gps-marcas-project small{display:block;color:#93c5fd;margin-top:4px}.gps-marcas-project.activo{background:linear-gradient(135deg,rgba(14,165,233,.25),rgba(34,197,94,.15));border-color:rgba(56,189,248,.7);box-shadow:0 0 0 1px rgba(56,189,248,.18)}.gps-marcas-oficial-card{border-radius:16px;padding:11px;background:rgba(15,23,42,.7);border:1px solid rgba(34,197,94,.22);color:#dbeafe}.gps-marcas-oficial-card strong,.gps-marcas-oficial-card span,.gps-marcas-oficial-card small{display:block}.gps-marcas-oficial-card span{color:#7dd3fc;margin:3px 0}.gps-marcas-oficial-card small{color:#cbd5e1}.gps-marcas-marker{width:34px;height:34px;border-radius:999px;border:2px solid #e0f2fe;background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#fff;font-weight:900;box-shadow:0 0 0 7px rgba(14,165,233,.18),0 12px 28px rgba(0,0,0,.45);cursor:pointer}.gps-marcas-oficial-marker{width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#22c55e);border:2px solid #fff;display:grid;place-items:center;box-shadow:0 0 0 8px rgba(34,197,94,.18),0 16px 30px rgba(0,0,0,.45);position:relative}.gps-marcas-oficial-marker span{color:#052e16;font-weight:1000}.gps-marcas-oficial-marker b{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:50%;background:#22c55e;border:2px solid #fff;animation:gpsMarcasPulse 1.2s infinite}@keyframes gpsMarcasPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}@media(max-width:900px){.gps-marcas-live-layout{grid-template-columns:1fr}.gps-marcas-rightbar{max-height:260px}.modal-gps-marcas-live{height:96vh!important}.gps-marcas-map-shell{min-height:55vh}}

/* GPS / GPS Marcas - ajuste aislado solicitado: mapa full, panel derecho pequeño y selector Normal/Satélite sin tapar títulos */
#modalGpsMarcas .modal-gps-marcas-live{
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  border-radius:0 !important;
  padding:10px !important;
}
#modalGpsMarcas .gps-marcas-topbar{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  z-index:20 !important;
  width:auto !important;
  max-width:310px !important;
  margin:0 !important;
  padding:10px 12px !important;
  border-radius:18px !important;
  background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(10px) !important;
  border:1px solid rgba(125,211,252,.24) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.32) !important;
}
#modalGpsMarcas .gps-marcas-topbar .modal-etiqueta{font-size:10px !important;letter-spacing:.12em !important;}
#modalGpsMarcas .gps-marcas-topbar h2{font-size:18px !important;margin:0 !important;line-height:1.1 !important;}
#modalGpsMarcas .gps-marcas-topbar .nota{display:none !important;}
#modalGpsMarcas #cerrarGpsMarcas{padding:7px 10px !important;font-size:12px !important;border-radius:12px !important;}
#modalGpsMarcas .gps-marcas-live-layout{
  height:100% !important;
  display:block !important;
  position:relative !important;
}
#modalGpsMarcas .gps-marcas-map-shell{
  position:absolute !important;
  inset:0 !important;
  border-radius:22px !important;
  min-height:0 !important;
}
#modalGpsMarcas .gps-marcas-rightbar{
  position:absolute !important;
  right:14px !important;
  top:14px !important;
  bottom:14px !important;
  width:265px !important;
  z-index:18 !important;
  gap:8px !important;
  pointer-events:auto !important;
}
#modalGpsMarcas .gps-marcas-card{
  border-radius:18px !important;
  padding:10px !important;
  background:rgba(2,6,23,.76) !important;
  backdrop-filter:blur(10px) !important;
}
#modalGpsMarcas .gps-marcas-card h3{font-size:12px !important;margin-bottom:6px !important;}
#modalGpsMarcas .gps-marcas-card .nota{font-size:11px !important;margin:0 0 6px !important;}
#modalGpsMarcas .gps-marcas-project{border-radius:13px !important;padding:9px !important;}
#modalGpsMarcas .gps-marcas-project strong{font-size:12px !important;}
#modalGpsMarcas .gps-marcas-project small{font-size:10px !important;}
#modalGpsMarcas .gps-marcas-oficial-card{border-radius:13px !important;padding:9px !important;}
#modalGpsMarcas .gps-marcas-oficial-card strong{font-size:12px !important;}
#modalGpsMarcas .gps-marcas-oficial-card span,
#modalGpsMarcas .gps-marcas-oficial-card small{font-size:10px !important;}
.gps-marcas-style-switch{
  position:absolute;
  left:16px;
  bottom:18px;
  z-index:22;
  display:flex;
  gap:6px;
  padding:6px;
  border-radius:16px;
  background:rgba(2,6,23,.72);
  border:1px solid rgba(125,211,252,.22);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.3);
}
.gps-marcas-style-switch button{
  border:1px solid rgba(125,211,252,.22);
  background:rgba(15,23,42,.7);
  color:#dbeafe;
  border-radius:11px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.gps-marcas-style-switch button.activo{
  background:linear-gradient(135deg,rgba(14,165,233,.48),rgba(34,197,94,.25));
  border-color:rgba(125,211,252,.65);
  color:#fff;
}
@media(max-width:900px){
  #modalGpsMarcas .gps-marcas-topbar{max-width:260px !important;}
  #modalGpsMarcas .gps-marcas-rightbar{width:230px !important;top:auto !important;left:14px !important;right:14px !important;height:190px !important;bottom:14px !important;}
  .gps-marcas-style-switch{bottom:215px !important;}
}


/* ESM GPS PREMIUM FULL MAP HUD - 2026-05-28
   Cambio aislado SOLO GPS / GPS Traslados / GPS Marcas.
   Ventanas mini HUD, mapa a pantalla completa y tema automático día/noche. */
html:has(#modalTraslados:not(.oculto)), body:has(#modalTraslados:not(.oculto)),
html:has(#modalGpsMarcas:not(.oculto)), body:has(#modalGpsMarcas:not(.oculto)){
  overflow:hidden !important;
}
#modalTraslados:not(.oculto), #modalGpsMarcas:not(.oculto){
  position:fixed !important; inset:0 !important; width:100vw !important; height:100vh !important;
  padding:0 !important; margin:0 !important; display:block !important; background:#020617 !important; z-index:999999 !important;
}
#modalTraslados:not(.oculto) > .modal-gps-traslados-live,
#modalGpsMarcas:not(.oculto) > .modal-gps-marcas-live{
  position:absolute !important; inset:0 !important; width:100vw !important; height:100vh !important;
  max-width:100vw !important; max-height:100vh !important; border-radius:0 !important; border:0 !important;
  padding:0 !important; margin:0 !important; overflow:hidden !important; background:#020617 !important; box-shadow:none !important;
}
#modalTraslados:not(.oculto) .gps-live-topbar{
  position:absolute !important; z-index:30 !important; top:10px !important; left:50% !important; transform:translateX(-50%) !important;
  height:auto !important; min-height:0 !important; width:auto !important; max-width:min(54vw,720px) !important;
  padding:8px 12px !important; border-radius:18px !important; display:flex !important; gap:10px !important;
  background:rgba(2,6,23,.72) !important; border:1px solid rgba(125,211,252,.28) !important;
  backdrop-filter:blur(14px) saturate(1.25) !important; -webkit-backdrop-filter:blur(14px) saturate(1.25) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.36) !important;
}
#modalTraslados:not(.oculto) .gps-live-title{position:static !important; transform:none !important; margin:0 !important; gap:6px !important; text-align:left !important;}
#modalTraslados:not(.oculto) .gps-live-title h2{font-size:.88rem !important; line-height:1 !important; margin:0 !important; letter-spacing:.05em !important;}
#modalTraslados:not(.oculto) .gps-live-title p{font-size:.46rem !important; line-height:1.1 !important; margin:1px 0 0 !important; opacity:.76 !important;}
#modalTraslados:not(.oculto) .gps-live-dot{width:7px !important; height:7px !important; box-shadow:0 0 12px rgba(34,197,94,.9) !important;}
#modalTraslados:not(.oculto) .gps-live-actions{position:fixed !important; top:10px !important; right:10px !important; z-index:35 !important; gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-clock{font-size:.55rem !important; padding:6px 8px !important; border-radius:999px !important; background:rgba(2,6,23,.68) !important;}
#modalTraslados:not(.oculto) .gps-live-btn{padding:6px 8px !important; font-size:.55rem !important; border-radius:10px !important;}
#modalTraslados:not(.oculto) .gps-live-layout{
  position:absolute !important; inset:0 !important; width:100vw !important; height:100vh !important; display:block !important; background:#020617 !important; overflow:hidden !important;
}
#modalTraslados:not(.oculto) .gps-live-map-shell,
#modalTraslados:not(.oculto) .gps-live-map{
  position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; margin:0 !important; border:0 !important; overflow:hidden !important;
}
#modalTraslados:not(.oculto) .gps-live-detail-card{
  position:absolute !important; z-index:26 !important; left:10px !important; top:74px !important; width:188px !important; max-width:188px !important;
  max-height:calc(100vh - 118px) !important; padding:8px !important; margin:0 !important; border-radius:16px !important; font-size:.54rem !important;
  background:rgba(2,6,23,.68) !important; border:1px solid rgba(125,211,252,.22) !important; backdrop-filter:blur(12px) !important; box-shadow:0 16px 38px rgba(0,0,0,.32) !important;
}
#modalTraslados:not(.oculto) .gps-live-list-card{
  position:absolute !important; z-index:26 !important; right:10px !important; top:74px !important; width:190px !important; max-width:190px !important;
  max-height:calc(100vh - 118px) !important; padding:8px !important; margin:0 !important; border-radius:16px !important; font-size:.54rem !important;
  background:rgba(2,6,23,.68) !important; border:1px solid rgba(125,211,252,.22) !important; backdrop-filter:blur(12px) !important; box-shadow:0 16px 38px rgba(0,0,0,.32) !important;
}
#modalTraslados:not(.oculto) .gps-live-photo-wrap, #modalTraslados:not(.oculto) .gps-live-photo{width:34px !important; height:34px !important;}
#modalTraslados:not(.oculto) .gps-live-photo-wrap{margin:0 0 4px !important;}
#modalTraslados:not(.oculto) .gps-live-photo{border-width:2px !important;}
#modalTraslados:not(.oculto) .gps-live-photo-status{width:8px !important; height:8px !important; right:0 !important; bottom:0 !important; border-width:1px !important;}
#modalTraslados:not(.oculto) .gps-live-user-main{margin:-31px 0 4px 42px !important; min-height:30px !important; display:block !important;}
#modalTraslados:not(.oculto) .gps-live-user-main strong{font-size:.62rem !important; line-height:1.05 !important; display:block !important;}
#modalTraslados:not(.oculto) .gps-live-user-main span{font-size:.42rem !important; display:block !important; white-space:nowrap !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card h3{font-size:.62rem !important; margin:6px 0 1px !important; line-height:1.1 !important;}
#modalTraslados:not(.oculto) .gps-live-detail-card p{font-size:.50rem !important; line-height:1.12 !important; margin:2px 0 !important;}
#modalTraslados:not(.oculto) .gps-live-section{margin-top:5px !important; padding-top:5px !important;}
#modalTraslados:not(.oculto) .gps-live-section h4{font-size:.44rem !important; margin:0 0 4px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics{margin-top:5px !important; padding-top:5px !important; gap:3px !important;}
#modalTraslados:not(.oculto) .gps-live-metrics div{font-size:.48rem !important; gap:4px !important;}
#modalTraslados:not(.oculto) .gps-live-list-card h3{font-size:.54rem !important; margin:0 0 5px !important;}
#modalTraslados:not(.oculto) .gps-live-list{gap:5px !important;}
#modalTraslados:not(.oculto) .gps-live-item{grid-template-columns:24px 1fr !important; gap:5px !important; padding:5px !important; border-radius:9px !important;}
#modalTraslados:not(.oculto) .gps-live-item img{width:24px !important; height:24px !important;}
#modalTraslados:not(.oculto) .gps-live-item strong{font-size:.52rem !important; line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-live-item span, #modalTraslados:not(.oculto) .gps-live-item small{font-size:.39rem !important; line-height:1.05 !important; margin-top:1px !important;}
#modalTraslados:not(.oculto) .gps-live-item .gps-vel{grid-column:1 / -1 !important; text-align:left !important; font-size:.40rem !important; line-height:1 !important;}
#modalTraslados:not(.oculto) .gps-map-tabs{z-index:28 !important; top:auto !important; left:50% !important; bottom:10px !important; transform:translateX(-50%) !important; border-radius:999px !important; padding:5px !important; gap:4px !important; background:rgba(2,6,23,.66) !important; backdrop-filter:blur(12px) !important; box-shadow:0 16px 36px rgba(0,0,0,.34) !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button{border-radius:999px !important; padding:6px 10px !important; font-size:.55rem !important; background:rgba(15,23,42,.62) !important; color:#dbeafe !important; border:1px solid rgba(125,211,252,.18) !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button.activo{background:linear-gradient(135deg,rgba(37,99,235,.85),rgba(34,211,238,.35)) !important; color:white !important; border-bottom:1px solid rgba(125,211,252,.55) !important;}
#modalTraslados:not(.oculto) .gps-live-legend{bottom:52px !important; padding:5px 10px !important; gap:9px !important; font-size:.50rem !important; border-radius:999px !important; background:rgba(2,6,23,.66) !important; backdrop-filter:blur(12px) !important;}
#modalTraslados:not(.oculto) .gps-map-zoom{right:10px !important; bottom:10px !important; border-radius:14px !important;}
#modalTraslados:not(.oculto) .gps-map-zoom button{width:32px !important; height:30px !important; font-size:1rem !important; background:rgba(2,6,23,.74) !important; color:#fff !important; border-color:rgba(125,211,252,.2) !important;}
#modalTraslados:not(.oculto) .gps-real-marker{padding:2px 6px 2px 2px !important; gap:4px !important; background:rgba(2,6,23,.82) !important; border-color:rgba(34,211,238,.72) !important; box-shadow:0 0 0 5px rgba(59,130,246,.16),0 12px 26px rgba(0,0,0,.35) !important;}
#modalTraslados:not(.oculto) .gps-real-marker img{width:25px !important; height:25px !important;}
#modalTraslados:not(.oculto) .gps-real-marker b{font-size:8px !important;}
#modalTraslados:not(.oculto) .gps-real-marker small{font-size:7px !important;}
#modalTraslados:not(.oculto) .gps-real-destino{font-size:8px !important; padding:4px 6px !important; border-radius:10px !important; background:rgba(15,23,42,.84) !important; border-color:rgba(248,113,113,.65) !important;}
#modalTraslados[data-gps-tema="noche"] .gps-live-detail-card,
#modalTraslados[data-gps-tema="noche"] .gps-live-list-card,
#modalTraslados[data-gps-tema="noche"] .gps-live-topbar,
#modalTraslados[data-gps-tema="noche"] .gps-map-tabs,
#modalGpsMarcas[data-gps-tema="noche"] .gps-marcas-topbar,
#modalGpsMarcas[data-gps-tema="noche"] .gps-marcas-rightbar .gps-marcas-card,
#modalGpsMarcas[data-gps-tema="noche"] .gps-marcas-style-switch{
  background:rgba(0,10,24,.72) !important; border-color:rgba(34,211,238,.34) !important; box-shadow:0 0 32px rgba(34,211,238,.12),0 18px 44px rgba(0,0,0,.42) !important;
}
#modalGpsMarcas .modal-gps-marcas-live{padding:0 !important;}
#modalGpsMarcas .gps-marcas-live-layout{position:absolute !important; inset:0 !important; height:100vh !important; display:block !important;}
#modalGpsMarcas .gps-marcas-map-shell{position:absolute !important; inset:0 !important; border:0 !important; border-radius:0 !important;}
#modalGpsMarcas .gps-marcas-topbar{top:10px !important; left:10px !important; max-width:230px !important; padding:8px 10px !important; border-radius:16px !important;}
#modalGpsMarcas .gps-marcas-topbar h2{font-size:14px !important;}
#modalGpsMarcas #cerrarGpsMarcas{padding:6px 8px !important; font-size:10px !important;}
#modalGpsMarcas .gps-marcas-rightbar{right:10px !important; top:10px !important; bottom:auto !important; width:190px !important; max-height:calc(100vh - 20px) !important; gap:6px !important;}
#modalGpsMarcas .gps-marcas-card{padding:8px !important; border-radius:16px !important; background:rgba(2,6,23,.68) !important; backdrop-filter:blur(12px) !important;}
#modalGpsMarcas .gps-marcas-card h3{font-size:10px !important; margin-bottom:5px !important;}
#modalGpsMarcas .gps-marcas-project{padding:6px !important; border-radius:10px !important;}
#modalGpsMarcas .gps-marcas-project strong{font-size:10px !important;}
#modalGpsMarcas .gps-marcas-project small{font-size:8px !important;}
#modalGpsMarcas .gps-marcas-oficial-card{padding:6px !important; border-radius:10px !important;}
#modalGpsMarcas .gps-marcas-oficial-card strong{font-size:10px !important;}
#modalGpsMarcas .gps-marcas-oficial-card span,#modalGpsMarcas .gps-marcas-oficial-card small{font-size:8px !important;}
#modalGpsMarcas .gps-marcas-style-switch{left:50% !important; bottom:10px !important; transform:translateX(-50%) !important; padding:5px !important; border-radius:999px !important;}
#modalGpsMarcas .gps-marcas-style-switch button{padding:6px 9px !important; font-size:9px !important; border-radius:999px !important;}
#modalGpsMarcas .gps-marcas-marker{width:28px !important; height:28px !important; box-shadow:0 0 0 5px rgba(14,165,233,.18),0 12px 24px rgba(0,0,0,.38) !important;}
#modalGpsMarcas .gps-marcas-oficial-marker{width:32px !important; height:32px !important; box-shadow:0 0 0 6px rgba(34,197,94,.18),0 14px 26px rgba(0,0,0,.38) !important;}
@media(max-width:900px){
  #modalTraslados:not(.oculto) .gps-live-detail-card{display:none !important;}
  #modalTraslados:not(.oculto) .gps-live-list-card{width:170px !important; top:58px !important;}
  #modalTraslados:not(.oculto) .gps-live-topbar{left:8px !important; transform:none !important; max-width:185px !important; top:8px !important;}
  #modalTraslados:not(.oculto) .gps-live-actions{top:8px !important; right:8px !important;}
  #modalGpsMarcas .gps-marcas-rightbar{width:170px !important; max-height:240px !important; top:auto !important; bottom:54px !important;}
}


/* ESM GPS CORRECCION VISUAL REAL - HUD minimo, neon fuerte y vehiculo animado */
#modalTraslados:not(.oculto) .gps-map-tabs,
#modalGpsMarcas .gps-marcas-style-switch{
  width:auto !important; max-width:none !important; height:36px !important;
  left:50% !important; bottom:12px !important; top:auto !important; transform:translateX(-50%) !important;
  display:flex !important; align-items:center !important; gap:4px !important;
  padding:4px !important; border-radius:999px !important;
  background:rgba(2,6,23,.46) !important; border:1px solid rgba(125,211,252,.20) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.28) !important; backdrop-filter:blur(10px) !important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button,
#modalGpsMarcas .gps-marcas-style-switch button{
  width:28px !important; height:28px !important; min-width:28px !important; padding:0 !important;
  border-radius:999px !important; font-size:0 !important; overflow:hidden !important;
  background:rgba(15,23,42,.52) !important; border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:none !important; color:#e0f2fe !important; position:relative !important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button::before,
#modalGpsMarcas .gps-marcas-style-switch button::before{font-size:13px !important; line-height:28px !important; display:block !important; text-align:center !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button[data-map-mode="auto"]::before,
#modalGpsMarcas .gps-marcas-style-switch button[data-estilo="auto"]::before{content:"A"; font-weight:900; font-size:11px !important;}
#modalTraslados:not(.oculto) .gps-map-tabs button[data-map-mode="mapa"]::before,
#modalGpsMarcas .gps-marcas-style-switch button[data-estilo="normal"]::before{content:"☀";}
#modalTraslados:not(.oculto) .gps-map-tabs button[data-map-mode="satelite"]::before,
#modalGpsMarcas .gps-marcas-style-switch button[data-estilo="satelite"]::before{content:"◉";}
#modalTraslados:not(.oculto) .gps-map-tabs button[data-map-mode="noche"]::before,
#modalGpsMarcas .gps-marcas-style-switch button[data-estilo="noche"]::before{content:"☾";}
#modalTraslados:not(.oculto) .gps-map-tabs button.activo,
#modalGpsMarcas .gps-marcas-style-switch button.activo{
  background:rgba(14,165,233,.92) !important; border-color:rgba(255,255,255,.38) !important;
  box-shadow:0 0 14px rgba(34,211,238,.55) !important;
}
#modalTraslados:not(.oculto) .gps-live-legend{display:none !important;}
#modalTraslados:not(.oculto) .gps-map-zoom{transform:scale(.72) !important; transform-origin:right bottom !important; opacity:.68 !important;}
#modalTraslados:not(.oculto) .maplibregl-ctrl-bottom-left,
#modalTraslados:not(.oculto) .maplibregl-ctrl-bottom-right,
#modalGpsMarcas .maplibregl-ctrl-bottom-left,
#modalGpsMarcas .maplibregl-ctrl-bottom-right{display:none !important;}
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker{
  width:44px !important; height:44px !important; padding:0 !important; background:transparent !important; border:0 !important;
  box-shadow:none !important; display:block !important; overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-icon{
  position:absolute !important; inset:0 !important; display:grid !important; place-items:center !important;
  width:44px !important; height:44px !important; border-radius:999px !important;
  font-size:24px !important; transform:rotate(var(--gps-bearing,0deg)) !important;
  background:radial-gradient(circle at 35% 25%,#ffffff,#93c5fd 35%,#1d4ed8 72%,#020617) !important;
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:0 0 0 6px rgba(59,130,246,.20),0 0 30px rgba(0,229,255,.72),0 16px 28px rgba(0,0,0,.42) !important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1) !important; z-index:2 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-moto .gps-vehicle-icon{font-size:25px !important; background:radial-gradient(circle,#fff,#bfdbfe 34%,#2563eb 75%,#020617) !important;}
#modalTraslados:not(.oculto) .gps-vehicle-oficial .gps-vehicle-icon{font-size:23px !important; background:radial-gradient(circle,#fff,#bbf7d0 34%,#16a34a 75%,#052e16) !important;}
#modalTraslados:not(.oculto) .gps-vehicle-pulse{
  position:absolute !important; inset:-10px !important; border-radius:999px !important; z-index:1 !important;
  background:radial-gradient(circle,rgba(34,211,238,.42),rgba(59,130,246,.18) 38%,transparent 68%) !important;
  animation:gpsVehiclePulseReal 1.45s ease-in-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-icon{animation:gpsVehicleFloatReal .75s ease-in-out infinite alternate !important;}
#modalTraslados:not(.oculto) .gps-vehicle-mini{
  position:absolute !important; left:48px !important; top:7px !important; min-width:54px !important; padding:3px 6px !important;
  border-radius:999px !important; background:rgba(2,6,23,.72) !important; color:#fff !important;
  border:1px solid rgba(125,211,252,.28) !important; backdrop-filter:blur(8px) !important;
  box-shadow:0 10px 18px rgba(0,0,0,.25) !important; line-height:1 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-mini b{font-size:8px !important; display:block !important;}
#modalTraslados:not(.oculto) .gps-vehicle-mini small{font-size:7px !important; color:#67e8f9 !important; display:block !important; margin-top:2px !important;}
#modalTraslados:not(.oculto) .gps-maplibre-marker.seleccionado .gps-vehicle-icon{box-shadow:0 0 0 7px rgba(251,191,36,.24),0 0 34px rgba(251,191,36,.75),0 18px 32px rgba(0,0,0,.45) !important;}
@keyframes gpsVehiclePulseReal{0%,100%{transform:scale(.72);opacity:.75}50%{transform:scale(1.18);opacity:.22}}
@keyframes gpsVehicleFloatReal{from{filter:drop-shadow(0 0 3px rgba(34,211,238,.55));}to{filter:drop-shadow(0 0 13px rgba(34,211,238,.95));}}
#modalGpsMarcas .gps-marcas-marker{box-shadow:0 0 0 6px rgba(34,211,238,.20),0 0 26px rgba(0,229,255,.62),0 14px 26px rgba(0,0,0,.42) !important;}
#modalGpsMarcas .gps-marcas-oficial-marker{box-shadow:0 0 0 7px rgba(34,197,94,.18),0 0 28px rgba(34,197,94,.62),0 14px 28px rgba(0,0,0,.45) !important; animation:gpsVehiclePulseReal 1.55s ease-in-out infinite !important;}

/* ESM GPS ajuste puntual final: vehiculo real top-view sin circulo + camara seguimiento recorrido */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker{
  width:74px !important; height:74px !important; padding:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-pulse,
#modalTraslados:not(.oculto) .gps-vehicle-icon{display:none !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d{
  position:absolute !important; left:50% !important; top:50% !important; width:72px !important; height:72px !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,0deg)) !important;
  transform-origin:center center !important; z-index:3 !important;
  filter:drop-shadow(0 15px 12px rgba(0,0,0,.52)) drop-shadow(0 0 13px rgba(56,189,248,.62)) !important;
  transition:transform .42s cubic-bezier(.2,.8,.2,1), filter .35s ease !important;
  background:transparent !important; border:0 !important; border-radius:0 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-svg{
  width:100% !important; height:100% !important; display:block !important; overflow:visible !important;
  transform:translateZ(0) !important; background:transparent !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{width:76px !important; height:76px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto{width:66px !important; height:66px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-oficial{width:58px !important; height:58px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d::after,
#modalTraslados:not(.oculto) .gps-vehicle-3d i,
#modalTraslados:not(.oculto) .gps-vehicle-symbol{display:none !important; content:none !important;}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d{
  filter:drop-shadow(0 18px 15px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(34,211,238,.88)) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-svg-carro,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-svg-moto{animation:gpsVehicleRealDrive .70s ease-in-out infinite alternate !important;}
@keyframes gpsVehicleRealDrive{from{transform:translateY(-1px) scale(1);}to{transform:translateY(2px) scale(1.035);}}
#modalTraslados:not(.oculto) .gps-vehicle-mini{
  left:59px !important; top:26px !important; transform:scale(.72) !important; transform-origin:left center !important; opacity:.86 !important;
}
#modalTraslados:not(.oculto) #btnCentrarGpsTraslados.gps-follow-on{background:linear-gradient(135deg,rgba(14,165,233,.90),rgba(34,197,94,.65)) !important; box-shadow:0 0 18px rgba(34,211,238,.35) !important;}

/* ESM GPS FIX PATRULLA REAL PNG - solo vehículo del mapa */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  width:74px !important;
  height:112px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  filter:drop-shadow(0 0 12px rgba(34,211,238,.70)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro,
#modalTraslados:not(.oculto) .gps-real-marker .gps-vehicle-img-carro{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:translateZ(0) !important;
  pointer-events:none !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-img-carro{
  animation:gpsPatrullaRealDrive .70s ease-in-out infinite alternate !important;
}
@keyframes gpsPatrullaRealDrive{
  from{transform:translateY(-1px) scale(1)}
  to{transform:translateY(2px) scale(1.025)}
}


/* ESM GPS FIX FINAL 20260528: patrulla real con sirena parpadeante y giro suave */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  position:absolute !important;
  overflow:visible !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,180deg)) !important;
  transition:transform .58s cubic-bezier(.16,1,.3,1) !important;
  filter:drop-shadow(0 0 10px rgba(34,211,238,.52)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:42% !important;
  width:18px !important;
  height:10px !important;
  border-radius:999px !important;
  z-index:9 !important;
  pointer-events:none !important;
  opacity:.20;
  transform:translateY(-50%) !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:24% !important;
  background:#ff163d !important;
  box-shadow:0 0 8px #ff163d,0 0 18px #ff163d,0 0 36px rgba(255,22,61,.95) !important;
  animation:gpsSirenaRojaESM .58s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  right:24% !important;
  background:#0ea5ff !important;
  box-shadow:0 0 8px #0ea5ff,0 0 18px #0ea5ff,0 0 36px rgba(14,165,255,.95) !important;
  animation:gpsSirenaAzulESM .58s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  animation:gpsPatrullaMovimientoESM .72s ease-in-out infinite alternate !important;
  filter:drop-shadow(0 0 14px rgba(34,211,238,.78)) drop-shadow(0 0 24px rgba(59,130,246,.45)) !important;
}
@keyframes gpsSirenaRojaESM{
  0%,49%{opacity:1;filter:brightness(2.3) saturate(1.5)}
  50%,100%{opacity:.12;filter:brightness(.75)}
}
@keyframes gpsSirenaAzulESM{
  0%,49%{opacity:.12;filter:brightness(.75)}
  50%,100%{opacity:1;filter:brightness(2.3) saturate(1.5)}
}
@keyframes gpsPatrullaMovimientoESM{
  from{margin-top:-1px}
  to{margin-top:2px}
}

/* ESM GPS SEGURIDAD NEGRA + SIRENA + HUMO - ajuste final solo GPS Traslados */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  width:78px !important;
  height:104px !important;
  overflow:visible !important;
  background:transparent !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,180deg)) !important;
  transition:transform .58s cubic-bezier(.16,1,.3,1) !important;
  filter:drop-shadow(0 0 12px rgba(34,211,238,.62)) drop-shadow(0 13px 11px rgba(0,0,0,.56)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  position:relative !important;
  z-index:5 !important;
  pointer-events:none !important;
  background:transparent !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:39% !important;
  width:18px !important;
  height:10px !important;
  border-radius:999px !important;
  z-index:12 !important;
  pointer-events:none !important;
  transform:translateY(-50%) !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:23% !important;
  background:#ff173f !important;
  box-shadow:0 0 8px #ff173f,0 0 18px #ff173f,0 0 36px rgba(255,23,63,.95) !important;
  animation:gpsSirenaRojaESM .52s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  right:23% !important;
  background:#0ea5ff !important;
  box-shadow:0 0 8px #0ea5ff,0 0 18px #0ea5ff,0 0 36px rgba(14,165,255,.95) !important;
  animation:gpsSirenaAzulESM .52s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:none !important;
  position:absolute !important;
  left:50% !important;
  bottom:-14px !important;
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(226,232,240,.70),rgba(148,163,184,.34) 42%,rgba(15,23,42,0) 72%) !important;
  filter:blur(2px) !important;
  z-index:1 !important;
  pointer-events:none !important;
  transform:translateX(-50%) scale(.45) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  display:block !important;
  animation:gpsHumoTraseroESM 1.05s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke-b{
  animation-delay:.48s !important;
  left:47% !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  animation:gpsPatrullaMovimientoESM .72s ease-in-out infinite alternate !important;
  filter:drop-shadow(0 0 16px rgba(34,211,238,.78)) drop-shadow(0 0 28px rgba(59,130,246,.46)) drop-shadow(0 15px 12px rgba(0,0,0,.60)) !important;
}
@keyframes gpsHumoTraseroESM{
  0%{opacity:.52; transform:translate(-50%,0) scale(.36)}
  55%{opacity:.28; transform:translate(-50%,13px) scale(.95)}
  100%{opacity:0; transform:translate(-50%,26px) scale(1.45)}
}

/* ESM GPS HOTFIX 20260528 - patrulla grande + humo visible real */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro{
  width:170px !important;
  height:190px !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  width:132px !important;
  height:158px !important;
  left:50% !important;
  top:50% !important;
  overflow:visible !important;
  background:transparent !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,180deg)) !important;
  transform-origin:center center !important;
  transition:transform .55s cubic-bezier(.16,1,.3,1) !important;
  filter:drop-shadow(0 0 18px rgba(34,211,238,.85)) drop-shadow(0 0 34px rgba(59,130,246,.48)) drop-shadow(0 18px 16px rgba(0,0,0,.70)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:6 !important;
  image-rendering:auto !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-mini{
  left:112px !important;
  top:58px !important;
  transform:scale(.62) !important;
  opacity:.82 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  top:41% !important;
  width:26px !important;
  height:15px !important;
  border-radius:999px !important;
  z-index:15 !important;
  opacity:1 !important;
  filter:brightness(2.7) saturate(1.8) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:19% !important;
  background:#ff003c !important;
  box-shadow:0 0 10px #ff003c,0 0 24px #ff003c,0 0 50px rgba(255,0,60,1) !important;
  animation:gpsSirenaRojaESM .46s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  right:19% !important;
  background:#008cff !important;
  box-shadow:0 0 10px #008cff,0 0 24px #008cff,0 0 50px rgba(0,140,255,1) !important;
  animation:gpsSirenaAzulESM .46s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:-30px !important;
  width:52px !important;
  height:52px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.88) 0%,rgba(226,232,240,.62) 34%,rgba(148,163,184,.28) 58%,rgba(15,23,42,0) 76%) !important;
  filter:blur(3px) !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:.0;
  transform:translateX(-50%) scale(.45) !important;
  animation:gpsHumoTraseroESMVisible 1.15s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-smoke-b{
  animation-delay:.55s !important;
  left:44% !important;
  width:44px !important;
  height:44px !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  display:block !important;
  animation:gpsHumoTraseroESMVisible .85s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  animation:gpsPatrullaMovimientoESM .62s ease-in-out infinite alternate !important;
}
@keyframes gpsHumoTraseroESMVisible{
  0%{opacity:.76; transform:translate(-50%,0) scale(.35)}
  45%{opacity:.48; transform:translate(-50%,24px) scale(.90)}
  100%{opacity:0; transform:translate(-50%,54px) scale(1.75)}
}

/* ESM GPS HOTFIX 20260528 - ajustes finales solicitados: sin aro neon, sirena real y humo solo atras */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.72)) !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.72)) !important;
  animation:gpsPatrullaMovimientoESM .62s ease-in-out infinite alternate !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  filter:none !important;
  box-shadow:none !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  top:41% !important;
  width:24px !important;
  height:14px !important;
  border-radius:999px !important;
  z-index:20 !important;
  pointer-events:none !important;
  transform:translateY(-50%) !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:20% !important;
  background:#ff1744 !important;
  box-shadow:0 0 8px #ff1744,0 0 18px rgba(255,23,68,.95),0 0 34px rgba(255,23,68,.85) !important;
  animation:gpsSirenaRojaESMFinal .54s infinite steps(1,end) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  right:20% !important;
  background:#1495ff !important;
  box-shadow:0 0 8px #1495ff,0 0 18px rgba(20,149,255,.95),0 0 34px rgba(20,149,255,.85) !important;
  animation:gpsSirenaAzulESMFinal .54s infinite steps(1,end) !important;
}
@keyframes gpsSirenaRojaESMFinal{
  0%,45%{opacity:1; filter:brightness(2.5) saturate(1.8)}
  46%,100%{opacity:.08; filter:brightness(.45) saturate(.8)}
}
@keyframes gpsSirenaAzulESMFinal{
  0%,45%{opacity:.08; filter:brightness(.45) saturate(.8)}
  46%,100%{opacity:1; filter:brightness(2.5) saturate(1.8)}
}
/* La imagen tiene la parte trasera arriba; por eso el humo sale desde arriba del PNG y rota junto con el carro. */
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:none !important;
  position:absolute !important;
  left:50% !important;
  top:-30px !important;
  bottom:auto !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.78) 0%,rgba(226,232,240,.52) 34%,rgba(148,163,184,.24) 59%,rgba(15,23,42,0) 78%) !important;
  filter:blur(3px) !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:0;
  transform:translate(-50%,0) scale(.40) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  display:block !important;
  animation:gpsHumoSoloAtrasESM .95s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke-b{
  animation-delay:.43s !important;
  left:56% !important;
  width:40px !important;
  height:40px !important;
}
@keyframes gpsHumoSoloAtrasESM{
  0%{opacity:.72; transform:translate(-50%,0) scale(.35)}
  48%{opacity:.42; transform:translate(-50%,-22px) scale(.95)}
  100%{opacity:0; transform:translate(-50%,-48px) scale(1.55)}
}

/* ESM GPS FIX 20260528 - Sirena real rojo/azul restaurada sin aro neon */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  position:relative !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.72)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  position:relative !important;
  z-index:10 !important;
  filter:none !important;
  box-shadow:none !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:39.5% !important;
  width:27px !important;
  height:15px !important;
  border-radius:999px !important;
  z-index:30 !important;
  pointer-events:none !important;
  transform:translateY(-50%) !important;
  mix-blend-mode:screen !important;
  opacity:1 !important;
  background:transparent !important;
  border:0 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:21.5% !important;
  background:radial-gradient(circle,#fff 0 10%,#ff2b4f 28%,#b30019 72%,rgba(179,0,25,0) 100%) !important;
  box-shadow:0 0 8px #ff1744,0 0 18px rgba(255,23,68,.95),0 0 38px rgba(255,23,68,.82),0 0 58px rgba(255,23,68,.48) !important;
  animation:gpsSirenaRojaAzulRealESM .48s steps(1,end) infinite !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  right:21.5% !important;
  background:radial-gradient(circle,#fff 0 10%,#1e9bff 28%,#005eea 72%,rgba(0,94,234,0) 100%) !important;
  box-shadow:0 0 8px #1495ff,0 0 18px rgba(20,149,255,.95),0 0 38px rgba(20,149,255,.82),0 0 58px rgba(20,149,255,.48) !important;
  animation:gpsSirenaAzulRojaRealESM .48s steps(1,end) infinite !important;
}
@keyframes gpsSirenaRojaAzulRealESM{
  0%,49%{opacity:1; filter:brightness(3.2) saturate(2.2)}
  50%,100%{opacity:.12; filter:brightness(.55) saturate(.75)}
}
@keyframes gpsSirenaAzulRojaRealESM{
  0%,49%{opacity:.12; filter:brightness(.55) saturate(.75)}
  50%,100%{opacity:1; filter:brightness(3.2) saturate(2.2)}
}
/* Humo únicamente en la parte trasera del carro, sin rodear la patrulla */
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:none !important;
  position:absolute !important;
  left:50% !important;
  top:-38px !important;
  bottom:auto !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.75) 0%,rgba(226,232,240,.50) 36%,rgba(148,163,184,.22) 60%,rgba(15,23,42,0) 78%) !important;
  filter:blur(4px) !important;
  z-index:2 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translate(-50%,0) scale(.35) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  display:block !important;
  animation:gpsHumoAtrasDefinitivoESM 1.05s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke-b{
  animation-delay:.46s !important;
  left:54% !important;
  width:34px !important;
  height:34px !important;
}
@keyframes gpsHumoAtrasDefinitivoESM{
  0%{opacity:.62; transform:translate(-50%,0) scale(.35)}
  45%{opacity:.38; transform:translate(-50%,-20px) scale(.90)}
  100%{opacity:0; transform:translate(-50%,-52px) scale(1.45)}
}
/* Evita cualquier aro/neon alrededor del carro; solo quedan luces de sirena y humo atras */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker.seleccionado{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
}


/* ESM GPS FIX DEFINITIVO 20260528
   - Sirena rojo/azul sale EXACTAMENTE de la barra de luces superior.
   - Humo visible SOLO atras de la patrulla.
   - Sin aro/neon alrededor del carro.
   - Sin movimiento automatico de prueba: solo GPS/Firebase mueve el vehiculo. */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker.seleccionado{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  position:relative !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 16px 13px rgba(0,0,0,.72)) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  filter:drop-shadow(0 16px 13px rgba(0,0,0,.72)) !important;
  animation:gpsPatrullaMovimientoESM .62s ease-in-out infinite alternate !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  filter:none !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:10 !important;
}
/* Luces sobre la barra superior real de la imagen: rojo izquierda, azul derecha */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:38.2% !important;
  width:20px !important;
  height:11px !important;
  border-radius:999px !important;
  z-index:40 !important;
  pointer-events:none !important;
  transform:translate(-50%,-50%) !important;
  mix-blend-mode:screen !important;
  border:0 !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before{
  left:40.5% !important;
  background:radial-gradient(circle,#fff 0 10%,#ff2448 30%,#d60026 72%,rgba(214,0,38,0) 100%) !important;
  box-shadow:0 0 8px #ff1744,0 0 18px rgba(255,23,68,.98),0 0 36px rgba(255,23,68,.88),0 0 58px rgba(255,23,68,.52) !important;
  animation:gpsSirenaRojaBarraESM .46s steps(1,end) infinite !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  left:59.5% !important;
  background:radial-gradient(circle,#fff 0 10%,#18a8ff 30%,#006dff 72%,rgba(0,109,255,0) 100%) !important;
  box-shadow:0 0 8px #1495ff,0 0 18px rgba(20,149,255,.98),0 0 36px rgba(20,149,255,.88),0 0 58px rgba(20,149,255,.52) !important;
  animation:gpsSirenaAzulBarraESM .46s steps(1,end) infinite !important;
}
@keyframes gpsSirenaRojaBarraESM{
  0%,49%{opacity:1; filter:brightness(3.4) saturate(2.4)}
  50%,100%{opacity:.10; filter:brightness(.45) saturate(.75)}
}
@keyframes gpsSirenaAzulBarraESM{
  0%,49%{opacity:.10; filter:brightness(.45) saturate(.75)}
  50%,100%{opacity:1; filter:brightness(3.4) saturate(2.4)}
}
/* La patrulla apunta con el frente hacia abajo en el PNG; la parte trasera queda arriba.
   Estos humos salen desde atras y rotan junto con el carro. */
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:none !important;
  position:absolute !important;
  left:50% !important;
  top:-34px !important;
  bottom:auto !important;
  width:54px !important;
  height:54px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.88) 0%,rgba(226,232,240,.62) 35%,rgba(148,163,184,.28) 60%,rgba(15,23,42,0) 80%) !important;
  filter:blur(4px) !important;
  z-index:2 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translate(-50%,0) scale(.32) !important;
}
#modalTraslados:not(.oculto) .gps-engine-on .gps-vehicle-smoke,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  display:block !important;
  animation:gpsHumoAtrasRealESM 1.15s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-engine-on .gps-vehicle-smoke-b,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke-b{
  animation-delay:.52s !important;
  left:56% !important;
  width:44px !important;
  height:44px !important;
}
@keyframes gpsHumoAtrasRealESM{
  0%{opacity:.70; transform:translate(-50%,0) scale(.32)}
  45%{opacity:.42; transform:translate(-50%,-24px) scale(.92)}
  100%{opacity:0; transform:translate(-50%,-58px) scale(1.65)}
}


/* ESM GPS URGENTE FINAL 20260528
   Correcciones puntuales: luces REALES con spans ubicados en la barra, parpadeo rojo/azul,
   humo visible atras, giro por ruta y sin aro alrededor. */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker.seleccionado{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  overflow:visible !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  width:112px !important;
  height:168px !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,180deg)) !important;
  transform-origin:center center !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 18px 14px rgba(0,0,0,.74)) !important;
  transition:transform .52s cubic-bezier(.16,1,.3,1) !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro{
  animation:gpsPatrullaMovimientoESM .62s ease-in-out infinite alternate !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img-carro{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  position:relative !important;
  z-index:10 !important;
  filter:none !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:none !important;
}
/* Apaga los pseudo-elementos viejos para que no queden luces congeladas. */
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::before,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* Luces reales: salen de la barra superior del PNG. */
#modalTraslados:not(.oculto) .gps-siren-light{
  display:block !important;
  position:absolute !important;
  top:38.2% !important;
  width:24px !important;
  height:12px !important;
  border-radius:999px !important;
  z-index:55 !important;
  pointer-events:none !important;
  transform:translate(-50%,-50%) !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto) .gps-siren-red{
  left:40.5% !important;
  background:radial-gradient(circle,#ffffff 0 8%,#ff3154 25%,#ff0033 62%,rgba(255,0,51,0) 100%) !important;
  animation:gpsSirenaRojaSpanESM .50s steps(1,end) infinite !important;
}
#modalTraslados:not(.oculto) .gps-siren-blue{
  left:59.5% !important;
  background:radial-gradient(circle,#ffffff 0 8%,#37b7ff 25%,#006dff 62%,rgba(0,109,255,0) 100%) !important;
  animation:gpsSirenaAzulSpanESM .50s steps(1,end) infinite !important;
}
@keyframes gpsSirenaRojaSpanESM{
  0%,49%{opacity:1; filter:brightness(4) saturate(2.8); box-shadow:0 0 8px #ff1744,0 0 22px rgba(255,23,68,1),0 0 48px rgba(255,23,68,.78),0 0 76px rgba(255,23,68,.42)}
  50%,100%{opacity:.16; filter:brightness(.65) saturate(.8); box-shadow:0 0 3px rgba(255,23,68,.25)}
}
@keyframes gpsSirenaAzulSpanESM{
  0%,49%{opacity:.16; filter:brightness(.65) saturate(.8); box-shadow:0 0 3px rgba(20,149,255,.25)}
  50%,100%{opacity:1; filter:brightness(4) saturate(2.8); box-shadow:0 0 8px #1495ff,0 0 22px rgba(20,149,255,1),0 0 48px rgba(20,149,255,.78),0 0 76px rgba(20,149,255,.42)}
}
/* Humo solo atras: el PNG apunta hacia abajo, entonces atras queda arriba del vehiculo. */
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:-30px !important;
  bottom:auto !important;
  width:60px !important;
  height:60px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.92) 0%,rgba(226,232,240,.68) 35%,rgba(148,163,184,.34) 61%,rgba(15,23,42,0) 82%) !important;
  filter:blur(5px) !important;
  z-index:3 !important;
  pointer-events:none !important;
  transform:translate(-50%,0) scale(.30) !important;
  animation:gpsHumoAtrasVisibleFinalESM 1.05s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-smoke-b{
  animation-delay:.48s !important;
  left:57% !important;
  width:48px !important;
  height:48px !important;
}
@keyframes gpsHumoAtrasVisibleFinalESM{
  0%{opacity:.78; transform:translate(-50%,0) scale(.30)}
  45%{opacity:.46; transform:translate(-50%,-25px) scale(.92)}
  100%{opacity:0; transform:translate(-50%,-62px) scale(1.65)}
}
#modalTraslados:not(.oculto) .gps-vehicle-mini{display:none !important;}

/* ESM GPS 3D RELIEVE REAL VISUAL - 20260528
   Capa visual aislada sobre GPS Traslados: da profundidad nocturna, luces urbanas y relieve sin tocar Firebase ni otros módulos. */
#modalTraslados:not(.oculto) #gpsLeafletMap{
  background:#020617 !important;
  overflow:hidden !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-canvas{
  filter:contrast(1.08) saturate(1.08) brightness(.9) !important;
}
#modalTraslados:not(.oculto)[data-gps-tema="noche"] #gpsLeafletMap .maplibregl-canvas,
#modalTraslados:not(.oculto)[data-gps-modo="satelite"] #gpsLeafletMap .maplibregl-canvas{
  filter:contrast(1.22) saturate(1.18) brightness(.62) !important;
}
#modalTraslados:not(.oculto) .esm-gps-3d-city-overlay{
  position:absolute !important;
  inset:-8% !important;
  z-index:3 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:perspective(820px) rotateX(58deg) rotateZ(-11deg) scale(1.08) !important;
  transform-origin:center center !important;
  transition:opacity .35s ease !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto)[data-gps-tema="noche"] .esm-gps-3d-city-overlay,
#modalTraslados:not(.oculto)[data-gps-modo="satelite"] .esm-gps-3d-city-overlay{
  opacity:.42 !important;
}
#modalTraslados:not(.oculto) .esm-gps-3d-city-overlay::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,rgba(96,165,250,.14) 1px,transparent 1px) 0 0/92px 92px,
    linear-gradient(0deg,rgba(96,165,250,.10) 1px,transparent 1px) 0 0/92px 92px,
    radial-gradient(circle at 30% 36%,rgba(59,130,246,.18),transparent 10%),
    radial-gradient(circle at 74% 62%,rgba(14,165,233,.15),transparent 12%);
  filter:blur(.15px) !important;
}
#modalTraslados:not(.oculto) .esm-gps-3d-city-overlay i{
  position:absolute !important;
  left:var(--x) !important;
  top:var(--y) !important;
  width:12px !important;
  height:var(--h) !important;
  border-radius:2px 2px 0 0 !important;
  background:linear-gradient(180deg,rgba(191,219,254,.65),rgba(37,99,235,.20) 48%,rgba(2,6,23,0)) !important;
  box-shadow:0 0 12px rgba(96,165,250,.26), inset 0 0 8px rgba(255,255,255,.12) !important;
  transform:translate(-50%,-100%) skewX(-10deg) !important;
  opacity:.55 !important;
  animation:esmGpsUrbanLightBlink 4.8s ease-in-out infinite !important;
  animation-delay:var(--d) !important;
}
@keyframes esmGpsUrbanLightBlink{
  0%,100%{opacity:.35; filter:brightness(.8)}
  45%{opacity:.75; filter:brightness(1.55)}
  70%{opacity:.48; filter:brightness(1.05)}
}
#modalTraslados:not(.oculto) .esm-gps-night-lights-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transition:opacity .35s ease !important;
  mix-blend-mode:screen !important;
  background:
    radial-gradient(circle at 12% 24%,rgba(251,191,36,.55) 0 1px,transparent 5px),
    radial-gradient(circle at 24% 52%,rgba(251,191,36,.45) 0 1px,transparent 5px),
    radial-gradient(circle at 38% 34%,rgba(253,224,71,.45) 0 1px,transparent 6px),
    radial-gradient(circle at 56% 66%,rgba(251,191,36,.50) 0 1px,transparent 5px),
    radial-gradient(circle at 72% 44%,rgba(253,224,71,.42) 0 1px,transparent 5px),
    radial-gradient(circle at 84% 74%,rgba(251,191,36,.48) 0 1px,transparent 6px),
    linear-gradient(115deg,transparent 0 42%,rgba(56,189,248,.11) 45%,transparent 49%);
  background-size:220px 220px,260px 260px,310px 310px,240px 240px,280px 280px,340px 340px,100% 100% !important;
  filter:blur(.25px) !important;
}
#modalTraslados:not(.oculto)[data-gps-tema="noche"] .esm-gps-night-lights-overlay,
#modalTraslados:not(.oculto)[data-gps-modo="satelite"] .esm-gps-night-lights-overlay{
  opacity:.58 !important;
  animation:esmGpsCityLightsPulse 3.2s ease-in-out infinite !important;
}
@keyframes esmGpsCityLightsPulse{
  0%,100%{filter:brightness(.85) blur(.25px)}
  50%{filter:brightness(1.45) blur(.2px)}
}
/* Mantiene la patrulla y la ruta por encima del efecto 3D */
#modalTraslados:not(.oculto) .maplibregl-marker,
#modalTraslados:not(.oculto) .gps-vehicle-marker{
  z-index:35 !important;
}


/* ESM GPS 3D REAL LIMPIO - sin luces nocturnas falsas, sin overlays encima del mapa. */
#modalTraslados:not(.oculto) .esm-gps-night-lights-overlay,
#modalTraslados:not(.oculto) .esm-gps-3d-city-overlay{
  display:none !important;
  opacity:0 !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-canvas{
  filter:contrast(1.04) saturate(1.05) brightness(.98) !important;
}
#modalTraslados:not(.oculto)[data-gps-tema="noche"] #gpsLeafletMap .maplibregl-canvas{
  filter:contrast(1.12) saturate(1.04) brightness(.82) !important;
}


/* ESM GPS CLIMA REAL COSTA RICA - radar premium sin rayas.
   Capa visual suave: radar azul/verde, nubes lentas y calles más oscuras/mojadas. */
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-gps-weather-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:18 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  --esm-rain-opacity:0;
  --esm-rain-strength:0;
  --esm-rain-speed:10s;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-weather-radar{
  position:absolute !important;
  inset:-10% !important;
  opacity:var(--esm-rain-opacity) !important;
  background:
    radial-gradient(ellipse at 22% 32%, rgba(34,197,94,.34), transparent 30%),
    radial-gradient(ellipse at 55% 48%, rgba(56,189,248,.38), transparent 34%),
    radial-gradient(ellipse at 78% 28%, rgba(14,165,233,.24), transparent 28%),
    radial-gradient(ellipse at 42% 78%, rgba(132,204,22,.20), transparent 32%) !important;
  filter:blur(18px) saturate(1.25) !important;
  mix-blend-mode:screen !important;
  animation:esmGpsRadarMove var(--esm-rain-speed) ease-in-out infinite alternate !important;
  transition:opacity .7s ease !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-weather-clouds{
  position:absolute !important;
  inset:-8% !important;
  opacity:calc(var(--esm-rain-opacity) * .55) !important;
  background:
    radial-gradient(circle at 18% 25%, rgba(148,163,184,.22), transparent 26%),
    radial-gradient(circle at 50% 20%, rgba(203,213,225,.15), transparent 30%),
    radial-gradient(circle at 82% 42%, rgba(100,116,139,.18), transparent 28%),
    linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.18)) !important;
  filter:blur(20px) !important;
  animation:esmGpsCloudMove calc(var(--esm-rain-speed) * 1.35) ease-in-out infinite alternate !important;
  transition:opacity .7s ease !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-weather-wet{
  position:absolute !important;
  inset:0 !important;
  opacity:calc(var(--esm-rain-opacity) * .42) !important;
  background:
    linear-gradient(180deg, rgba(2,6,23,.10), rgba(2,6,23,.22)),
    repeating-linear-gradient(115deg, transparent 0 42px, rgba(226,232,240,.08) 43px 44px, transparent 45px 110px) !important;
  mix-blend-mode:multiply !important;
  transition:opacity .7s ease !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-weather-badge{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  color:#e5e7eb !important;
  background:rgba(2,6,23,.58) !important;
  border:1px solid rgba(148,163,184,.28) !important;
  font:800 11px/1.1 system-ui,Segoe UI,Arial !important;
  backdrop-filter:blur(12px) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.22) !important;
  z-index:25 !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .esm-weather-badge.lluvia{
  color:#e0f2fe !important;
  border-color:rgba(56,189,248,.44) !important;
  box-shadow:0 0 22px rgba(56,189,248,.22),0 10px 30px rgba(0,0,0,.28) !important;
}
#modalTraslados:not(.oculto).esm-gps-rain-active #gpsLeafletMap .maplibregl-canvas{
  filter:contrast(1.03) saturate(.96) brightness(.88) !important;
}
#modalTraslados:not(.oculto).esm-gps-storm-active #gpsLeafletMap .esm-gps-weather-overlay::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(125,211,252,.25) !important;
  opacity:0 !important;
  animation:esmGpsLightning 6.5s steps(1,end) infinite !important;
}
@keyframes esmGpsRadarMove{
  from{transform:translate3d(-2%,1%,0) scale(1.04) rotate(-1deg);}
  to{transform:translate3d(3%,-2%,0) scale(1.09) rotate(1deg);}
}
@keyframes esmGpsCloudMove{
  from{transform:translate3d(-3%,0,0) scale(1.02);}
  to{transform:translate3d(4%,-1%,0) scale(1.08);}
}
@keyframes esmGpsLightning{
  0%,88%,93%,100%{opacity:0;}
  89%{opacity:.10;}
  90%{opacity:0;}
  91%{opacity:.16;}
}


/* ESM GPS MARCAS - MISMO MAPA PREMIUM 3D + UN SOLO OFICIAL */
#modalGpsMarcas .gps-marcas-map-shell,
#modalGpsMarcas #gpsMarcasMapa{background:#020617 !important;}
#modalGpsMarcas .gps-marcas-oficial-marker.gps-marcas-oficial-unico{
  width:52px !important;height:52px !important;border-radius:0 !important;background:transparent !important;border:0 !important;
  box-shadow:none !important;display:grid !important;place-items:center !important;overflow:visible !important;animation:gpsMarcasOficialFloat 1.4s ease-in-out infinite alternate !important;z-index:8 !important;
  filter:drop-shadow(0 14px 11px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(34,197,94,.85)) !important;
}
#modalGpsMarcas .gps-marcas-oficial-marker.gps-marcas-oficial-unico svg{width:52px !important;height:52px !important;display:block !important;}
#modalGpsMarcas .gps-marcas-oficial-marker.gps-marcas-oficial-unico span{display:none !important;}
#modalGpsMarcas .gps-marcas-oficial-marker.gps-marcas-oficial-unico b{
  position:absolute !important;right:6px !important;bottom:6px !important;width:12px !important;height:12px !important;border-radius:50% !important;background:#22c55e !important;border:2px solid #fff !important;
  box-shadow:0 0 16px rgba(34,197,94,.95) !important;animation:gpsMarcasPulse 1.15s infinite !important;
}
@keyframes gpsMarcasOficialFloat{from{transform:translateY(0) scale(.96)}to{transform:translateY(-3px) scale(1.03)}}
#modalGpsMarcas .esm-marcas-weather-overlay{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;transition:opacity .55s ease;overflow:hidden;mix-blend-mode:screen;--weather-intensity:.55;}
#modalGpsMarcas .esm-marcas-weather-overlay.lluvia{opacity:calc(.42 + (var(--weather-intensity) * .35));}
#modalGpsMarcas .esm-marcas-weather-overlay .esm-weather-radar{position:absolute;inset:-10%;background:radial-gradient(circle at 28% 36%,rgba(34,197,94,.20),transparent 21%),radial-gradient(circle at 55% 42%,rgba(59,130,246,.28),transparent 28%),radial-gradient(circle at 72% 63%,rgba(14,165,233,.22),transparent 24%);filter:blur(10px);animation:esmWeatherRadarMove 12s linear infinite;opacity:.90;}
#modalGpsMarcas .esm-marcas-weather-overlay .esm-weather-clouds{position:absolute;inset:-20%;background:radial-gradient(ellipse at 35% 38%,rgba(148,163,184,.22),transparent 28%),radial-gradient(ellipse at 70% 62%,rgba(203,213,225,.16),transparent 30%);filter:blur(18px);animation:esmWeatherCloudsMove 28s linear infinite;}
#modalGpsMarcas .esm-marcas-weather-overlay .esm-weather-wet{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.10),rgba(2,6,23,.22));opacity:.45;}
#modalGpsMarcas .esm-marcas-weather-overlay .esm-weather-badge{position:absolute;left:14px;bottom:56px;padding:6px 10px;border-radius:999px;background:rgba(2,6,23,.62);border:1px solid rgba(125,211,252,.25);color:#e0f2fe;font-size:11px;font-weight:800;backdrop-filter:blur(10px);box-shadow:0 10px 24px rgba(0,0,0,.28);}

/* === ESM GPS CAMARA 360 REAL - CONTROLES VISIBLES === */
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls,
#modalGpsMarcas .esm-marcas-camera-360-controls{
  position:absolute !important;
  left:50% !important;
  top:12px !important;
  transform:translateX(-50%) !important;
  z-index:9999 !important;
  display:flex !important;
  gap:6px !important;
  align-items:center !important;
  padding:5px !important;
  border-radius:999px !important;
  background:rgba(2,6,23,.58) !important;
  border:1px solid rgba(125,211,252,.22) !important;
  box-shadow:0 12px 35px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(14px) saturate(150%) !important;
  pointer-events:auto !important;
}
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls button,
#modalGpsMarcas .esm-marcas-camera-360-controls button{
  border:0 !important;
  outline:0 !important;
  cursor:pointer !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.72) !important;
  color:#dbeafe !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  line-height:1 !important;
  box-shadow:none !important;
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
}
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls button:hover,
#modalGpsMarcas .esm-marcas-camera-360-controls button:hover{transform:translateY(-1px) !important;background:rgba(30,41,59,.92) !important;}
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls button.activo,
#modalGpsMarcas .esm-marcas-camera-360-controls button.activo{
  color:#ecfeff !important;
  background:linear-gradient(135deg,rgba(14,165,233,.95),rgba(34,197,94,.72)) !important;
  box-shadow:0 0 18px rgba(34,211,238,.38) !important;
}
#modalGpsMarcas .gps-marcas-oficial-marker.gps-marcas-oficial-unico svg{
  transform:rotate(var(--marcas-bearing,180deg)) !important;
  transform-origin:50% 50% !important;
  transition:transform .65s cubic-bezier(.22,.8,.25,1) !important;
}
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-canvas,
#modalGpsMarcas #gpsMarcasMapa .maplibregl-canvas{cursor:grab !important;}
#modalTraslados:not(.oculto) #gpsLeafletMap .maplibregl-canvas:active,
#modalGpsMarcas #gpsMarcasMapa .maplibregl-canvas:active{cursor:grabbing !important;}
@media(max-width:760px){
  #modalTraslados:not(.oculto) .esm-gps-camera-360-controls,
  #modalGpsMarcas .esm-marcas-camera-360-controls{top:54px !important; gap:4px !important; padding:4px !important; max-width:calc(100vw - 16px) !important; overflow:auto !important;}
  #modalTraslados:not(.oculto) .esm-gps-camera-360-controls button,
  #modalGpsMarcas .esm-marcas-camera-360-controls button{font-size:10px !important; padding:7px 8px !important; white-space:nowrap !important;}
}

/* ESM GPS CAMARA 360 REAL VISIBLE: botones de giro manual y toque/dedo */
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls,
#modalGpsMarcas .esm-marcas-camera-360-controls{
  z-index:999999 !important;
  pointer-events:auto !important;
  display:flex !important;
  flex-wrap:wrap !important;
  max-width:min(720px, calc(100vw - 24px)) !important;
}
#modalTraslados:not(.oculto) .esm-gps-camera-360-controls button,
#modalGpsMarcas .esm-marcas-camera-360-controls button{
  cursor:pointer !important;
  user-select:none !important;
  touch-action:manipulation !important;
}
#modalTraslados #gpsLeafletMap,
#modalGpsMarcas #gpsMarcasMapa{
  cursor:grab !important;
}
#modalTraslados #gpsLeafletMap:active,
#modalGpsMarcas #gpsMarcasMapa:active{
  cursor:grabbing !important;
}

/* === ESM FIX DEFINITIVO 2026-05-29: CONTROLES HORIZONTALES + SIN LLUVIA ===
   - Quita lluvia/radar/nubes/mojado completamente.
   - Elimina barras/cuadros viejos de rotación.
   - Deja los controles de cámara integrados en la misma barra de A / Sol / Luna.
*/
#modalTraslados .esm-weather-overlay,
#modalTraslados .esm-weather-radar,
#modalTraslados .esm-weather-clouds,
#modalTraslados .esm-weather-wet,
#modalTraslados .esm-weather-badge,
#modalGpsMarcas .esm-marcas-weather-overlay,
#modalGpsMarcas .esm-weather-radar,
#modalGpsMarcas .esm-weather-clouds,
#modalGpsMarcas .esm-weather-wet,
#modalGpsMarcas .esm-weather-badge{
  display:none!important; opacity:0!important; visibility:hidden!important; pointer-events:none!important;
}
#modalTraslados .esm-gps-camera-360-controls,
#modalTraslados #esmGpsRotacion360Real,
#modalGpsMarcas .esm-marcas-camera-360-controls,
#modalGpsMarcas #esmMarcasRotacion360Real{
  display:none!important; opacity:0!important; visibility:hidden!important; pointer-events:none!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs,
#modalGpsMarcas .gps-marcas-style-switch{
  position:absolute!important;
  left:50%!important; right:auto!important; top:auto!important; bottom:12px!important;
  transform:translateX(-50%)!important;
  width:auto!important; max-width:calc(100vw - 380px)!important; height:42px!important;
  display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:center!important;
  gap:5px!important; flex-wrap:nowrap!important; overflow-x:auto!important; overflow-y:hidden!important;
  padding:5px 7px!important; border-radius:999px!important;
  background:linear-gradient(180deg,rgba(3,10,24,.82),rgba(3,10,24,.62))!important;
  border:1px solid rgba(56,189,248,.32)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.05)!important;
  backdrop-filter:blur(14px) saturate(1.35)!important; -webkit-backdrop-filter:blur(14px) saturate(1.35)!important;
  z-index:999999!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button,
#modalGpsMarcas .gps-marcas-style-switch button{
  position:relative!important; flex:0 0 auto!important;
  width:auto!important; min-width:34px!important; height:32px!important; padding:0 10px!important; margin:0!important;
  border-radius:999px!important; border:1px solid rgba(148,163,184,.25)!important;
  background:rgba(15,23,42,.72)!important; color:#dff7ff!important;
  font:900 11px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important;
  letter-spacing:.1px!important; white-space:nowrap!important; cursor:pointer!important;
  box-shadow:inset 0 0 12px rgba(14,165,233,.08)!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button:not(.esm-cam360-btn),
#modalGpsMarcas .gps-marcas-style-switch button:not(.esm-cam360-btn){
  width:32px!important; min-width:32px!important; padding:0!important; font-size:0!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button:not(.esm-cam360-btn)::before,
#modalGpsMarcas .gps-marcas-style-switch button:not(.esm-cam360-btn)::before{
  font-size:13px!important; line-height:30px!important; display:block!important; text-align:center!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button.esm-cam360-btn,
#modalGpsMarcas .gps-marcas-style-switch button.esm-cam360-btn{
  min-width:auto!important; padding:0 11px!important; font-size:11px!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button.esm-cam360-btn:hover,
#modalGpsMarcas .gps-marcas-style-switch button.esm-cam360-btn:hover{
  background:rgba(14,165,233,.26)!important; transform:translateY(-1px)!important;
}
#modalTraslados:not(.oculto) .gps-map-tabs button.esm-cam360-btn.activo,
#modalGpsMarcas .gps-marcas-style-switch button.esm-cam360-btn.activo,
#modalTraslados:not(.oculto) .gps-map-tabs button.activo,
#modalGpsMarcas .gps-marcas-style-switch button.activo{
  background:linear-gradient(135deg,rgba(34,211,238,.95),rgba(59,130,246,.86))!important;
  color:#00111f!important; border-color:rgba(125,211,252,.7)!important;
  box-shadow:0 0 14px rgba(34,211,238,.45)!important;
}
@media(max-width:900px){
  #modalTraslados:not(.oculto) .gps-map-tabs,
  #modalGpsMarcas .gps-marcas-style-switch{max-width:calc(100vw - 22px)!important; bottom:8px!important; justify-content:flex-start!important;}
  #modalTraslados:not(.oculto) .gps-map-tabs button.esm-cam360-btn,
  #modalGpsMarcas .gps-marcas-style-switch button.esm-cam360-btn{padding:0 8px!important; font-size:10px!important;}
}

/* ESM GPS VEHICULOS MULTITIPO 20260529
   Solo GPS Traslados: Moto / Pick Up / Patrulla con tamaño FIJO en pantalla.
   Los iconos NO crecen ni se encogen con el zoom del mapa. */
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-marker,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-carro,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-pickup,
#modalTraslados:not(.oculto) .gps-real-marker.gps-vehicle-moto{
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform-origin:center center !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d,
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro,
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup,
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) rotate(var(--gps-bearing,180deg)) !important;
  transform-origin:center center !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:transform .52s cubic-bezier(.16,1,.3,1) !important;
  will-change:transform !important;
  pointer-events:none !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro{
  width:112px !important;
  height:168px !important;
  filter:drop-shadow(0 18px 14px rgba(0,0,0,.74)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup{
  width:190px !important;
  height:112px !important;
  filter:drop-shadow(0 18px 14px rgba(0,0,0,.74)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto{
  width:92px !important;
  height:152px !important;
  filter:drop-shadow(0 16px 12px rgba(0,0,0,.72)) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-img,
#modalTraslados:not(.oculto) .gps-vehicle-img-carro,
#modalTraslados:not(.oculto) .gps-vehicle-img-pickup,
#modalTraslados:not(.oculto) .gps-vehicle-img-moto{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  position:relative !important;
  z-index:10 !important;
  filter:none !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:none !important;
  user-select:none !important;
}
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-carro,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-pickup,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-3d-moto{
  animation:gpsVehicleRealDrive .70s ease-in-out infinite alternate !important;
}
/* Sirenas reales por tipo: cada luz sale sobre la barra del vehículo correspondiente. */
#modalTraslados:not(.oculto) .gps-siren-light{
  display:block !important;
  position:absolute !important;
  border-radius:999px !important;
  z-index:55 !important;
  pointer-events:none !important;
  transform:translate(-50%,-50%) !important;
  mix-blend-mode:screen !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro .gps-siren-light{top:38.2% !important;width:24px !important;height:12px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro .gps-siren-red{left:40.5% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-carro .gps-siren-blue{left:59.5% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup .gps-siren-light{top:48% !important;width:26px !important;height:14px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup .gps-siren-red{left:45.5% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup .gps-siren-blue{left:54.5% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto .gps-siren-light{top:18% !important;width:17px !important;height:10px !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto .gps-siren-red{left:32% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto .gps-siren-blue{left:68% !important;}
#modalTraslados:not(.oculto) .gps-siren-red{
  background:radial-gradient(circle,#ffffff 0 8%,#ff3154 25%,#ff0033 62%,rgba(255,0,51,0) 100%) !important;
  animation:gpsSirenaRojaSpanESM .50s steps(1,end) infinite !important;
}
#modalTraslados:not(.oculto) .gps-siren-blue{
  background:radial-gradient(circle,#ffffff 0 8%,#37b7ff 25%,#006dff 62%,rgba(0,109,255,0) 100%) !important;
  animation:gpsSirenaAzulSpanESM .50s steps(1,end) infinite !important;
}
/* Humo atrás, del mismo tamaño visual, solo cuando está encendido o se mueve. */
#modalTraslados:not(.oculto) .gps-vehicle-smoke{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:-28px !important;
  width:58px !important;
  height:58px !important;
  border-radius:999px !important;
  background:radial-gradient(circle,rgba(255,255,255,.88) 0%,rgba(226,232,240,.62) 36%,rgba(148,163,184,.30) 62%,rgba(15,23,42,0) 83%) !important;
  filter:blur(5px) !important;
  z-index:3 !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translate(-50%,0) scale(.25) !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-3d-pickup .gps-vehicle-smoke{top:-20px !important; left:50% !important;}
#modalTraslados:not(.oculto) .gps-vehicle-3d-moto .gps-vehicle-smoke{top:-18px !important; width:38px !important; height:38px !important;}
#modalTraslados:not(.oculto) .gps-engine-on .gps-vehicle-smoke,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke{
  opacity:1 !important;
  animation:gpsHumoAtrasVisibleFinalESM 1.08s ease-out infinite !important;
}
#modalTraslados:not(.oculto) .gps-engine-on .gps-vehicle-smoke-b,
#modalTraslados:not(.oculto) .gps-moving .gps-vehicle-smoke-b{
  animation-delay:.48s !important;
  left:57% !important;
  width:48px !important;
  height:48px !important;
}
#modalTraslados:not(.oculto) .gps-vehicle-mini{display:none !important;}
