/* EntregáYa Mapa Pro v2: mejora aislada y progresiva de la vista existente. */
#v-ruta #r-mapa-wrap {position:relative;}
#v-ruta .mapa-caja {isolation:isolate;}
#v-ruta .mapa-caja:not(.full) {height:clamp(435px,66svh,680px)!important;}
#v-ruta .mapa-caja.full {height:100dvh!important;}
body.ruta-admin #v-ruta .mapa-caja:not(.full) {height:clamp(420px,62svh,720px)!important;}
#v-ruta .gm-pro-tabs{display:flex!important;z-index:510;top:12px;left:12px;right:70px;max-width:330px;justify-content:flex-start;}
#v-ruta .gm-pro-tabs button{background:#fff;color:#29415f;border-radius:12px;border:1px solid #d9e0eb;min-height:42px;font-size:12px;font-weight:800;padding:9px 11px;box-shadow:0 4px 14px rgba(10,33,70,.1)}
#v-ruta .gm-pro-tabs button[aria-pressed="true"]{color:#fff;background:#255bdf;border-color:#255bdf}
#v-ruta .mapa-caja .m-ctrl {top:76px;right:10px;z-index:520;gap:7px}
#v-ruta .mapa-caja.full .m-ctrl {top:calc(78px + env(safe-area-inset-top,0px))}
#v-ruta .mapa-caja .gm-driver-card {display:none!important}
#v-ruta .mapa-caja .gm-route-legend {display:none!important}
#v-ruta .mapa-caja .gm-pro-state:not([hidden]) {z-index:518;top:128px;bottom:auto;left:12px;max-width:calc(100% - 80px);font-size:11px;background:rgba(255,255,255,.95)}
#v-ruta .mapa-caja .gm-pro-state[hidden]{display:none!important}
#v-ruta .mapa-caja .gm-stop {font-size:14px;min-height:32px;min-width:32px;border:3px solid #fff;box-shadow:0 3px 12px rgba(16,24,40,.25);}
#v-ruta .mapa-caja .gm-stop.gm-next {background:#ea681e;min-height:41px;min-width:41px;z-index:5000}
#v-ruta .mapa-caja .gm-stop.gm-done{background:#16803c;opacity:.94}
#v-ruta .mapa-caja .gm-stop.gm-warning{background:#c07b13}
#v-ruta .mapa-caja .gm-stop.gm-rejected{background:#65758e;opacity:.9}
#v-ruta .mapa-caja .gm-stop.gm-selected {outline:3px solid #0e244c;outline-offset:3px}
#v-ruta .gm-toolbar{display:none!important}
#v-ruta #gm-status{font-size:11px;margin:4px 0;padding:4px 7px;max-width:100%;line-height:1.25}
#v-ruta .eymp-metrics {position:absolute;left:10px;right:72px;bottom:68px;z-index:520;width:max-content;max-width:calc(100% - 83px);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 4px 20px rgba(9,20,48,.14);border:1px solid #e1e6ee;color:#173054}
#v-ruta .eymp-metrics summary{min-height:43px;display:flex;align-items:center;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-ruta .eymp-metrics summary::-webkit-details-marker{display:none}
#v-ruta .eymp-metrics[open] {max-width:calc(100% - 20px);right:10px;width:auto}
#v-ruta .eymp-metrics .gm-pro-summary{position:static!important;display:block!important;max-width:100%!important;right:auto!important;left:auto!important;bottom:auto!important;background:#fff;border:none;box-shadow:none;margin:0;padding:10px 12px;white-space:normal;transform:none}
#v-ruta .eymp-metrics:not([open]) .gm-pro-summary{display:none!important}
#v-ruta .eymp-metrics .gm-pro-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
#v-ruta .eymp-metrics .gm-pro-stat strong{font-size:17px;line-height:1.2;color:#173054}
#v-ruta .eymp-metrics .gm-pro-stat span{font-size:11px;white-space:normal}
#v-ruta .mapa-caja.eymp-open .eymp-metrics{display:none}
#v-ruta .eymp-sheet{position:absolute;z-index:530;left:0;right:0;bottom:0;min-height:57px;max-height:calc(100% - 105px);border-radius:19px 19px 0 0;background:#fff;box-shadow:0 -5px 30px rgba(16,35,80,.22);color:#152a47;display:flex;flex-direction:column;overflow:hidden;transition:max-height .2s ease}
#v-ruta .eymp-sheet:not(.open){height:57px}
#v-ruta .eymp-sheet.open{height:min(62%,490px)}
#v-ruta .eymp-handle{height:56px;min-height:56px;background:#fff;color:#1b385b;border:none;border-top:4px solid #eef2f8;width:100%;font-size:14px;font-weight:850;text-align:left;padding:10px 16px;cursor:pointer}
#v-ruta .eymp-handle:focus-visible,#v-ruta .eymp-btn:focus-visible{outline:3px solid #e48a22;outline-offset:-3px}
#v-ruta .eymp-tabs{display:flex;gap:8px;padding:2px 12px 9px;flex-shrink:0}
#v-ruta .eymp-btn{border:1px solid #d7e1ef;background:#f8faff;color:#1e3e60;border-radius:10px;font-weight:750;min-height:39px;padding:8px 11px;cursor:pointer}
#v-ruta .eymp-tab{flex:1;white-space:nowrap}
#v-ruta .eymp-tab[aria-pressed="true"]{background:#e8efff;color:#174dd3;border-color:#b2c8fe}
#v-ruta .eymp-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 10px 8px;}
#v-ruta .eymp-item{display:flex;align-items:center;gap:9px;padding:10px 3px;border-top:1px solid #edf0f5;min-height:67px}
#v-ruta .eymp-number{flex:0 0 32px;width:32px;height:32px;border-radius:100%;display:flex;align-items:center;justify-content:center;background:#2760dd;color:white;font-weight:900;border:2px solid white;box-shadow:0 1px 5px #a7b5c9}
#v-ruta .eymp-number.is-next{background:#ef6a23}
#v-ruta .eymp-number.is-done{background:#13834c}
#v-ruta .eymp-number.is-warning{background:#c18419}
#v-ruta .eymp-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#v-ruta .eymp-name b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-ruta .eymp-name small{font-size:10px;color:#5d6f87;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#v-ruta .eymp-item-actions{display:flex;gap:4px;flex-shrink:0;align-items:center}
#v-ruta .eymp-item-actions .eymp-btn{font-size:11px;min-height:38px;padding:5px 7px;border-radius:9px}
#v-ruta .eymp-item-actions .eymp-icon{font-size:16px}
#v-ruta .eymp-item-actions .eymp-green{background:#ecfdf4;color:#0b7b3d;border-color:#bde8d0;font-size:16px}
#v-ruta .eymp-item-actions .eymp-arrow{background:#f4f6fc;padding:4px 7px}
#v-ruta .eymp-actions{display:flex;gap:8px;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #edf0f5;flex-shrink:0}
#v-ruta .eymp-actions[hidden]{display:none!important}
#v-ruta .eymp-actions button{flex:1;font-size:12px}
#v-ruta .eymp-empty{font-size:13px;padding:16px;color:#697a93;text-align:center}
#v-ruta .mapa-caja.full .eymp-sheet{padding-bottom:env(safe-area-inset-bottom,0px)}
#v-ruta .mapa-caja.full .eymp-sheet.open{height:min(60%,600px)}
body.del-activa #v-ruta .mapa-caja .gm-pro-tabs{display:flex!important;grid-template-columns:none;left:10px;right:72px;max-width:330px;top:12px}
body.del-activa #v-ruta .mapa-caja:not(.full){height:clamp(435px,66svh,680px)!important}
body.ruta-admin #v-ruta .ruta-hoja .note{font-size:12px}
@media(max-width:390px){#v-ruta .gm-pro-tabs button{font-size:10px;padding:8px 7px}
 #v-ruta .eymp-item-actions .eymp-btn{padding:5px 6px}
 #v-ruta .eymp-item{gap:5px}
 #v-ruta .eymp-name b{font-size:12px}
 #v-ruta .eymp-metrics{right:66px;max-width:calc(100% - 77px)} }
@media(prefers-reduced-motion:reduce){#v-ruta .eymp-sheet{transition:none}}
#v-ruta .eymp-sheet:not(.open) > :not(.eymp-handle){display:none!important}

/* El detalle se superpone al mapa ampliado; cerrarlo regresa al mapa sin reiniciar. */
body.mapa-full #sh-det{z-index:110!important}

/* Mapa Pro v3: leyenda sencilla y numeración coherente con el mapa. */
#v-ruta .eymp-legend{font-size:10px;color:#50627d;padding:3px 13px 9px;border-bottom:1px solid #ebeff5;flex-shrink:0;line-height:1.5;}
#v-ruta .eymp-number{font-variant-numeric:tabular-nums}
#v-ruta .eymp-item:has(.eymp-number) .eymp-number{color:#fff}
#v-ruta .eymp-item .eymp-number:not(.is-next):not(.is-pending):not(.is-warning):not(.is-done){background:#65758e}

/* Mapa Pro v4: contacto y posición libre con menú del teléfono */
#v-ruta .eymp-position{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#2862de;color:#fff;font-size:14px;font-weight:900;text-align:center;text-align-last:center;border:2px solid #fff;box-shadow:0 1px 7px #7789a450;appearance:auto;padding:0 0 0 3px;cursor:pointer}
#v-ruta .eymp-position.is-next{background:#ed731e}
#v-ruta .eymp-position:focus-visible{outline:3px solid #e48a22;outline-offset:2px}
#v-ruta .eymp-item{flex-wrap:wrap;gap:5px 8px;min-height:72px}
#v-ruta .eymp-item-actions{flex-basis:100%;justify-content:flex-end;min-width:0;gap:6px}
#v-ruta .eymp-item-actions .eymp-btn{min-height:41px;font-size:12px}
#v-ruta .eymp-item-actions .eymp-whatsapp{display:inline-flex;align-items:center;justify-content:center;background:#e6f8ec;color:#0b713d;border:1px solid #8fd5ae;text-decoration:none;font-weight:850;padding:8px 11px}
#v-ruta .eymp-no-tel{color:#85919f;font-size:11px;padding:8px}
#v-ruta .eymp-name small{white-space:normal}
