/* BuscaYa · Remises en vivo (up89): mapa público, panel de choferes y pantalla del chofer */
.rv-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:10px 0 16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.rv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.rv-h h3{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:6px}
.rv-upd{margin-left:auto}
.rv-live{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(15,138,69,.5);animation:rvpulse 1.8s infinite}
@keyframes rvpulse{0%{box-shadow:0 0 0 0 rgba(15,138,69,.5)}70%{box-shadow:0 0 0 9px rgba(15,138,69,0)}100%{box-shadow:0 0 0 0 rgba(15,138,69,0)}}
.rv-map{height:300px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);z-index:0}
.rv-pin{width:34px;height:34px;border-radius:50%;background:#ffde59;border:2px solid #1c1d21;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.rv-pin .ic{width:18px;height:18px;color:#1c1d21}
.rv-me{width:18px;height:18px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 2px rgba(37,99,235,.35)}
.rv-me.zona{background:#5f6470}
.rv-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.rv-it{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);transition:background .3s}
.rv-it.hl{background:#fff7cc}
.rv-ava{flex:none;width:40px;height:40px;border-radius:50%;background:#ffde59;display:grid;place-items:center;color:#1c1d21}
.rv-ava .ic{width:20px;height:20px}
.rv-it-t{display:flex;flex-direction:column;min-width:0;flex:1}
.rv-it-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-2);margin-top:2px}
.rv-meta span{display:inline-flex;align-items:center;gap:3px}.rv-meta .ic{width:13px;height:13px}
.rv-km{font-weight:700;color:var(--ink)}
.rv-acts{display:flex;gap:6px;flex:none}
.rv-empty{display:flex;gap:12px;align-items:center;padding:14px;background:var(--line-2);border-radius:var(--r-sm)}
.rv-empty p{margin:2px 0 0}
.rv-note{margin:10px 0 0}
.rv-note .linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--primary,#1d4ed8);text-decoration:underline;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
@media (max-width:560px){.rv-map{height:240px}.rv-it{flex-wrap:wrap}.rv-acts{width:100%}.rv-acts .btn{flex:1}}
/* panel de la remisería */
.rv-intro{display:flex;gap:12px;align-items:flex-start}.rv-intro h2{margin:0 0 4px}.rv-intro p{margin:0}
.rv-link{border-color:#e9c800;background:#fffbe6}.rv-link h3{margin:0 0 4px;display:flex;gap:6px;align-items:center}
.rv-copy{display:flex;gap:8px;flex-wrap:wrap}.rv-copy input{flex:1;min-width:220px;font-size:14px}
.rv-row{border-bottom:1px solid var(--line)}.rv-row:last-child{border-bottom:0}
.rv-row summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;cursor:pointer;list-style:none}
.rv-row summary::-webkit-details-marker{display:none}
.rv-form{padding:0 14px 14px}
.rv-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#b6bac2;display:inline-block}
.rv-dot.libre{background:var(--ok)}.rv-dot.ocupado{background:#e0a100}.rv-dot.fuera,.rv-dot.baja{background:#b6bac2}
/* pantalla del chofer */
.rv-drv-wrap{max-width:520px}
.rv-drv{display:flex;flex-direction:column;gap:14px;padding:14px 0 30px}
.rv-who{display:flex;gap:12px;align-items:center}.rv-who div{display:flex;flex-direction:column}.rv-who b{font-size:1.1rem}
.rv-big{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:190px;border-radius:24px;border:3px solid #1c1d21;background:#fff;color:#1c1d21;font:inherit;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.08);transition:background .2s}
.rv-big-ico .ic{width:46px;height:46px}
.rv-big-t{font-size:1.7rem;font-weight:700}.rv-big-s{font-size:.9rem;color:var(--ink-2)}
.rv-big.on{background:#ffde59}.rv-big.on .rv-big-ico{color:var(--ok)}
.rv-big.busy{background:#ffe9a8}
.rv-busy{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border-radius:16px;border:2px solid #1c1d21;background:#fff;font:inherit;font-size:1.1rem;font-weight:700;cursor:pointer}
.rv-busy .ic{width:22px;height:22px}
.rv-busy.on{background:#1c1d21;color:#ffde59}.rv-busy:disabled{opacity:.45;cursor:not-allowed}
.rv-stat{display:flex;gap:8px;align-items:center;font-weight:600}
.rv-warn{display:flex;gap:10px;align-items:flex-start;background:#fff3d6;border:1px solid #f0d48a;color:#4a3500;border-radius:var(--r-sm);padding:12px;font-size:.92rem}
.rv-warn .ic{flex:none;width:22px;height:22px;margin-top:2px}
/* admin */
.rv-adm td,.rv-adm th{vertical-align:middle}
.rv-box [hidden]{display:none!important}
.rv-empty .empty-ico{flex:none;width:46px;height:46px;border-radius:50%;background:#fff6cc;display:grid;place-items:center}

/* up91 · modo manual (Libre/Ocupado sin pantalla abierta) y ocupados en gris */
.rv-pin{position:relative}.rv-pin.man{border-style:dashed}
.rv-pin.oc{background:#d5d8dd;border-color:#6b6f78}.rv-pin.oc .ic{color:#55595f}
.rv-pin-l{position:absolute;left:50%;top:36px;transform:translateX(-50%);background:#6b6f78;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:8px;white-space:nowrap}
.rv-tag{display:inline-block;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:9px;vertical-align:middle;margin-left:4px}
.rv-tag.vivo{background:#ffde59;color:#1c1d21}.rv-tag.oc{background:#6b6f78;color:#fff}
.rv-it.oc{background:#f3f4f6;color:#6b6f78}.rv-it.oc .rv-ava{filter:grayscale(1);opacity:.6}
.rv-ocmsg{display:inline-flex;align-items:center;gap:4px}.rv-ocmsg .ic{width:14px;height:14px}
.rv-mode{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}
.rv-mode-h{display:flex;align-items:center;gap:6px;font-size:1.05rem;margin:0;flex-wrap:wrap}.rv-mode-h span{font-weight:400;color:var(--ink-2);font-size:.9rem}.rv-mode-h .ic{width:18px;height:18px}
.rv-mode-p{margin:0}.rv-mode .rv-big{min-height:150px}
.rv-man{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rv-mbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border-radius:16px;border:2px solid #1c1d21;background:#fff;font:inherit;font-size:1.15rem;font-weight:700;cursor:pointer;color:#1c1d21}
.rv-mbtn .ic{width:22px;height:22px}
.rv-mbtn.libre.on{background:#ffde59}.rv-mbtn.ocupado.on{background:#6b6f78;border-color:#6b6f78;color:#fff}
.rv-moff{align-self:flex-start}
.rv-modo{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:9px;background:#eef0f3;color:#3a3d44}.rv-modo.vivo{background:#ffde59;color:#1c1d21}
.rv-dot.ocupado{background:#8a8f98}
/* up92 · pin manual del chofer y barra de instalación oculta en la pantalla del chofer */
.rv-drv-body #pwaBar,.rv-drv-body .pwa-bar{display:none!important}
.rv-pinbox{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px dashed #d9c34a;border-radius:14px;background:#fffbe6}
.rv-pinbox[hidden]{display:none}
.rv-pin-h{display:flex;align-items:center;gap:6px;margin:0}.rv-pin-h .ic{width:18px;height:18px}
.rv-pin-p{margin:0}
.rv-pinmap{height:240px;border-radius:12px;overflow:hidden;border:1px solid var(--line);z-index:0}
.rv-pin-acts{display:flex;gap:8px;flex-wrap:wrap}
.rv-pin-drv{width:38px;height:38px;cursor:grab}
.rv-adm .rv-mano{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:9px;background:#ffde59;color:#1c1d21}
/* up93 · Pedir remis, viaje del cliente y pedido entrante del chofer */
.rv-pedir,.rv-dlg .btn-primary,.rv-vj .btn-primary,.rv-vjd .btn-primary{background:#ffde59;color:#1c1d21;border:1.5px solid #1c1d21;font-weight:700}
.rv-pedir:hover,.rv-dlg .btn-primary:hover,.rv-vj .btn-primary:hover,.rv-vjd .btn-primary:hover{background:#ffd400}
.rv-org{width:30px;height:30px;border-radius:50%;background:#1c1d21;border:3px solid #ffde59;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.rv-org .ic{width:15px;height:15px;color:#ffde59}
.rv-dlg-open{overflow:hidden}
.rv-dlg{position:fixed;inset:0;z-index:2000;background:rgba(20,20,24,.55);display:flex;align-items:flex-end;justify-content:center;font-family:Questrial,system-ui,sans-serif}
.rv-dlg-in{background:#fff;width:100%;max-width:520px;max-height:94vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px 16px 20px;display:flex;flex-direction:column;gap:10px}
@media(min-width:700px){.rv-dlg{align-items:center}.rv-dlg-in{border-radius:18px}}
.rv-dlg-h{display:flex;align-items:center;justify-content:space-between}.rv-dlg-h h3{margin:0;display:flex;gap:8px;align-items:center}
.rv-dlg-x{border:0;background:#f0f1f3;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}
.rv-dlg-in p{margin:0}
.rv-f{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:14px}
.rv-f input{font:inherit;font-weight:400;padding:10px 12px;border:1.5px solid #d6d8dd;border-radius:10px}
.rv-f input:focus{outline:2px solid #ffde59;border-color:#1c1d21}
.rv-dlg-map{height:210px;border-radius:12px;border:1px solid #e6e7ea;margin-top:2px}
.rv-dlg-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-weight:400}
.rv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-dlg-err{color:#c42b1c;background:#fde8e6;border-radius:8px;padding:8px 10px}
.rv-dlg-send{width:100%;justify-content:center;padding:12px}
.rv-vj{display:flex;flex-direction:column;gap:12px}
.rv-vj-head{display:flex;gap:10px;align-items:center}.rv-vj-head>div{display:flex;flex-direction:column}
.rv-vj-st{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e6e7ea;border-radius:14px;padding:12px 14px}
.rv-vj-badge{align-self:flex-start;font-weight:700;font-size:13px;padding:3px 10px;border-radius:999px;background:#ffde59;color:#1c1d21}
.rv-vj-badge.aceptado{background:#1c1d21;color:#ffde59}.rv-vj-badge.llego{background:#0f8a45;color:#fff}.rv-vj-badge.terminado{background:#e3f6ea;color:#0f8a45}
.rv-vj-badge.rechazado,.rv-vj-badge.vencido,.rv-vj-badge.cancelado_cli,.rv-vj-badge.cancelado_chofer,.rv-vj-badge.cerrado_auto{background:#e6e7ea;color:#4a4d55}
.rv-vj-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rv-vj-nums>div{background:#fff;border:1px solid #e6e7ea;border-radius:12px;padding:8px 10px;display:flex;flex-direction:column}
.rv-vj-nums small{color:#5f6470}.rv-vj-nums b{font-size:18px;display:flex;align-items:center;gap:6px}
.rv-live-dot{width:9px;height:9px;border-radius:50%;background:#0f8a45;box-shadow:0 0 0 3px rgba(15,138,69,.2)}
.rv-vj-map{height:320px;border-radius:14px;border:1px solid #e6e7ea}
.rv-vj-acts{display:flex;gap:8px;flex-wrap:wrap}.rv-vj-acts .btn{flex:1;justify-content:center;min-width:140px}
.rv-vj-note{display:flex;gap:6px;align-items:flex-start;background:#fff8d6;border-radius:10px;padding:8px 10px}
.rv-car{width:38px;height:38px}
.rv-vjd{background:#fff;border:2px solid #1c1d21;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 24px rgba(0,0,0,.18);margin-bottom:14px}
.rv-vjd.pendiente{background:#fffbe6;animation:rvPulse 1.2s ease-in-out infinite}
@keyframes rvPulse{50%{box-shadow:0 0 0 6px rgba(255,222,89,.6)}}
@media (prefers-reduced-motion:reduce){.rv-vjd.pendiente{animation:none}}
.rv-vjd-top{display:flex;justify-content:space-between;align-items:center}.rv-vjd-top h2{margin:0;font-size:19px;display:flex;gap:8px;align-items:center}
.rv-vjd-timer{font-weight:700;font-size:20px;background:#1c1d21;color:#ffde59;border-radius:10px;padding:2px 10px;min-width:56px;text-align:center}
.rv-vjd-timer:empty{display:none}
.rv-vjd p{margin:0}.rv-vjd-who{font-size:17px}
.rv-vjd-map{height:200px;border-radius:12px;border:1px solid #e6e7ea}
.rv-vjd-tel,.rv-vjd-acts{display:flex;gap:8px;flex-wrap:wrap}
.rv-vjd-acts .btn{flex:1;justify-content:center;padding:13px;font-size:16px}
.rv-vjd-last{background:#e8efff;border-radius:10px;padding:8px 12px;margin-bottom:10px}
.rv-push .btn.on{background:#e3f6ea;border-color:#0f8a45;color:#0f8a45}
.rv-vjst{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#e6e7ea;color:#4a4d55;white-space:nowrap}
.rv-vjst.pendiente{background:#ffde59;color:#1c1d21}.rv-vjst.aceptado,.rv-vjst.llego{background:#1c1d21;color:#ffde59}.rv-vjst.terminado{background:#e3f6ea;color:#0f8a45}
.rv-vjd[hidden],.rv-vjd [hidden],.rv-vj [hidden],.rv-dlg [hidden],.rv-vjd-last[hidden]{display:none!important}
.rv-vjd{scroll-margin-top:90px}
/* up94 · Mapas debajo del header fijo: cada mapa arma su propio contexto de apilado (los panes de Leaflet usan z-index 400-1000) */
.rv-map,.rv-pinmap,.rv-vj-map,.rv-vjd-map,.rv-dlg-map,.rv-nav-wrap{position:relative;z-index:0;isolation:isolate}
.rv-drv-body .hdr,.rv-vj-body .hdr{z-index:1100}
/* up94 · Activar sonido */
.rv-snd{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#1c1d21;color:#ffde59;border:0;border-radius:14px;padding:12px 14px;margin:0 0 12px;font:inherit;font-family:Questrial,system-ui,sans-serif;cursor:pointer;animation:rvSndP 1.6s ease-in-out infinite}
.rv-snd .ic{width:28px;height:28px;flex:none}.rv-snd span{display:flex;flex-direction:column}.rv-snd small{color:#fff;opacity:.85}
.rv-snd[hidden]{display:none}
@keyframes rvSndP{0%,100%{box-shadow:0 0 0 0 rgba(255,222,89,.7)}50%{box-shadow:0 0 0 8px rgba(255,222,89,0)}}
/* up94 · Aviso de viaje a pantalla completa */
html.rv-alrt-open,html.rv-alrt-open body{overflow:hidden}
.rv-alrt{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(28,29,33,.86);font-family:Questrial,system-ui,sans-serif;animation:rvFlash 1s steps(2,end) infinite}
.rv-alrt[hidden]{display:none}
@keyframes rvFlash{0%{background:rgba(28,29,33,.86)}100%{background:rgba(120,96,0,.86)}}
.rv-alrt-card{background:#ffde59;color:#1c1d21;border-radius:22px;padding:22px 18px 18px;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.rv-ring{animation:rvBump 1.3s ease-in-out infinite}
@keyframes rvBump{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.rv-alrt h2{margin:0;font-size:28px;display:flex;align-items:center;gap:10px}.rv-alrt h2 .ic{width:30px;height:30px;animation:rvShake .5s ease-in-out infinite}
@keyframes rvShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(18deg)}}
.rv-ring{position:relative;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rv-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.rv-ring circle{fill:none;stroke-width:10}.rv-ring-bg{stroke:rgba(28,29,33,.15)}.rv-ring-fg{stroke:#1c1d21;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.rv-ring b{font-size:54px;line-height:1}.rv-ring small{font-size:13px}
.rv-alrt-last .rv-ring-fg{stroke:#c0281b}.rv-alrt-last .rv-ring b{color:#c0281b}
.rv-alrt-who{margin:0;font-size:20px;display:flex;flex-direction:column}.rv-alrt-who span{font-size:16px}
.rv-alrt-dest{margin:0;background:rgba(255,255,255,.6);border-radius:10px;padding:6px 10px}
.rv-alrt-acts{display:flex;gap:10px;width:100%;margin-top:4px}
.rv-alrt-acts .btn{flex:1;justify-content:center;font-size:19px;padding:16px 10px;border-radius:14px;font-weight:700}
.rv-alrt-ok{background:#0f8a45;color:#fff;border:0}.rv-alrt-no{background:#fff;color:#1c1d21;border:1.5px solid #1c1d21}
.rv-alrt-mute{display:flex;align-items:center;gap:8px;background:#1c1d21;color:#ffde59;border:0;border-radius:999px;padding:10px 16px;font:inherit;cursor:pointer}
.rv-alrt-mute[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.rv-alrt,.rv-ring,.rv-alrt h2 .ic,.rv-snd{animation:none}}
/* up94 · Cómo llegar dentro de BuscaYa */
.rv-nav-wrap .rv-vjd-map{height:300px}
.rv-recenter{position:absolute;right:10px;bottom:24px;z-index:1000;width:44px;height:44px;border-radius:50%;border:1.5px solid #1c1d21;background:#ffde59;color:#1c1d21;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);cursor:pointer}
.rv-recenter.off{background:#fff}.rv-recenter[hidden]{display:none}
.rv-nav{display:flex;flex-direction:column;gap:8px;font-family:Questrial,system-ui,sans-serif}
.rv-nav[hidden]{display:none}
.rv-nav-next{display:flex;align-items:center;gap:12px;background:#1c1d21;color:#fff;border-radius:14px;padding:12px 14px}
.rv-nav-next>div{display:flex;flex-direction:column}.rv-nav-next b{font-size:18px}.rv-nav-next small{color:#ffde59}
.rv-nav-ico{flex:none;width:44px;height:44px;border-radius:12px;background:#ffde59;color:#1c1d21;display:flex;align-items:center;justify-content:center}.rv-nav-ico .ic{width:26px;height:26px}
.rv-nav-sum{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rv-nav-tg{background:none;border:1px solid #d6d8dd;border-radius:999px;padding:5px 12px;font:inherit;cursor:pointer}
.rv-nav-list{margin:0;padding:0;list-style:none;border:1px solid #e6e7ea;border-radius:12px;max-height:240px;overflow:auto}
.rv-nav-list[hidden]{display:none}
.rv-nav-list li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #f0f1f3}.rv-nav-list li:first-child{border-top:0}
.rv-nav-list li span{flex:1}.rv-nav-list li small{color:#5f6470;white-space:nowrap}
.rv-nav-foot{margin:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between}.rv-nav-foot a{color:#5f6470;display:inline-flex;gap:4px;align-items:center}
.rv-vj-ruta{display:flex;gap:8px;align-items:center;margin:0;background:#fff;border:1px solid #e6e7ea;border-radius:10px;padding:8px 10px}
.rv-vj-ruta[hidden]{display:none}
/* up96: vincular la app instalada con código */
.rv-link{max-width:520px;margin:0 auto}.rv-link-h{display:flex;gap:12px;align-items:flex-start}.rv-link-h h3{margin:0 0 4px}.rv-link-h .empty-ico{flex:none}
.rv-code-form{display:grid;gap:10px;margin:16px 0 12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fffbea}
.rv-code-form label{display:grid;gap:4px}.rv-code-form label>b{display:flex;align-items:center;gap:6px}
.rv-code-form input{font-size:28px;letter-spacing:.18em;text-align:center;padding:12px;border:2px solid var(--line);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;width:100%;box-sizing:border-box}
.rv-code-form input:focus{outline:none;border-color:#1c1d21;box-shadow:0 0 0 3px #ffde59}
.rv-code-form .btn{width:100%;justify-content:center;min-height:48px}
.rv-code-msg{margin:0;min-height:1.2em}.rv-code-msg.err{color:#b42318}
.rv-code-box{display:flex;flex-direction:column;align-items:center;gap:4px;margin:10px 0;padding:14px;border-radius:var(--r-sm);background:#ffde59;color:#1c1d21}
.rv-code{font-size:36px;font-weight:700;letter-spacing:.15em;font-variant-numeric:tabular-nums}
.rv-code-box.vencido{background:#eee;color:#777}.rv-code-box.vencido .rv-code{text-decoration:line-through}
.rv-linked{display:flex;gap:10px;align-items:flex-start;background:#e9f7ef;border:1px solid #b7e1c7;margin-bottom:12px}.rv-linked>.ic{color:var(--ok);flex:none;width:22px;height:22px}.rv-linked div{display:grid;gap:2px}
/* up97 · "Tu remis llegó" (cliente) y aviso al chofer después de "Llegué" */
.rv-vj-llego{display:flex;gap:12px;align-items:center;background:#ffde59;color:#1c1d21;border:2px solid #1c1d21;border-radius:16px;padding:14px 16px;box-shadow:0 6px 24px rgba(0,0,0,.18);scroll-margin-top:90px}
.rv-vj-llego>div{display:flex;flex-direction:column;gap:2px}.rv-vj-llego b{font-size:22px;line-height:1.15}
.rv-vj-llego-ico{flex:none;width:48px;height:48px;border-radius:50%;background:#1c1d21;color:#ffde59;display:grid;place-items:center}.rv-vj-llego-ico .ic{width:26px;height:26px}
.rv-vj-llego.rv-anim{animation:rvLlego .9s ease-in-out 4}
@keyframes rvLlego{0%,100%{transform:scale(1)}50%{transform:scale(1.035);box-shadow:0 0 0 8px rgba(255,222,89,.55)}}
@media (prefers-reduced-motion:reduce){.rv-vj-llego.rv-anim{animation:none}}
.rv-vj-push{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e6e7ea;border-radius:14px;padding:12px 14px}
.rv-vj-push .btn{justify-content:center}.rv-vj-push .btn.on{background:#e3f6ea;color:#0f8a45;border-color:#0f8a45}
.rv-vjd-llego{display:flex;gap:8px;align-items:flex-start;background:#e3f6ea;color:#0b6b36;border-radius:10px;padding:8px 12px;margin:0}
/* up98 · casilla de avisos en el pedido */
.rv-dlg-push{display:flex;gap:8px;align-items:flex-start;background:#fff8d6;border-radius:10px;padding:8px 10px;cursor:pointer}.rv-dlg-push input{margin-top:2px;accent-color:#1c1d21}
.rv-dlg [hidden]{display:none!important}

/* up99 · remisería verificada en "Remises de la zona" */
.rm-card.rm-prop{border-left-color:#ffde59;background:linear-gradient(180deg,#fffbe6 0,#fff 60%)}
.rm-prop h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rm-prop h3 a{color:inherit;text-decoration:none}.rm-prop h3 a:hover,.rm-prop h3 a:focus-visible{text-decoration:underline}
.rm-ver{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#ffde59;color:#2b2300;font:700 .72rem/1.3 'Questrial',sans-serif}.rm-ver .ic{width:13px;height:13px}
.rm-st{display:inline-flex;align-items:center;gap:6px;font-weight:700}.rm-st.lib{color:#17673a}.rm-st.oc{color:#6b6f78}
.rm-dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(23,103,58,.15)}.rm-st.lib .rm-dot{animation:rmPulse 1.6s ease-in-out infinite}.rm-st.oc .rm-dot{box-shadow:none}
@keyframes rmPulse{50%{box-shadow:0 0 0 6px rgba(23,103,58,0)}}
.rm-a .rm-pedir{background:#ffde59;color:#2b2300;border-color:#e6c43f;cursor:pointer;font-weight:700}.rm-a .rm-pedir:hover{background:#ffd633}.rm-a .rm-pedir:disabled{opacity:.7;cursor:default}
.vr-link.vr-rm b{border-bottom-color:#ffde59}
@media (prefers-reduced-motion:reduce){.rm-st.lib .rm-dot{animation:none}}
/* Offline parcial del chofer: aviso "Sin conexión", última ubicación y viaje posiblemente desactualizado */
.rv-off{display:flex;flex-direction:column;gap:2px;background:#1e1f24;color:#fff;border-left:4px solid #ffde59;border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:.95rem}
.rv-off[hidden]{display:none}
.rv-off b{color:#ffde59}
.rv-off span{font-size:.82rem;opacity:.85}
.rv-off-pos{margin:6px 0 0}
.rv-off-stale{background:#fff6cc;color:#1e1f24;border-radius:8px;padding:6px 10px;margin:6px 0;font-size:.85rem}
.rv-off-stale[hidden]{display:none}
.rv-logout{margin:10px 0 0}
