/* ═══════════════════════════════════════════════════════════════════════════
   NexoFem — CITA DE REVISIÓN SIN COSTO · Ola 2 (UI) · 26-ago-2026
   ---------------------------------------------------------------------------
   Reglas de este archivo, y no son estilo:

   1) TODO selector empieza por .rev-  (los @media solo tocan .rev-*).
      Motivo: este CSS lo cargan DOS páginas con hojas distintas —medico.html
      (estilos.css + portal-v2 + portal-v3) y super.html (estilos.css +
      portal-v2, SIN portal-v3)—. Un solo selector genérico acá podría repintar
      cualquiera de los dos portales vivos. Con el prefijo, el rollback de la
      feature entera es borrar este archivo.
      Medido ANTES de escribirlo: grep -c "\.rev-" en estilos.css = 0.

   2) NO se usa ninguna clase .v3d-*, aunque en el portal médico existan.
      super.html no carga portal-v3.css: si la sección del superadmin dependiera
      de .v3d-pill se vería CRUDA justo en la pantalla del superadmin y en
      ninguna otra — el modo de falla más difícil de ver. Las utilidades que
      hacían falta están replicadas acá abajo con prefijo .rev-.

   3) 44 px de alto mínimo en todo lo tocable, foco visible propio, móvil
      primero. Contrastes medidos (los de la maqueta aprobada):
        #6b5200 sobre #fbf0da = 7,4:1 · #5b4fcf sobre #ede9ff = 6,4:1
        #1e1a3f sobre #fff = 16,7:1  · #8d2a12 sobre #fce9e4 = 7,3:1
   ═══════════════════════════════════════════════════════════════════════════ */

/* Paleta de la casa. Se declaran con nombre PROPIO (--rev-*) y con respaldo:
   si la página ya trae las variables del portal, se heredan; si no, el valor
   literal de la marca sigue estando acá y la pantalla no se cae. */
