/* ═══════════════════════════════════════════════════════════════════════════
   revision-ui.css · Estación de revisión de Mesa Técnica (23/10/2026)
   ───────────────────────────────────────────────────────────────────────────
   La pantalla «Revisión de Actas» medía ~1 700 px: había que bajar para llegar
   a los botones, al registro compartido y a los hallazgos, y el acta que se
   revisaba no se veía en ningún lado. Esto la vuelve UNA pantalla de trabajo:
   barra compacta arriba, y abajo tres columnas (sesión · acta · resultado).
   La página no se desplaza; solo lo hacen, dentro de su panel, las listas.

   Reglas de la casa que se respetan aquí:
     · Se carga AL FINAL (después de comic.css y temporada.css) y todo va bajo
       body.rv: no toca otras páginas ni la capa de temporada compartida.
     · Colores SOLO con los tokens de comic.css (--base, --txt, --err, --ok-tx…):
       así siguen funcionando las 12 paletas, también las cuatro claras.
     · Lo grueso del cómic (contorno de 3 px, sombra dura, Bangers) se queda en
       el título y en los botones principales; la zona de trabajo lleva bordes
       finos para que se lea tranquila.
     · Para ganarle a comic.css, que usa !important con selectores largos
       (button:not(…) ×8), los selectores de aquí llevan un id (#rvShell,
       #rvCajon…) o un :not(#rv0), que nunca existe y solo suma peso.
     · Nada de `inset`, `:has()` como único camino ni propiedades que los
       equipos viejos (iPad con iOS 12, Chrome de Windows 7) no entienden.
   ═══════════════════════════════════════════════════════════════════════════ */

body.rv{
  --rv-gap:12px;
  --rv-r:12px;
  --rv-r2:8px;
  --rv-mesa:#16110b;                       /* la mesa donde descansa la hoja del acta */
  --rv-sombra:3px 3px 0 rgba(0,0,0,.38);
  --rv-marca:255,201,60;                   /* resaltado del visor (rgb del ámbar del tema) */
  /* El rojo de TEXTO: el --err-tx del cómic (#EE4B2B) queda en ~4:1 sobre los paneles oscuros;
     para letra chica hace falta 4,5:1, así que en oscuro se aclara. En las claras manda el del tema. */
  --rv-err-tx:#FF8066;
}
:root[data-comic-tema="papel"] body.rv,:root[data-comic-tema="nube"] body.rv,
:root[data-comic-tema="rosa"] body.rv,:root[data-comic-tema="menta-clara"] body.rv{
  --rv-err-tx:var(--err-tx);
  --rv-mesa:#d9d2c4; --rv-sombra:3px 3px 0 rgba(20,13,6,.16); --rv-marca:224,150,0;
}

/* Lo que lleva el atributo hidden se esconde SIEMPRE (una regla display:flex de
   abajo no lo debe resucitar). */
body.rv [hidden]{display:none!important}
.rvOcultoVisual{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}

/* ── 1 · El marco: la página entera cabe en la ventana ─────────────────────── */
/* La página cabe porque todo encoge (min-height:0) y lo largo se desplaza en su panel, no porque se
   le prohíba desplazarse: el cuerpo NO lleva overflow:hidden (eso es «bloquear la página», lo que
   hacen las ventanas modales, y aviso-de-version.mjs lo vigila). */
html{height:100%}
body.rv{height:100%;min-height:0;display:flex;flex-direction:column}
/* La capa de temporada pide el ancho del contenido para que el espía (septiembre)
   se asome por el margen que sobra y no sobre el trabajo. */
html[data-temporada] body.rv{--temporada-espia-contenido:1680px}

