:root{color:#26354b;font-synthesis:none;--azul:#245dc1;--borde:#e0e7f0;--secundario:#66768d;background:#f3f6fa;font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #84b4ff}h1,h2,h3,h4,p{margin-top:0}h2{color:#17365f;margin-bottom:8px;font-size:1rem}h3{font-size:.95rem}h4{font-size:.8rem}small{color:var(--secundario);margin-top:3px;font-size:.7rem;display:block}.app{background:#0b0c10;grid-template-columns:216px minmax(0,1fr);min-height:100dvh;display:grid}.navegacion-lateral{color:#d7e2f4;background:#08090d;border-right:1.5px solid #1c202d;flex-direction:column;height:100dvh;padding:28px 16px 22px;display:flex;position:sticky;top:0}.marca{align-items:center;gap:10px;padding:0 8px 36px;display:flex}.marca h1{color:#fff;letter-spacing:-.04em;margin:0 0 3px;font-size:1.45rem;font-weight:900}.marca div>span{color:#8fa3c0;font-size:.62rem}.simbolo-marca{color:#fff;background:#0047ff;border-radius:9px;flex-shrink:0;place-items:center;width:35px;height:38px;font-size:1.45rem;font-weight:800;display:grid;box-shadow:0 0 14px #0047ff73}.seccion-navegacion{color:#cf0;letter-spacing:.09em;text-transform:uppercase;margin:0 10px 14px;font-size:.62rem;font-weight:800}.navegacion-lateral nav{gap:7px;display:grid}.navegacion-lateral nav button{color:#c3d2e7;text-align:left;background:0 0;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:14px 10px;font-size:.78rem;font-weight:650;transition:all .15s;display:flex}.navegacion-lateral nav button svg{flex-shrink:0;width:19px;height:19px}.navegacion-lateral nav button:hover{color:#fff;background:#151822}.navegacion-lateral nav button[aria-current=page]{color:#fff;background:#0047ff;border-color:#0047ff;box-shadow:0 4px 14px #0047ff59}.nota-navegacion{color:#8fa3c0;border-top:1px solid #1e2330;margin-top:auto;padding:20px 10px 0;font-size:.7rem;line-height:1.6}.nota-navegacion p{margin:12px 0 16px}.etiqueta-motor{color:#cf0;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800;display:inline-block}.area-principal{background:#0b0c10;min-width:0}.encabezado{border-bottom:1px solid var(--borde);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:23px 28px;display:flex}.rotulo{letter-spacing:.07em;text-transform:uppercase;color:var(--secundario);margin:0 0 6px;font-size:.63rem;font-weight:650}.titulo-vista h2{letter-spacing:-.035em;margin-bottom:7px;font-size:1.55rem}.fecha-vista{color:var(--secundario);margin:0;font-size:.78rem}.controles{flex-shrink:0}.conexion{color:var(--secundario);justify-content:flex-end;align-items:center;gap:6px;margin:0 0 10px;font-size:.68rem;display:flex}.conexion span{background:#92a0b2;border-radius:50%;width:6px;height:6px}.conectado{color:#237451}.conectado span{background:#2c9a68}.desconectado{color:#b23b42}.desconectado span{background:#c94a50}.controles form{align-items:flex-end;gap:10px;display:flex}.campo-fecha label{color:var(--secundario);margin-bottom:5px;font-size:.66rem;font-weight:550;display:block}input{color:#334967;background:#fff;border:1px solid #ced9e7;border-radius:6px;width:155px;min-height:40px;padding:7px 10px;font-size:.76rem}.boton-principal{background:var(--azul);color:#fff;border:1px solid #2459b5;border-radius:6px;min-height:40px;padding:9px 16px;font-size:.76rem;font-weight:650;box-shadow:0 2px 4px #245dc11a}.boton-principal:hover:not(:disabled){background:#194caa}.contenido{padding:14px 24px 24px}.estado-planificacion{color:var(--secundario);align-items:center;min-height:18px;margin-bottom:14px;font-size:.72rem;display:flex}.panel-simulacion{border-bottom:1px solid var(--borde);margin-bottom:14px;padding-bottom:14px}.progreso-dias{justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 2px;display:flex;position:relative}.progreso-linea{background:#e2eaf5;border-radius:999px;height:3px;position:absolute;top:50%;left:13px;right:13px;overflow:hidden;transform:translateY(-50%)}.progreso-linea>span{background:linear-gradient(90deg,#245dc1,#4d8be8);border-radius:999px;height:100%;transition:width .2s linear;display:block}.dia-punto{z-index:1;color:#7e93ad;cursor:pointer;background:#fff;border:2px solid #d5e1f0;border-radius:50%;outline:none;place-items:center;width:25px;height:25px;padding:0;font-size:.64rem;font-weight:700;transition:transform .15s;display:grid;position:relative}.dia-punto:hover{transform:scale(1.15)}.dia-punto.completado{border-color:var(--azul);background:var(--azul);color:#fff}.dia-punto.activo{border-color:var(--azul);color:var(--azul);box-shadow:0 0 0 3px #e8f0ff}.reloj-dia{color:#45668e;text-align:center;margin:0 0 8px;font-size:.66rem;font-weight:650}.barra-controles-reproduccion{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px;padding:8px 10px;display:flex}.boton-control-reproduccion{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.boton-control-reproduccion:hover{background:#f1f5f9;border-color:#94a3b8}.boton-control-reproduccion.pausado{color:#065f46;background:#ecfdf5;border-color:#10b981}.icono-play-pause{font-size:.8rem;line-height:1}.selector-velocidad-sim{color:#475569;align-items:center;gap:4px;font-size:.72rem;display:flex}.selector-velocidad-sim label{font-weight:600}.selector-velocidad-sim select{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:3px 6px;font-size:.72rem}.badge-bloqueos-activos-alerta{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;margin-left:auto;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.badge-bloqueos-activos-libre{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;margin-left:auto;padding:3px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.marcador-vehiculo-animado{cursor:pointer;transition:transform 50ms linear}.simulacion-datos{margin:0 0 8px}.simulacion-datos>div{padding:6px 0}.simulacion-datos dd{color:#1f426d;font-variant-numeric:tabular-nums;font-weight:650}.reloj-estado{border-radius:4px;margin-left:auto;padding:4px 8px;font-size:.62rem;font-weight:650;display:inline-block}.reloj-estado.activo{color:#23754d;background:#e7f5ed}.reloj-estado.detenido{color:#566c83;background:#eef2f8}.error{color:#a43139;background:#fff2f2;border:1px solid #f1c4c6;border-radius:7px;padding:12px;font-size:.8rem}.jornada-activa{grid-template-columns:minmax(0,1fr) 276px;align-items:start;gap:20px;display:grid}.zona-operativa{gap:16px;min-width:0;display:grid}.tarjeta{border:1px solid var(--borde);background:#fff;border-radius:9px;min-width:0;padding:18px;box-shadow:0 2px 4px #203b6010}.panel-contextual{scrollbar-width:thin;max-height:calc(100dvh - 36px);padding:18px 16px;position:sticky;top:18px;overflow-y:auto}.cabecera-panel{border-bottom:1px solid var(--borde);margin-bottom:16px;padding-bottom:14px}.cabecera-panel-titulo{justify-content:space-between;align-items:center;gap:8px;display:flex}.cabecera-panel h2{margin-bottom:0}.limpiar-seleccion{color:var(--azul);background:#eef4ff;border:1px solid #d0def4;border-radius:5px;margin-top:10px;padding:5px 9px;font-size:.7rem}.ayuda,.resumen{color:var(--secundario);font-size:.71rem;line-height:1.55}.ayuda{margin-bottom:12px}.nota-operativa{border-top:1px solid var(--borde);margin-top:20px;padding-top:18px;font-size:.77rem;line-height:1.6}.titulo-resultados{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.titulo-resultados h2{color:#526984;margin:0;font-size:.82rem;font-weight:550}.insignia{white-space:nowrap;border-radius:4px;padding:4px 7px;font-size:.62rem;font-weight:650;display:inline-block}.valido{color:#23754d;background:#e7f5ed}.advertencia{color:#996117;background:#fff4dc}.critico{color:#b23740;background:#fdebed}.texto-correcto{color:#23754d}.texto-critico{color:#b23740}.panel-metricas{margin-bottom:18px}.metricas{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.metricas>div{background:#f7f9fc;border:1px solid #e9eef5;border-radius:5px;padding:10px 9px}.metricas dt{color:var(--secundario);font-size:.61rem;line-height:1.4}.metricas dd{color:#1f426d;overflow-wrap:anywhere;margin:5px 0 0;font-size:.95rem;font-weight:700}.resumen{margin:12px 0 0;font-size:.66rem}.cabecera-seccion{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cabecera-seccion h2,.cabecera-seccion h3,.cabecera-seccion .ayuda{margin:0}.conteo-tabla{color:#61758e;white-space:nowrap;background:#f0f4fa;border-radius:5px;padding:5px 8px;font-size:.65rem;font-weight:550}.mapa{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:14px 10px 12px;position:relative;overflow:hidden}.barra-mapa{color:#718296;background:#f8fafd;border:1px solid #e5ebf2;border-radius:7px 7px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:.65rem;display:flex}.barra-mapa>span:first-child{color:#315780;align-items:center;gap:6px;font-weight:600;display:flex}.indicador-mapa{background:var(--azul);border-radius:50%;width:6px;height:6px}.mapa>svg{background:#f7fbff;border:1px solid #e0eaf5;border-top:0;border-radius:0 0 8px 8px;width:100%;height:auto;min-height:520px;display:block}.mapa-sin-cabecera>svg{border-top:1px solid #e0eaf5;border-radius:8px}.fondo-cuadricula{stroke:#8fa8c6;stroke-width:.12px}.linea-cuadricula{stroke:#b7c9de;stroke-width:.075px;pointer-events:none}.linea-cuadricula.guia-principal{stroke:#8da6c4;stroke-width:.11px}.eje{fill:#3f5878;pointer-events:none;font-size:.82px;font-weight:500}.unidad-eje{fill:#2f4a6b;font-size:.75px;font-weight:600}.borde-ruta{fill:none;stroke:#fff;stroke-linejoin:round;stroke-linecap:round;pointer-events:none;transition:opacity .18s}.trazo-ruta{cursor:pointer;stroke-linejoin:round;stroke-linecap:round;transition:opacity .18s,stroke-width .18s}.trazo-ruta:focus-visible{stroke-width:.8px;opacity:1;outline:none}.trazo-ruta[aria-pressed=true]:focus-visible{stroke-width:.9px}.direccion-ruta{pointer-events:none;stroke-linecap:round;stroke-linejoin:round}.marcador-vehiculo{pointer-events:none;filter:drop-shadow(0 0 .18px #fffc);transition:opacity .2s}@media (prefers-reduced-motion:reduce){.marcador-vehiculo{display:none}}.cliente-mapa{cursor:pointer;transition:r .18s,opacity .18s}.cliente-mapa:hover{stroke:#166d36;stroke-width:.22px}.cliente-mapa:focus-visible{stroke:#173f7b;stroke-width:.25px;filter:drop-shadow(0 0 .2px #fff);outline:none}.halo-cliente{fill:#e9f9ef;fill-opacity:.85;stroke:#2eae58;stroke-width:.12px;pointer-events:none}.almacen-operativo{pointer-events:none}.marca-almacen{pointer-events:all;cursor:pointer}.zona-clic-almacen{fill:#0000;pointer-events:all}.marca-almacen:focus-visible{outline:none}.marca-almacen:focus-visible .icono-almacen{stroke:#76a4e8;stroke-width:2.2px}.trazo-ruta,.cliente-mapa,.marca-almacen{-webkit-tap-highlight-color:transparent;-webkit-focus-ring-color:transparent;outline:none}.trazo-ruta:focus,.cliente-mapa:focus,.marca-almacen:focus{outline:none}.silueta-almacen{fill:#172f59;stroke:#fff;stroke-width:.2px;stroke-linejoin:round;paint-order:stroke fill;filter:drop-shadow(0 .12px .12px #19395b40)}.entrada-almacen{fill:#fff}.almacen-central .silueta-almacen{fill:#12294f}.almacen-activo .silueta-almacen{stroke:#76a4e8;stroke-width:.35px}.icono-almacen{fill:#172f59;stroke:#fff;stroke-width:.9px;stroke-linejoin:round;paint-order:stroke fill;filter:drop-shadow(0 .12px .12px #19395b40)}.almacen-central .icono-almacen{fill:#12294f}.almacen-activo .icono-almacen{stroke:#76a4e8;stroke-width:1.8px}.almacen-activo .fondo-etiqueta-almacen{stroke:#9ebce8;stroke-width:.14px}.fondo-etiqueta-almacen{fill:#fff;fill-opacity:.94;stroke:#dce6f2;stroke-width:.08px;filter:drop-shadow(0 .08px .1px #163c6810)}.etiqueta-almacen{fill:#203e62;font-size:.92px;font-weight:600}.almacen-central .etiqueta-almacen{font-weight:700}.coordenadas-almacen{fill:#71859d;font-size:1.05px;font-weight:400}.leyenda-mapa{background:#fbfdff;border:1px solid #dfe8f3;border-radius:7px;margin-top:10px;padding:9px 10px}.leyenda-flotante{z-index:3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffffff2;width:190px;margin-top:0;padding:12px;position:absolute;top:56px;right:14px;box-shadow:0 2px 8px #1b3b6420}.pestana-leyenda{z-index:4;writing-mode:vertical-rl;text-orientation:mixed;color:var(--azul);letter-spacing:.04em;background:#fff;border:1px solid #d0dceb;border-right:0;border-radius:6px 0 0 6px;padding:12px 7px;font-size:.72rem;font-weight:650;position:absolute;top:10px;right:0;box-shadow:-2px 2px 6px #163c6818}.pestana-leyenda:hover{background:#f3f7ff}.leyenda-emergente{z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#fffffff2;width:210px;margin-top:0;padding:12px;transition:opacity .18s,transform .18s;position:absolute;top:10px;right:26px;transform:translate(8px);box-shadow:0 4px 14px #1b3b6430}.leyenda-emergente.abierta{opacity:1;pointer-events:auto;transform:translate(0)}.leyenda-flotante h3,.leyenda-emergente h3{color:#214b80;margin:0 0 7px;font-size:.8rem;font-weight:650}.leyenda-tipo{color:#3d5572;align-items:center;gap:7px;padding:4px 0;font-size:.74rem;display:flex}.leyenda-tipo>svg{flex-shrink:0}.leyenda-tipo>span:last-child{align-items:center;gap:5px;display:flex}.leyenda-tipo small{color:#7c8ea3;font-size:.66rem;font-weight:500}.leyenda-linea{border-radius:2px;flex-shrink:0;width:22px;height:4px}.leyenda-flotante .leyenda-simbolos,.leyenda-emergente .leyenda-simbolos{border-top:1px solid #e8eef6;gap:10px;margin-top:7px;padding-top:7px;font-size:.66rem}.leyenda-flotante .leyenda-simbolos .simbolo-cliente,.leyenda-emergente .leyenda-simbolos .simbolo-cliente{width:13px;height:13px}.leyenda-flotante>button,.leyenda-emergente>button{width:100%;color:var(--azul);background:#fff;border:1px solid #d0dceb;border-radius:5px;margin-top:8px;padding:6px 8px;font-size:.68rem}.cabecera-leyenda{color:#345473;flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.cabecera-leyenda h3{color:#214b80;margin:0;font-size:.7rem;font-weight:650}.cabecera-leyenda>button{max-width:100%;color:var(--azul);background:#fff;border:1px solid #d0dceb;border-radius:5px;margin-left:auto;padding:5px 8px;font-size:.63rem}.leyenda-simbolos{color:#61758e;flex-wrap:wrap;align-items:center;gap:10px;font-size:.62rem;display:flex}.leyenda-simbolos>span{align-items:center;gap:5px;display:inline-flex}.leyenda-mapa svg.simbolo-almacen{background:0 0;border:0;border-radius:0;flex-shrink:0;width:18px;height:18px;min-height:0;max-height:none;display:block}.leyenda-mapa .simbolo-cliente{background:#2eae58;border:2px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #dfe8f3}.simbolo-recorrido{background:#2f66bf;border-radius:2px;width:19px;height:3px}.rotulo-leyenda{color:#61758e;border-top:1px solid #e5edf6;margin:8px 0 5px;padding-top:7px;font-size:.59rem;font-weight:600}.leyenda-vehiculos{scrollbar-width:thin;flex-wrap:wrap;gap:5px;max-height:112px;padding:2px;display:flex;overflow-y:auto}.leyenda-vehiculos>button{text-align:left;color:#566c83;background:#fff;border:1px solid #e0e7ef;border-radius:5px;align-items:center;gap:7px;max-width:100%;padding:6px 8px;font-size:.6rem;transition:opacity .18s;display:inline-flex}.leyenda-vehiculos>button>span{overflow-wrap:anywhere;min-width:0}.leyenda-vehiculos strong{color:#294563;font-size:.62rem}.leyenda-vehiculos i{background:var(--color-ruta);border-radius:2px;flex-shrink:0;width:21px;height:3px}.leyenda-vehiculos>button[aria-pressed=true]{background:#edf4ff;border-color:#9ebce8;box-shadow:inset 0 0 0 1px #b4cced}.leyenda-vehiculos>button:focus-visible{outline-offset:1px;outline:2px solid #2f66bf}.leyenda-vehiculos>.vehiculo-secundario{opacity:.6}.mapa>.ayuda:last-child{margin:9px 0 0;font-size:.62rem}@media (width>=1600px){.mapa>svg{max-height:800px}.simulacion-resumen~.mapa svg,.resumen-colapso~.mapa svg{max-height:700px}}.tabla-scroll{scrollbar-width:thin;max-height:300px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.68rem}th{z-index:1;color:#63758e;background:#f7f9fc;font-size:.64rem;font-weight:600;position:sticky;top:0}th,td{white-space:nowrap;border-bottom:1px solid #e9eef5;padding:10px 8px}tbody tr:last-child td{border-bottom:0}.tabla-pedidos .cabecera-seccion .ayuda{margin-top:5px}.enlace-pedido{color:var(--azul);background:0 0;border:0;padding:0;font-size:.7rem;font-weight:650}.fila-seleccionada{background:#e7f0ff}.fila-seleccionada>td:first-child{box-shadow:inset 3px 0 #2f66bf}.fila-ruta-activa{background:#f3f7ff}.color-ruta{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:6px;display:inline-block}.datos-detalle{margin:14px 0}.datos-detalle>div{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:.7rem;display:flex}.datos-detalle dt{color:var(--secundario);flex-shrink:0}.datos-detalle dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:.7rem;font-weight:550}.ruta-seleccionada,.pedido-seleccionado{border-bottom:1px solid var(--borde);margin-bottom:18px;padding-bottom:12px}.ruta-seleccionada h3,.pedido-seleccionado h3{color:#1f426d}.nota-estado{font-size:.7rem}.ruta-titulo{align-items:center;gap:7px;display:flex}.secuencia-entregas{margin:10px 0 0;padding:0;list-style:none;position:relative}.secuencia-entregas:before{content:"";background:#e2eaf5;width:2px;position:absolute;top:10px;bottom:10px;left:17px}.secuencia-entregas li{margin-bottom:8px;position:relative}.paso-entrega{z-index:1;text-align:left;color:#3d5572;background:#fff;border:1px solid #e3eaf3;border-radius:8px;align-items:flex-start;gap:9px;width:100%;padding:8px 9px 8px 6px;transition:background .15s,border-color .15s;display:flex;position:relative}.paso-entrega:hover{background:#f3f7ff;border-color:#b4cbed}.paso-entrega[aria-pressed=true]{background:#edf4ff;border-color:#7da3e5}.paso-numero{color:#245dc1;background:#eef4ff;border:2px solid #b4cbed;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:.64rem;font-weight:700;display:grid}.paso-entrega[aria-pressed=true] .paso-numero{background:var(--azul);border-color:var(--azul);color:#fff}.paso-info{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.paso-cliente{color:#1f426d;overflow-wrap:anywhere;font-size:.74rem;font-weight:650}.paso-meta{color:#61758e;overflow-wrap:anywhere;font-size:.62rem}.paso-hora{color:#7c8ea3;font-variant-numeric:tabular-nums;font-size:.6rem}.paso-entrega .insignia{flex-shrink:0;align-self:flex-start}.titulo-lista-rutas{color:#355679;justify-content:space-between;margin-bottom:10px;padding-top:8px;font-size:.77rem;display:flex}.titulo-lista-rutas>span{color:var(--secundario);font-weight:500}.lista-rutas{gap:5px;display:grid}.lista-rutas>button{text-align:left;color:#3d5572;background:#fff;border:1px solid #e1e8f1;border-radius:5px;align-items:center;gap:5px;width:100%;padding:9px 8px;font-size:.7rem;display:flex}.lista-rutas>button[aria-pressed=true]{background:#edf4ff;border-color:#7da3e5}.cantidad-ruta{text-align:right;margin-left:auto;font-size:.8rem}.cantidad-ruta small{font-size:.6rem}.simulacion-resumen,.resumen-colapso{padding:15px 18px}.etiqueta-escala{color:#45668e;white-space:nowrap;background:#edf3fc;border-radius:4px;padding:4px 7px;font-size:.62rem}.totales-periodo{color:#446287;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:.75rem;display:flex}.totales-periodo strong{color:#214b80;font-size:.95rem}.dias-simulacion{gap:6px;margin-top:14px;display:flex}.dias-simulacion button{color:#5d7490;background:#f7f9fc;border:1px solid #dce5f2;border-radius:5px;flex:1;min-width:0;padding:9px 5px;font-size:.72rem;font-weight:600}.dias-simulacion button[aria-pressed=true]{color:#245dc1;background:#e9f1ff;border-color:#5b8bd8;box-shadow:inset 0 -2px #245dc1}.dias-simulacion small{font-size:.6rem}.resumen-ampliado{color:#52729a;margin:12px 0 0;font-size:.67rem}.resumen-ampliado summary{cursor:pointer;padding:3px 0}.resumen-ampliado .panel-metricas{margin-top:12px}.metricas-compactas .metricas{grid-template-columns:repeat(5,minmax(0,1fr))}.metricas-compactas .metricas dd{font-size:.8rem}.indicadores-colapso{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0;display:grid}.indicadores-colapso>div{border-left:1px solid var(--borde);padding:0 12px}.indicadores-colapso>div:first-child{border-left:0;padding-left:0}.indicadores-colapso dt{color:var(--secundario);font-size:.65rem}.indicadores-colapso dd{margin:5px 0 0;font-size:1.25rem;font-weight:700}.indicadores-colapso small{font-weight:400;display:inline}.advertencia-colapso{color:#a43139;background:#fff4f4;border-left:3px solid #c94a50;margin:14px 0 0;padding:8px 10px;font-size:.67rem;line-height:1.5}.nota-advertencia{color:#966015;background:#fff7e5;border-radius:4px;padding:8px;font-size:.7rem}.historial-colapso>.ayuda{margin:10px 0 0}.vacio{text-align:center;background-image:linear-gradient(#f0f4fa80 1px,#0000 1px),linear-gradient(90deg,#f0f4fa80 1px,#0000 1px);background-size:32px 32px;flex-direction:column;justify-content:center;align-items:center;min-height:590px;padding:30px;display:flex}.vacio h2{margin-top:8px;font-size:1.2rem}.vacio>p{color:#72839a;max-width:380px;font-size:.82rem;line-height:1.7}@media (width>=1600px){.jornada-activa{grid-template-columns:minmax(0,1fr) 310px}.contenido{padding-inline:32px}}@media (width<=1200px){.app{grid-template-columns:186px minmax(0,1fr)}.navegacion-lateral{padding-inline:10px}.marca{padding-inline:4px}.marca div>span{font-size:.55rem}.navegacion-lateral nav button{padding-inline:8px;font-size:.72rem}.contenido{padding-inline:16px}.jornada-activa{grid-template-columns:minmax(0,1fr) 246px;gap:14px}.encabezado{padding-inline:20px}.titulo-vista h2{font-size:1.25rem}}@media (width<=1000px){.jornada-activa{grid-template-columns:minmax(0,1fr)}.panel-contextual{max-height:none;position:static}.panel-contextual .metricas{grid-template-columns:repeat(5,minmax(0,1fr))}.lista-rutas{grid-template-columns:repeat(2,minmax(0,1fr))}.encabezado{flex-direction:column;align-items:flex-start;gap:14px}.controles{justify-content:space-between;align-items:flex-end;gap:12px;width:100%;display:flex}.conexion{justify-content:flex-start;margin-bottom:12px}}@media (width<=640px){.app{grid-template-columns:1fr}.navegacion-lateral{z-index:5;height:auto;padding:12px;position:sticky}.marca{padding:0 4px 12px}.marca h1{font-size:1.15rem}.simbolo-marca{border-radius:6px;width:29px;height:29px;font-size:1.1rem}.seccion-navegacion,.nota-navegacion{display:none}.navegacion-lateral nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.navegacion-lateral nav button{text-align:center;justify-content:center;align-items:center;gap:5px;padding:9px 5px;font-size:.64rem}.navegacion-lateral nav button svg{width:15px;height:15px}.encabezado{padding:18px 14px}.titulo-vista h2{font-size:1.2rem}.controles{display:block}.controles form{justify-content:space-between}.campo-fecha{flex:1;min-width:0}input{width:100%}.boton-principal{padding-inline:10px;font-size:.71rem}.conexion{margin-bottom:10px}.contenido{padding:12px}.tarjeta{padding:14px}.panel-contextual .metricas,.metricas-compactas .metricas{grid-template-columns:repeat(2,minmax(0,1fr))}.mapa>svg{min-height:280px}.barra-mapa{flex-wrap:wrap;font-size:.6rem}.leyenda-simbolos{gap:8px}.referencia-coordenadas{margin-left:0}.vacio{min-height:390px}.indicadores-colapso dt{font-size:.6rem}.resumen-colapso .cabecera-seccion{flex-wrap:wrap}.dias-simulacion button{padding:8px 3px;font-size:.66rem}.dias-simulacion small{font-size:.52rem}.lista-rutas{grid-template-columns:1fr}}:is(.vista-diaria,.vista-5d,.vista-colapso) .titulo-vista h2{margin-bottom:2px;font-size:1.35rem;color:#fff!important}:is(.vista-diaria,.vista-5d,.vista-colapso) .titulo-vista .rotulo{margin-bottom:2px;font-size:.65rem;color:#93c5fd!important}:is(.vista-diaria,.vista-5d,.vista-colapso) .fecha-vista{font-size:.74rem;color:#cbd5e1!important}:is(.vista-diaria,.vista-5d,.vista-colapso) .conexion{margin:0;font-size:.72rem;position:static}:is(.vista-diaria,.vista-5d,.vista-colapso) .controles{padding-top:0}:is(.vista-diaria,.vista-5d,.vista-colapso) .campo-fecha input,:is(.vista-diaria,.vista-5d,.vista-colapso) .boton-principal{min-height:36px}:is(.vista-diaria,.vista-5d,.vista-colapso) .boton-principal{padding-block:8px}:is(.vista-diaria,.vista-5d,.vista-colapso) .campo-fecha label{margin-bottom:3px}:is(.vista-diaria,.vista-5d,.vista-colapso) .contenido{padding:10px 18px 18px}:is(.vista-diaria,.vista-5d,.vista-colapso) .estado-planificacion{color:#526f93;background:#edf3fc;border-left:2px solid #93b5e5;margin-bottom:8px;padding:5px 8px;font-size:.65rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .jornada-activa{grid-template-columns:minmax(0,1fr) clamp(280px,22vw,340px);gap:14px}:is(.vista-diaria,.vista-5d,.vista-colapso) .zona-operativa{gap:8px}:is(.vista-diaria,.vista-5d,.vista-colapso) .titulo-resultados h2{font-size:.72rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa{border-radius:8px;padding:10px 10px 8px;box-shadow:0 1px 3px #203b600c}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa>.cabecera-seccion{margin-bottom:6px}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa>.cabecera-seccion .rotulo{margin-bottom:3px;font-size:.55rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa>.cabecera-seccion h2{font-size:.88rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .barra-mapa{padding:6px 9px}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa>svg{max-height:clamp(400px,54dvh,620px)}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso){border-radius:8px;padding:12px 10px 10px;box-shadow:0 1px 3px #203b600c}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) h2{font-size:.9rem}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) .cabecera-seccion{margin-bottom:7px}:is(.vista-diaria,.vista-5d,.vista-colapso) .tabla-pedidos .cabecera-seccion .ayuda{margin-top:3px;font-size:.63rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .tabla-scroll{max-height:clamp(160px,23dvh,240px)}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) :is(th,td){padding:7px}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) th{color:#426387;background:#eef4fc}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) table{font-variant-numeric:tabular-nums;font-size:.65rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .tabla-pedidos td small{margin-top:2px;font-size:.61rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .panel-contextual{border-radius:8px;max-height:calc(100dvh - 162px);margin-top:30px;padding:14px;scroll-padding-block:14px;top:12px}:is(.vista-diaria,.vista-5d,.vista-colapso) .cabecera-panel{margin-bottom:12px;padding-bottom:10px}:is(.vista-diaria,.vista-5d,.vista-colapso) .cabecera-panel .rotulo{font-size:.56rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .cabecera-panel h2{color:var(--azul)}:is(.vista-diaria,.vista-5d,.vista-colapso) .panel-metricas{margin-bottom:12px}:is(.vista-diaria,.vista-5d,.vista-colapso) .metricas{gap:6px}:is(.vista-diaria,.vista-5d,.vista-colapso) .metricas>div{background:#f8fafd;border-color:#edf1f6;min-height:50px;padding:7px 8px}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.metricas,.indicadores-colapso) dt{color:#61718a}:is(.vista-diaria,.vista-5d,.vista-colapso) .metricas dd{font-variant-numeric:tabular-nums;margin-top:3px;font-size:.85rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .resumen{font-size:.62rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .datos-detalle>div{padding-block:6px}:is(.vista-diaria,.vista-5d,.vista-colapso) .lista-rutas>button{padding:7px 8px}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.simulacion-resumen,.resumen-colapso){border-radius:8px;box-shadow:0 1px 3px #203b600c}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.controles,.panel-contextual,.tabla-pedidos,.simulacion-resumen,.resumen-colapso) :is(button,input,summary):focus-visible{outline-color:var(--azul)}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.limpiar-seleccion,.lista-rutas>button,.resumen-colapso .dias-simulacion button){border-radius:6px}:is(.vista-diaria,.vista-5d,.vista-colapso) .limpiar-seleccion:hover{background:#e3edff;border-color:#9ebce8}:is(.vista-diaria,.vista-5d,.vista-colapso) .lista-rutas>button:hover:not([aria-pressed=true]){background:#f3f7ff;border-color:#b4cbed}:is(.vista-diaria,.vista-5d,.vista-colapso) .enlace-pedido:hover,:is(.vista-diaria,.vista-5d,.vista-colapso) .secuencia-pedidos button:hover{text-decoration:underline}:is(.vista-diaria,.vista-5d,.vista-colapso) :is(.tabla-pedidos,.historial-colapso) tbody tr:not(.fila-seleccionada):not(.fila-ruta-activa):is(:hover,:focus-within){background:#f3f7ff}:is(.vista-diaria,.vista-5d,.vista-colapso) .boton-principal:active:not(:disabled){background:#163f8f}.vista-5d .dias-simulacion button:hover:not([aria-pressed=true]) .numero-dia{color:var(--azul);background:#edf4ff;border-color:#9ebce8}.vista-colapso .resumen-colapso .dias-simulacion button:hover:not([aria-pressed=true]){color:var(--azul);background:#f0f5fd;border-color:#9ebce8}@media (width<=1000px){:is(.vista-diaria,.vista-5d,.vista-colapso) .jornada-activa{grid-template-columns:minmax(0,1fr)}:is(.vista-diaria,.vista-5d,.vista-colapso) .panel-contextual{max-height:none;margin-top:0;position:static}:is(.vista-diaria,.vista-5d,.vista-colapso) .encabezado{gap:10px}:is(.vista-diaria,.vista-5d,.vista-colapso) .conexion{position:static}:is(.vista-diaria,.vista-5d,.vista-colapso) .controles{padding-top:0}}@media (width<=640px){:is(.vista-diaria,.vista-5d,.vista-colapso) .encabezado{padding:12px}:is(.vista-diaria,.vista-5d,.vista-colapso) .contenido{padding:8px 12px 12px}:is(.vista-diaria,.vista-5d,.vista-colapso) .titulo-vista h2{font-size:1.2rem}:is(.vista-diaria,.vista-5d,.vista-colapso) .conexion{margin-bottom:8px}:is(.vista-diaria,.vista-5d,.vista-colapso) .controles form{flex-wrap:wrap}:is(.vista-diaria,.vista-5d,.vista-colapso) .mapa>svg{max-height:none}:is(.vista-diaria,.vista-5d,.vista-colapso) .panel-contextual .metricas{grid-template-columns:repeat(2,minmax(0,1fr))}}.vista-5d .simulacion-resumen{grid-column:1/-1;margin-bottom:0;padding:12px 14px}.vista-5d .simulacion-resumen .cabecera-seccion{margin-bottom:3px}.vista-5d .simulacion-resumen h2{color:var(--azul);font-size:.9rem}.vista-5d .simulacion-resumen .ayuda{margin:4px 0 0;font-size:.65rem}.vista-5d .dia-visualizado{text-align:right;color:#214b80;flex-direction:column;gap:3px;font-size:.75rem;display:flex}.vista-5d .dia-visualizado span{color:#61758e;font-size:.67rem}.vista-5d .consulta-jornadas{color:#61758e;margin:0;font-size:.61rem}.vista-5d .dias-simulacion{gap:8px;margin:10px 0;position:relative}.vista-5d .dias-simulacion:before{content:"";background:#dce7f5;height:2px;position:absolute;top:15px;left:10%;right:10%}.vista-5d .dias-simulacion button{box-shadow:none;color:#61758e;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:0 3px;font-size:.7rem;display:flex;position:relative}.vista-5d .numero-dia{color:#61758e;background:#fff;border:2px solid #dce7f5;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:700;display:grid}.vista-5d .dias-simulacion button[aria-pressed=true]{color:var(--azul)}.vista-5d .dias-simulacion button[aria-pressed=true] .numero-dia{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 0 0 3px #e8f0ff}.vista-5d .dias-simulacion small{margin-top:2px;font-size:.6rem}.vista-5d .totales-periodo{border-top:1px solid #e5edf6;gap:6px 14px;padding-top:8px;font-size:.68rem}.vista-5d .totales-periodo strong{font-size:.78rem}.vista-5d .rotulo-consolidado{color:#61758e;font-weight:650}.vista-5d .simulacion-resumen .resumen-ampliado{margin-top:5px}.vista-5d .mapa>svg{max-height:none}.vista-5d .panel-contextual{min-height:260px;max-height:calc(100dvh - 150px);margin-top:0}@media (width<=1000px){.vista-5d .panel-contextual{min-height:0;max-height:none}}@media (width<=640px){.vista-5d .simulacion-resumen{padding:10px}.vista-5d .simulacion-resumen .cabecera-seccion{align-items:flex-start;gap:7px}.vista-5d .dia-visualizado{flex-shrink:0;font-size:.7rem}.vista-5d .dia-visualizado span{max-width:96px;font-size:.6rem}.vista-5d .dias-simulacion{gap:3px}.vista-5d .dias-simulacion small{font-size:.48rem}.vista-5d .simulacion-resumen .metricas-compactas .metricas{grid-template-columns:repeat(2,minmax(0,1fr))}}.vista-colapso .resumen-colapso{grid-column:1/-1;padding:12px 14px}.vista-colapso .resumen-colapso .cabecera-seccion{flex-wrap:wrap;margin-bottom:5px}.vista-colapso .resumen-colapso h2{color:var(--azul);font-size:.9rem}.vista-colapso .resumen-colapso h3{margin:0}.vista-colapso .resumen-colapso>.ayuda{margin-bottom:8px;font-size:.65rem}.vista-colapso .indicadores-colapso{gap:8px;margin:8px 0}.vista-colapso .indicadores-colapso>div{background:#f8fafd;border:1px solid #edf1f6;border-radius:5px;padding:8px 10px}.vista-colapso .indicadores-colapso dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.2rem}.vista-colapso .advertencia-colapso{margin-top:8px;padding:7px 9px}.vista-colapso .factores-evaluados{margin-top:9px}.vista-colapso .factores-evaluados .rotulo{margin-bottom:5px;font-size:.56rem}.vista-colapso .progresion-factores{scrollbar-width:thin;flex-wrap:wrap;gap:5px;max-height:96px;margin:0;padding:2px 0;list-style:none;display:flex;overflow-y:auto}.vista-colapso .progresion-factores li{color:#23754d;background:#f3faf6;border:1px solid #d9eadd;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:.65rem;display:flex}.vista-colapso .progresion-factores .factor-colapsado{color:#b23740;background:#fff3f4;border-color:#f1cdd1}.vista-colapso .plan-activo-colapso{color:#61758e;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:.65rem;display:flex}.vista-colapso .resumen-colapso .dias-simulacion{gap:6px;margin-top:8px}.vista-colapso .resumen-colapso .dias-simulacion button{padding:7px 9px;font-size:.7rem}.vista-colapso .resumen-colapso .dias-simulacion button[aria-pressed=true]{color:var(--azul);background:#edf4ff;border-color:#5b8bd8}.vista-colapso .historial-colapso .tabla-scroll{max-height:180px}.vista-colapso [data-con-no-asignados] [data-testid=metrica-no-asignados]{background:#fff3f4;border-color:#f1cdd1}.vista-colapso [data-con-no-asignados] [data-testid=metrica-no-asignados] dd{color:#b23740}.vista-colapso [data-con-impuntuales] [data-testid=metrica-impuntuales]{background:#fff8e9;border-color:#ead4a6}.vista-colapso [data-con-impuntuales] [data-testid=metrica-impuntuales] dd{color:#996117}.vista-colapso .tabla-pedidos .nota-advertencia{color:#b23740;background:#fff3f4;border-left:2px solid #c94a50}.vista-colapso .tabla-pedidos .critico,.vista-colapso .pedido-seleccionado>.critico{color:#996117;background:#fff4dc}.vista-colapso .ruta-seleccionada .texto-critico{color:#996117}.vista-colapso .panel-contextual{max-height:max(280px,100dvh - 460px)}@media (width<=1000px){.vista-colapso .panel-contextual{max-height:none}}@media (width<=640px){.vista-colapso .resumen-colapso{padding:10px}.vista-colapso .indicadores-colapso{grid-template-columns:repeat(2,minmax(0,1fr))}.vista-colapso .indicadores-colapso>div:first-child{grid-column:1/-1}.vista-colapso .indicadores-colapso dt{font-size:.6rem}.vista-colapso .resumen-colapso .dias-simulacion{flex-wrap:wrap}.vista-colapso .resumen-colapso .dias-simulacion button{min-width:120px}.leyenda-flotante{display:none}}@media (width>=1001px){.app.vista-5d{height:100dvh;overflow:hidden}.vista-5d .area-principal{flex-direction:column;height:100%;min-height:0;display:flex}.vista-5d .encabezado{flex:none}.vista-5d .contenido{flex-direction:column;flex:auto;min-height:0;display:flex}.vista-5d .resultados{flex:auto;min-height:0}.vista-5d .jornada-activa{align-items:stretch;height:100%;min-height:0}.vista-5d .zona-operativa{flex-direction:column;min-height:0;display:flex}.vista-5d .mapa{flex-direction:column;flex:auto;min-height:0;display:flex}.vista-5d .mapa>svg{flex:1 1 0;height:auto;min-height:0;max-height:none}.vista-5d .panel-contextual{height:100%;max-height:none;margin-top:0;position:static;overflow-y:auto}.vista-5d .mapa>.ayuda:last-child{display:none}}.vista-5d .zona-operativa{position:relative;overflow:hidden}.disparador-pedidos{border:1px solid var(--borde);color:#3d5572;text-align:left;background:#fff;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:.72rem;display:flex}.disparador-pedidos:hover{background:#f3f7ff}.disparador-pedidos .rotulo{margin:0 0 1px;font-size:.54rem;display:block}.disparador-pedidos strong{color:#214b80}.disparador-pedidos svg{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.disparador-pedidos[aria-expanded=true] svg{transform:rotate(180deg)}.hoja-pedidos{z-index:5;border-top:1px solid var(--borde);background:#fff;border-radius:12px 12px 0 0;flex-direction:column;max-height:min(70%,560px);transition:transform .25s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 28px #163c6840}.hoja-pedidos.abierta{transform:translateY(0)}.hoja-pedidos[aria-hidden=true]{pointer-events:none}.hoja-pedidos-cabecera{border-bottom:1px solid var(--borde);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.hoja-pedidos-cabecera h3{color:#214b80;margin:0}.cerrar-hoja{color:var(--azul);background:#eef4ff;border:1px solid #d0def4;border-radius:5px;padding:5px 9px;font-size:.68rem}.hoja-pedidos .tabla-pedidos{min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:auto;display:flex;overflow:hidden}.hoja-pedidos .tabla-pedidos>.cabecera-seccion{display:none}.hoja-pedidos .tabla-scroll{flex:none;min-height:0;max-height:12rem;overflow:auto}.drawer-detalle{z-index:40;border-left:1px solid var(--borde);background:#fff;flex-direction:column;width:clamp(300px,22vw,360px);height:100dvh;animation:.22s drawer-entrar;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 28px #102b4d26}@keyframes drawer-entrar{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-detalle-cabecera{border-bottom:1px solid var(--borde);flex:none;align-items:center;gap:10px;padding:14px;display:flex}.drawer-detalle-icono{color:var(--azul);display:inline-flex}.drawer-detalle-cabecera h2{color:#17365f;flex:auto;margin:0;font-size:.95rem}.drawer-cerrar{color:#526984;background:#fff;border:1px solid #d9e3f0;border-radius:6px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.drawer-cerrar:hover{color:var(--azul);background:#eef4ff;border-color:#b4cbed}.drawer-detalle-cuerpo{scrollbar-width:thin;flex:auto;min-height:0;padding:14px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.hoja-pedidos,.disparador-pedidos svg,.leyenda-emergente{transition:none}.drawer-detalle{animation:none}}@media (width<=640px){.hoja-pedidos{max-height:85%}.drawer-detalle{width:100%}}.cabecera-mapa{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cabecera-mapa h2{margin:0;font-size:.88rem}.cabecera-mapa .conteo-tabla{color:var(--secundario);margin-right:auto;font-size:.68rem}.boton-icono{color:#315780;background:#fff;border:1px solid #cdd9e8;border-radius:6px;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.boton-icono:hover,.boton-icono[aria-pressed=true]{color:var(--azul);background:#edf4ff;border-color:#9ebce8}.boton-icono>svg{background:0 0;border:0;width:16px;height:16px}.borde-ruta{stroke:#fff}.insignia-vehiculo{pointer-events:none}.icono-insignia{stroke:#fff;stroke-width:1.4px;paint-order:stroke fill;stroke-linejoin:round}.id-vehiculo-mapa{fill:#fff;pointer-events:none;font-size:1px;font-weight:700}.fondo-id-vehiculo{stroke:#fff;stroke-width:.12px}.rotulo-cliente{fill:#12294f;paint-order:stroke;stroke:#fff;stroke-width:.32px;stroke-linejoin:round;pointer-events:none;opacity:0;font-size:.85px;font-weight:700;transition:opacity .18s}.rotulo-cliente.visible{opacity:1}.filtro-tipos-leyenda{gap:2px;display:grid}button.leyenda-tipo{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:4px 6px}button.leyenda-tipo:hover{background:#f3f7ff}button.leyenda-tipo[aria-pressed=true]{background:#edf4ff;border-color:#9ebce8}.buscar-ruta{width:100%;min-height:30px;margin-top:6px;padding:5px 9px;font-size:.7rem}.sin-coincidencias{color:var(--secundario);margin:6px 0 0;font-size:.66rem}.mapa.mapa-ampliado{z-index:99999!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;background:#0f172a!important;border-radius:0!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.mapa.mapa-ampliado>svg.lienzo-mapa{background:#f7fbff!important;border:none!important;border-radius:0!important;flex:auto!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;display:block!important}.mapa.mapa-ampliado .hud-simulacion-mapa{top:14px;left:18px;right:18px;box-shadow:0 10px 32px #0f172a40}.mapa.mapa-ampliado .cabecera-mapa{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:8px;padding:8px 14px;position:absolute;top:14px;left:18px;right:18px;box-shadow:0 4px 16px #0f172a26}main.app:not(.vista-5d) .jornada-activa{grid-template-columns:minmax(0,1fr)}main.app:not(.vista-5d) .mapa>svg.lienzo-mapa{height:calc(100dvh - 140px);min-height:520px;max-height:calc(100dvh - 140px)}.info-extra{border:1px solid var(--borde);background:#fff;border-radius:8px}.info-extra>summary{cursor:pointer;color:var(--azul);padding:10px 14px;font-size:.8rem;font-weight:650}.info-extra>summary:hover{background:#f3f7ff}.info-extra-cuerpo{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);align-items:start;gap:14px;padding:0 12px 12px;display:grid}.info-extra-principal{gap:8px;min-width:0;display:grid}main.app:not(.vista-5d) .panel-contextual{min-height:0;max-height:none;margin-top:0;position:static;overflow:visible}@media (width<=1000px){.info-extra-cuerpo{grid-template-columns:minmax(0,1fr)}}.alternar-menu{color:#c3d2e7;background:0 0;border:1px solid #304666;border-radius:7px;place-items:center;width:36px;height:36px;margin:0 0 14px 6px;padding:0;display:grid}.alternar-menu:hover{background:#203b60}.alternar-menu svg{width:19px;height:19px}@media (width>=901px){.app.menu-contraido{grid-template-columns:64px minmax(0,1fr)}.menu-contraido .navegacion-lateral{padding-inline:10px}.menu-contraido .alternar-menu{margin-inline:auto}.menu-contraido .marca{justify-content:center;padding-inline:0}.menu-contraido .marca>div,.menu-contraido .navegacion-lateral nav button span,.menu-contraido .seccion-navegacion,.menu-contraido .nota-navegacion{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu-contraido .navegacion-lateral nav button{justify-content:center;padding-inline:0}}@media (width<=900px){.alternar-menu{display:none}}.barra-reloj-dual{border-bottom:1px solid var(--borde);background:#fff;flex-wrap:wrap;gap:16px;padding:10px 24px;font-size:.75rem;display:flex;box-shadow:0 1px 3px #0000000a}.item-reloj-dual{align-items:center;gap:6px;display:flex}.rotulo-reloj{color:var(--secundario);font-weight:550}.valor-reloj-simulado{color:#17365f;font-variant-numeric:tabular-nums;background:#edf4ff;border-radius:4px;padding:3px 8px}.valor-reloj-real{color:#166534;font-variant-numeric:tabular-nums;background:#dcfce7;border-radius:4px;padding:3px 8px}.valor-reloj-cpu{color:#6b21a8;font-variant-numeric:tabular-nums;background:#f3e8ff;border-radius:4px;padding:3px 8px}.barra-reloj-cuadruple{border-bottom:1px solid var(--borde);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 24px;font-size:.75rem;display:flex;box-shadow:0 1px 3px #0000000a}.barra-reloj-cuadruple .item-reloj{align-items:center;gap:6px;display:flex}.valor-reloj-sim-transcurrido{color:#0369a1;font-variant-numeric:tabular-nums;background:#e0f2fe;border-radius:4px;padding:3px 8px;font-weight:600}.valor-reloj-presente{color:#334155;font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:4px;padding:3px 8px;font-weight:600}.separador-reloj-sem{background:#cbd5e1;width:1px;height:20px;margin:0 4px}.badge-semaforo-global{color:#fff;letter-spacing:.02em;border-radius:12px;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.campo-hora{flex-direction:column;gap:4px;display:flex}.campo-hora label{color:#475569;font-size:.75rem;font-weight:600}.campo-hora input{border:1px solid var(--borde);color:#1e293b;background:#fff;border-radius:6px;padding:6px 10px;font-size:.8rem}.boton-bloqueos{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.boton-bloqueos:hover{background:#e2e8f0;border-color:#94a3b8}.modal-bloqueos-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-bloqueos-contenedor{background:#fff;border-radius:10px;width:100%;max-width:520px;padding:20px;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modal-bloqueos-cabecera{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.modal-bloqueos-cabecera h3{color:#0f172a;margin:0;font-size:1.1rem}.cerrar-modal{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px;font-size:1.2rem}.cerrar-modal:hover{color:#0f172a}.pulso-averia{animation:1.8s ease-in-out infinite pulsoAnim}.pulso-averia-exterior{animation:1.6s ease-in-out infinite pulsoAveriaExt}.pulso-almacen-activo{animation:1.5s ease-in-out infinite pulsoAlmacen}@keyframes pulsoAnim{0%{r:1.4;opacity:.5}50%{r:2.4;opacity:.15}to{r:1.4;opacity:.5}}@keyframes pulsoAveriaExt{0%{r:2.2;opacity:.45}50%{r:4.5;opacity:.05}to{r:2.2;opacity:.45}}.etiqueta-averia-flotante text{-webkit-user-select:none;user-select:none;font-family:Plus Jakarta Sans,sans-serif}@keyframes pulsoAlmacen{0%{r:2.8;opacity:.7}50%{r:4.2;opacity:.2}to{r:2.8;opacity:.7}}.controles-zoom-mapa{align-items:center;gap:4px;margin-left:auto;margin-right:8px;display:flex}.boton-zoom{color:#334967;background:#fff;border:1px solid #ced9e7;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;font-size:.82rem;font-weight:700;display:grid}.boton-zoom:hover{background:#f0f4fa;border-color:#9ebce8}.indicador-zoom{color:var(--secundario);text-align:center;min-width:32px;font-size:.66rem;font-weight:600}.panel-almacenes{border-bottom:1px solid var(--borde);margin-bottom:16px;padding-bottom:14px}.cabecera-almacenes{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.titulo-con-icono{align-items:center;gap:6px;display:flex}.titulo-con-icono h3{color:#17365f;margin:0;font-size:.82rem}.conteo-pill{color:var(--azul);background:#edf4ff;border-radius:999px;padding:2px 6px;font-size:.62rem;font-weight:600}.lista-almacenes-grid{gap:8px;display:grid}.tarjeta-almacen{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:12px 14px;transition:all .2s;box-shadow:0 2px 6px #00000008}.tarjeta-almacen:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.tarjeta-almacen.seleccionada{background:#f0f5ff;border-color:#0052ff;box-shadow:0 0 0 2px #0052ff40}.almacen-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.almacen-header strong{color:#0f172a;font-size:.88rem;font-weight:800}.badge-semaforo{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:3px 9px;font-size:.62rem;font-weight:800}.barra-progreso-capacidad{background:#f1f5f9;border-radius:999px;height:6px;margin-bottom:6px;overflow:hidden}.barra-llenado{border-radius:999px;height:100%;transition:width .3s}.almacen-metricas{color:#475569;justify-content:space-between;font-size:.72rem;font-weight:600;display:flex}.controles-flota{grid-template-columns:1fr auto;gap:8px;margin-bottom:8px;display:grid}.campo-busqueda-flota input{width:100%;min-height:28px;padding:4px 8px;font-size:.68rem}.selector-orden{color:var(--secundario);align-items:center;gap:4px;font-size:.65rem;display:flex}.selector-orden select{background:#fff;border:1px solid #ced9e7;border-radius:5px;padding:4px 6px;font-size:.68rem}.filtro-semaforos-bar{gap:4px;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.boton-filtro-sem{color:#475569;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-size:.62rem;display:flex}.boton-filtro-sem.activo{background:#f0f7ff;border-color:#245dc1}.dot-sem{border-radius:50%;width:6px;height:6px}.tarjeta-ruta-item{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;width:100%;margin-bottom:6px;padding:8px 10px;transition:all .15s;display:flex}.tarjeta-ruta-item:hover{background:#f8fafc;border-color:#cbd5e1}.tarjeta-ruta-item.activa{border-color:var(--azul);background:#eff6ff;box-shadow:0 0 0 2px #bfdbfe}.tarjeta-ruta-item.con-averia{border-left:3px solid #f59e0b}.info-ruta-primaria{flex:1;min-width:0}.linea-id-vehiculo{align-items:center;gap:6px;display:flex}.tag-averia{color:#92400e;background:#fef3c7;border-radius:3px;padding:1px 4px;font-size:.56rem;font-weight:700}.metricas-rapidas-ruta{color:var(--secundario);gap:4px;margin-top:2px;font-size:.64rem;display:flex}.semaforo-flota-bloque{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.badge-semaforo-mini{color:#fff;border-radius:3px;padding:1px 5px;font-size:.54rem;font-weight:700}.porcentaje-carga-texto{color:#475569;font-variant-numeric:tabular-nums;font-size:.62rem}.panel-incidencias{border-top:1px solid var(--borde);margin-top:14px;padding-top:14px}.seccion-incidencias-grupo{margin-bottom:12px}.subtitulo-seccion{color:#334155;margin-bottom:6px;font-size:.74rem}.lista-eventos{gap:6px;display:grid}.subtitulo-con-guia{margin-bottom:8px}.subtitulo-con-guia .subtitulo-seccion{margin-bottom:2px}.guia-subtitulo{color:#64748b;font-size:.64rem;display:block}.tarjeta-evento{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:12px 14px;font-size:.72rem;transition:all .2s;box-shadow:0 2px 6px #00000008}.tarjeta-evento:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.averia-card{border-left:4px solid #f59e0b}.averia-card.averia-en-curso{background:snow;border-left-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.averia-card.averia-resuelta{background:#fcfdfd;border-left-color:#16a34a}.bloqueo-card{border-left:4px solid #ef4444}.evento-cabecera{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.cabecera-titular-averia{flex-direction:column;gap:4px;display:flex}.insignia-averia{color:#b45309;letter-spacing:-.01em;font-size:.78rem;font-weight:800}.badge-estado-vivo{letter-spacing:.02em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:.64rem;font-weight:800;display:inline-flex}.badge-estado-vivo.vivo-activa{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;animation:1.5s ease-in-out infinite pulsoTextoAveria}@keyframes pulsoTextoAveria{0%{opacity:.85}50%{opacity:1}to{opacity:.85}}.badge-estado-vivo.vivo-programada{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.badge-estado-vivo.vivo-resuelta{color:#166534;background:#dcfce7;border:1px solid #86efac}.insignia-bloqueo{color:#dc2626;font-size:.76rem;font-weight:800}.horario-bloqueo{font-variant-numeric:tabular-nums;color:#64748b;font-size:.68rem;font-weight:600}.boton-enfocar-vehiculo{color:#0f172a;cursor:pointer;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:9999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.68rem;font-weight:700;transition:all .15s;display:inline-flex}.boton-enfocar-vehiculo:hover{color:#fff;background:#0052ff;border-color:#0052ff;transform:translateY(-1px)}.boton-enfocar-vehiculo .flecha-enfocar{font-size:.65rem}.datos-ubicacion-averia{color:#475569;background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:6px 10px;font-size:.68rem;display:flex}.flujo-averia-protocolo{border-left:2px solid #e2e8f0;flex-direction:column;gap:6px;margin-top:6px;padding-left:4px;display:flex}.paso-flujo{align-items:flex-start;gap:8px;margin-left:-5px;display:flex;position:relative}.paso-icono{color:#64748b;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:.62rem;font-weight:800;display:flex}.paso-flujo.paso-completado .paso-icono{color:#fff;background:#22c55e}.paso-flujo.paso-activo .paso-icono{color:#fff;background:#ef4444;box-shadow:0 0 8px #ef444499}.paso-contenido{flex-direction:column;gap:1px;display:flex}.paso-titulo{color:#1e293b;font-size:.68rem;font-weight:750}.paso-flujo.paso-activo .paso-titulo{color:#dc2626}.paso-detalle{color:#64748b;font-size:.64rem;line-height:1.35}.evento-descripcion,.evento-accion,.tramos-bloqueo{color:#475569;margin:2px 0 0;line-height:1.4}.barra-filtros-pedidos{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 10px;display:flex}.grupo-filtro-4h{align-items:center;gap:8px;display:flex}.rotulo-filtro{color:var(--secundario);font-size:.68rem;font-weight:600}.botones-filtro-4h{gap:4px;display:flex}.boton-filtro-tag{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:3px 8px;font-size:.66rem}.boton-filtro-tag.activo{background:var(--azul);border-color:var(--azul);color:#fff;font-weight:600}.input-busqueda-tabla{width:180px;min-height:28px;padding:4px 8px;font-size:.68rem}.bloqueo-linea{filter:drop-shadow(0 0 1px #ef444499)}.marca-averia-mapa{cursor:pointer;transition:transform .15s}.marca-averia-mapa:hover{transform:scale(1.2)}.hud-simulacion-mapa{z-index:20;color:#f8fafc;background:#0f172a;border:1px solid #ffffff2e;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:6px;padding:6px 14px;display:flex;position:relative;box-shadow:0 4px 14px #00000026}.hud-seccion-reproduccion{align-items:center;gap:6px;display:flex}.boton-hud{cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:.74rem;font-weight:650;transition:all .15s;display:inline-flex}.boton-hud.boton-detener{color:#fca5a5;background:#ef444433;border:1px solid #f8717180}.boton-hud.boton-detener:hover{color:#fff;background:#ef444459}.boton-hud.boton-pausa{color:#fde68a;background:#f59e0b33;border:1px solid #fbbf2480}.boton-hud.boton-pausa:hover{color:#fff;background:#f59e0b59}.boton-hud.boton-reanudar{color:#bbf7d0;background:#22c55e40;border:1px solid #4ade8099;box-shadow:0 0 10px #22c55e33}.boton-hud.boton-reanudar:hover{color:#fff;background:#22c55e66}.boton-hud.boton-reiniciar{color:#cbd5e1;background:#ffffff14;border:1px solid #fff3}.boton-hud.boton-reiniciar:hover{color:#fff;background:#ffffff29}.boton-hud.boton-toggle-panel{color:#93c5fd;background:#3b82f633;border:1px solid #60a5fa80;font-weight:700}.boton-hud.boton-toggle-panel:hover{color:#fff;background:#3b82f659}.boton-hud.boton-toggle-panel.panel-oculto{color:#a7f3d0;background:#10b98133;border-color:#34d39980}.hud-seccion-duracion{color:#cbd5e1;align-items:center;gap:12px;font-size:.74rem;display:flex}.hud-duracion-total strong,.hud-tiempo-restante strong{color:#fff}.badge-hud-bloqueo{color:#fca5a5;background:#ef444440;border:1px solid #f8717180;border-radius:5px;padding:2px 8px;font-size:.7rem;font-weight:650}.badge-hud-libre{color:#6ee7b7;background:#10b98133;border:1px solid #34d39980;border-radius:5px;padding:2px 8px;font-size:.7rem;font-weight:650}.hud-seccion-velocidad{color:#94a3b8;align-items:center;gap:6px;font-size:.72rem;display:flex}.hud-seccion-velocidad select{color:#fff;background:#1e293b;border:1px solid #ffffff38;border-radius:5px;outline:none;padding:3px 8px;font-size:.72rem}.hud-seccion-velocidad select:focus{border-color:#60a5fa}.hud-seccion-dias{align-items:center;gap:4px;display:flex}.pildora-dia-hud{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:3px 8px;font-size:.7rem;font-weight:600;transition:all .15s}.pildora-dia-hud:hover{background:#e2e8f0}.pildora-dia-hud.activo{color:#fff;background:#2563eb;border-color:#1d4ed8}.boton-detener-header{color:#fff;cursor:pointer;background:#dc2626;border:1px solid #b91c1c;border-radius:7px;padding:7px 15px;font-size:.8rem;font-weight:700;transition:background .15s;box-shadow:0 1px 3px #dc26264d}.boton-detener-header:hover{background:#b91c1c}.fila-duracion-simulacion{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;margin:8px 0;padding:6px 10px;font-size:.74rem;display:flex}.boton-detener-panel{color:#991b1b;background:#fee2e2;border:1px solid #f87171;font-weight:650}.boton-detener-panel:hover{background:#fecaca}.boton-reiniciar-panel{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.boton-reiniciar-panel:hover{background:#e2e8f0}.marcador-vehiculo{cursor:pointer;transition:opacity .2s}.marcador-vehiculo:hover .marcador-vehiculo-animado{transform:scale(1.18)}.marcador-vehiculo.seleccionado .marcador-vehiculo-animado{transform:scale(1.22)}.pulso-vehiculo{animation:2s ease-in-out infinite pulsoVehiculoAnim}@keyframes pulsoVehiculoAnim{0%{r:1.5;opacity:.35}50%{r:2.3;opacity:.08}to{r:1.5;opacity:.35}}.vista-5d .mapa{height:calc(100dvh - 130px);min-height:calc(100dvh - 130px);padding:2px;position:relative}.vista-5d .lienzo-mapa{flex:auto;width:100%;height:100%}.jornada-activa.panel-colapsado{grid-template-columns:1fr!important}.boton-hud.boton-pantalla-completa{color:#f8fafc;background:#0f172a;border:1px solid #334155;font-weight:700}.boton-hud.boton-pantalla-completa:hover{background:#1e293b}.boton-hud.boton-pantalla-completa.activo,.boton-pantalla-completa-cabecera.activo{color:#fff;background:#dc2626;border-color:#b91c1c}.area-principal{background:#f3f6fa;flex-direction:column;min-width:0;height:100dvh;display:flex;overflow:hidden}.encabezado{z-index:15;background:#0d0f15;border-bottom:1.5px solid #1f2330;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px 18px;padding:12px 24px;display:flex;box-shadow:0 4px 16px #0006}.titulo-vista{flex-direction:column;gap:2px;display:flex}.titulo-vista .rotulo{letter-spacing:.08em;text-transform:uppercase;margin:0;color:#cf0!important;font-size:.65rem!important;font-weight:800!important}.titulo-vista h2{letter-spacing:-.03em;color:#fff!important;margin:0!important;font-size:1.35rem!important;font-weight:900!important}.titulo-con-insignia{align-items:center;gap:8px;display:flex}.insignia-escenario-header{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;padding:3px 12px;font-size:.65rem;font-weight:850}.insignia-5d{box-shadow:0 0 10px #0047ff66;color:#fff!important;background:#0047ff!important;border:1px solid #0047ff!important}.insignia-colapso{color:#fff!important;background:#f05!important;border:1px solid #f05!important}.insignia-dia{color:#000!important;background:#cf0!important;border:1px solid #cf0!important;font-weight:900!important}.titulo-vista .fecha-vista{margin:0;font-weight:600;color:#94a3b8!important;font-size:.74rem!important}.encabezado .controles{align-items:center;gap:14px;display:flex}.encabezado .controles form{align-items:flex-end;gap:10px;display:flex}.encabezado .campo-fecha label,.encabezado .campo-hora label{letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;display:block;color:#cbd5e1!important;font-size:.66rem!important;font-weight:650!important}.encabezado .campo-fecha input,.encabezado .campo-hora input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-weight:500;color:#fff!important;background:#0f172abf!important;border:1px solid #ffffff3d!important;border-radius:6px!important;padding:5px 9px!important;font-size:.78rem!important}.encabezado .campo-fecha input:focus,.encabezado .campo-hora input:focus{outline:none;border-color:#60a5fa!important;box-shadow:0 0 0 2px #60a5fa47!important}.encabezado .conexion{align-items:center;gap:6px;margin:0;font-size:.72rem;display:flex;color:#94a3b8!important}.encabezado .conexion.conectado{color:#34d399!important}.encabezado .conexion.conectado span{background:#10b981;box-shadow:0 0 8px #10b981cc}.encabezado .boton-bloqueos{cursor:pointer;align-items:center;gap:6px;transition:all .15s;display:inline-flex;color:#fecaca!important;background:#ef44442e!important;border:1px solid #f8717173!important;border-radius:6px!important;padding:6px 12px!important;font-size:.74rem!important;font-weight:650!important}.encabezado .boton-bloqueos:hover{transform:translateY(-1px);color:#fff!important;background:#ef444452!important;border-color:#ef4444!important}.encabezado .boton-principal{letter-spacing:-.01em;cursor:pointer;transition:all .15s;color:#fff!important;background:#0052ff!important;border:1px solid #fff3!important;border-radius:9999px!important;padding:7px 18px!important;font-size:.76rem!important;font-weight:800!important;box-shadow:0 2px 8px #0052ff4d!important}.encabezado .boton-principal:hover{transform:translateY(-1px);background:#1a66ff!important;box-shadow:0 4px 12px #0052ff73!important}.encabezado .boton-detener-header{cursor:pointer;transition:all .15s;color:#fff!important;background:#dc2626!important;border:1px solid #ffffff40!important;border-radius:9999px!important;padding:7px 18px!important;font-size:.76rem!important;font-weight:800!important;box-shadow:0 2px 8px #dc262659!important}.encabezado .boton-detener-header:hover{transform:translateY(-1px);background:#ef4444!important}.barra-desplegables-dock{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.boton-dock{color:#e2e8f0;cursor:pointer;background:#141722;border:1.5px solid #232838;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.74rem;font-weight:750;transition:all .15s;display:inline-flex;position:relative}.boton-dock:hover{color:#fff;background:#1c2130;border-color:#3b4256;transform:translateY(-1px)}.boton-dock.activo{font-weight:850;color:#fff!important;background:#0047ff!important;border-color:#0047ff!important;box-shadow:0 0 14px #0047ff73!important}.boton-dock.activo svg{fill:#fff}.boton-dock.con-alertas{color:#fca5a5;background:#ef444426;border-color:#ef444499}.boton-dock.con-alertas:hover{color:#fff;background:#ef44444d}.boton-dock.con-alertas.activo{color:#fff;background:#dc2626;border-color:#dc2626}.badge-dock-conteo{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex}.boton-dock-pedidos{color:#bfdbfe;background:#3b82f62e;border-color:#60a5fa66}.boton-dock-pedidos:hover{color:#fff;background:#3b82f64d;border-color:#60a5fa}.boton-dock-pedidos.activo{color:#fff;background:#2563eb;border-color:#2563eb}.boton-dock-relojes{color:#cbd5e1;background:#ffffff14;border-color:#fff3}.boton-dock-relojes.activo{color:#38bdf8;background:#0f172a;border-color:#38bdf8}.contenido-mapa-principal{flex-direction:column;flex:auto;height:calc(100dvh - 65px);min-height:0;display:flex;position:relative;overflow:hidden}.contenedor-mapa-hero{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.contenedor-mapa-hero .mapa{position:relative;height:100%!important;min-height:100%!important;box-shadow:none!important;border:none!important;border-radius:0!important;flex-direction:column!important;flex:auto!important;margin:0!important;padding:0!important;display:flex!important}.contenedor-mapa-hero .lienzo-mapa{flex:auto!important;width:100%!important;height:100%!important;display:block!important}.cabecera-mapa{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;display:flex}.cabecera-mapa h2{color:#17296b;margin:0;font-size:.88rem;font-weight:700}.badge-guia-mapa-inicial{display:none!important}@keyframes animFlujoVehicular{0%{stroke-dashoffset:0}to{stroke-dashoffset:-32px}}.trazo-flujo-activo{pointer-events:none;opacity:.92;animation:1.4s linear infinite animFlujoVehicular}.chevron-flujo-ruta{transition:opacity .2s}.grupo-cliente-nodo text{-webkit-user-select:none;user-select:none}.barra-reloj-cuadruple-flotante{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f8fafc;white-space:nowrap;background:#0a192ff0;border:1.5px solid #ffffff26;border-radius:9999px;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:5px 8px 5px 12px;font-size:.73rem;animation:.25s fadeInDown;display:flex;position:absolute;top:auto;bottom:16px;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 10px 28px #00000038}.barra-reloj-cuadruple-flotante .chip-reloj{background:#ffffff14;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.barra-reloj-cuadruple-flotante .chip-simulado{color:#93c5fd;background:#0052ff40;border:1px solid #0052ff73}.barra-reloj-cuadruple-flotante .dot-pulso{background:#22c55e;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 6px #22c55e}.barra-reloj-cuadruple-flotante .chip-etiqueta{letter-spacing:.04em;opacity:.85;font-size:.62rem;font-weight:800}.barra-reloj-cuadruple-flotante .chip-valor{font-variant-numeric:tabular-nums;color:#fff}.barra-reloj-cuadruple-flotante .valor-reloj-simulado{color:#fff;font-weight:800}.barra-reloj-cuadruple-flotante .chip-duracion{color:#c7d2fe;background:#ffffff12}.barra-reloj-cuadruple-flotante .chip-real-lime{color:#022c22;background:#cf0;border:1px solid #0000001a;font-weight:800}.barra-reloj-cuadruple-flotante .chip-real-lime .chip-etiqueta{color:#022c22}.barra-reloj-cuadruple-flotante .chip-real-lime .chip-valor{color:#022c22;font-weight:900}.barra-reloj-cuadruple-flotante .chip-cpu{color:#fde68a;background:#fbbf2426;border:1px solid #fbbf2459}.barra-reloj-cuadruple-flotante .chip-semaforo{background:#ffffff14;gap:6px}.barra-reloj-cuadruple-flotante .chip-badge{color:#fff;border-radius:9999px;padding:2px 8px;font-size:.66rem;font-weight:800}.cerrar-reloj-hud{color:#94a3b8;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;transition:all .15s;display:inline-flex}.cerrar-reloj-hud:hover{color:#fff;background:#ffffff40}.drawer-lateral-panel{z-index:40;background:#fff;border-left:1px solid #cbd5e1;flex-direction:column;width:440px;max-width:90vw;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 30px #0f172a2e}.drawer-lateral-panel.abierto{transform:translate(0)}.drawer-lateral-cabecera{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.drawer-pestanas-nav{gap:3px;display:flex;overflow-x:auto}.drawer-pestana{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:6px 10px;font-size:.73rem;font-weight:600;transition:all .15s;display:inline-flex}.drawer-pestana:hover{color:#1e293b;background:#f1f5f9}.drawer-pestana.activa{color:#fff;background:#17296b;border-color:#17296b;box-shadow:0 2px 4px #17296b40}.drawer-pestana.activa svg{fill:#fff}.drawer-pestana.alerta{color:#b91c1c}.drawer-boton-cerrar{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.drawer-boton-cerrar:hover{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.drawer-lateral-cuerpo{background:#f8fafc;flex:auto;padding:12px 14px 24px;overflow-y:auto}.drawer-lateral-cuerpo .tarjeta{border:1px solid #e2e8f0;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}.bottom-sheet-pedidos{z-index:38;background:#fff;border-top:2px solid #2563eb;border-radius:16px 16px 0 0;flex-direction:column;height:62vh;max-height:85vh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -12px 36px #0f172a38}.bottom-sheet-pedidos.abierta{transform:translateY(0)}.bottom-sheet-tirador{cursor:pointer;justify-content:center;align-items:center;padding:8px 0 2px;display:flex}.bottom-sheet-tirador .linea-tirador{background:#cbd5e1;border-radius:999px;width:48px;height:4px;transition:background .15s}.bottom-sheet-tirador:hover .linea-tirador{background:#94a3b8}.bottom-sheet-cabecera{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 20px 10px;display:flex}.bottom-sheet-titular{align-items:center;gap:12px;display:flex}.icono-pedidos-sheet{background:#eff6ff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.bottom-sheet-titular h3{color:#17296b;margin:0;font-size:.95rem;font-weight:700}.subtitulo-pedidos-sheet{color:#64748b;margin:0;font-size:.72rem}.boton-cerrar-sheet{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.boton-cerrar-sheet:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.bottom-sheet-cuerpo{flex:auto;padding:12px 20px 24px;overflow-y:auto}.selector-colapso-flotante{z-index:22;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #cbd5e1;border-radius:10px;max-width:440px;padding:8px 12px;position:absolute;top:10px;left:14px;box-shadow:0 4px 16px #0f172a26}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.popover-averia-mapa-html{z-index:60;color:#f8fafc;pointer-events:auto;background:#0d0f16;border:2px solid #0047ff;border-radius:14px;min-width:270px;max-width:320px;padding:12px 14px;animation:.18s cubic-bezier(.16,1,.3,1) popoverEntrada;position:absolute;transform:translate(-50%,-105%);box-shadow:0 12px 36px #000c,0 0 20px #0047ff59}@keyframes popoverEntrada{0%{opacity:0;transform:translate(-50%,-95%)scale(.92)}to{opacity:1;transform:translate(-50%,-105%)scale(1)}}.popover-averia-cabecera{border-bottom:1px solid #1f2536;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.popover-averia-titular{align-items:center;gap:8px;display:flex}.badge-popover-tipo{color:#000;text-transform:uppercase;background:#fa0;border-radius:4px;padding:2px 7px;font-size:.65rem;font-weight:800}.popover-averia-titular h4{color:#fff;margin:0;font-size:.92rem;font-weight:800}.boton-cerrar-popover{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem}.boton-cerrar-popover:hover{color:#fff;background:#1f2536}.popover-averia-coord{color:#94a3b8;margin:0 0 4px;font-size:.72rem}.popover-averia-coord strong{color:#fff}.popover-averia-desc{color:#cbd5e1;margin:0 0 8px;font-size:.72rem;line-height:1.4}.popover-averia-estado-linea{margin-bottom:10px}.estado-popover-tag{border-radius:9999px;padding:3px 8px;font-size:.68rem;font-weight:750;display:inline-block}.estado-popover-tag.activa{color:#fca5a5;background:#ef444433;border:1px solid #ef444480}.estado-popover-tag.resuelta{color:#86efac;background:#22c55e33;border:1px solid #22c55e80}.popover-averia-acciones{flex-direction:column;gap:6px;display:flex}.boton-popover-resolver{color:#000;cursor:pointer;background:#cf0;border:1px solid #cf0;border-radius:9999px;width:100%;padding:7px 12px;font-size:.74rem;font-weight:800;transition:all .15s}.boton-popover-resolver:hover{background:#d8ff00;transform:translateY(-1px);box-shadow:0 4px 12px #ccff0059}.boton-popover-enfocar{color:#fff;cursor:pointer;background:#0047ff;border:1px solid #0047ff;border-radius:9999px;width:100%;padding:6px 12px;font-size:.72rem;font-weight:700;transition:all .15s}.boton-popover-enfocar:hover{background:#1a5cff;transform:translateY(-1px)}.boton-popover-drawer{color:#cbd5e1;cursor:pointer;background:#171b26;border:1px solid #282f42;border-radius:9999px;width:100%;padding:5px 12px;font-size:.7rem;font-weight:600}.boton-popover-drawer:hover{color:#fff;background:#202636}.accion-bloqueos-oficiales{margin-bottom:14px}.boton-cargar-oficiales{color:#000;cursor:pointer;background:#cf0;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.8rem;font-weight:850;transition:all .15s;display:flex;box-shadow:0 4px 14px #ccff0040}.boton-cargar-oficiales:hover:not(:disabled){background:#d8ff00;transform:translateY(-1px);box-shadow:0 6px 18px #cf06}.boton-cargar-oficiales:disabled{opacity:.6;cursor:wait}.separador-bloqueos{text-align:center;color:#64748b;text-transform:uppercase;align-items:center;margin:12px 0;font-size:.68rem;font-weight:600;display:flex}.separador-bloqueos:before,.separador-bloqueos:after{content:"";border-bottom:1px solid #334155;flex:1}.separador-bloqueos span{padding:0 10px}.bloqueos-activos-btn{color:#cf0!important;background:#ccff0026!important;border-color:#cf0!important}.boton-accion-despacho-auxilio{color:#000;cursor:pointer;background:#cf0;border:none;border-radius:9999px;width:100%;margin-top:8px;padding:6px 12px;font-size:.72rem;font-weight:800;transition:all .15s}.boton-accion-despacho-auxilio:hover{background:#d8ff00;box-shadow:0 2px 8px #ccff0059}.badge-estado-bloqueos{text-transform:uppercase;border-radius:9999px;padding:4px 10px;font-size:.72rem;font-weight:800}.badge-estado-bloqueos.vias-libres{color:#86efac;background:#22c55e26;border:1px solid #22c55e80}.badge-estado-bloqueos.bloqueos-activos{color:#fca5a5;background:#ef444426;border:1px solid #ef444480}.guia-ciclo-bloqueos{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.item-guia{background:#0f121a;border:1px solid #1f2536;border-radius:10px;gap:10px;padding:10px 12px;display:flex}.icono-guia{font-size:1.25rem;line-height:1}.item-guia strong{color:#fff;margin-bottom:3px;font-size:.74rem;display:block}.item-guia p{color:#94a3b8;margin:0;font-size:.68rem;line-height:1.35}.selector-modo-bloqueos{background:#0d0f16;border:1px solid #1f2536;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.etiqueta-modo{color:#cbd5e1;font-size:.72rem;font-weight:700}.botones-grupo-modo{gap:6px;display:flex}.btn-modo{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #282f42;border-radius:9999px;padding:4px 10px;font-size:.68rem;font-weight:700;transition:all .15s}.btn-modo:hover{color:#fff;background:#171b26}.btn-modo.activo{color:#fff;background:#0047ff;border-color:#0047ff;font-weight:800}.panel-acciones-bloqueos{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.boton-limpiar-bloqueos{color:#f1f5f9;cursor:pointer;background:#ffffff0d;border:1px solid #334155;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px 16px;font-size:.78rem;font-weight:750;transition:all .15s;display:flex}.boton-limpiar-bloqueos:hover:not(:disabled){color:#fca5a5;background:#ef444433;border-color:#ef4444;transform:translateY(-1px)}.zona-subida-archivo{margin-bottom:10px}.etiqueta-subir-archivo{text-align:center;color:#cbd5e1;cursor:pointer;background:#171b26;border:1px dashed #3b4256;border-radius:9999px;padding:9px 14px;font-size:.76rem;font-weight:700;transition:all .15s;display:block}.etiqueta-subir-archivo:hover{color:#fff;background:#1e2433;border-color:#0047ff}.alerta-mensaje-bloqueos{color:#f8fafc;background:#0d111a;border-left:3px solid #cf0;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.72rem;line-height:1.4}.seccion-lista-bloqueos-activos{background:#090b10;border:1px solid #1a202e;border-radius:12px;margin-top:10px;padding:12px}.cabecera-lista-bloqueos{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cabecera-lista-bloqueos h4{color:#fff;margin:0;font-size:.78rem;font-weight:800}.input-filtro-bloqueos{color:#fff;background:#11141f;border:1px solid #282f42;border-radius:6px;width:140px;padding:3px 8px;font-size:.7rem}.input-filtro-bloqueos:focus{border-color:#0047ff;outline:none}.tabla-bloqueos-scroll{border-radius:6px;max-height:160px;overflow-y:auto}.tabla-bloqueos-resumen{border-collapse:collapse;width:100%;font-size:.68rem}.tabla-bloqueos-resumen th{color:#94a3b8;text-align:left;background:#121622;padding:5px 8px;font-weight:700}.tabla-bloqueos-resumen td{color:#cbd5e1;border-bottom:1px solid #181d2a;padding:4px 8px}.col-id-bloqueo{color:#cf0;font-family:monospace;font-weight:700}.col-coords-bloqueo{color:#93c5fd;font-family:monospace}.tag-estado-blq{border-radius:3px;padding:1px 5px;font-size:.6rem;font-weight:800;display:inline-block}.tag-estado-blq.activo{color:#fca5a5;background:#ef444433;border:1px solid #ef444466}.tag-estado-blq.programado{color:#fde68a;background:#f59e0b33;border:1px solid #f59e0b66}.btn-desbloquear-fila{color:#94a3b8;cursor:pointer;background:#181d2a;border:1px solid #282f42;border-radius:9999px;padding:2px 7px;font-size:.62rem;font-weight:700;transition:all .15s}.btn-desbloquear-fila:hover{color:#000;background:#22c55e;border-color:#22c55e}.nota-paginacion-bloqueos{color:#64748b;text-align:right;margin:6px 0 0;font-size:.62rem}.filtro-semaforos-almacen-bar{background:#0f1219;border:1px solid #1e2433;border-radius:8px;flex-wrap:wrap;gap:6px;margin:10px 0 14px;padding:8px;display:flex}.btn-filtro-sem-almacen{color:#94a3b8;cursor:pointer;background:#141824;border:1px solid #282f42;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-filtro-sem-almacen:hover{color:#fff;background:#1c2234;border-color:#3b4561}.btn-filtro-sem-almacen.activo{color:#cf0;background:#0047ff1a;border-color:#0047ff;box-shadow:0 0 8px #0047ff40}.dot-sem-almacen{border-radius:50%;width:8px;height:8px;display:inline-block}.sin-almacenes-filtro{text-align:center;color:#94a3b8;background:#0f1219;border:1px dashed #282f42;border-radius:8px;grid-column:1/-1;padding:18px;font-size:.85rem}.selector-orden{background:#0f1219;border:1px solid #1e2433;border-radius:8px;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;display:flex}.selector-orden label{color:#94a3b8;white-space:nowrap;font-size:.72rem;font-weight:700}.selector-orden select{color:#fff;cursor:pointer;background:#141824;border:1px solid #282f42;border-radius:6px;outline:none;width:100%;padding:4px 8px;font-size:.75rem;font-weight:600}.selector-orden select:focus{border-color:#0047ff}.filtro-minutos-destino-bar{background:#0f1219;border:1px solid #1e2433;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:6px 10px;display:flex}.etiqueta-filtro-minutos{color:#94a3b8;font-size:.72rem;font-weight:700}.botones-filtro-minutos{gap:4px;display:flex}.btn-minuto-tab{color:#94a3b8;cursor:pointer;background:#141824;border:1px solid #282f42;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700;transition:all .15s}.btn-minuto-tab:hover{color:#fff;background:#1c2234}.btn-minuto-tab.activo{color:#0b0c10;background:#cf0;border-color:#cf0;font-weight:800}.metricas-tiempo-desplazamiento{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.badge-dist-minuto{border-radius:4px;align-items:center;padding:2px 6px;font-size:.68rem;font-weight:600;display:inline-flex}.badge-dist-minuto strong{color:#fff;margin:0 2px}.badge-dist-minuto.salida{color:#93c5fd;background:#3b82f626;border:1px solid #3b82f659}.badge-dist-minuto.llegada{color:#d8b4fe;background:#a855f726;border:1px solid #a855f759}.orientacion-vehiculo-icono{transform-origin:0 0;transition:transform 80ms linear}.marca-averia-mapa.tipo-t1 circle{filter:drop-shadow(0 0 3px #f59e0b99)}.marca-averia-mapa.tipo-t2 circle{filter:drop-shadow(0 0 3px #ff7a0099)}.marca-averia-mapa.tipo-t3 circle{filter:drop-shadow(0 0 4px #ef4444cc)}.indicadores-globales-cabecera{align-items:center;gap:8px;margin-left:12px;display:flex}.indicador-global-tag{color:#cbd5e1;background:#11141e;border:1px solid #202738;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;display:inline-flex}.lbl-global-text{color:#94a3b8;font-weight:600}.dot-sem-global{border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 6px}.tag-sem-global-mini{border:1px solid;border-radius:3px;padding:1px 5px;font-size:.6rem;font-weight:800}.hud-seccion-indicadores-globales{align-items:center;gap:6px;display:flex}.badge-global-hud{color:#f1f5f9;background:#11141ed9;border:1px solid #282f42e6;border-radius:5px;align-items:center;gap:5px;padding:2px 7px;font-size:.7rem;display:inline-flex}.lbl-global{color:#94a3b8;font-size:.65rem;font-weight:700}.pill-sem-global{border:1px solid;border-radius:3px;padding:1px 4px;font-size:.58rem;font-weight:800}.boton-config-mapa-cabecera{color:#cbd5e1;cursor:pointer;background:#141824;border:1px solid #282f42;border-radius:6px;padding:4px 8px;font-size:.72rem;font-weight:700;transition:all .15s}.boton-config-mapa-cabecera:hover,.boton-config-mapa-cabecera.activo{color:#cf0;background:#0047ff1a;border-color:#0047ff}.panel-configuracion-mapa{z-index:45;background:#0f121a;border:1.5px solid #282f42;border-radius:8px;width:290px;padding:12px;position:absolute;top:52px;right:14px;box-shadow:0 8px 24px #000000a6}.cabecera-config-mapa{border-bottom:1px solid #1e2433;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.cabecera-config-mapa h4{color:#fff;margin:0;font-size:.8rem;font-weight:800}.btn-cerrar-config{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:.8rem}.descripcion-config-mapa{color:#94a3b8;margin:0 0 8px;font-size:.68rem}.lista-opciones-config{flex-direction:column;gap:6px;display:flex}.opcion-check-config{color:#e2e8f0;cursor:pointer;align-items:center;gap:8px;font-size:.72rem;display:flex}.opcion-check-config input[type=checkbox]{accent-color:#0047ff}.pie-config-mapa{color:#64748b;border-top:1px solid #1e2433;margin-top:8px;padding-top:6px;font-size:.62rem}.cabecera-tarjeta-ruta{cursor:pointer;align-items:center;gap:10px;width:100%;display:flex}.btn-ver-productos-ut{color:#93c5fd;cursor:pointer;background:#181d2a;border:1px solid #282f42;border-radius:5px;margin-top:4px;padding:2px 7px;font-size:.65rem;font-weight:700;transition:all .15s}.btn-ver-productos-ut:hover,.btn-ver-productos-ut.abierto{color:#cf0;background:#0047ff22;border-color:#0047ff}.seccion-productos-a-bordo{border-top:1px solid #1e2433;width:100%;margin-top:8px;padding-top:8px}.cabecera-productos-ut{align-items:center;margin-bottom:6px;display:flex}.titulo-productos-ut{color:#cf0;letter-spacing:.02em;font-size:.68rem;font-weight:800}.tabla-productos-ut-scroll{border:1px solid #1e2433;border-radius:6px;max-height:160px;overflow-y:auto}.tabla-productos-ut{border-collapse:collapse;width:100%;font-size:.68rem}.tabla-productos-ut th{color:#94a3b8;text-align:left;background:#11141e;padding:4px 6px;font-weight:700}.tabla-productos-ut td{color:#cbd5e1;border-bottom:1px solid #181d2a;padding:4px 6px}.col-id-prod{color:#cf0;font-family:monospace}.col-cant-prod{color:#fff}.tag-puntualidad-prod{border-radius:3px;padding:1px 4px;font-size:.58rem;font-weight:800;display:inline-block}.tag-puntualidad-prod.puntual{color:#86efac;background:#22c55e26}.tag-puntualidad-prod.impuntual{color:#fca5a5;background:#ef444426}.sin-productos-ut{color:#64748b;margin:4px 0;font-size:.68rem}.almacen-seccion-envios-trigger{border-top:1px solid #1c2234;margin-top:8px;padding-top:6px}.btn-ver-envios-alm{color:#93c5fd;cursor:pointer;background:#141824;border:1px solid #282f42;border-radius:5px;justify-content:space-between;align-items:center;width:100%;padding:3px 8px;font-size:.68rem;font-weight:700;transition:all .15s;display:flex}.btn-ver-envios-alm:hover,.btn-ver-envios-alm.activo{color:#cf0;background:#0047ff18;border-color:#0047ff}.detalle-envios-almacen-panel{background:#0b0d13;border:1px solid #1c2234;border-radius:6px;margin-top:8px;padding:8px}.tabs-envios-almacen{gap:4px;margin-bottom:6px;display:flex}.tab-btn-envio{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#141824;border:1px solid #202738;border-radius:4px;flex:1;padding:3px 4px;font-size:.62rem;font-weight:700;transition:all .15s}.tab-btn-envio:hover{color:#fff;background:#1c2234}.tab-btn-envio.activo{color:#fff;background:#0047ff;border-color:#0047ff;font-weight:800}.tabla-envios-almacen-scroll{max-height:150px;overflow-y:auto}.tabla-envios-almacen{border-collapse:collapse;width:100%;font-size:.64rem}.tabla-envios-almacen th{color:#94a3b8;text-align:left;background:#11141e;padding:3px 5px}.tabla-envios-almacen td{color:#cbd5e1;border-bottom:1px solid #151a26;padding:3px 5px}.col-id-env{color:#cf0;font-family:monospace}.badge-veh-alm{color:#93c5fd;background:#1c2234;border-radius:3px;padding:1px 4px;font-size:.6rem;font-weight:700}.sin-envios-tab{color:#64748b;text-align:center;margin:6px 0;font-size:.65rem}.modal-overlay-reporte-estable{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-contenido-reporte-estable{background:#0f121a;border:2px solid #0047ff;border-radius:12px;width:100%;max-width:620px;overflow:hidden;box-shadow:0 12px 40px #0047ff4d}.cabecera-modal-reporte{background:#141824;border-bottom:1px solid #202738;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.titulo-reporte-estable{align-items:center;gap:12px;display:flex}.titulo-reporte-estable h3{color:#fff;margin:0;font-size:1.1rem;font-weight:800}.titulo-reporte-estable p{color:#94a3b8;margin:2px 0 0;font-size:.72rem}.btn-cerrar-reporte-estable{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.1rem}.btn-cerrar-reporte-estable:hover{color:#fff}.cuerpo-modal-reporte{padding:18px 20px}.estado-factibilidad-banner{background:#22c55e1f;border:1px solid #22c55e59;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.dot-estado-factible{background:#22c55e;border-radius:50%;width:12px;height:12px;box-shadow:0 0 10px #22c55e}.estado-factibilidad-banner strong{color:#86efac;letter-spacing:.03em;font-size:.8rem}.estado-factibilidad-banner p{color:#cbd5e1;margin:2px 0 0;font-size:.7rem}.grid-metricas-reporte-estable{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tarjeta-metrica-reporte{background:#141824;border:1px solid #202738;border-radius:8px;flex-direction:column;padding:10px 12px;display:flex}.lbl-metrica-rep{color:#94a3b8;font-size:.68rem;font-weight:700}.tarjeta-metrica-reporte strong{color:#fff;margin:4px 0 2px;font-size:1.05rem}.tarjeta-metrica-reporte strong.texto-verde{color:#22c55e}.tarjeta-metrica-reporte small{color:#64748b;font-size:.65rem}.pie-modal-reporte{background:#11141e;border-top:1px solid #202738;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.btn-exportar-reporte-json{color:#fff;cursor:pointer;background:#0047ff;border:1px solid #0047ff;border-radius:6px;padding:6px 14px;font-size:.78rem;font-weight:700;transition:all .15s}.btn-exportar-reporte-json:hover{background:#0037cc;box-shadow:0 0 10px #0047ff66}.btn-cerrar-modal-secundario{color:#94a3b8;cursor:pointer;background:#181d2a;border:1px solid #282f42;border-radius:6px;padding:6px 14px;font-size:.78rem;font-weight:700}.btn-cerrar-modal-secundario:hover{color:#fff;background:#202738}