.rev-ui{
  --rev-violeta:var(--violeta,#5b4fcf);
  --rev-violeta-claro:var(--violeta-claro,#ede9ff);
  --rev-lavanda:var(--lavanda,#7a6ee0);
  --rev-durazno:var(--durazno,#d4870a);
  --rev-durazno-claro:var(--durazno-claro,#fbf0da);
  --rev-menta-claro:var(--menta-claro,#e2f5f3);
  --rev-celeste-claro:var(--celeste-claro,#e8f3fb);
  --rev-rosa-claro:var(--rosa-claro,#fce9e4);
  --rev-tinta:var(--tinta,#1e1a3f);
  --rev-tinta-2:var(--tinta-2,#4a4573);
  --rev-tinta-3:var(--tinta-3,#8a86a8);
  --rev-linea:var(--linea,rgba(91,79,207,.14));
  --rev-meta:#605a7d; --rev-verde:#0a6b52; --rev-ambar:#6b5200; --rev-azul:#0b5e96;
  --rev-r-sm:12px; --rev-r:18px; --rev-r-lg:22px;
  --rev-sombra-sm:0 6px 18px rgba(91,79,207,.10);
  --rev-sombra:0 16px 40px rgba(91,79,207,.16);
  --rev-grad:linear-gradient(135deg,#5b4fcf,#7a6ee0);
  --rev-fuente-tit:var(--fuente-titulo,"Poppins","Segoe UI",system-ui,sans-serif);
  --rev-fuente:var(--fuente,"Inter","Segoe UI",system-ui,sans-serif);
}

/* ── Utilidades replicadas (equivalen a las .v3d-* del portal médico) ─────── */
.rev-meta{font-size:.85rem;color:var(--rev-meta);margin:4px 0 0}
.rev-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font:600 .8rem/1.2 var(--rev-fuente);padding:6px 12px}
.rev-pill--ok{background:var(--rev-menta-claro);color:var(--rev-verde)}
.rev-pill--aviso{background:var(--rev-durazno-claro);color:var(--rev-ambar)}
.rev-pill--info{background:var(--rev-celeste-claro);color:var(--rev-azul)}
.rev-pill--marca{background:var(--rev-violeta-claro);color:var(--rev-violeta)}
.rev-pill--neutro{background:#f2f0fb;color:var(--rev-meta)}
.rev-chipic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;flex:none;font-size:1rem}
.rev-chipic--violeta{background:var(--rev-violeta-claro);color:var(--rev-violeta)}
.rev-chipic--ambar{background:var(--rev-durazno-claro);color:var(--rev-ambar)}
.rev-chipic--menta{background:var(--rev-menta-claro);color:var(--rev-verde)}
.rev-ava{border-radius:50%;background:var(--rev-grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--rev-fuente-tit);font-weight:600;flex:none;width:38px;height:38px;font-size:.86rem}
.rev-tabla-caja{overflow-x:auto;margin:6px -6px 0}
.rev-tabla{width:100%;border-collapse:collapse}
.rev-tabla th{text-align:left;font:600 .83rem/1.3 var(--rev-fuente);color:var(--rev-meta);padding:10px 8px;border-bottom:1.5px solid var(--rev-linea);white-space:nowrap}
.rev-tabla td{padding:12px 8px;border-bottom:1px solid var(--rev-linea);font-size:.9rem;vertical-align:middle}
.rev-tabla tr:last-child td{border-bottom:0}
.rev-tabla .rev-der{text-align:right}
.rev-thora{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.rev-pac{display:flex;align-items:center;gap:11px}
.rev-pac b{display:block;font-size:.92rem;line-height:1.3}
.rev-pac .rev-meta{font-size:.78rem;margin:0}
.rev-acc{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.rev-card{background:#fff;border-radius:var(--rev-r);box-shadow:var(--rev-sombra-sm);padding:20px 22px}
.rev-card__cab{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.rev-card__cab h2,.rev-card__cab h3{margin:0;font:600 1.05rem/1.25 var(--rev-fuente-tit);color:var(--rev-tinta)}

/* Foco visible PROPIO: estos controles son <button> sin clase .btn, y en
   super.html el :focus-visible global no los alcanza igual que en el portal. */
.rev-ui button:focus-visible,.rev-ui a:focus-visible,.rev-ui select:focus-visible,
.rev-ui textarea:focus-visible,.rev-ui input:focus-visible{
  outline:3px solid var(--rev-lavanda);outline-offset:3px;border-radius:8px}

/* ── Tarjeta de entrada («Mi agenda») ─────────────────────────────────────── */
.rev-entrada{border:1.5px dashed rgba(212,135,10,.45);background:linear-gradient(180deg,#fffdf7 0%,#fff 60%)}
.rev-entrada .rev-card__cab h2{font-size:1.08rem}
.rev-chapa{display:inline-flex;align-items:center;gap:8px;background:#f2f0fb;color:var(--rev-meta);border:1px dashed var(--rev-linea);border-radius:999px;padding:7px 14px;font:600 .82rem/1.2 var(--rev-fuente)}

/* ── Estructura del formulario ────────────────────────────────────────────── */
.rev-paso{margin:0 0 8px;font:700 .74rem/1.2 var(--rev-fuente);letter-spacing:.10em;text-transform:uppercase;color:var(--rev-tinta-3)}
.rev-bloque{padding:20px 0;border-top:1px solid var(--rev-linea)}
.rev-bloque--primero{border-top:0;padding-top:4px}
.rev-h2{font-size:1.15rem;margin:0 0 4px;font-family:var(--rev-fuente-tit);font-weight:700;color:var(--rev-tinta)}
.rev-campo{margin-bottom:16px}
.rev-campo label,.rev-campo .rev-lab{display:block;font-weight:700;font-size:.9rem;margin-bottom:7px}
.rev-campo input,.rev-campo select,.rev-campo textarea{width:100%;padding:13px 15px;border-radius:14px;border:2px solid var(--rev-linea);background:#fff;font-size:1rem;font-family:inherit;color:var(--rev-tinta);min-height:48px}
.rev-campo textarea{min-height:76px}
.rev-campo textarea:focus,.rev-campo input:focus{outline:none;border-color:var(--rev-lavanda)}
.rev-oculto-visual{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Buscador de pacientes ────────────────────────────────────────────────── */
.rev-buscador{position:relative;margin-bottom:10px}
.rev-buscador input{width:100%;padding:13px 44px;border-radius:14px;border:2px solid var(--rev-linea);
  background:#fff;font-size:1rem;font-family:inherit;color:var(--rev-tinta);min-height:48px}
.rev-buscador input:focus{outline:none;border-color:var(--rev-lavanda)}
.rev-buscador .rev-lupa{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--rev-tinta-3);font-size:1.05rem;pointer-events:none}
.rev-buscador .rev-limpiar{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;
  border:0;background:none;border-radius:50%;color:var(--rev-meta);font-size:1.1rem;cursor:pointer;
  display:none;align-items:center;justify-content:center}
.rev-buscador .rev-limpiar:hover{background:#f2f0fb;color:var(--rev-tinta)}
.rev-cuenta{font-size:.83rem;color:var(--rev-meta);margin:0 0 8px}
.rev-cuenta b{color:var(--rev-tinta-2)}

.rev-pacsel{display:grid;gap:8px;max-height:270px;overflow:auto;padding:4px;border:1.5px solid var(--rev-linea);border-radius:var(--rev-r-sm);background:#f7f4ff}
.rev-pacop{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:2px solid transparent;border-radius:var(--rev-r-sm);padding:11px 13px;cursor:pointer;min-height:56px;font-family:inherit;color:var(--rev-tinta)}
.rev-pacop:hover{border-color:var(--rev-violeta-claro)}
.rev-pacop[aria-pressed="true"]{border-color:var(--rev-violeta);background:var(--rev-violeta-claro)}
.rev-pacop b{display:block;font-size:.94rem;font-weight:600}
.rev-pacop small{display:block;font-size:.79rem;color:var(--rev-meta)}
.rev-pacop .rev-tic{margin-left:auto;color:var(--rev-violeta);font-weight:700;opacity:0}
.rev-pacop[aria-pressed="true"] .rev-tic{opacity:1}
.rev-pacop mark{background:#fdeeb8;color:inherit;border-radius:3px;padding:0 1px}
.rev-correo-oculto{margin-top:10px;display:flex;align-items:flex-start;gap:9px;font-size:.83rem;color:var(--rev-meta);background:#f7f5fb;border:1px dashed var(--rev-linea);border-radius:10px;padding:10px 12px;line-height:1.5}

/* Los dos vacíos. NO son el mismo estado y no dicen lo mismo. */
.rev-vacio{border:1.5px dashed var(--rev-linea);border-radius:var(--rev-r-sm);background:#fbfaff;padding:26px 22px;text-align:center}
.rev-vacio__ic{font-size:1.6rem;line-height:1;margin-bottom:10px;display:block}
.rev-vacio b{display:block;font-family:var(--rev-fuente-tit);font-size:1rem;margin-bottom:5px}
.rev-vacio p{margin:0 auto;font-size:.9rem;color:var(--rev-meta);line-height:1.55;max-width:46ch}
.rev-vacio .rev-btn{margin-top:14px}

/* ── Los DOS caminos ──────────────────────────────────────────────────────── */
.rev-caminos{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:14px;margin-top:6px}
.rev-camino{display:flex;flex-direction:column;gap:8px;text-align:left;background:#fff;
  border:2px solid var(--rev-linea);border-radius:var(--rev-r);padding:17px 19px;cursor:pointer;min-height:150px;
  font-family:inherit;font-size:1rem;color:var(--rev-tinta)}
.rev-camino:hover{border-color:var(--rev-violeta-claro)}
.rev-camino[aria-pressed="true"]{border-color:var(--rev-violeta);background:#fbfaff;box-shadow:var(--rev-sombra-sm)}
.rev-camino__cab{display:flex;align-items:center;gap:10px}
.rev-camino__cab b{font-family:var(--rev-fuente-tit);font-size:1.03rem;line-height:1.25}
.rev-camino__dato{font:700 .82rem/1.3 var(--rev-fuente);color:var(--rev-violeta);background:var(--rev-violeta-claro);
  border-radius:999px;padding:5px 12px;align-self:flex-start}
.rev-camino__dato--cero{color:var(--rev-meta);background:#f2f0fb}
.rev-camino p{margin:0;font-size:.88rem;color:var(--rev-meta);line-height:1.5}
.rev-camino .rev-costo{font-size:.86rem;font-weight:700;color:var(--rev-ambar);background:var(--rev-durazno-claro);
  border:1px solid rgba(212,135,10,.34);border-radius:10px;padding:8px 11px;line-height:1.45}
.rev-camino .rev-gratis{font-size:.86rem;font-weight:700;color:var(--rev-verde);background:var(--rev-menta-claro);
  border:1px solid rgba(15,168,150,.3);border-radius:10px;padding:8px 11px;line-height:1.45}
.rev-camino[aria-disabled="true"]{cursor:default;background:#fbfaff;border-style:dashed}
.rev-camino[aria-disabled="true"] .rev-camino__cab b{color:var(--rev-meta)}

.rev-cupos{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}
.rev-cupo{min-height:52px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  border:2px solid var(--rev-linea);background:#fff;border-radius:14px;padding:8px 16px;cursor:pointer;
  font-variant-numeric:tabular-nums;font-weight:700;font-size:1rem;color:var(--rev-tinta-2);font-family:inherit}
.rev-cupo small{font-weight:600;font-size:.7rem;color:var(--rev-tinta-3);letter-spacing:.03em}
.rev-cupo[aria-pressed="true"]{border-color:var(--rev-violeta);background:var(--rev-violeta-claro);color:var(--rev-violeta)}
.rev-cupo[aria-pressed="true"] small{color:var(--rev-violeta)}

/* ── Hora: el MISMO control del pincel desplegado el 25-ago ───────────────── */
.rev-hora{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rev-hora select{font-family:var(--rev-fuente);font-size:1rem;color:var(--rev-tinta);background:#fff;border:2px solid var(--rev-linea);border-radius:14px;padding:11px 13px;min-height:48px;font-variant-numeric:tabular-nums;width:auto}
.rev-hora .rev-dosp{font-size:1.25rem;color:var(--rev-tinta-3);font-weight:700}
.rev-hora .rev-hh{width:104px}
.rev-hora .rev-mm{width:114px}
.rev-hora .rev-rango{margin-left:6px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--rev-violeta);background:var(--rev-violeta-claro);border-radius:999px;padding:9px 16px;min-height:44px;display:inline-flex;align-items:center}
.rev-hora .rev-rango--mal{color:#8d2a12;background:var(--rev-rosa-claro)}

/* ── Duración ─────────────────────────────────────────────────────────────── */
.rev-pills{display:flex;gap:8px;flex-wrap:wrap}
.rev-pilld{min-height:48px;min-width:74px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px solid var(--rev-linea);background:#fff;color:var(--rev-tinta-2);border-radius:16px;padding:8px 18px;font-weight:700;font-size:.98rem;cursor:pointer;font-variant-numeric:tabular-nums;font-family:inherit}
.rev-pilld[aria-pressed="true"]{border-color:var(--rev-violeta);background:var(--rev-violeta-claro);color:var(--rev-violeta)}
.rev-pilld small{font-weight:600;font-size:.7rem;color:var(--rev-tinta-3);letter-spacing:.04em}
.rev-pilld[aria-pressed="true"] small{color:var(--rev-violeta)}

/* ── Mapa del día ─────────────────────────────────────────────────────────── */
.rev-dia{margin-top:16px;border:1.5px solid var(--rev-linea);border-radius:var(--rev-r);background:#fff;overflow:hidden}
.rev-dia__cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--rev-linea);background:#fbfaff}
.rev-dia__cab b{font-family:var(--rev-fuente-tit);font-size:1rem}
.rev-dia__cuerpo{padding:14px 16px 6px;display:flex;flex-direction:column;gap:6px}
.rev-tramo{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:stretch}
.rev-tramo__h{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;color:var(--rev-tinta-3);padding-top:9px;text-align:right}
.rev-tramo__h small{display:block;font-weight:600;font-size:.72rem;opacity:.8;margin-top:2px}
.rev-libre{background:repeating-linear-gradient(135deg,#ffffff 0 9px,#f8f6ff 9px 18px);border:1.5px dashed rgba(91,79,207,.22);border-radius:12px;min-height:74px;display:flex;align-items:center;justify-content:center;padding:12px 14px;text-align:center}
.rev-libre span{font-size:.87rem;font-weight:600;color:var(--rev-meta);line-height:1.45}
.rev-libre b{color:var(--rev-tinta-2)}
.rev-bl{border-radius:12px;padding:11px 14px;font-size:.85rem;line-height:1.3;display:flex;flex-direction:column;justify-content:center;min-height:52px}
.rev-bl b{font-weight:700;font-variant-numeric:tabular-nums;font-size:.88rem}
.rev-bl small{font-size:.79rem;opacity:.95;margin-top:1px}
.rev-bl--alto{min-height:76px}
.rev-consultas{border:1.5px solid rgba(91,79,207,.28);border-radius:12px;padding:10px;background:#faf9ff;display:flex;flex-direction:column;gap:6px}
.rev-consultas__rot{font:700 .74rem/1.2 var(--rev-fuente);letter-spacing:.08em;text-transform:uppercase;color:var(--rev-violeta);margin:0 0 2px}
.rev-bl--consulta{background:var(--rev-violeta-claro);color:#3e33a8;border:1.5px solid rgba(91,79,207,.36)}
.rev-bl--publicada{background:#fff;color:var(--rev-meta);border:1.5px dashed rgba(91,79,207,.4)}
.rev-bl--elegido{background:var(--rev-durazno-claro);color:var(--rev-ambar);border:2px solid var(--rev-durazno);box-shadow:0 4px 14px rgba(212,135,10,.24)}
.rev-bl--choque{background:var(--rev-rosa-claro);color:#8d2a12;border:2px solid #c0392b}
.rev-leyenda{display:flex;gap:18px;flex-wrap:wrap;padding:0 16px 15px;font-size:.8rem;color:var(--rev-meta)}
.rev-leyenda i{display:inline-block;width:17px;height:12px;border-radius:4px;margin-right:7px;vertical-align:-1px}

/* ── Notas ────────────────────────────────────────────────────────────────── */
.rev-nota{border-radius:var(--rev-r-sm);padding:13px 16px;font-size:.9rem;line-height:1.55;margin-top:14px}
.rev-nota--ambar{background:var(--rev-durazno-claro);border:1px solid rgba(212,135,10,.34);color:var(--rev-ambar)}
.rev-nota--info{background:var(--rev-celeste-claro);border:1px solid rgba(59,143,212,.3);color:#0b4a78}
.rev-nota--ok{background:var(--rev-menta-claro);border:1px solid rgba(15,168,150,.3);color:#07564a}
.rev-nota--mal{background:var(--rev-rosa-claro);border:1.5px solid #c0392b;color:#8d2a12}
.rev-nota__tit{display:flex;align-items:center;gap:9px;font-family:var(--rev-fuente-tit);font-weight:700;font-size:1rem;margin-bottom:5px}

/* ── Motivo ───────────────────────────────────────────────────────────────── */
.rev-contador{display:flex;justify-content:space-between;gap:12px;font-size:.81rem;color:var(--rev-meta);margin-top:6px;flex-wrap:wrap}
.rev-contador .rev-malo{color:#8d2a12;font-weight:700}
.rev-contador .rev-bueno{color:var(--rev-verde);font-weight:700}

/* ── Resumen de confirmación ──────────────────────────────────────────────── */
.rev-resumen{list-style:none;margin:0;padding:0}
.rev-resumen li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--rev-linea);font-size:.95rem;flex-wrap:wrap}
.rev-resumen li:last-child{border-bottom:0}
.rev-resumen .rev-k{flex:0 0 200px;color:var(--rev-meta);font-size:.86rem;font-weight:600;padding-top:2px}
.rev-resumen .rev-v{flex:1;min-width:210px;font-weight:600}
.rev-sinboleta{display:flex;gap:13px;align-items:flex-start;background:var(--rev-menta-claro);border:1px solid rgba(15,168,150,.32);border-radius:var(--rev-r-sm);padding:14px 16px;margin-top:16px;color:#07564a;font-size:.9rem;line-height:1.55}

/* ── Tabla de visibilidad («quién ve esta hora») ──────────────────────────── */
.rev-vis{border:1.5px solid var(--rev-linea);border-radius:var(--rev-r-sm);overflow:hidden;margin-top:14px;background:#fff}
.rev-vis__rot{background:#f7f5fb;padding:10px 14px;font:700 .76rem/1.2 var(--rev-fuente);letter-spacing:.08em;
  text-transform:uppercase;color:var(--rev-meta);border-bottom:1px solid var(--rev-linea);margin:0}
.rev-vis__f{display:grid;grid-template-columns:172px minmax(0,1fr);gap:14px;padding:11px 14px;border-bottom:1px solid var(--rev-linea);font-size:.9rem;align-items:baseline}
.rev-vis__f:last-of-type{border-bottom:0}
.rev-vis__q{font-weight:700;color:var(--rev-tinta-2)}
.rev-vis__r b{color:var(--rev-tinta)}
.rev-vis__pie{background:#fbfaff;padding:11px 14px;font-size:.86rem;color:var(--rev-meta);border-top:1px solid var(--rev-linea);line-height:1.55;margin:0}

/* ── Cancelación ──────────────────────────────────────────────────────────── */
.rev-opcion{border:1.5px solid var(--rev-linea);border-radius:var(--rev-r);padding:18px 20px;margin-top:14px;background:#fff}
.rev-opcion__cab{display:flex;align-items:center;gap:12px}
.rev-opcion__cab b{font-family:var(--rev-fuente-tit);font-size:1.05rem}

/* ── Superadmin: sección «Citas excepcionales» ────────────────────────────── */
.rev-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.rev-filtros input,.rev-filtros select{padding:12px 14px;border-radius:14px;border:2px solid var(--rev-linea);background:#fff;min-height:48px;font-family:inherit;font-size:1rem;color:var(--rev-tinta)}
.rev-filtros input{flex:1;min-width:170px}
.rev-motivo-celda{max-width:280px;font-size:.86rem;color:var(--rev-meta);line-height:1.5}

/* ── Contenido del modal del superadmin (va dentro de UI.modal) ───────────── */
.rev-modal__msg{font-size:.85rem;color:var(--rev-meta);margin-top:10px;min-height:20px}
.rev-nuevo{border-left:3px solid var(--rev-durazno);background:#fffdf7;border-radius:0 var(--rev-r-sm) var(--rev-r-sm) 0;padding:14px 16px;margin:16px 0}
.rev-nuevo__rot{font:700 .7rem/1.2 var(--rev-fuente);letter-spacing:.1em;text-transform:uppercase;color:var(--rev-ambar);margin:0 0 10px}
.rev-modos{display:inline-flex;background:#f2f0fb;border-radius:999px;padding:4px;gap:4px;flex-wrap:wrap}
.rev-modo{min-height:44px;border:0;background:none;border-radius:999px;padding:10px 18px;font-weight:700;font-size:.92rem;color:var(--rev-tinta-2);cursor:pointer;font-family:inherit}
.rev-modo[aria-pressed="true"]{background:#fff;color:var(--rev-violeta);box-shadow:var(--rev-sombra-sm)}

/* ── Botón propio: super.html no carga portal-v3 y .btn--claro no es seguro ─ */
.rev-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border-radius:999px;
  font-weight:700;font-size:.9rem;font-family:var(--rev-fuente-tit);border:0;cursor:pointer;text-decoration:none;min-height:44px}
.rev-btn--pri{background:var(--rev-grad);color:#fff}
.rev-btn--ghost{background:#fff;color:var(--rev-tinta);box-shadow:var(--rev-sombra-sm)}
.rev-btn--claro{background:var(--rev-violeta-claro);color:var(--rev-violeta)}
.rev-btn--grande{padding:14px 24px;font-size:1rem;min-height:48px}
.rev-btn[disabled],.rev-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}

.rev-acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;align-items:center}
.rev-volver{display:inline-flex;align-items:center;gap:7px;color:var(--rev-tinta-2);font-weight:600;font-size:.95rem;padding:10px 4px;min-height:44px;background:none;border:0;cursor:pointer;font-family:inherit}

@media (max-width:760px){
  .rev-resumen .rev-k{flex:0 0 100%}
  .rev-tramo{grid-template-columns:50px minmax(0,1fr)}
  .rev-dia__cuerpo{padding:14px 10px}
  .rev-hora .rev-rango{margin-left:0}
}
@media (max-width:640px){.rev-vis__f{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){
  .rev-ui *{transition:none!important;animation:none!important}
}