/* ── 2 · Barra superior compacta ──────────────────────────────────────────── */
body.rv .topbar{position:relative;top:auto;flex:0 0 auto;min-height:56px;padding:6px 16px;
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;z-index:50}
body.rv .topbar .marca{padding:0;gap:10px;flex:0 0 auto;min-width:0}
body.rv #brandLogo{height:26px}
body.rv .topbar .marcaTxt{padding-left:10px}
body.rv .topbar h1:not(#rv0){font-size:19px!important;line-height:1.05;-webkit-text-stroke:1px #000;
  text-shadow:2px 2px 0 #000;white-space:nowrap}
body.rv .topbar p{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Las vistas (Revisión · Registro · Cobertura): un control segmentado */
.rvVistas{display:flex;flex:0 0 auto;padding:3px;gap:2px;border:1px solid var(--edge);border-radius:10px;background:var(--void);margin-right:auto}
body.rv .rvVistas .rvVistaBtn:not(#rv0){border:0!important;box-shadow:none!important;border-radius:7px!important;
  background:transparent!important;color:var(--dim)!important;text-transform:none;letter-spacing:0;
  font-weight:700!important;font-size:12.5px;padding:0 12px;height:30px;line-height:30px;white-space:nowrap;animation:none!important;transform:none!important}
body.rv .rvVistas .rvVistaBtn:not(#rv0):hover{color:var(--txt)!important;background:var(--alto)!important}
body.rv .rvVistas .rvVistaBtn[aria-pressed="true"]:not(#rv0){background:var(--cyan)!important;color:var(--on-acc)!important}
.rvCuenta{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:99px;font-size:10.5px;line-height:16px;
  text-align:center;background:var(--alto);color:var(--txt);font-family:var(--mono)}
.rvCuenta:empty{display:none}
.rvVistaBtn[aria-pressed="true"] .rvCuenta{background:rgba(0,0,0,.22);color:var(--on-acc)}

/* Quién revisa: sin sesión, el nombre, el PIN y «Entrar» a la mano; con sesión, una ficha */
body.rv .quien{margin-left:0;gap:8px;flex:0 0 auto;min-width:0;position:relative}
/* Sin sesión (el primer día, o tras «Cambiar»), en pantallas de menos de 1600 px el nombre y el PIN
   bajan a un segundo renglón de la barra, alineados a la derecha: así caben enteros, con «Entrar»,
   «Usar mi código de carga» y «Olvidé mi PIN» a la vista. Con la sesión iniciada —lo de todos los
   días— la barra es de un solo renglón. */
@media (max-width:1599px){
  body.rv .quien:not(.rvConSesion){order:10;flex:1 1 100%;justify-content:flex-end}
}
body.rv .quien > label, body.rv .codBloque > label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.rv .quien select:not(#rv0), body.rv .codBloque input:not(#rv0){height:34px;padding:0 10px!important;font-size:13px;border-width:2px!important;
  box-shadow:none!important;transform:none!important}
body.rv .quien select:not(#rv0){width:172px!important}
body.rv .codBloque input:not(#rv0){width:118px!important}
body.rv .codBloque{position:relative;margin-left:0;display:-ms-grid;display:grid;grid-template-columns:auto auto auto;
  grid-template-rows:17px 17px;align-items:center;-webkit-column-gap:8px;column-gap:8px;row-gap:0}
body.rv .codBloque #codigoCarga{grid-column:1;grid-row:1 / span 2}
body.rv .codBloque .codEntrar{grid-column:2;grid-row:1 / span 2}
body.rv .codBloque .codModo{grid-column:3;grid-row:1;justify-self:start}
body.rv .codBloque .codOlvido{grid-column:3;grid-row:2;justify-self:start}
body.rv .codBloque .codRegistrado{grid-column:1 / span 3;grid-row:1 / span 2}
body.rv .codBloque .codModo:not(#rv0), body.rv .codBloque .codOlvido:not(#rv0){font-size:11px;line-height:16px;padding:0!important;min-height:0;white-space:nowrap}
body.rv .codBloque .codEntrar:not(#rv0){height:34px;padding:0 14px!important;font-size:12px;border-width:2px!important;box-shadow:var(--sh-sm)!important;animation:none!important}
/* La ayuda del PIN y los mensajes del campo flotan debajo: no agrandan la barra */
body.rv .codBloque .ayudaCodigo, body.rv .codBloque .codMsg{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:300px;max-width:80vw;
  margin:0;text-align:left;padding:9px 11px;border-radius:9px;background:var(--base);border:1px solid var(--edge2);
  box-shadow:var(--rv-sombra);font-size:11.5px;line-height:1.45;color:var(--txt)}
body.rv .codBloque .ayudaCodigo{visibility:hidden;opacity:0;transition:opacity .15s}
body.rv .codBloque:focus-within .ayudaCodigo, body.rv .codBloque .ayudaCodigo[data-formato="mal"]{visibility:visible;opacity:1}
body.rv .codBloque .ayudaCodigo[data-formato="mal"]{color:var(--rv-err-tx);border-color:var(--err)}
body.rv .codBloque .codMsg{border-right:0;border-left:4px solid var(--err);font-weight:700}
body.rv .codBloque .codMsg ~ .ayudaCodigo{top:auto}
/* Con sesión, la persona es un chip: el selector «Revisa» (que sigue sirviendo para cambiar de
   persona) se ve como «Nombre ▾» y a su lado «✓ Cambiar». El texto «Sesión de …» de codigo-mesa.js
   queda para los lectores de pantalla (el nombre ya está en el chip). */
body.rv .quien.rvConSesion > select:not(#rv0){width:auto!important;max-width:200px;height:32px;border-radius:99px!important;border:1px solid var(--ok-ed)!important;
  background-color:var(--ok-bg)!important;color:var(--txt)!important;font-weight:700;font-size:12.5px;padding:0 8px 0 12px!important}
body.rv .codRegistrado{height:32px;padding:0 4px 0 10px;border-radius:99px;border:1px solid var(--ok-ed);background:var(--ok-bg);
  color:var(--ok-tx);font-weight:800;font-size:12.5px;white-space:nowrap;gap:6px}
body.rv .codRegistrado::before{content:'✓';font-weight:800}
body.rv .codRegistrado .codOk{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.rv .codRegistrado .codCambiar:not(#rv0){height:24px;padding:0 9px!important;border-radius:99px!important;border:1px solid var(--edge2)!important;
  box-shadow:none!important;background:var(--base)!important;color:var(--txt)!important;font-size:11px;text-transform:none;letter-spacing:0;animation:none!important}

/* La píldora del registro compartido */
body.rv .rvPildora:not(#rv0){display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px!important;border-radius:99px!important;
  border:1px solid var(--edge2)!important;box-shadow:none!important;background:var(--void)!important;color:var(--txt)!important;
  font-size:12px;font-weight:700!important;text-transform:none;letter-spacing:0;white-space:nowrap;animation:none!important;flex:0 0 auto}
.rvPunto{width:9px;height:9px;border-radius:50%;background:var(--faint);flex:0 0 auto;box-shadow:0 0 0 2px rgba(0,0,0,.25)}
.rvPildora[data-estado="ok"] .rvPunto{background:var(--ok)}
.rvPildora[data-estado="esp"] .rvPunto{background:var(--warn)}
.rvPildora[data-estado="mal"] .rvPunto{background:var(--err)}
body.rv .rvPildora[data-estado="mal"]:not(#rv0){border-color:var(--err)!important;color:var(--rv-err-tx)!important}
body.rv .rvPildora[data-estado="esp"]:not(#rv0){border-color:var(--warn-ed)!important}

/* La campana de avisos */
body.rv .rvCampana:not(#rv0){position:relative;width:36px;height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px!important;border:1px solid var(--edge2)!important;box-shadow:none!important;background:var(--void)!important;color:var(--txt)!important;animation:none!important;flex:0 0 auto}
.rvCampana svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.rvCampanaN{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--err);color:var(--on-brillo);
  font:800 11px/18px var(--ui);text-align:center;border:2px solid var(--base)}
body.rv .rvPildora:not(#rv0):hover, body.rv .rvCampana:not(#rv0):hover{background:var(--alto)!important}

/* Inicio · Corrector, y las herramientas que la página trae (guía y paleta) */
body.rv .navSup{gap:6px;flex:0 0 auto}
body.rv .navSup a.volver:not(#rv0){height:32px;line-height:28px;padding:0 10px!important;font-size:11.5px;border-width:2px!important;border-color:var(--edge)!important;
  box-shadow:none!important;animation:none!important;transform:none!important}
.rvHerr{display:flex;gap:6px;flex:0 0 auto;align-items:center}
body.rv .rvHerr #guia-btn:not(#rv0){position:static!important;height:32px;padding:0 10px!important;font-size:11.5px!important;border-width:2px!important;
  border-color:var(--edge)!important;box-shadow:none!important;animation:none!important;transform:none!important;white-space:nowrap;margin:0!important;width:auto!important}
body.rv .rvHerr #comicTemaBtn:not(#rv0){position:static!important;width:34px!important;height:34px!important;border-width:2px!important;box-shadow:none!important;border-radius:9px!important;transform:none!important}
body.rv .rvHerr #comicTemaBtn svg{width:18px;height:18px}
body.rv #comicTemaPanel:not(#rv0){top:62px;bottom:auto;right:16px}

/* ── 3 · Franja de avisos: una línea cada uno ─────────────────────────────── */
.rvFranja{flex:0 0 auto;position:relative;z-index:45}
.rvAvisoFila{display:flex;align-items:center;gap:8px;padding:5px 16px 0}
.rvAvisoFila:last-child{padding-bottom:1px}
body.rv .rvAvisoFila .caja:not(#rv0){flex:1 1 auto;min-width:0;margin:0!important;padding:6px 12px!important;font-size:12.5px;line-height:1.45;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px!important;border-width:1px!important;border-left-width:4px!important}
body.rv .rvAvisoFila.rvAbierto .caja:not(#rv0){white-space:normal}
body.rv .rvAvisoFila .xAviso:not(#rv0){float:right;margin:-2px 0 0 10px;height:24px;padding:0 10px!important;font-size:11px;border-width:2px!important;
  box-shadow:none!important;animation:none!important}
body.rv .rvVerMas:not(#rv0){flex:0 0 auto;height:28px;padding:0 10px!important;font-size:11.5px;text-transform:none;letter-spacing:0;
  border:1px solid var(--edge2)!important;box-shadow:none!important;background:var(--base)!important;color:var(--txt)!important;border-radius:8px!important;animation:none!important}

/* ── 4 · La zona de trabajo ───────────────────────────────────────────────── */
body.rv .shell.rvShell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%;max-width:1680px;margin:0 auto;
  padding:10px 12px 12px;gap:10px;position:relative;z-index:2}
.rvEstacion{flex:1 1 auto;min-height:0;display:-ms-grid;display:grid;grid-template-columns:264px minmax(0,1fr) 404px;gap:var(--rv-gap)}
@media (min-width:1600px){ .rvEstacion{grid-template-columns:284px minmax(0,1fr) 460px} }
body.rv .rvCol{min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--base);border:1px solid var(--edge);
  border-radius:var(--rv-r);overflow:hidden;box-shadow:var(--rv-sombra)}
.rvColCab{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:46px;padding:7px 12px;border-bottom:1px solid var(--edge);background:var(--raise)}
.rvColTit{font:800 11.5px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.rvColNota{font-size:11.5px;color:var(--faint);white-space:nowrap}
.rvColCuerpo{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px}

/* Botones chicos de la zona (iconos, chips, enlaces): sin el puñetazo del cómic */
#rvShell .rvIco, #rvCajon .rvIco, #rvBandeja .rvIco, #rvNovedades .rvIco{height:30px;min-width:30px;padding:0 9px;border:1px solid var(--edge2)!important;border-radius:8px!important;
  background:var(--void)!important;color:var(--txt)!important;box-shadow:none!important;font-size:12.5px;font-weight:700!important;
  text-transform:none;letter-spacing:0;line-height:1;animation:none!important;transform:none!important;display:inline-flex;align-items:center;justify-content:center;gap:5px}
#rvShell .rvIco:hover, #rvCajon .rvIco:hover, #rvBandeja .rvIco:hover, #rvNovedades .rvIco:hover{background:var(--alto)!important}
#rvShell .rvIco:disabled{opacity:.4}
#rvShell .rvChip{height:28px;padding:0 10px;border:1px solid var(--edge)!important;border-radius:99px!important;background:transparent!important;color:var(--dim)!important;
  box-shadow:none!important;font-size:11.5px;font-weight:700!important;text-transform:none;letter-spacing:0;animation:none!important;transform:none!important;white-space:nowrap}
#rvShell .rvChip:hover{color:var(--txt)!important;border-color:var(--edge2)!important}
#rvShell .rvChip[aria-pressed="true"]{background:var(--alto)!important;color:var(--txt)!important;border-color:var(--edge2)!important}
#rvShell .rvLink{background:none!important;border:0!important;box-shadow:none!important;padding:4px 0;color:var(--acc-txt)!important;font-size:12.5px;font-weight:700!important;
  text-transform:none;letter-spacing:0;text-decoration:underline;text-underline-offset:3px;animation:none!important;transform:none!important;min-height:0;text-align:left}
/* Los botones principales conservan el cómic, pero no tiemblan: se trabaja con ellos todo el día */
#rvShell .b-primary:hover, #rvShell .b-ok:hover, #rvShell .b-ghost:hover{animation:none!important}

/* ── 5 · (a) La cola de la sesión ─────────────────────────────────────────── */
.rvColaCerrar, .rvAbrirCola{display:none!important}
#rvCola .pulso{display:block;margin:10px 12px 0;padding:9px 12px 10px;border-radius:var(--rv-r2);border:1px solid var(--edge);background:var(--raise);box-shadow:none}
#rvCola .pulsoTit{display:block;margin-bottom:6px;letter-spacing:.08em}
#rvCola .pulsoPista{height:24px;min-width:0;gap:3px}
/* comic.css viste todo lo que se llama .m-err/.m-ok como píldora (contorno negro de 3 px): en una
   marca de 5 px eso la dejaba negra. Aquí vuelve a ser una barrita del color de su resultado. */
#rvCola .pulsoMarca:not(#rv0){width:5px;border:0!important;box-shadow:none!important;border-radius:2px!important;padding:0}
#rvCola .pulsoMarca.m-ok:not(#rv0){background:var(--ok)!important}
#rvCola .pulsoMarca.m-corr:not(#rv0){background:var(--warn)!important}
#rvCola .pulsoMarca.m-err:not(#rv0){background:var(--err)!important}
#rvCola .pulsoCifras{margin-top:8px;gap:14px;flex-wrap:wrap}
#rvCola .pulsoCifras:empty{display:none}
#rvCola .pulsoCifra{font-family:var(--mono);font-size:16px}
#rvCola .pulsoDato.d-ok .pulsoCifra{color:var(--ok-tx)}
#rvCola .pulsoDato.d-err .pulsoCifra{color:var(--rv-err-tx)}
.rvColaFiltro{display:flex;gap:6px;padding:10px 12px 0;flex-wrap:wrap}
#rvCola .rvColCuerpo{padding:10px 12px}
.rvColaLista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rvColaSep{font:800 10.5px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:8px 2px 2px}
#rvShell .rvColaItem{width:100%;text-align:left;display:block;padding:9px 10px 9px 12px;border:1px solid var(--edge)!important;border-radius:var(--rv-r2)!important;
  background:var(--raise)!important;color:var(--txt)!important;box-shadow:none!important;text-transform:none;letter-spacing:0;font-weight:400!important;
  animation:none!important;transform:none!important;position:relative;line-height:1.35}
#rvShell .rvColaItem::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--faint)}
#rvShell .rvColaItem[data-n="error"]::before{background:var(--err)}
#rvShell .rvColaItem[data-n="aviso"]::before{background:var(--warn)}
#rvShell .rvColaItem[data-n="ok"]::before{background:var(--ok)}
#rvShell .rvColaItem:hover{border-color:var(--edge2)!important;background:var(--alto)!important}
#rvShell .rvColaItem[aria-current="true"]{border-color:var(--cyan)!important;box-shadow:inset 0 0 0 1px var(--cyan)!important}
.rvCiFila{display:flex;align-items:baseline;gap:8px}
.rvCiActa{font-weight:800;font-size:12.5px;font-variant-numeric:tabular-nums}
.rvCiHora{margin-left:auto;font-size:11px;color:var(--faint);font-family:var(--mono)}
.rvCiCom{display:block;font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.rvCiEst{display:block;font-size:11.5px;font-weight:700;margin-top:3px;color:var(--dim)}
.rvColaItem[data-n="error"] .rvCiEst{color:var(--rv-err-tx)}
.rvColaItem[data-n="aviso"] .rvCiEst{color:var(--warn-tx)}
.rvColaItem[data-n="ok"] .rvCiEst{color:var(--ok-tx)}
.rvCiGuardada{font-weight:600;color:var(--ok-tx)}
.rvColaVacia{font-size:12px;line-height:1.55;color:var(--faint);margin:6px 2px}
.rvColaPie{flex:0 0 auto;border-top:1px solid var(--edge);padding:8px 12px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
/* El pie de siempre (cómo se procesan las actas y la versión), en letra chica.
   El rincón de abajo a la izquierda queda libre: ahí se sienta la mascota de temporada. */
body.rv #rvCola .foot{margin:6px 0 0;padding:6px 0 0;border-top:0;text-align:left;font-size:10px;line-height:1.5;color:var(--faint)}
html[data-temporada] body.rv #rvCola .rvColaPie{padding-bottom:92px}

/* ── 6 · (b) El acta: documento y datos ───────────────────────────────────── */
.rvDocCab{flex-wrap:wrap;row-gap:6px}
#rvShell .modos{margin:0;padding:2px;border:1px solid var(--edge)!important;border-radius:9px!important;box-shadow:none!important;flex:0 0 auto}
#rvShell .modo{height:28px;padding:0 10px;font-size:11.5px;text-transform:none;letter-spacing:0;border-bottom:0;white-space:nowrap}
#rvShell .modo.activo{padding-bottom:0}
.rvAyuda{position:relative;flex:0 0 auto}
.rvAyuda > summary{list-style:none;cursor:pointer;width:24px;height:24px;border-radius:50%;border:1px solid var(--edge2);display:flex;align-items:center;justify-content:center;
  font:800 12px/1 var(--ui);color:var(--dim);background:var(--void)}
.rvAyuda > summary::-webkit-details-marker{display:none}
.rvAyuda[open] > summary{background:var(--cyan);color:var(--on-acc);border-color:var(--cyan)}
.rvAyudaTxt{position:absolute;z-index:30;top:30px;left:0;width:320px;max-width:calc(100vw - 40px);padding:10px 12px;border-radius:9px;background:var(--base);
  border:1px solid var(--edge2);box-shadow:var(--rv-sombra)}
.rvAyudaTxt .sub, .rvAyudaTxt .hint{margin:0;font-size:12px;line-height:1.55;color:var(--txt)}
.rvAyudaMini{display:inline-block;vertical-align:middle;margin-left:4px}
.rvAyudaMini > summary{width:18px;height:18px;font-size:10.5px}
.rvAyudaMini .rvAyudaTxt{top:24px;text-transform:none;letter-spacing:0;font-weight:400}
.rvDocNombre{flex:1 1 0;min-width:40px;font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvVisorCtl{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.rvPagTxt{font:700 11.5px/1 var(--mono);color:var(--dim);min-width:46px;text-align:center}
#rvShell .rvAjustar, #rvShell .rvCambiar{font-size:11.5px}

.rvVisor{flex:1 1 auto;min-height:150px;position:relative;background:var(--rv-mesa);overflow:hidden}
.rvPaginas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:14px;outline:none}
.rvPagina{position:relative;margin:0 auto 14px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.45);border-radius:2px}
.rvPagina canvas{display:block;width:100%;height:auto}
.rvPagina iframe{display:block;width:100%;border:0;background:#fff}
.rvMarcas{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}
.rvMarca{position:absolute;border-radius:3px;background:rgba(var(--rv-marca),.28);box-shadow:0 0 0 2px rgba(var(--rv-marca),.95),0 0 0 6px rgba(var(--rv-marca),.22)}
.rvMarca[data-n="error"]{background:rgba(238,75,43,.22);box-shadow:0 0 0 2px rgba(238,75,43,.95),0 0 0 6px rgba(238,75,43,.2)}
@keyframes rv-marca{0%{transform:scale(1.35);opacity:0}60%{transform:scale(.97);opacity:1}100%{transform:none;opacity:1}}
.rvMarca.rvNueva{animation:rv-marca .45s cubic-bezier(.2,.8,.3,1.2) both}
.rvVisorAviso{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:calc(100% - 24px);z-index:4;padding:7px 12px;border-radius:9px;
  background:var(--base);color:var(--txt);border:1px solid var(--edge2);box-shadow:var(--rv-sombra);font-size:12px;line-height:1.4}
/* La zona de carga: invitación grande con el visor vacío; con un acta, solo al arrastrar */
.rvSoltar{position:absolute;top:14px;right:14px;bottom:14px;left:14px;display:flex;flex-direction:column;justify-content:center;z-index:3}
.rvSoltar #lblActa{text-align:center;color:var(--dim);font-size:11px;margin-bottom:8px}
#rvShell #dropActa{flex:1 1 auto;max-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:22px;
  font-family:var(--disp);letter-spacing:.03em;text-transform:uppercase;border-width:2px!important;border-radius:14px!important;background:rgba(0,0,0,.18)!important}
#rvShell #dropActa span{font-family:var(--ui);font-size:12.5px;text-transform:none;letter-spacing:0;max-width:40ch}
:root[data-comic-tema="papel"] #rvShell #dropActa,:root[data-comic-tema="nube"] #rvShell #dropActa,
:root[data-comic-tema="rosa"] #rvShell #dropActa,:root[data-comic-tema="menta-clara"] #rvShell #dropActa{background:rgba(255,255,255,.55)!important}
.rvDoc[data-acta="si"] .rvSoltar{visibility:hidden;pointer-events:none}
.rvDoc[data-acta="si"].rvArrastre .rvSoltar{visibility:visible;pointer-events:auto}
.rvDoc[data-acta="si"].rvArrastre #dropActa{background:var(--alto)!important}

/* Datos del acta: la tira de abajo */
body.rv #rvShell .rvDatos{flex:0 0 auto;max-height:58%;overflow:auto;border:0!important;border-top:1px solid var(--edge)!important;border-radius:0!important;
  box-shadow:none!important;background:var(--raise)!important;padding:10px 12px}
.rvDatosFila{display:-ms-grid;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rvGrupo{border:0;margin:0;padding:0;min-width:0}
#rvShell .rvGrupo > legend.subhead{display:flex;align-items:center;margin:0 0 6px;padding:0;border:0;font-size:10.5px;letter-spacing:.07em;color:var(--dim);width:100%}
#rvShell .rvGrupo > legend.subhead::after{display:none}
#rvShell .rvDatos .grid{gap:8px}
#rvShell .rvDatos .g2{grid-template-columns:1fr 1fr}
#rvShell #filaEnvCAR, #rvShell #filaCAR{margin-top:8px}
#rvShell .rvDatos label{font-size:10px;letter-spacing:.03em;margin-bottom:4px;color:var(--faint);line-height:1.3}
/* Si una etiqueta ocupa dos renglones («Último ticket — Almuerzo (Comedor FEGUA)»), los campos
   quedan igual alineados abajo. */
#rvShell .rvDatos .grid > div{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
#rvShell .rvDatos input:not([type=checkbox]){height:36px;padding:0 10px;font-size:15px;border-width:2px!important;box-shadow:none!important;transform:none!important}
#rvShell .rvDatos input:focus{border-color:var(--cyan)!important;box-shadow:0 0 0 3px var(--cyan-bg)!important}
#rvShell .rvDatos input:disabled{opacity:.55}
#rvShell .rvDatos .hint{font-size:11px;line-height:1.45;margin-top:5px}
#rvShell #avisoFeguaFinde{margin:8px 0 0;padding:7px 10px;border-radius:8px;background:var(--ok-bg);border:1px solid var(--ok-ed);font-size:12px;color:var(--txt)}
.rvRecibos{margin-top:10px;border:1px solid var(--edge);border-radius:var(--rv-r2);background:var(--base)}
.rvRecibos > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:700;min-height:36px}
.rvRecibos > summary::-webkit-details-marker{display:none}
.rvRecibos > summary::before{content:'';width:0;height:0;border-left:5px solid var(--dim);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s}
.rvRecibos[open] > summary::before{transform:rotate(90deg)}
.rvRecOpc{font-weight:400;color:var(--faint)}
.rvRecN{margin-left:auto;font-size:11.5px;color:var(--ok-tx)}
.rvRecibos > .grid{padding:0 10px 10px}
#rvShell #dropEnv{padding:12px;font-size:12.5px;border-width:2px!important}
.rvDatosPie{display:flex;align-items:flex-end;gap:10px;margin-top:10px}
.rvDatosPie .btns{margin:0 0 0 auto;flex:0 0 auto;flex-wrap:nowrap}
#rvShell .rvDatosPie .b-primary{min-width:120px}
#rvShell #msg{flex:1 1 auto;min-width:0;margin:0;padding:7px 10px;font-size:12px;line-height:1.45;max-height:104px;overflow:auto;border-radius:8px}
/* comic.css viste .m-ok/.m-err como una píldora (mayúsculas, contorno negro): un mensaje de varias
   líneas así se leía a gritos. Aquí es una nota tranquila; los colores siguen siendo los del tema. */
#rvShell #msg.msg, #rvShell #rvMsgEco.msg{text-transform:none!important;letter-spacing:0!important;font-weight:600!important;
  border:1px solid var(--edge2)!important;border-left-width:4px!important;box-shadow:none!important;border-radius:8px!important}

/* ── 7 · (c) El resultado ─────────────────────────────────────────────────── */
.rvFiltroRes{display:flex;gap:4px;margin-left:auto}
#rvResCuerpo{padding:12px 12px 16px}
body.rv #rvResVacio:not(#rv0){border:1px dashed var(--edge)!important;box-shadow:none!important;background:transparent!important;padding:22px 16px;border-radius:var(--rv-r)!important}
body.rv #rvResVacio .medallon{width:84px;height:84px}
body.rv #rvResVacio h3{font-size:17px}
body.rv #rvResVacio .tira{margin:14px 0 12px;box-shadow:none!important;border-width:1px!important;padding:6px 8px}
body.rv #rvResVacio p{font-size:12px}
/* En «Una acta» el informe de siempre se lee en las verificaciones: el panel sigue en la
   página (para quien lo busque, para la mascota y para la guía) pero sin ocupar lugar. */
.rvRes[data-modo="una"] #resultados{height:0!important;min-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;opacity:0}
body.rv #resultados:not(#rv0){border-width:1px!important;box-shadow:none!important}
body.rv #resultados .pHead{padding:10px 12px}
body.rv #resultados .pBody{padding:12px}
body.rv #reporte .actaBox:not(#rv0), body.rv #reporte .grupo:not(#rv0){border-width:1px!important;box-shadow:none!important}
body.rv #reporte .caja:not(#rv0){border-width:1px!important;border-left-width:4px!important}
body.rv #reporte .rvLoteFoco:not(#rv0){border-color:var(--cyan)!important;box-shadow:0 0 0 2px var(--cyan)!important}
#rvMsgEco{display:none!important}

/* El registro del comedor del acta cargada: lo que Mesa ya tiene de ese comedor (último ticket, últimas actas) */
.rvRegCom{border:1px solid var(--edge);border-radius:var(--rv-r);background:var(--raise);margin:0 0 12px;overflow:hidden}
.rvRegCom[data-estado="vacio"], .rvRegCom[data-estado="dudoso"]{border-style:dashed}
.rvRcCab{display:flex;align-items:center;gap:8px;min-height:40px}
.rvRegCom[data-estado="dudoso"] .rvRcCab{padding:9px 12px 0}
#rvShell .rvRcPlegar{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;padding:9px 12px;border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--txt)!important;box-shadow:none!important;text-transform:none;letter-spacing:0;font-weight:700!important;font-size:12.5px;text-align:left;animation:none!important;transform:none!important;min-height:40px}
#rvShell .rvRcPlegar:hover{background:var(--alto)!important}
.rvRcPlegar[aria-expanded="true"] .rvFlecha{transform:rotate(90deg)}
.rvRcTit{font-size:12.5px;font-weight:800;color:var(--txt);flex:1 1 auto;min-width:0}
.rvRcTit b{font-family:var(--mono);color:var(--acc-txt)}
.rvRcResumen{flex:1 1 100%;padding-left:14px;font-size:12px;font-weight:600;color:var(--dim);font-family:var(--mono)}
.rvRcCuerpo{padding:0 12px 12px;border-top:1px solid var(--edge)}
.rvRcSub{margin:10px 0 5px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.rvRcNota{margin:8px 12px;font-size:12px;line-height:1.5;color:var(--txt)}
.rvRcCuerpo .rvRcNota{margin:10px 0 6px}
.rvRcVacio{font-weight:700}
.rvRcUlt{margin:0;display:flex;flex-direction:column;gap:3px}
.rvRcUlt div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rvRcUlt dt{min-width:84px;font-size:12px;font-weight:700;color:var(--dim)}
.rvRcUlt dd{margin:0;font-size:12.5px;color:var(--txt)}
.rvRcNum{font-family:var(--mono);font-size:14px;color:var(--txt)}
.rvRcDe{color:var(--dim);font-size:12px}
.rvRcDebe{list-style:none;margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--base);border:1px solid var(--edge);display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--txt)}
.rvRcEst{font-weight:700}
.rvRcEst[data-n="ok"]{color:var(--ok-tx)}
.rvRcEst[data-n="error"]{color:var(--rv-err-tx)}
.rvRcEst[data-n="nv"]{color:var(--dim)}
.rvRcInfo{margin:5px 0 0;font-size:11px;color:var(--dim)}
#rvShell .rvRcUsar, #rvShell .rvRcTraer, #rvRegCom [data-rc="cajon"]{margin-top:8px;height:32px}
.rvRcLista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;max-height:220px;overflow:auto}
.rvRcLista li{padding:6px 9px;border-radius:7px;background:var(--base);border:1px solid var(--edge);font-size:12px;color:var(--txt)}
.rvRcLista li.rvRcEsta{border-color:var(--cyan)}
.rvRcFila{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rvRcEtq{font-size:10.5px;font-weight:800;color:var(--acc-txt)}
.rvRcEstado{margin-left:auto;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.rvRcEstado[data-n="ok"]{color:var(--ok-tx)} .rvRcEstado[data-n="error"]{color:var(--rv-err-tx)} .rvRcEstado[data-n="aviso"]{color:var(--warn-tx)}
.rvRcDet{margin-top:2px;font-family:var(--mono);font-size:11.5px;color:var(--dim);overflow-wrap:anywhere}

/* Registro de este equipo posiblemente atrasado: los saltos pueden ser falsos (23/10/2026) */
.rvDesact{margin:0 0 12px;padding:11px 13px;border-radius:var(--rv-r);border:2px solid var(--warn);background:var(--warn-bg);color:var(--txt)}
.rvDesTit{margin:0 0 4px;font-size:13px;font-weight:800;line-height:1.4;color:var(--txt)}
.rvDesTit span{color:var(--warn-tx)}
.rvDesTxt{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--txt)}
.rvDesOk{font-weight:700;color:var(--ok-tx)}
.rvDesMal{font-weight:700;color:var(--rv-err-tx)}
.rvDesAcc{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
#rvShell .rvDesAcc .b-primary, #rvShell .rvDesAcc .b-ghost{height:34px;padding:0 12px!important;font-size:11.5px!important;text-transform:none;letter-spacing:0;animation:none!important}
.rvFalso{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;border:1px solid var(--warn);background:var(--warn-bg);color:var(--warn-tx);
  font-size:9.5px;font-weight:800;letter-spacing:.05em;vertical-align:1px}
.rvPistas{list-style:none;margin:6px 0 0;padding:6px 8px;border-radius:7px;border:1px dashed var(--edge2);background:var(--base);display:flex;flex-direction:column;gap:4px}
.rvPistas li{font-size:12px;line-height:1.45;color:var(--txt)}
/* La misma acta ya está en el registro */
.rvYaReg{display:block;margin:0;padding:8px 12px;border-top:1px solid var(--edge);background:var(--cyan-bg);font-size:12px;line-height:1.45;color:var(--txt)}
/* sobre el fondo cian, el enlace va en la tinta del texto, subrayado (el cian de enlace no da 4,5:1 en rosa y menta clara) */
#rvShell .rvYaReg .rvLink{font-size:12px;padding:0;margin-left:2px;color:var(--txt)!important;text-decoration:underline;vertical-align:baseline}
/* La pregunta propia (antes de guardar con saltos) */
.rvPregVelo{z-index:310}
#rvPregunta .rvPregCaja{max-width:560px;padding:18px 20px}
body.rv .rvPregTit:not(#rv0){margin:0 0 8px;font:800 18px/1.3 var(--ui)!important;color:var(--txt);text-transform:none;letter-spacing:0;-webkit-text-stroke:0;text-shadow:none}
.rvPregTxt{font-size:13.5px;line-height:1.55;color:var(--txt)}
.rvPregTxt p{margin:0 0 8px}
.rvPregAcc{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:12px}
body.rv .rvPregAcc button:not(#rv0){height:40px;padding:0 14px!important;font-size:12.5px!important;text-transform:none;letter-spacing:0;animation:none!important}
/* la pregunta no ocupa la pantalla entera como el recorrido de novedades: es una caja corta */
@media (max-width:900px){ #rvPregunta .rvPregCaja{max-width:520px;height:auto;border-radius:14px;border-width:3px;margin:12px} body.rv .rvPregAcc button:not(#rv0){min-height:44px} }
@media (max-width:640px){ body.rv .rvPregAcc button:not(#rv0){flex:1 1 100%} #rvPregunta .rvPregCaja{max-width:none} }

/* El veredicto */
.rvVeredicto{border:1px solid var(--edge);border-radius:var(--rv-r);background:var(--raise);padding:12px 14px 12px;position:relative;overflow:hidden}
.rvVeredicto::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--faint)}
.rvVeredicto[data-n="error"]::before{background:var(--err)}
.rvVeredicto[data-n="aviso"]::before{background:var(--warn)}
.rvVeredicto[data-n="ok"]::before{background:var(--ok)}
.rvVeredicto[data-n="revisando"]::before{background:var(--cyan)}
.rvVerFila{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rvSello{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;font:800 11.5px/1 var(--ui);letter-spacing:.04em;text-transform:uppercase;
  background:var(--alto);color:var(--txt);border:2px solid #000}
.rvSello[data-n="error"]{background:var(--err);color:var(--on-brillo)}
.rvSello[data-n="aviso"]{background:var(--warn);color:var(--on-brillo)}
.rvSello[data-n="ok"]{background:var(--ok);color:var(--on-brillo)}
.rvSello[data-n="revisando"]{background:var(--cyan);color:var(--on-acc)}
.rvConteo{font-size:12px;color:var(--dim);font-weight:600}
.rvConteo b{font-family:var(--mono);color:var(--txt)}
.rvVerCom{margin:8px 0 2px;font:800 17px/1.2 var(--ui);color:var(--txt);overflow-wrap:anywhere}
.rvVerCod{font-size:12px;color:var(--dim);line-height:1.45}
.rvVerCod b{font-family:var(--mono);color:var(--acc-txt);font-weight:700}
/* Los datos del acta en renglones corridos («ACTA N° 42 · FECHA 15/10/2026 …»): ocupan la mitad que
   una tabla y el primer hallazgo queda a la vista sin bajar. */
.rvDatosActa{display:flex;flex-wrap:wrap;gap:5px 16px;margin:9px 0 0;padding:9px 0 0;border-top:1px solid var(--edge)}
.rvDatosActa div{min-width:0;display:flex;align-items:baseline;gap:6px}
.rvDatosActa dt{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.rvDatosActa dd{margin:0;font-size:13px;font-weight:700;color:var(--txt);overflow-wrap:anywhere}
.rvDatosActa dd.rvNum{font-family:var(--mono)}
.rvDatosActa .rvAncho{flex:1 1 100%}
.rvNotaVer{margin:10px 0 0;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;background:var(--nv-bg);border:1px solid var(--nv-ed);color:var(--txt)}
.rvNotaVer[data-n="error"]{background:var(--err-bg);border-color:var(--err-ed)}
.rvNotaVer[data-n="aviso"]{background:var(--warn-bg);border-color:var(--warn-ed)}
details.rvNotaVer > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
details.rvNotaVer > summary::-webkit-details-marker{display:none}
details.rvNotaVer > summary::after{content:'Ver detalle';margin-left:auto;font-size:11px;font-weight:700;color:var(--acc-txt);text-decoration:underline;white-space:nowrap}
details.rvNotaVer[open] > summary::after{content:'Ocultar'}
details.rvNotaVer[open] > summary{margin-bottom:4px}
.rvAnterior{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:8px;border:1px dashed var(--edge2);font-size:12px;color:var(--txt);background:var(--void)}
.rvAnterior .rvIco{margin-left:auto}

/* La revisión en vivo: barra de progreso */
.rvProgreso{margin-top:10px}
.rvProgBarra{height:5px;border-radius:99px;background:var(--alto);overflow:hidden}
.rvProgBarra i{display:block;height:100%;width:0;background:var(--cyan);border-radius:99px;transition:width .14s linear}
.rvProgTxt{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:var(--dim)}
.rvProgTxt b{font-family:var(--mono);color:var(--txt)}
#rvShell .rvSaltar{margin-left:auto;height:24px;font-size:11.5px}

/* Las verificaciones */
.rvChecks{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.rvGrupoChk{border:1px solid var(--edge);border-radius:var(--rv-r2);background:var(--base);overflow:hidden}
.rvGrupoChk[data-n="error"]{border-color:var(--err-ed)}
.rvGrupoChk[data-n="aviso"]{border-color:var(--warn-ed)}
#rvShell .rvGrupoCab{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--txt)!important;box-shadow:none!important;text-transform:none;letter-spacing:0;font-weight:700!important;font-size:13px;text-align:left;
  animation:none!important;transform:none!important;min-height:40px}
#rvShell .rvGrupoCab:hover{background:var(--raise)!important}
.rvGrupoTit{flex:1 1 auto;min-width:0}
.rvGrupoRes{font-size:11.5px;font-weight:700;color:var(--dim);white-space:nowrap}
.rvGrupoChk[data-n="error"] .rvGrupoRes{color:var(--rv-err-tx)}
.rvGrupoChk[data-n="aviso"] .rvGrupoRes{color:var(--warn-tx)}
.rvGrupoChk[data-n="ok"] .rvGrupoRes, .rvGrupoChk[data-n="pasa"] .rvGrupoRes{color:var(--ok-tx)}
.rvFlecha{width:0;height:0;border-left:5px solid var(--dim);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s;flex:0 0 auto}
.rvGrupoChk[data-abierto="si"] .rvFlecha{transform:rotate(90deg)}
.rvGrupoCuerpo{border-top:1px solid var(--edge);padding:6px;display:flex;flex-direction:column;gap:6px}
.rvGrupoChk[data-abierto="no"] .rvGrupoCuerpo{display:none}
.rvGrupoEvid{font-size:11.5px;color:var(--dim);line-height:1.6;padding:2px 4px 0}
.rvGrupoEvid .rvEvEtq{color:var(--faint)}
/* El ícono de estado: forma + letra, no solo color */
.rvEst{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:800 11.5px/1 var(--ui);
  background:var(--alto);color:var(--txt);border:2px solid transparent}
.rvEst[data-n="error"]{background:var(--err);color:var(--on-brillo)}
.rvEst[data-n="aviso"]{background:var(--warn);color:var(--on-brillo)}
.rvEst[data-n="nv"]{background:var(--nv-bg);color:var(--txt);border-color:var(--nv)}
.rvEst[data-n="ok"]{background:var(--ok);color:var(--on-brillo)}
.rvEst[data-n="pasa"]{background:transparent;color:var(--ok-tx);border-color:var(--ok)}
.rvEst[data-n="pendiente"]{background:transparent;border:2px dashed var(--edge2);color:transparent}
.rvEst[data-n="revisando"]{background:transparent;border:2px solid var(--alto);border-top-color:var(--cyan);color:transparent;animation:rv-gira .7s linear infinite}
@keyframes rv-gira{to{transform:rotate(360deg)}}
.rvChk{display:flex;gap:9px;padding:8px 9px;border-radius:7px;background:var(--raise);border-left:3px solid var(--edge2)}
.rvChk[data-n="error"]{background:var(--err-bg);border-left-color:var(--err)}
.rvChk[data-n="aviso"]{background:var(--warn-bg);border-left-color:var(--warn)}
.rvChk[data-n="nv"]{background:var(--nv-bg);border-left-color:var(--nv)}
.rvChk[data-n="ok"], .rvChk[data-n="pasa"]{background:transparent;border-left-color:var(--ok)}
.rvChkTxt{flex:1 1 auto;min-width:0;font-size:12.5px;line-height:1.5;color:var(--txt);overflow-wrap:anywhere}
.rvChkNivel{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);margin-bottom:1px}
.rvChk[data-n="error"] .rvChkNivel{color:var(--rv-err-tx)}
.rvChk[data-n="aviso"] .rvChkNivel{color:var(--warn-tx)}
.rvChk[data-n="ok"] .rvChkNivel, .rvChk[data-n="pasa"] .rvChkNivel{color:var(--ok-tx)}
.rvChk[data-n="pasa"] .rvChkTxt{color:var(--dim)}
.rvChkAcc{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
#rvShell .rvVer, #rvShell .rvValor{height:26px;padding:0 9px;border:1px solid var(--edge2)!important;border-radius:7px!important;background:var(--base)!important;color:var(--txt)!important;
  box-shadow:none!important;font-size:11.5px;font-weight:700!important;text-transform:none;letter-spacing:0;animation:none!important;transform:none!important;
  display:inline-flex;align-items:center;gap:5px;min-height:0}
#rvShell .rvValor{font-family:var(--mono);font-weight:600!important}
#rvShell .rvVer:hover, #rvShell .rvValor:hover{border-color:var(--cyan)!important;color:var(--acc-txt)!important}
#rvShell .rvVer[aria-pressed="true"], #rvShell .rvValor[aria-pressed="true"]{background:var(--cyan-bg)!important;border-color:var(--cyan)!important}
.rvVer svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.rvChkAcc .b-ghost{height:26px;padding:0 9px!important;font-size:11px!important}
/* Aparición escalonada de la revisión en vivo (solo opacidad y desplazamiento corto) */
.rvChecks[data-vivo="si"] .rvGrupoChk{transition:border-color .2s}
.rvGrupoChk.rvEntra{animation:rv-entra .22s ease-out both}
@keyframes rv-entra{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.rvSinAtencion{padding:14px;border:1px dashed var(--ok-ed);border-radius:var(--rv-r2);font-size:12.5px;color:var(--txt);background:var(--ok-bg)}

/* La barra de acciones, siempre abajo */
.rvAcciones{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--edge);background:var(--raise)}
/* Los botones que pinta la página (guardar, corregida, corrector…) y «Siguiente» se acomodan en dos
   renglones parejos: arriba lo principal (guardar y seguir), abajo lo demás. */
.rvAccionesApp, .rvAccionesApp .btns{display:contents}
#rvShell .rvAcciones .b-ok, #rvShell .rvAcciones .b-ghost, #rvShell .rvAcciones .b-primary{height:38px;padding:0 10px!important;font-size:11.5px!important;
  white-space:nowrap;text-transform:none;letter-spacing:0;flex:1 1 30%;min-width:0;overflow:hidden;text-overflow:ellipsis;order:3}
#rvShell .rvAcciones .b-ok{order:1;flex:1 1 52%}
#rvShell .rvAcciones .rvSiguiente{order:2;flex:1 1 32%}

/* ── 8 · Vistas Registro y Cobertura ──────────────────────────────────────── */
.rvVista{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.rvVistaCuerpo{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:2px 4px 8px 2px}
body.rv .rvVista > .rvVistaCuerpo > .panel:not(#rv0){box-shadow:var(--rv-sombra)!important;border-width:2px!important}
/* Comedores de la Mesa sin ninguna acta aquí (Registro y Cobertura) */
body.rv .grupo.sinFichas:not(#rv0){border-style:dashed!important;box-shadow:none!important}
body.rv .grupo.sinFichas summary{cursor:pointer}
.grupo.sinFichas .gsub{color:var(--dim);font-weight:700}
.sinFichasTxt{margin:0;padding:10px 15px 12px;font-size:12.5px;line-height:1.55;color:var(--txt)}
.sinFichasEtq{font-size:11.5px;font-weight:700;color:var(--dim)}
body.rv .tabCard.e-sin:not(#rv0){border-style:dashed!important}
.tabCard.e-sin .tcDot{background:var(--faint)}
.rvVistaVacia{margin:40px auto;max-width:52ch;text-align:center;color:var(--faint);font-size:13px;line-height:1.6}

/* ── 9 · Cajón y bandeja ──────────────────────────────────────────────────── */
.rvVelo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:115;background:rgba(10,7,4,.45)}
.rvCajon, .rvBandeja{position:fixed;z-index:120;background:var(--base);color:var(--txt);border:2px solid var(--edge2);box-shadow:var(--sh-lg,8px 8px 0 #000);display:flex;flex-direction:column}
.rvCajon{top:0;right:0;bottom:0;width:440px;max-width:100vw;border-width:0 0 0 2px;-webkit-transform:translateX(0);transform:translateX(0);transition:transform .2s ease-out}
.rvBandeja{top:60px;right:16px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100% - 80px);border-radius:var(--rv-r)}
.rvCajonCab{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--edge);min-height:48px;background:var(--raise)}
.rvCajonCab .rvIco{margin-left:auto}
.rvCajonCuerpo{flex:1 1 auto;min-height:0;overflow:auto;padding:12px}
body.rv #rvCajon #cardCompartido:not(#rv0){border-width:1px!important;box-shadow:none!important}
.rvBandejaLista{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.rvAvisoB{padding:10px 12px;border-radius:9px;border:1px solid var(--edge);border-left:4px solid var(--faint);background:var(--raise);font-size:12.5px;line-height:1.55;color:var(--txt)}
.rvAvisoB[data-n="error"]{border-left-color:var(--err);background:var(--err-bg)}
.rvAvisoB[data-n="aviso"]{border-left-color:var(--warn);background:var(--warn-bg)}
.rvAvisoB[data-n="ok"]{border-left-color:var(--ok)}
.rvAvisoB .rvAvisoTit{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:3px}
.rvAvisoB .rvLink{display:inline-block;margin-top:6px}
#rvBandeja .rvLink{background:none;border:0;padding:0;color:var(--acc-txt);font-weight:700;text-decoration:underline;cursor:pointer;font-size:12.5px;box-shadow:none;text-transform:none;letter-spacing:0}
.rvBandejaVacia{padding:18px 10px;text-align:center;color:var(--faint);font-size:12.5px}
.rvAvisoB[data-n="nuevo"]{border-left-color:var(--cyan);background:var(--cyan-bg)}

/* ── 9b · «¿Qué cambió?»: el botón de la barra y el recorrido de novedades ──── */
body.rv .rvHerr .rvNovBtn:not(#rv0){position:relative;height:32px;padding:0 10px!important;font-size:11.5px;font-weight:800!important;text-transform:none;letter-spacing:0;
  border:2px solid var(--edge)!important;border-radius:9px!important;box-shadow:none!important;background:var(--alto)!important;color:var(--txt)!important;
  white-space:nowrap;animation:none!important;transform:none!important}
body.rv .rvHerr .rvNovBtn:not(#rv0):hover{border-color:var(--cyan)!important}
body.rv .rvHerr .rvNovBtn.rvNovNueva:not(#rv0){border-color:var(--cyan)!important}
.rvNovPunto{display:none;position:absolute;top:-5px;right:-5px;width:12px;height:12px;border-radius:50%;background:var(--cyan);border:2px solid var(--base)}
.rvNovNueva .rvNovPunto{display:block}
html.rvNovAbierto #comicTemaPanel{display:none}
.rvNovVelo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:rgba(10,7,4,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.rvNovCaja{width:100%;max-width:1080px;max-height:100%;display:flex;flex-direction:column;background:var(--base);color:var(--txt);border:3px solid var(--edge2);
  border-radius:16px;box-shadow:var(--sh-lg,8px 8px 0 #000);outline:none;overflow:hidden}
.rvNovCab{flex:0 0 auto;display:flex;align-items:flex-start;gap:12px;padding:14px 18px 10px;border-bottom:1px solid var(--edge);background:var(--raise)}
.rvNovCabTxt{flex:1 1 auto;min-width:0}
.rvNovFecha{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}
body.rv .rvNovTitulo:not(#rv0){margin:0;font-family:var(--disp)!important;font-weight:400;font-size:26px;line-height:1.05;letter-spacing:.02em;text-transform:uppercase;
  color:var(--txt);-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:2px 2px 0 #000}
#rvNovedades .rvNovX{height:40px;width:40px;font-size:15px}
@media (max-width:900px){ #rvNovedades .rvNovX{height:44px;width:44px} }
.rvNovCuerpo{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:-ms-grid;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;padding:16px 18px;align-content:start}
/* La caja de la imagen mide lo mismo que la imagen (las marcas van en % de ella); las altas (una
   columna) se limitan de alto y se centran, sin deformarse. */
.rvNovFig{margin:0;min-width:0;align-self:start;text-align:center}
.rvNovImg{position:relative;display:inline-block;max-width:100%;vertical-align:top;border-radius:10px;overflow:hidden;border:1px solid var(--edge2);background:var(--rv-mesa);line-height:0}
.rvNovImg img{display:block;max-width:100%;width:auto;height:auto;max-height:62vh}
@media (max-width:900px){ .rvNovImg img{max-height:46vh} }
.rvNovMarcas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}
.rvNovMarca{position:absolute;border:3px solid #FFC93C;border-radius:8px;box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 0 9999px rgba(0,0,0,0)}
.rvNovEtq{position:absolute;left:-3px;bottom:100%;margin-bottom:3px;max-width:240px;padding:2px 7px;border-radius:6px;background:#FFC93C;color:#140D06;font:800 11.5px/1.35 var(--ui);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:1px 1px 0 #000}
.rvNovMarca[data-etq="abajo"] .rvNovEtq{bottom:auto;top:100%;margin:3px 0 0}
.rvNovMarca[data-lado="der"] .rvNovEtq{left:auto;right:-3px}
.rvNovTexto{min-width:0}
/* Paso sin pantallazo (las novedades cortas): sin figura, el texto ocupa el ancho, con medida de lectura */
.rvNovCuerpo[data-sinimg]{grid-template-columns:minmax(0,1fr)}
.rvNovCuerpo[data-sinimg] .rvNovFig{display:none}
.rvNovCuerpo[data-sinimg] .rvNovTexto{max-width:68ch}
.rvNovCuerpo[data-sinimg] .rvNovTxt{font-size:15px}
.rvNovPaso{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--acc-txt)}
.rvNovPasoTit{margin:0 0 10px;font:800 19px/1.25 var(--ui);color:var(--txt)}
.rvNovTxt{font-size:14px;line-height:1.6;color:var(--txt)}
.rvNovTxt p{margin:0 0 10px}
.rvNovTxt ol{margin:0 0 10px;padding-left:22px}
.rvNovTxt li{margin:0 0 6px}
.rvNovTxt b{color:var(--txt)}
.rvNovPie{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--edge);background:var(--raise)}
.rvNovPuntos{display:flex;gap:6px;flex:1 1 auto;flex-wrap:wrap}
body.rv .rvNovPuntoPaso:not(#rv0){width:14px;height:14px;min-height:0;padding:0!important;border-radius:50%!important;border:2px solid var(--edge2)!important;background:transparent!important;
  box-shadow:none!important;animation:none!important;transform:none!important}
body.rv .rvNovPuntoPaso[aria-current="step"]:not(#rv0){background:var(--cyan)!important;border-color:var(--cyan)!important}
body.rv .rvNovPie .rvNovAnt:not(#rv0), body.rv .rvNovPie .rvNovSig:not(#rv0){height:40px;padding:0 16px!important;font-size:12.5px!important;text-transform:none;letter-spacing:0;animation:none!important}
.rvNovCuerpo.rvNovEntra .rvNovFig, .rvNovCuerpo.rvNovEntra .rvNovTexto{animation:rv-nov .24s ease-out both}
@keyframes rv-nov{from{opacity:.35;transform:translateX(10px)}to{opacity:1;transform:none}}
body.rv .rvNovCaja :focus-visible{outline:3px solid var(--cyan)!important;outline-offset:2px!important}
@media (max-width:900px){
  .rvNovVelo{padding:0}
  .rvNovCaja{max-width:none;height:100%;border-radius:0;border-width:0}
  .rvNovCuerpo{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}
  body.rv .rvNovTitulo:not(#rv0){font-size:21px}
  .rvNovEtq{font-size:10.5px;max-width:150px}
  body.rv .rvNovPie .rvNovAnt:not(#rv0), body.rv .rvNovPie .rvNovSig:not(#rv0){height:44px;min-height:44px}
  body.rv .rvNovPuntoPaso:not(#rv0){width:16px;height:16px}
  .rvNovPie{flex-wrap:wrap}
  .rvNovPuntos{flex:1 1 100%;justify-content:center}
  .rvNovPie .rvNovAnt, .rvNovPie .rvNovSig{flex:1 1 0}
}
@media (prefers-reduced-motion:reduce){ .rvNovCuerpo.rvNovEntra .rvNovFig, .rvNovCuerpo.rvNovEntra .rvNovTexto{animation:none!important} }

/* ── 10 · La capa de temporada no se monta sobre el trabajo ───────────────── */
/* (La brisa —hojitas sueltas, sin clics— se deja como la define la capa: pasa por encima, bajo la
   lluvia de celebración; halloween-octubre.mjs vigila ese contrato en las cinco apps.) */
/* La mascota se sienta en su rincón (abajo a la izquierda, al pie de la sesión), más chica. */
html[data-temporada] body.rv{--temporada-pieza-ancho:76px;--temporada-pieza-abajo:6px}
html[data-temporada] body.rv #temporadaEco{display:none}
/* LOS PERSONAJES VAN AL FRENTE (23/10/2026, pedido del dueño: «mantengámoslos para adelante, que todo se vea más
   bonito»). Antes los fantasmas pasaban DETRÁS de la estación y solo se asomaban por los huecos, cortados por
   los paneles. Ahora cruzan por delante del trabajo, por encima de la franja de datos (45) y por debajo de la
   barra (50), la guirnalda (55) y los cajones y velos (115+), así que nunca tapan un diálogo. Ninguno recibe clics
   (pointer-events:none en la capa y en cada uno): se ven, no estorban. La mascota también sube al frente. */
html[data-temporada] body.rv .temporada-fantasmas,
html[data-temporada] body.rv .temporada-fantasmas.temporada-fantasmas-sobre{z-index:46}
html[data-temporada] body.rv #temporadaPieza,
html[data-temporada] body.rv #temporadaPieza[data-modo="espia"]{z-index:46}

/* ── 11 · Foco visible en todo ────────────────────────────────────────────── */
body.rv .rvCol :focus-visible, body.rv .topbar :focus-visible, #rvCajon :focus-visible, #rvBandeja :focus-visible{outline:3px solid var(--cyan)!important;outline-offset:2px!important}

/* ── 12 · Pantallas medianas (1024–1279): dos columnas, la sesión en un cajón ── */
@media (max-width:1279px){
  .rvEstacion{grid-template-columns:minmax(0,1fr) 372px}
  body.rv .rvEstacion .rvCola{position:fixed;top:0;bottom:0;left:0;width:300px;max-width:88vw;z-index:118;border-radius:0;
    -webkit-transform:translateX(-104%);transform:translateX(-104%);transition:transform .2s ease-out}
  body.rv .rvEstacion.rvColaAbierta .rvCola{-webkit-transform:none;transform:none;box-shadow:8px 0 30px rgba(0,0,0,.45)}
  .rvAbrirCola, .rvColaCerrar{display:inline-flex!important}
  .rvColaCerrar{margin-left:auto}
  html[data-temporada] body.rv #rvCola .rvColaPie{padding-bottom:10px}
  html[data-temporada] body.rv #temporadaPieza:not([data-modo="espia"]){display:none}
  body.rv .topbar p{display:none}
  body.rv .quien select:not(#rv0){width:150px!important}
}
/* El subtítulo (Subdirección · Dirección) y el texto «Guía» caben con holgura desde 1600 px */
@media (max-width:1599px){ body.rv .topbar p{display:none} }

/* ── 13 · Teléfono y tableta vertical (< 1024): una columna a la vez ─────── */
.rvSegmento{display:none}
@media (max-width:1023px){
  body.rv .topbar{flex-wrap:wrap;padding:6px 12px;gap:6px 8px}
  body.rv .topbar .marca{flex:1 1 100%}
  body.rv .topbar h1:not(#rv0){font-size:16px!important}
  body.rv #brandLogo{height:22px}
  .rvVistas{order:5;width:100%}
  body.rv .rvVistas .rvVistaBtn:not(#rv0){flex:1 1 0;height:36px;line-height:36px}
  body.rv .quien{order:6;margin-left:0;width:100%;flex-wrap:wrap}
  body.rv .quien.rvConSesion{width:auto;order:2;margin-left:auto}
  body.rv .quien select:not(#rv0){flex:1 1 140px;width:auto!important}
  body.rv .navSup{order:3}
  .rvHerr{order:4}
  body.rv .navSup a.volver:not(#rv0){height:34px;line-height:30px;padding:0 8px!important;font-size:11px}
  body.rv .rvPildora:not(#rv0){padding:0 10px!important}
  #rvPildoraTxt{max-width:30vw;overflow:hidden;text-overflow:ellipsis}

  body.rv .shell.rvShell{padding:8px 8px 8px}
  .rvSegmento{display:flex;gap:4px;padding:3px;border:1px solid var(--edge);border-radius:10px;background:var(--void);flex:0 0 auto;width:100%}
  #rvShell .rvSegBtn{flex:1 1 0;min-width:0;height:44px;padding:0 2px;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--dim)!important;
    box-shadow:none!important;font-size:12px;font-weight:800!important;text-transform:none;letter-spacing:0;animation:none!important;transform:none!important;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis}
  #rvShell .rvSegBtn[aria-pressed="true"]{background:var(--cyan)!important;color:var(--on-acc)!important}
  .rvSegPunto{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:4px;vertical-align:1px}
  .rvSegPunto[data-n="error"]{background:var(--err)} .rvSegPunto[data-n="aviso"]{background:var(--warn)} .rvSegPunto[data-n="ok"]{background:var(--ok)}

  .rvEstacion{grid-template-columns:minmax(0,1fr)}
  body.rv .rvEstacion .rvCola{position:static;width:auto;max-width:none;-webkit-transform:none;transform:none;border-radius:var(--rv-r);transition:none}
  .rvAbrirCola, .rvColaCerrar{display:none!important}
  body.rv .rvEstacion > .rvCol{display:none}
  body.rv .rvEstacion[data-panel="cola"] > .rvCola,
  body.rv .rvEstacion[data-panel="datos"] > .rvDoc,
  body.rv .rvEstacion[data-panel="doc"] > .rvDoc,
  body.rv .rvEstacion[data-panel="res"] > .rvRes{display:flex}
  /* «Datos»: los campos a la vista; del documento, solo la zona para subirlo */
  .rvEstacion[data-panel="datos"] .rvVisorCtl{display:none!important}
  .rvEstacion[data-panel="datos"] .rvVisor{flex:0 0 auto;min-height:0;height:150px}
  .rvEstacion[data-panel="datos"] .rvDoc[data-acta="si"] .rvVisor{display:none}
  body.rv #rvShell .rvEstacion[data-panel="datos"] .rvDatos{flex:1 1 auto;max-height:none}
  .rvEstacion[data-panel="doc"] .rvDatos{display:none}
  .rvDatosFila{grid-template-columns:1fr}
  .rvDatosPie{position:-webkit-sticky;position:sticky;bottom:-10px;background:var(--raise);padding:8px 0 4px;flex-wrap:wrap}
  #rvShell #msg{flex-basis:100%}
  #rvShell .rvDatosPie .btns{width:100%}
  #rvShell .rvDatosPie .btns > button{flex:1 1 0;min-height:44px}
  .rvDatosActa{gap:5px 12px}
  #rvShell .rvAcciones .b-ok, #rvShell .rvAcciones .b-ghost, #rvShell .rvAcciones .b-primary{min-height:44px;height:auto;white-space:normal}
  #rvShell .rvSiguiente{margin-left:0;flex:1 1 100%}
  #rvShell .rvIco, #rvShell .rvChip, #rvShell .rvVer, #rvShell .rvValor{min-height:40px}
  #rvShell .rvGrupoCab{min-height:46px}
  #rvShell .rvColaItem{min-height:48px}
  #rvMsgEco:not(:empty){display:block!important;margin-top:10px}
  /* En el teléfono no hay rincón libre abajo: la mascota se sienta arriba a la derecha, junto al
     título (que le deja su lugar), lejos de los campos y de los botones. */
  html[data-temporada] body.rv #temporadaPieza:not([data-modo="espia"]){display:block;left:auto;right:10px;top:2px;bottom:auto;
    --temporada-pieza-ancho:46px;width:46px}
  html[data-temporada] body.rv .topbar .marca{padding-right:56px}
  .rvBandeja{top:auto;bottom:12px;right:12px;left:12px;width:auto;max-height:70%}
}
@media (max-width:420px){
  body.rv .navSup a.volver:not(#rv0){padding:0 6px!important}
  body.rv .topbar .marcaTxt{border-left:0;padding-left:0}
  #brandLogo{display:none!important}
}
/* Las ayudas «?» en pantallas angostas: una tarjeta a lo ancho, que nunca se sale por la derecha */
@media (max-width:640px){
  .rvAyudaTxt{position:fixed;left:12px;right:12px;top:auto;bottom:16px;width:auto;max-width:none;z-index:130}
}
/* La barra en pantallas medianas y en el teléfono: la guía queda como «?» y todo cabe en menos renglones */
@media (max-width:1599px){
  .rvGuiaTxt{display:none}
  body.rv .rvHerr #guia-btn:not(#rv0){width:34px!important;padding:0!important;justify-content:center}
}
/* Por debajo de 1600 px todo un poco más compacto, para que con la sesión iniciada la barra siga en un
   renglón también con «¿Qué cambió?» (a 1366 sobra poco) */
@media (max-width:1599px){
  body.rv .rvVistas .rvVistaBtn:not(#rv0){padding:0 10px}
  body.rv .topbar{column-gap:8px}
  body.rv #brandLogo{height:22px}
  body.rv .topbar h1:not(#rv0){font-size:17.5px!important}
  body.rv .quien.rvConSesion > select:not(#rv0){max-width:140px}
  body.rv .navSup a.volver:not(#rv0){padding:0 8px!important;font-size:11px}
  body.rv .rvHerr .rvNovBtn:not(#rv0){padding:0 8px!important;font-size:11px}
}
@media (max-width:640px){
  body.rv .topbar{gap:6px;padding:6px 10px}
  body.rv .topbar .marca{flex:1 1 100%}
  body.rv .topbar h1:not(#rv0){font-size:15px!important}
  body.rv .rvPildora:not(#rv0), body.rv .rvCampana:not(#rv0), body.rv .navSup a.volver:not(#rv0),
  body.rv .rvHerr #guia-btn:not(#rv0), body.rv .rvHerr #comicTemaBtn:not(#rv0){height:44px;min-height:44px}
  body.rv .rvCampana:not(#rv0), body.rv .rvHerr #guia-btn:not(#rv0), body.rv .rvHerr #comicTemaBtn:not(#rv0){width:44px!important}
  body.rv .navSup a.volver:not(#rv0){line-height:40px;font-size:10.5px;padding:0 7px!important}
  /* en la píldora queda el punto de color; el estado completo está en el cajón y en la franja */
  #rvPildoraTxt{display:none}
  body.rv .rvPildora:not(#rv0){width:44px;padding:0!important;justify-content:center}
  .rvPunto{width:12px;height:12px}
  body.rv .quien select:not(#rv0), body.rv .codBloque input:not(#rv0), body.rv .codBloque .codEntrar:not(#rv0){height:44px}
  body.rv .quien select:not(#rv0){flex:1 1 100%}
  body.rv .codBloque{grid-template-rows:22px 22px;margin-left:auto}
}

/* ── 14 · Movimiento reducido: nada se mueve ─────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .rvCajon, .rvEstacion .rvCola, .rvProgBarra i, .rvFlecha, .rvRecibos > summary::before{transition:none!important}
  .rvMarca.rvNueva, .rvGrupoChk.rvEntra, .rvEst[data-n="revisando"]{animation:none!important}
}

/* ── 15 · Al imprimir: solo el resultado ──────────────────────────────────── */
@media print{
  body.rv{height:auto;overflow:visible;display:block}
  body.rv .topbar, .rvFranja, .rvCola, .rvDoc, .rvAcciones, .rvSegmento, .rvCajon, .rvBandeja, .rvVelo{display:none!important}
  .rvEstacion{display:block}
  .rvColCuerpo{overflow:visible}
}
