/* Software ESM WEB216 PASO 23 · Centro GPS con especificaciones e ingreso visibles */
.gps-carpeta-planificador{background:linear-gradient(135deg,rgba(6,182,212,.2),rgba(59,130,246,.12))!important;border-color:rgba(34,211,238,.38)!important}
.gps-carpeta-historial-marcas{background:linear-gradient(135deg,rgba(16,185,129,.16),rgba(6,182,212,.1))!important;border-color:rgba(52,211,153,.31)!important}

/* Centro GPS: menú lateral como el panel principal y vista visual a la derecha. */
#modalGps:not(.oculto){display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:10px!important;box-sizing:border-box!important;overflow:hidden!important;z-index:999990!important;background:radial-gradient(circle at 76% 4%,rgba(14,165,233,.18),transparent 30%),rgba(1,7,18,.96)!important;backdrop-filter:blur(12px)}
#modalGps:not(.oculto)>.modal-gps-carpetas{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid rgba(56,189,248,.24)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(2,8,23,.98),rgba(5,19,38,.98))!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;color:#eaf8ff!important}
#modalGps .modal-gps-carpetas>.modal-header-pro{min-height:82px!important;margin:0!important;padding:14px 20px!important;box-sizing:border-box!important;border-bottom:1px solid rgba(125,211,252,.18)!important;background:linear-gradient(90deg,rgba(2,6,23,.96),rgba(8,30,52,.9))!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
#modalGps .modal-gps-carpetas>.modal-header-pro h2{margin:2px 0 0!important;color:#fff!important;font-size:1.35rem!important}.modal-gps-carpetas>.modal-header-pro .nota{margin:4px 0 0!important;color:#94b9cd!important;font-size:.72rem!important}.modal-gps-carpetas>.modal-header-pro .btn-cerrar-pro{flex:0 0 auto!important}
.gps22-centro{min-height:0;display:grid;grid-template-columns:minmax(245px,292px) minmax(0,1fr);gap:14px;padding:14px;box-sizing:border-box;overflow:hidden}
.gps22-menu{min-height:0;padding:12px;border:1px solid rgba(56,189,248,.2);border-radius:18px;background:linear-gradient(180deg,rgba(8,25,45,.96),rgba(3,12,26,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);display:flex;flex-direction:column;gap:8px;overflow:auto}
.gps22-menu-titulo{padding:7px 8px 13px;border-bottom:1px solid rgba(125,211,252,.13);margin-bottom:2px}.gps22-menu-titulo span{display:block;color:#22d3ee;font-size:.59rem;font-weight:900;letter-spacing:.15em}.gps22-menu-titulo strong{display:block;margin-top:5px;color:#f8fdff;font-size:1rem}.gps22-menu-titulo small{display:block;margin-top:3px;color:#779db3;font-size:.67rem}
.gps22-menu-item{width:100%;min-height:69px;padding:10px 10px;border:1px solid transparent;border-radius:14px;background:rgba(4,15,30,.55);color:#d7effa;display:grid;grid-template-columns:38px minmax(0,1fr) 14px;gap:9px;align-items:center;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.gps22-menu-item:hover{transform:translateX(2px);border-color:rgba(34,211,238,.32);background:rgba(8,37,59,.76)}.gps22-menu-item.activo{border-color:rgba(34,211,238,.65);background:linear-gradient(100deg,rgba(6,182,212,.2),rgba(14,165,233,.08));box-shadow:0 0 22px rgba(6,182,212,.1),inset 3px 0 0 #22d3ee}.gps22-menu-icono{width:36px;height:36px;border-radius:11px;border:1px solid rgba(56,189,248,.31);background:rgba(14,165,233,.11);color:#67e8f9;display:grid;place-items:center;font-size:1.08rem;font-weight:900}.gps22-menu-item strong{display:block;color:#f4fbff;font-size:.74rem;line-height:1.18}.gps22-menu-item small{display:block;margin-top:4px;color:#7599ae;font-size:.59rem}.gps22-menu-item i{color:#4dd7ef;font-style:normal;font-size:1.2rem}
.gps22-presentacion{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(385px,430px);overflow:hidden;border:1px solid rgba(56,189,248,.23);border-radius:20px;background:#030d1d;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.gps22-imagen-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#020817}.gps22-imagen-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 58%,rgba(3,13,29,.92) 100%),linear-gradient(0deg,rgba(2,8,23,.48),transparent 38%)}.gps22-imagen-wrap img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:opacity .18s ease,transform .45s ease}.gps22-presentacion:hover .gps22-imagen-wrap img{transform:scale(1.012)}
.gps22-informacion{position:relative;z-index:2;min-width:0;padding:clamp(20px,2.4vw,36px) clamp(20px,2.4vw,34px) 22px;margin-left:-1px;background:linear-gradient(145deg,rgba(3,13,29,.99),rgba(5,22,40,.99));display:flex!important;visibility:visible!important;opacity:1!important;flex-direction:column;justify-content:flex-start;overflow:hidden}.gps22-etiqueta{display:inline-flex;align-self:flex-start;padding:6px 9px;border:1px solid rgba(34,211,238,.35);border-radius:999px;background:rgba(6,182,212,.09);color:#67e8f9;font-size:.59rem;font-weight:900;letter-spacing:.13em}.gps22-informacion h3{margin:12px 0 7px!important;color:#fff!important;font-size:clamp(1.4rem,2vw,2rem)!important;line-height:1.05!important}.gps22-informacion>p{margin:0 0 13px!important;color:#a6c4d4!important;font-size:.74rem!important;line-height:1.45!important}.gps22-subtitulo{display:block!important;margin:0 0 4px;color:#67e8f9!important;font-size:.58rem!important;letter-spacing:.14em!important}
.gps22-especificaciones{display:grid!important;visibility:visible!important;opacity:1!important;gap:4px;flex:0 0 auto}.gps22-especificacion{display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;align-items:center;min-height:34px;padding:5px 0;border-bottom:1px solid rgba(125,211,252,.1);color:#cce9f5;font-size:.69rem;line-height:1.28}.gps22-especificacion b{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(6,182,212,.12);color:#67e8f9;font-size:.62rem}
.gps22-indicadores{display:grid!important;visibility:visible!important;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.gps22-indicador{min-width:0;padding:8px 6px;border:1px solid rgba(56,189,248,.16);border-radius:11px;background:rgba(4,17,33,.78);text-align:center}.gps22-indicador strong{display:block;color:#f4fcff;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps22-indicador span{display:block;margin-top:3px;color:#7096ab;font-size:.48rem;text-transform:uppercase;letter-spacing:.04em}
#modalGps .gps22-ingresar{position:relative!important;z-index:5!important;width:100%!important;min-height:48px!important;flex:0 0 48px!important;margin-top:auto!important;border:1px solid #a5f3fc!important;border-radius:13px!important;background:linear-gradient(120deg,#22d3ee,#0ea5e9)!important;box-shadow:0 9px 30px rgba(6,182,212,.28)!important;color:#00131d!important;padding:0 15px!important;display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:space-between!important;font-size:.66rem!important;font-weight:950!important;letter-spacing:.055em!important;cursor:pointer!important}.gps22-ingresar:hover{filter:brightness(1.08);transform:translateY(-1px)}.gps22-ingresar i{font-style:normal;font-size:1.15rem}.gps22-disparadores{display:none!important}

/* Las vistas administrativas GPS ocupan el viewport real, sin columnas cortadas. */
#modalGpsPlanificador:not(.oculto),#modalHistorialMarcasGps:not(.oculto){display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;z-index:1000000!important;background:rgba(0,0,0,.78)!important;backdrop-filter:blur(11px)}
#modalGpsPlanificador:not(.oculto)>.gps21-shell,#modalHistorialMarcasGps:not(.oculto)>.gps21-shell{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;transform:none!important}
.gps21-shell{width:100vw;height:100dvh;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:radial-gradient(circle at 16% 5%,rgba(14,165,233,.18),transparent 34%),linear-gradient(145deg,#020617,#071323 60%,#020817)!important;color:#eaf8ff!important}
.gps21-header{height:74px;min-height:74px;box-sizing:border-box;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(125,211,252,.2);background:rgba(2,6,23,.84)}
.gps21-header h2{margin:2px 0 0!important;color:#fff!important;font-size:1.35rem!important}.gps21-header p{margin:5px 0 0!important;color:#9fb9cc!important;font-size:.78rem!important}
.gps21-tag{display:block;color:#22d3ee;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.gps21-btn{border:1px solid rgba(34,211,238,.55);border-radius:13px;background:rgba(8,23,42,.82);color:#dffaff;padding:10px 15px;font-weight:850;cursor:pointer}.gps21-btn:hover{border-color:#22d3ee;background:rgba(8,47,73,.76)}.gps21-btn.primary{border-color:#22d3ee;background:linear-gradient(135deg,#06b6d4,#0ea5e9);color:#00121b}.gps21-btn.success{border-color:#34d399;background:linear-gradient(135deg,#10b981,#22d3ee);color:#001713}.gps21-btn:disabled{opacity:.45;cursor:not-allowed}
.gps21-layout{width:100%;height:calc(100dvh - 74px);display:grid;grid-template-columns:minmax(270px,.8fr) minmax(340px,1fr) minmax(470px,1.55fr);overflow:hidden}
.gps21-panel{min-width:0;min-height:0;overflow:auto;padding:14px;border-right:1px solid rgba(125,211,252,.15);box-sizing:border-box}.gps21-panel:last-child{border-right:0;padding:0}
.gps21-section{border:1px solid rgba(125,211,252,.18);background:rgba(8,19,36,.72);border-radius:18px;padding:14px;margin-bottom:12px}.gps21-section h3{margin:0 0 11px;color:#fff;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em}
.gps21-field{display:grid;gap:5px;margin-bottom:10px}.gps21-field label{color:#9fc7dc;font-size:.67rem;font-weight:800;text-transform:uppercase}
.gps21-input{width:100%;box-sizing:border-box;border:1px solid rgba(125,211,252,.25);border-radius:11px;background:#050d1c;color:#eaf8ff;padding:10px 11px;outline:none;font-size:.79rem}.gps21-input:focus{border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.09)}
.gps21-check{display:flex;align-items:center;gap:8px;color:#cbe7f4;font-size:.75rem}.gps21-check input{accent-color:#06b6d4}.gps21-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gps21-status{margin-top:10px;border-radius:12px;padding:9px 11px;background:rgba(2,132,199,.1);border:1px solid rgba(56,189,248,.18);color:#bdefff;font-size:.71rem;line-height:1.38}.gps21-status.error{border-color:rgba(248,113,113,.35);background:rgba(127,29,29,.18);color:#fecaca}.gps21-status.ok{border-color:rgba(52,211,153,.32);background:rgba(6,78,59,.2);color:#a7f3d0}
.gps21-list{display:grid;gap:8px;margin-top:10px}.gps21-place,.gps21-stop{border:1px solid rgba(125,211,252,.17);border-radius:14px;background:linear-gradient(145deg,rgba(15,31,51,.82),rgba(5,13,28,.84));padding:10px;color:#dff7ff}
.gps21-place{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;cursor:pointer;text-align:left}.gps21-place:hover{border-color:#22d3ee}.gps21-place strong,.gps21-stop strong{display:block;font-size:.77rem;color:#fff}.gps21-place small,.gps21-stop small{display:block;margin-top:3px;color:#88a9bd;font-size:.63rem}.gps21-type{display:inline-flex;margin-bottom:4px;border-radius:999px;padding:3px 7px;background:rgba(14,165,233,.13);color:#7dd3fc;font-size:.54rem;font-weight:900;text-transform:uppercase}
.gps21-add{width:30px;height:30px;border:1px solid rgba(34,211,238,.38);border-radius:10px;background:rgba(6,182,212,.11);color:#67e8f9;font-size:1rem}.gps21-stop-top{display:flex;justify-content:space-between;gap:7px}.gps21-mini{border:1px solid rgba(125,211,252,.25);border-radius:8px;background:#050d1c;color:#bae6fd;padding:5px 7px;cursor:pointer;font-size:.62rem}.gps21-mini.danger{color:#fca5a5;border-color:rgba(248,113,113,.3)}
.gps21-stop-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.gps21-stop-fields label{font-size:.57rem;color:#8fb4c8;text-transform:uppercase}.gps21-stop-fields input{margin-top:4px;padding:7px 8px}.gps21-coord{margin-top:7px;font-size:.59rem;color:#86efac}.gps21-coord.missing{color:#fcd34d}
.gps21-map{height:56%;min-height:310px;position:relative;border-bottom:1px solid rgba(125,211,252,.15);background:#0b1929}#gpsPlanMapa{position:absolute;inset:0;width:100%;height:100%}.gps21-hint{position:absolute;left:12px;top:12px;z-index:5;max-width:360px;padding:8px 10px;border-radius:11px;background:rgba(2,6,23,.88);border:1px solid rgba(34,211,238,.34);color:#d7f8ff;font-size:.66rem}
.gps21-result{height:44%;overflow:auto;padding:15px;box-sizing:border-box}.gps21-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.gps21-summary div{border:1px solid rgba(125,211,252,.16);border-radius:13px;background:rgba(8,23,42,.72);padding:10px}.gps21-summary strong{display:block;color:#fff;font-size:1rem}.gps21-summary span{color:#89aabd;font-size:.57rem;text-transform:uppercase}
.gps21-order{display:grid;gap:7px}.gps21-order-item{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;border:1px solid rgba(125,211,252,.14);border-radius:12px;padding:9px;background:rgba(8,18,33,.68)}.gps21-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #22d3ee;color:#67e8f9;font-weight:900;font-size:.7rem}.gps21-order-item strong{font-size:.71rem}.gps21-order-item small{display:block;color:#86a8bb;font-size:.59rem;margin-top:2px}.gps21-time{color:#67e8f9;font-size:.67rem;font-weight:800}.gps21-empty{padding:24px 16px;text-align:center;border:1px dashed rgba(125,211,252,.24);border-radius:16px;color:#9db8c8;background:rgba(8,20,37,.56)}
.gps21-hist-main{height:calc(100dvh - 74px);overflow:auto;padding:16px 20px 32px;box-sizing:border-box}.gps21-hist-filters{display:grid;grid-template-columns:190px 190px minmax(240px,1fr);gap:9px;margin-bottom:12px}.gps21-hist-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px}.gps21-hist-summary div{border:1px solid rgba(125,211,252,.18);border-radius:15px;padding:12px;background:rgba(8,21,39,.73)}.gps21-hist-summary strong{display:block;font-size:1.25rem;color:#fff}.gps21-hist-summary span{font-size:.6rem;color:#91b2c5;text-transform:uppercase}.gps21-hist-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.gps21-mark{border:1px solid rgba(125,211,252,.18);border-radius:16px;padding:13px;background:linear-gradient(145deg,rgba(12,29,48,.83),rgba(4,12,26,.88))}.gps21-mark h3{margin:0;color:#fff;font-size:.87rem}.gps21-mark p{margin:6px 0 0;color:#aac9da;font-size:.67rem}.gps21-mark b{color:#67e8f9}
@media(max-width:1180px) and (min-width:821px){.gps22-centro{grid-template-columns:238px minmax(0,1fr);gap:10px;padding:10px}.gps22-presentacion{grid-template-columns:minmax(0,1fr) minmax(350px,390px)}.gps22-informacion{padding:18px}.gps22-menu-item{min-height:62px}.gps21-layout{grid-template-columns:minmax(255px,.8fr) minmax(315px,1fr) minmax(410px,1.35fr)}}
@media(max-height:760px) and (min-width:821px){#modalGps .modal-gps-carpetas>.modal-header-pro{min-height:68px!important;padding:9px 16px!important}.modal-gps-carpetas>.modal-header-pro .nota{display:none!important}.gps22-centro{padding:9px}.gps22-menu{padding:9px;gap:5px}.gps22-menu-titulo{padding:4px 7px 8px}.gps22-menu-item{min-height:53px;padding:7px 8px}.gps22-menu-icono{width:31px;height:31px}.gps22-informacion{padding:16px 21px}.gps22-informacion h3{margin:9px 0 5px!important}.gps22-informacion>p{margin-bottom:10px!important}.gps22-especificacion{padding:5px 0}.gps22-indicadores{margin:10px 0}.gps21-header{height:66px;min-height:66px;padding:9px 16px}.gps21-layout{height:calc(100dvh - 66px)}.gps21-section{padding:11px;margin-bottom:9px}.gps21-field{margin-bottom:7px}.gps21-input{padding:8px 9px}.gps21-map{height:58%;min-height:240px}.gps21-result{height:42%;padding:11px}.gps21-hist-main{height:calc(100dvh - 66px)}}
@media(max-width:820px){#modalGps:not(.oculto){padding:5px!important}#modalGps:not(.oculto)>.modal-gps-carpetas{border-radius:14px!important}#modalGps .modal-gps-carpetas>.modal-header-pro{min-height:66px!important;padding:9px 11px!important}.modal-gps-carpetas>.modal-header-pro .nota{display:none!important}.gps22-centro{display:block;padding:8px;overflow:auto}.gps22-menu{height:auto;overflow:visible;margin-bottom:9px}.gps22-menu-titulo{display:none}.gps22-menu-item{min-height:48px;grid-template-columns:34px minmax(0,1fr) 12px;padding:6px 8px}.gps22-menu-icono{width:31px;height:31px}.gps22-presentacion{min-height:620px;display:grid;grid-template-columns:1fr;grid-template-rows:250px auto}.gps22-imagen-wrap:after{background:linear-gradient(0deg,rgba(3,13,29,.8),transparent 38%)}.gps22-informacion{padding:18px;margin:0}.gps22-indicadores{margin:12px 0}.gps21-header{min-height:68px;padding:11px 13px}.gps21-header h2{font-size:1.04rem!important}.gps21-header p{display:none}.gps21-btn{padding:8px 10px;font-size:.69rem}.gps21-layout{height:calc(100vh - 68px);display:block;overflow:auto}.gps21-layout>.gps21-panel{display:none}.gps21-layout>.gps21-panel:last-child{display:block;height:100%;box-sizing:border-box}.gps21-layout>.gps21-panel:last-child:before{content:'La planificación se realiza desde la computadora. El colaborador recibe y completa el recorrido en la aplicación Android Software ESM.';display:block;border:1px solid rgba(34,211,238,.28);border-radius:16px;padding:16px;color:#c8f4ff;background:rgba(6,182,212,.08)}.gps21-layout>.gps21-panel:last-child>*{display:none}.gps21-hist-main{height:calc(100vh - 68px);padding:11px}.gps21-hist-filters,.gps21-hist-summary{grid-template-columns:1fr}.gps21-hist-list{grid-template-columns:1fr}}
