/* Portal de médicos · Reina Madre
   Mismo sistema visual que el sitio nuevo (rm-web/src/styles/tokens.css): crema con lavados de color,
   morado para lo que se toca, superficies blancas. Los valores son los mismos tokens, copiados aquí
   porque este portal no carga el CSS del sitio. */

@font-face { font-family: "Raleway"; font-weight: 100 900; font-display: swap; src: url("fonts/Raleway-var-latin.woff2") format("woff2"); }
@font-face { font-family: "Work Sans"; font-weight: 100 900; font-display: swap; src: url("fonts/WorkSans-var-latin.woff2") format("woff2"); }

:root {
  --crema: #f6f2e3; --crema-2: #efeadb; --blanco: #fff;
  --tinta: #241c2b; --tinta-2: #5b5566; --tinta-3: #6f6879;
  --morado: #8e44a8; --morado-2: #7e3e97; --morado-noche: #55296b; --morado-tinte: #f2eaf7; --morado-linea: #e3d2ec;
  --rosa: #ec80a8; --rosa-tinte: #fdeff4; --rosa-texto: #b23c63;
  --rojo: #b42318; --rojo-2: #912018; --rojo-tinte: #fdecea; /* solo pausar y dar de baja */
  --mat: rgba(255,255,255,.86); --mat-2: rgba(255,255,255,.7); --mat-3: rgba(255,255,255,.55);
  --filo: rgba(255,255,255,.75); --borde: rgba(36,28,43,.12); --borde-2: rgba(36,28,43,.07);
  --sombra-1: 0 1px 1px rgba(36,28,43,.03), 0 3px 6px rgba(36,28,43,.035), 0 10px 26px rgba(36,28,43,.05);
  --sombra-2: 0 1px 2px rgba(36,28,43,.04), 0 6px 14px rgba(36,28,43,.05), 0 20px 46px rgba(36,28,43,.08);
  --sombra-3: 0 2px 4px rgba(36,28,43,.05), 0 10px 24px rgba(36,28,43,.07), 0 34px 76px rgba(36,28,43,.12);
  --titulo: "Raleway", "Segoe UI", Arial, sans-serif; --texto: "Work Sans", "Segoe UI", Arial, sans-serif;
  --sale: cubic-bezier(.25, 1, .5, 1); /* ease-out-quart */
  --z-pegajoso: 20; --z-aviso: 60;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  min-height: 100vh; font-family: var(--texto); font-size: 15px; line-height: 1.5; color: var(--tinta);
  background:
    radial-gradient(58rem 42rem at 18% -6%, rgba(162,92,191,.14), transparent 62%),
    radial-gradient(46rem 38rem at 96% 4%, rgba(236,128,168,.12), transparent 60%),
    var(--crema) fixed;
}
a { color: var(--morado-2); }
h1, h2, h3 { margin: 0; font-family: var(--titulo); font-weight: 800; letter-spacing: -.022em; line-height: 1.12; text-wrap: balance; }
p { text-wrap: pretty; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--rosa); outline-offset: 2px; }
::placeholder { color: var(--tinta-3); opacity: 1; }
.rmp-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
[hidden] { display: none !important; }

/* ---------- Botones ---------- */
.rmp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px;
  border-radius: 999px; border: 1px solid var(--borde); background: var(--mat-3); color: var(--tinta);
  font-family: var(--titulo); font-weight: 800; font-size: 14px; text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .16s, box-shadow .16s, transform .12s, border-color .16s;
}
.rmp-btn:hover { background: var(--mat); border-color: rgba(36,28,43,.2); }
.rmp-btn:active { transform: scale(.97); }
.rmp-btn-primario { background: var(--morado); border-color: var(--morado); color: #fff; }
.rmp-btn-primario:hover { background: var(--morado-2); border-color: var(--morado-2); box-shadow: 0 8px 22px rgba(126,62,151,.28); }
.rmp-btn-noche { background: var(--morado-noche); border-color: var(--morado-noche); color: #fff; }
.rmp-btn-noche:hover { background: #47215a; }
.rmp-btn-chico { min-height: 38px; padding: 0 16px; font-size: 13px; }
.rmp-btn[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; transform: none; }
.rmp-btn.rmp-copiado { background: var(--morado-noche); border-color: var(--morado-noche); color: #fff; }
.rmp-enlace { background: none; border: 0; padding: 6px 0; font-weight: 700; color: var(--morado-noche); cursor: pointer; text-decoration: underline; text-decoration-color: var(--morado-linea); text-underline-offset: 3px; }
.rmp-enlace:hover { text-decoration-color: currentColor; }
.rmp-enlace-rosa { color: var(--rosa-texto); text-decoration-color: rgba(178,60,99,.3); }
.rmp-icono-btn { width: 38px; height: 38px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--borde); background: #fff; color: var(--tinta-2); cursor: pointer; }
.rmp-icono-btn:hover { color: var(--rosa-texto); border-color: var(--rosa); }

/* ---------- Armazón ---------- */
.rmp-app { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; }
.rmp-lado { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 6px; padding: 28px 16px; background: var(--mat-3); border-right: 1px solid var(--filo); }
.rmp-marca { display: flex; align-items: center; gap: 10px; padding: 0 10px 22px; font-family: var(--titulo); font-weight: 800; font-size: 17px; }
.rmp-nav { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 14px; border-radius: 16px; color: var(--tinta); font-weight: 600; text-decoration: none; transition: background-color .16s; }
.rmp-nav:hover { background: var(--mat-2); }
.rmp-nav[aria-current="page"] { background: var(--morado); color: #fff; }
.rmp-cuenta { margin-left: auto; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--rosa-texto); color: #fff; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; }
.rmp-nav[aria-current="page"] .rmp-cuenta { background: #fff; color: var(--morado-noche); }
.rmp-yo { margin-top: auto; display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border-radius: 16px; background: var(--mat-2); font-size: 13px; color: var(--tinta-2); }
.rmp-yo strong { color: var(--tinta); font-size: 14px; }
.rmp-principal { padding: 32px 48px 64px; display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.rmp-cargando { padding: 48px; color: var(--tinta-2); }
.rmp-esqueleto { display: flex; flex-direction: column; gap: 16px; }
.rmp-esqueleto i { display: block; height: 120px; border-radius: 24px; background: linear-gradient(100deg, rgba(255,255,255,.55) 30%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.55) 70%) 0 0 / 300% 100%; animation: rmp-brillo 1.4s linear infinite; }
.rmp-esqueleto i:first-child { height: 48px; width: 40%; }
@keyframes rmp-brillo { to { background-position: -300% 0; } }

/* ---------- Encabezado de pantalla ---------- */
.rmp-cabeza { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.rmp-cabeza h1 { font-size: 34px; color: var(--morado); }
.rmp-cabeza .rmp-sub { margin: 6px 0 0; color: var(--tinta-2); max-width: 68ch; }
.rmp-cabeza-acciones { display: flex; gap: 10px; flex-wrap: wrap; }
.rmp-titulo-ficha { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rmp-titulo-ficha h1 { color: var(--tinta); }
.rmp-volver { align-self: flex-start; font-size: 14px; font-weight: 600; color: var(--tinta-2); text-decoration: none; }
.rmp-volver:hover { color: var(--morado-2); }

/* ---------- Superficies ---------- */
.rmp-caja { background: var(--mat); border: 1px solid var(--filo); border-radius: 24px; }
.rmp-caja-pad { padding: 22px 24px; }
.rmp-caja h2 { font-size: 19px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rmp-paso { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: var(--morado-tinte); color: var(--morado-2); font-size: 14px; font-variant-numeric: tabular-nums; }
.rmp-quien-llena { font-family: var(--texto); font-weight: 600; font-size: 13px; letter-spacing: 0; padding: 3px 10px; border-radius: 999px; background: var(--crema-2); color: var(--tinta-2); }
.rmp-sec-recien { animation: rmp-sec 1.4s var(--sale); }
@keyframes rmp-sec { 0% { box-shadow: 0 0 0 3px rgba(142,68,168,.45); } 100% { box-shadow: 0 0 0 3px rgba(142,68,168,0); } }

/* ---------- Cifras: una sola franja, no cuatro tarjetas ---------- */
.rmp-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--mat); border: 1px solid var(--filo); border-radius: 24px; }
.rmp-cifra { padding: 18px 22px; border-left: 1px solid var(--borde-2); }
.rmp-cifra:first-child { border-left: 0; }
.rmp-cifra b { display: block; font-family: var(--titulo); font-weight: 800; font-size: 30px; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rmp-cifra span { font-size: 14px; color: var(--tinta-2); }
.rmp-cifra-morado b { color: var(--morado-2); }
.rmp-cifra-rosa b { color: var(--rosa-texto); }

/* ---------- Pendientes ---------- */
.rmp-pendiente { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 11px 0; border-top: 1px solid var(--borde-2); }
.rmp-pendiente:first-of-type { border-top: 0; }
.rmp-pendiente-nota { background: var(--rosa-tinte); margin: 0 -12px 6px; padding: 12px; border-radius: 14px; border-top: 0; }

/* ---------- Filtros ---------- */
.rmp-filtros { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.rmp-buscar { flex: 1 1 260px; display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 16px; border-radius: 999px; background: var(--mat); border: 1px solid var(--borde-2); }
.rmp-buscar:focus-within { border-color: var(--morado); }
.rmp-buscar input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font-size: 15px; }
.rmp-select { min-height: 46px; padding: 0 14px; border-radius: 999px; background: var(--mat); border: 1px solid var(--borde-2); font-weight: 600; font-size: 14px; max-width: 100%; }
.rmp-segmento { display: flex; flex-wrap: wrap; padding: 4px; border-radius: 24px; background: var(--mat); border: 1px solid var(--borde-2); gap: 2px; }
.rmp-segmento button { min-height: 38px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; font-weight: 600; font-size: 14px; cursor: pointer; transition: background-color .16s, color .16s; }
.rmp-segmento button:hover { background: var(--morado-tinte); }
.rmp-segmento button[aria-pressed="true"] { background: var(--morado); color: #fff; }
.rmp-filtro-activo { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 4px 0 14px; border-radius: 999px; background: var(--morado-tinte); color: var(--morado-noche); font-size: 13px; font-weight: 700; }
.rmp-filtro-activo button { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; }
.rmp-filtro-activo button:hover { background: #fff; }

/* ---------- Tabla ---------- */
.rmp-tabla { overflow: hidden; }
.rmp-fila { display: grid; grid-template-columns: minmax(0, 2.2fr) 1fr 1.4fr 1.2fr auto; gap: 16px; align-items: center; padding: 12px 24px; border-bottom: 1px solid var(--borde-2); }
.rmp-fila:last-child { border-bottom: 0; }
.rmp-fila > .rmp-btn { justify-self: end; }
.rmp-fila-acciones { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.rmp-suc-mini { display: none; }
@media (max-width: 1320px) and (min-width: 821px) {
  .rmp-fila-med { grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr) auto auto; }
  .rmp-fila-med > :nth-child(2) { display: none; }
  .rmp-fila-med .rmp-suc-mini { display: inline; }
}
.rmp-fila-baja { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); }
.rmp-fila-baja .rmp-quien img, .rmp-fila-baja .rmp-sin-foto { filter: grayscale(1); opacity: .75; }
.rmp-fila-baja .rmp-quien b { font-weight: 800; }
.rmp-baja-cuando { display: flex; flex-direction: column; font-size: 14px; }
.rmp-baja-cuando small, .rmp-baja-motivo { font-size: 13px; color: var(--tinta-2); }
a.rmp-cifra { color: inherit; text-decoration: none; transition: background-color .16s; }
a.rmp-cifra:hover { background: var(--morado-tinte); }
.rmp-cifras > :first-child { border-radius: 24px 0 0 24px; }
.rmp-cifras > :last-child { border-radius: 0 24px 24px 0; }
.rmp-recientes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.rmp-recientes li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) auto; gap: 12px; align-items: baseline; padding: 10px 0; border-top: 1px solid var(--borde-2); font-size: 14px; }
.rmp-recientes li:first-child { border-top: 0; }
.rmp-recientes a { color: var(--tinta); text-decoration: none; }
.rmp-recientes a:hover { color: var(--morado-2); }
.rmp-recientes small { color: var(--tinta-2); white-space: nowrap; }
.rmp-btn-peligro { background: var(--rojo); border-color: var(--rojo); color: #fff; }
.rmp-btn-peligro:hover { background: var(--rojo-2); border-color: var(--rojo-2); }
.rmp-btn-alerta { color: var(--rojo); border-color: rgba(180,35,24,.4); }
.rmp-btn-alerta:hover { background: var(--rojo-tinte); border-color: var(--rojo); }
.rmp-interruptor-chico { margin-top: 0; }
#rmp-pausa-opciones { display: flex; flex-direction: column; gap: 12px; }
.rmp-confirmar-baja { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: var(--rojo-tinte); color: var(--rojo); font-size: 14px; font-weight: 600; cursor: pointer; }
.rmp-confirmar-baja input { width: 20px; height: 20px; margin: 0; flex-shrink: 0; accent-color: var(--rojo); }
.rmp-fila-cabeza { font-size: 13px; font-weight: 600; color: var(--tinta-2); padding-top: 14px; padding-bottom: 10px; }
.rmp-quien { display: flex; align-items: center; gap: 14px; min-width: 0; }
.rmp-quien img, .rmp-sin-foto { width: 48px; height: 48px; flex-shrink: 0; border-radius: 12px; object-fit: cover; outline: 1px solid rgba(0,0,0,.1); outline-offset: -1px; }
.rmp-sin-foto { display: inline-flex; align-items: center; justify-content: center; background: var(--rosa-tinte); color: var(--rosa-texto); outline: 0; }
.rmp-quien b { display: block; font-size: 15px; }
.rmp-quien small { display: block; font-size: 13px; color: var(--tinta-2); }
.rmp-barra { height: 8px; border-radius: 999px; background: var(--crema-2); overflow: hidden; }
.rmp-barra i { display: block; height: 100%; border-radius: 999px; background: var(--morado); }
.rmp-perfil small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.35; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.rmp-perfil small.rmp-espera { color: var(--morado-noche); font-weight: 600; }
.rmp-vacio { padding: 40px 24px; text-align: center; color: var(--tinta-2); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rmp-vacio b { color: var(--tinta); font-family: var(--titulo); font-size: 17px; }
.rmp-vacio p { margin: 0; max-width: 56ch; }

/* ---------- Chips de estado ---------- */
.rmp-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 12px; font-size: 13px; font-weight: 600; white-space: nowrap; justify-self: start; }
.rmp-chip-ok { background: var(--morado-tinte); color: var(--morado-noche); }
.rmp-chip-no { background: var(--rosa-tinte); color: var(--rosa-texto); white-space: normal; }
.rmp-chip-pausa { background: var(--crema-2); color: var(--tinta-2); }

/* ---------- Ficha ---------- */
.rmp-ficha { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.rmp-col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.rmp-lateral { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.rmp-alerta { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 20px; background: var(--rosa-tinte); color: var(--tinta); }
.rmp-alerta b { color: var(--rosa-texto); }
.rmp-alerta p { margin: 4px 0; }
.rmp-alerta small { color: var(--tinta-2); }
.rmp-subir-foto { position: relative; display: flex; align-items: center; justify-content: center; width: 200px; aspect-ratio: 1; border-radius: 18px; border: 2px dashed var(--morado-linea); background: var(--morado-tinte); color: var(--morado-2); cursor: pointer; overflow: hidden; transition: border-color .15s var(--sale), background-color .15s var(--sale); }
.rmp-subir-foto:hover, .rmp-subir-foto.rmp-encima { border-color: var(--morado); background: #ebdff3; }
.rmp-oculto:focus-visible + .rmp-subir-foto { outline: 3px solid var(--rosa); outline-offset: 2px; }
.rmp-subir-foto.rmp-con-foto { border-style: solid; border-color: var(--borde); }
.rmp-subir-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rmp-subir-vacio { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.rmp-subir-vacio svg { width: 30px; height: 30px; }
.rmp-subir-cambiar { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 6px 10px; border-radius: 999px; background: rgba(36,28,43,.72); color: #fff; font-size: 13px; font-weight: 600; text-align: center; opacity: 0; transition: opacity .15s var(--sale); }
.rmp-subir-foto:hover .rmp-subir-cambiar, .rmp-oculto:focus-visible + .rmp-subir-foto .rmp-subir-cambiar { opacity: 1; }
@media (hover: none) { .rmp-subir-cambiar { opacity: 1; } }
#ayuda-foto:not(:empty) { display: block; margin-top: 10px; }
.rmp-foto-vacia { display: flex; align-items: center; justify-content: center; border-radius: 16px; background: var(--rosa-tinte); color: var(--rosa-texto); }
.rmp-nota { font-size: 14px; color: var(--tinta-2); margin: 0; }
.rmp-nota-chica { display: block; font-size: 12px; color: var(--tinta-2); }
.rmp-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.rmp-campo { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--tinta-2); }
.rmp-campo-ancho { grid-column: 1 / -1; }
.rmp-campo input, .rmp-campo select, .rmp-campo textarea { min-height: 46px; padding: 0 14px; border-radius: 16px; border: 1px solid rgba(36,28,43,.16); background: #fff; font-size: 15px; font-weight: 400; color: var(--tinta); transition: border-color .16s, box-shadow .16s; }
.rmp-campo input:hover, .rmp-campo select:hover { border-color: rgba(36,28,43,.3); }
.rmp-campo input:focus, .rmp-campo select:focus, .rmp-campo textarea:focus { outline: none; border-color: var(--morado); box-shadow: 0 0 0 3px rgba(142,68,168,.16); }
.rmp-campo textarea { padding: 12px 14px; min-height: 120px; resize: vertical; line-height: 1.55; }
.rmp-campo .rmp-ayuda, .rmp-ayuda { font-weight: 400; color: var(--tinta-2); }
.rmp-ayuda-campo { font-size: 13px; font-weight: 500; color: var(--tinta-2); min-height: 0; }
.rmp-ayuda-campo:empty { display: none; }
.rmp-ayuda-aviso { color: var(--rosa-texto); }
.rmp-ayuda-error { color: var(--rosa-texto); font-weight: 600; }
.rmp-campo-error input, .rmp-campo-error select { border-color: var(--rosa-texto); box-shadow: 0 0 0 3px rgba(178,60,99,.12); }
.rmp-error-txt { color: var(--rosa-texto); font-size: 13px; font-weight: 600; }
.rmp-grupo { margin-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.rmp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rmp-toggle { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(36,28,43,.16); background: #fff; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .16s, border-color .16s, color .16s; }
.rmp-toggle:hover { border-color: var(--morado); }
.rmp-toggle[aria-pressed="true"] { background: var(--morado); border-color: var(--morado); color: #fff; }
.rmp-interruptor { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--tinta); cursor: pointer; }
.rmp-interruptor input { width: 20px; height: 20px; accent-color: var(--morado); }
.rmp-acciones-fila { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; margin-top: 4px; }

/* ---------- Agenda: semana por sucursal ---------- */
.rmp-semana-bloque { margin-top: 18px; display: flex; flex-direction: column; gap: 10px; }
.rmp-semana-cabeza { display: flex; flex-direction: column; gap: 2px; }
.rmp-semana-cabeza b { font-size: 14px; }
.rmp-semana-cabeza small { font-size: 13px; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.rmp-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.rmp-dia {
  min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 10px 4px;
  border-radius: 16px; border: 1.5px dashed rgba(36,28,43,.22); background: #fff; color: var(--tinta-2); cursor: pointer;
  transition: background-color .16s, border-color .16s, color .16s, transform .12s;
}
.rmp-dia:hover { border-color: var(--morado); border-style: solid; color: var(--morado-2); background: var(--morado-tinte); }
.rmp-dia:active { transform: scale(.97); }
.rmp-dia-nombre { font-family: var(--titulo); font-weight: 800; font-size: 13px; color: inherit; }
.rmp-dia-agregar { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 999px; background: var(--crema); }
.rmp-dia-agregar svg { width: 14px; height: 14px; }
.rmp-dia:hover .rmp-dia-agregar { background: #fff; }
.rmp-dia-activo { border: 1.5px solid var(--morado-linea); background: var(--morado-tinte); color: var(--morado-noche); }
.rmp-dia-activo:hover { border-color: var(--morado); }
.rmp-dia-horas { font-size: 12px; font-weight: 600; line-height: 1.3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rmp-dia-horas i { font-style: normal; opacity: .6; padding: 0 1px; }
.rmp-dia-recien { animation: rmp-pulso 1.2s var(--sale); }
@keyframes rmp-pulso { 0% { box-shadow: 0 0 0 0 rgba(142,68,168,.5); } 100% { box-shadow: 0 0 0 12px rgba(142,68,168,0); } }

.rmp-check-grande { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px; padding: 16px 18px; border-radius: 18px; background: #fff; border: 1px solid rgba(36,28,43,.14); cursor: pointer; transition: border-color .16s; }
.rmp-check-grande:hover { border-color: var(--morado); }
.rmp-check-grande:has(input:checked) { border-color: var(--morado); background: var(--morado-tinte); }
.rmp-check-grande:has(input:disabled) { opacity: .6; cursor: not-allowed; }
.rmp-check-grande input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--morado); }
.rmp-check-grande b { display: block; font-family: var(--titulo); font-weight: 800; font-size: 15px; }
.rmp-check-grande small { font-size: 13px; color: var(--tinta-2); }
.rmp-extras { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; align-items: flex-start; }
.rmp-extra { align-self: stretch; padding: 16px 18px 18px; border-radius: 20px; background: rgba(255,255,255,.6); border: 1px solid var(--morado-linea); }
.rmp-extra-cabeza { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rmp-extra-cabeza .rmp-campo { flex: 1 1 240px; max-width: 360px; }

/* ---------- Biografía, opiniones del médico ---------- */
.rmp-bio-texto { margin: 0 0 10px; padding: 16px 18px; border-radius: 16px; background: var(--crema); font-size: 15px; line-height: 1.6; max-width: 70ch; }
.rmp-bio-enlace { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.rmp-bio-enlace p { margin: 0; }
.rmp-espera-caja { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: var(--morado-tinte); color: var(--morado-noche); margin-bottom: 14px; }
.rmp-espera-caja p { margin: 2px 0 0; font-size: 14px; color: var(--tinta-2); }
.rmp-reloj { display: inline-flex; width: 34px; height: 34px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 999px; background: #fff; }
.rmp-ops-cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.rmp-ops-cifras div { padding: 12px 14px; border-radius: 16px; background: var(--crema); }
.rmp-ops-cifras b { display: block; font-family: var(--titulo); font-weight: 800; font-size: 22px; font-variant-numeric: tabular-nums; }
.rmp-ops-cifras span { font-size: 13px; color: var(--tinta-2); }
.rmp-qr-btn { margin-top: 10px; }
.rmp-bio-fila { border-bottom: 1px solid var(--borde-2); }
.rmp-bio-fila:last-child { border-bottom: 0; }
.rmp-bio-fila .rmp-fila { border-bottom: 0; }
.rmp-fila-enl { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.rmp-fila-enl.rmp-fila-cabeza { align-items: center; }
.rmp-enl-celda { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.rmp-enl-celda .rmp-chip { white-space: normal; max-width: 100%; }
.rmp-enl-tipo { display: none; font-size: 12px; font-weight: 700; color: var(--tinta-2); }
.rmp-bio-panel { padding: 0 24px 22px 86px; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.rmp-panel-parte { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.7); border: 1px solid var(--morado-linea); }
.rmp-panel-parte h3 { font-size: 15px; }
.rmp-panel-cuerpo { display: flex; flex-direction: column; gap: 10px; }
.rmp-campo-buscar-medico { max-width: 520px; margin: 4px 0 12px; }
.rmp-checks a[aria-disabled="true"] { cursor: default; }
.rmp-checks a[aria-disabled="true"]:hover { background: none; }

/* Compartir un enlace: el enlace a la vista, copiar en grande, WhatsApp y correo al lado. */
.rmp-compartir { display: flex; flex-direction: column; gap: 10px; align-self: stretch; margin-top: 4px; }
.rmp-url { display: flex; align-items: center; gap: 6px; padding: 5px 5px 5px 16px; border-radius: 999px; background: #fff; border: 1px solid rgba(36,28,43,.16); }
.rmp-url input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 14px; color: var(--tinta-2); text-overflow: ellipsis; outline: none; }

/* ---------- Lateral ---------- */
.rmp-caja-vista { box-shadow: var(--sombra-2); }
.rmp-vista { padding: 10px; border-radius: 20px; background: var(--crema); }
.rmp-vista img, .rmp-vista .rmp-foto-vacia { display: block; width: 100%; height: 200px; border-radius: 12px; object-fit: cover; }
.rmp-vista .rmp-foto-vacia { display: flex; }
.rmp-vista b { display: block; margin: 12px 6px 2px; font-family: var(--titulo); font-weight: 800; font-size: 17px; }
.rmp-vista span { display: block; margin: 0 6px; font-size: 13px; color: var(--tinta-2); }
.rmp-completo-cabeza { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.rmp-completo-cabeza h2 { margin: 0; }
.rmp-porcentaje { font-family: var(--titulo); font-weight: 800; font-size: 22px; color: var(--morado-2); font-variant-numeric: tabular-nums; }
.rmp-pasos-titulo { margin: 16px 0 6px; font-size: 13px; font-weight: 700; color: var(--tinta-2); }
.rmp-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.rmp-checks a { display: flex; align-items: flex-start; gap: 10px; padding: 6px 8px; margin: 0 -8px; border-radius: 12px; color: var(--tinta-2); text-decoration: none; }
.rmp-checks a:hover { background: var(--morado-tinte); }
.rmp-checks a span { display: flex; flex-direction: column; }
.rmp-checks small { font-size: 12px; color: var(--rosa-texto); }
.rmp-checks li.rmp-hecho a { color: var(--tinta); }
.rmp-checks i { width: 22px; height: 22px; border-radius: 999px; border: 2px solid #d4ccbb; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rmp-checks li.rmp-hecho i { background: var(--morado); border-color: var(--morado); color: #fff; }
.rmp-avisos { margin: 0; padding: 12px 14px; border-radius: 16px; background: var(--rosa-tinte); color: var(--rosa-texto); font-size: 14px; font-weight: 600; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.rmp-historial { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: var(--tinta-2); }
.rmp-historial b { color: var(--tinta); font-weight: 600; }
.rmp-caja-estado { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }

/* ---------- La barra de guardar: siempre a la vista al bajar ---------- */
.rmp-barra-guardar { position: sticky; bottom: 16px; z-index: var(--z-pegajoso); display: none; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 10px 10px 24px; border-radius: 999px; background: var(--tinta); color: #fff; box-shadow: var(--sombra-3); font-weight: 600; font-size: 14px; }
.rmp-barra-visible { display: flex; animation: rmp-sube .24s var(--sale); }
.rmp-barra-acciones { display: flex; gap: 8px; }
.rmp-barra-guardar .rmp-btn:not(.rmp-btn-primario) { background: transparent; color: #fff; border-color: rgba(255,255,255,.3); }
.rmp-barra-guardar .rmp-btn:not(.rmp-btn-primario):hover { background: rgba(255,255,255,.1); }
.rmp-barra-guardar .rmp-btn-primario[disabled] { opacity: .7; }
@keyframes rmp-sube { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Ventanas (dialog nativo) ---------- */
.rmp-dlg { padding: 0; border: 0; border-radius: 28px; background: #fbf9f3; color: var(--tinta); box-shadow: var(--sombra-3); width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; }
.rmp-dlg::backdrop { background: rgba(36,28,43,.38); }
.rmp-dlg[open] { animation: rmp-entra .26s var(--sale); }
.rmp-dlg[open]::backdrop { animation: rmp-fundido .26s ease-out; }
@keyframes rmp-entra { from { opacity: 0; transform: translateY(10px) scale(.985); } }
@keyframes rmp-fundido { from { opacity: 0; } }
.rmp-dlg-chica { width: min(520px, calc(100% - 32px)); }
.rmp-dlg-horario { width: min(700px, calc(100% - 32px)); }
.rmp-dlg-exito { width: min(600px, calc(100% - 32px)); }
.rmp-dlg-cuerpo { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 30px; margin: 0; }
.rmp-dlg-cuerpo h2 { font-size: 24px; padding-right: 40px; }
.rmp-dlg-x { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: var(--tinta-2); cursor: pointer; }
.rmp-dlg-x:hover { background: var(--crema-2); color: var(--tinta); }
.rmp-dlg-acciones { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.rmp-opcion { display: flex; gap: 14px; padding: 16px; border-radius: 20px; background: #fff; border: 1px solid rgba(36,28,43,.14); cursor: pointer; }
.rmp-opcion:has(input:checked) { border: 2px solid var(--morado); padding: 15px; }
.rmp-opcion input { margin-top: 3px; accent-color: var(--morado); }
.rmp-opcion b { display: block; font-family: var(--titulo); font-weight: 800; font-size: 16px; }
.rmp-opcion span { font-size: 14px; color: var(--tinta-2); }
.rmp-info { display: flex; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--morado-tinte); color: var(--morado-noche); font-size: 14px; }

/* ---------- El selector de horario ---------- */
.rmp-horario { gap: 18px; }
.rmp-horario-cabeza p { margin: 4px 0 0; color: var(--tinta-2); }
.rmp-atajos { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.rmp-atajo { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 10px 14px; border-radius: 16px; border: 1px solid rgba(36,28,43,.14); background: #fff; text-align: left; cursor: pointer; transition: border-color .16s, background-color .16s, color .16s; }
.rmp-atajo b { font-family: var(--titulo); font-weight: 800; font-size: 14px; }
.rmp-atajo span { font-size: 13px; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.rmp-atajo:hover { border-color: var(--morado); }
.rmp-atajo[aria-pressed="true"] { border-color: var(--morado); background: var(--morado-tinte); color: var(--morado-noche); }

.rmp-linea { padding: 4px 12px 0; user-select: none; -webkit-user-select: none; }
.rmp-linea-pista { position: relative; height: 68px; border-radius: 18px; background: #fff; border: 1px solid rgba(36,28,43,.12); }
.rmp-linea-error .rmp-linea-pista { border-color: var(--rosa-texto); }
.rmp-linea-error .rmp-tramo { background: var(--rosa-texto); }
.rmp-linea-marca { position: absolute; top: 10px; bottom: 10px; width: 1px; background: rgba(36,28,43,.06); }
.rmp-linea-marca-fuerte { background: rgba(36,28,43,.14); }
.rmp-tramo {
  position: absolute; top: 10px; bottom: 10px; display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: var(--morado); color: #fff; cursor: grab; touch-action: none;
  transition: box-shadow .16s, background-color .16s;
}
.rmp-tramo:hover { box-shadow: 0 6px 16px rgba(126,62,151,.25); }
.rmp-tramo-arrastrando { cursor: grabbing; transition: none; box-shadow: 0 8px 22px rgba(126,62,151,.38); }
.rmp-tramo-txt { padding: 0 16px; overflow: hidden; white-space: nowrap; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; pointer-events: none; }
.rmp-asa { position: absolute; top: 50%; width: 22px; height: 46px; margin-top: -23px; padding: 0; border-radius: 999px; border: 2px solid var(--morado); background: #fff; cursor: ew-resize; touch-action: none; box-shadow: 0 2px 6px rgba(36,28,43,.18); transition: transform .12s, border-color .16s; }
.rmp-asa::before { content: ""; position: absolute; inset: -10px -12px; } /* área de toque de 46 × 66 */
.rmp-asa::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 14px; margin: -7px 0 0 -3px; background: linear-gradient(90deg, var(--morado-linea) 0 2px, transparent 2px 4px, var(--morado-linea) 4px 6px); } /* agarradera: dos rayitas */
.rmp-asa:hover, .rmp-tramo-arrastrando .rmp-asa:focus { transform: scale(1.08); }
.rmp-asa:focus-visible { outline: 3px solid var(--rosa); outline-offset: 2px; }
.rmp-linea-error .rmp-asa { border-color: var(--rosa-texto); }
.rmp-asa-de { left: -11px; }
.rmp-asa-a { right: -11px; }
.rmp-linea-horas { position: relative; height: 24px; margin-top: 6px; font-size: 12px; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.rmp-linea-horas span { position: absolute; transform: translateX(-50%); }

.rmp-tramos-filas { display: flex; flex-direction: column; gap: 10px; }
.rmp-tramo-fila { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.rmp-tramo-fila label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: var(--tinta-2); }
.rmp-select-hora { min-height: 44px; min-width: 112px; padding: 0 12px; border-radius: 14px; border: 1px solid rgba(36,28,43,.16); background: #fff; font-size: 15px; font-variant-numeric: tabular-nums; }
.rmp-select-hora:focus { outline: none; border-color: var(--morado); box-shadow: 0 0 0 3px rgba(142,68,168,.16); }
.rmp-tramo-a { padding-bottom: 11px; color: var(--tinta-2); }
.rmp-tramos-pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rmp-total { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--morado-noche); font-variant-numeric: tabular-nums; }
.rmp-horario-error { margin: -6px 0 0; color: var(--rosa-texto); font-size: 14px; font-weight: 600; }
.rmp-horario-error:empty { display: none; }
.rmp-aplicar { margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--borde); display: flex; flex-direction: column; gap: 10px; }
.rmp-aplicar legend { padding: 16px 0 0; float: left; width: 100%; font-weight: 700; font-size: 14px; }
.rmp-toggle-dia { position: relative; min-width: 58px; }
.rmp-punto { position: absolute; top: 5px; right: 7px; width: 7px; height: 7px; border-radius: 999px; background: var(--rosa); }
.rmp-aplicar-rapido { display: flex; gap: 18px; }
.rmp-horario-acciones { justify-content: space-between; align-items: center; }
.rmp-horario-acciones > div { display: flex; gap: 10px; }

/* ---------- Aviso de éxito ---------- */
.rmp-exito { align-items: stretch; }
.rmp-exito-marca { width: 56px; height: 56px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--morado); color: #fff; animation: rmp-marca .5s var(--sale); }
@keyframes rmp-marca { from { transform: scale(.6); opacity: 0; } }
.rmp-exito-estado { margin: -6px 0 0; color: var(--tinta-2); }
.rmp-exito-paso { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 22px; background: #fff; border: 1px solid var(--morado-linea); }
.rmp-exito-paso h3 { font-size: 17px; }
.rmp-exito-paso p { margin: 0; }
.rmp-qr { align-items: center; text-align: center; }
.rmp-qr img { width: 280px; height: 280px; max-width: 100%; image-rendering: pixelated; border-radius: 12px; background: #fff; padding: 8px; }
.rmp-qr-url { margin: 0; font-size: 13px; color: var(--tinta-2); word-break: break-all; }

/* ---------- Opiniones ---------- */
.rmp-ops-lista { display: flex; flex-direction: column; gap: 14px; }
.rmp-op { padding: 20px 24px; display: flex; flex-direction: column; gap: 12px; transition: opacity .2s, transform .2s var(--sale); }
.rmp-op-sale { opacity: 0; transform: translateX(16px); }
.rmp-op-cabeza { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--tinta-2); }
.rmp-op-cabeza a { font-weight: 700; color: var(--tinta); text-decoration: none; }
.rmp-op-cabeza a:hover { color: var(--morado-2); }
.rmp-op-cabeza time { margin-left: auto; }
.rmp-estrellas { display: inline-flex; gap: 1px; color: #d9d0bf; }
.rmp-estrellas .rmp-estrella-llena { color: #c98a12; }
.rmp-estrellas i { display: inline-flex; }
.rmp-op-texto { margin: 0; font-size: 15px; line-height: 1.6; max-width: 72ch; }
.rmp-op-vacio { color: var(--tinta-2); font-style: italic; }
.rmp-op-quien { margin: 0; display: grid; gap: 6px; padding: 12px 14px; border-radius: 14px; background: var(--crema); font-size: 14px; }
.rmp-op-quien div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; align-items: center; }
.rmp-op-quien dt { color: var(--tinta-2); font-weight: 600; display: inline-flex; gap: 4px; align-items: center; }
.rmp-op-quien dd { margin: 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; word-break: break-word; }
.rmp-op-acciones { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rmp-op-rechazo { display: flex; flex-direction: column; gap: 10px; max-width: 420px; }

/* ---------- Aviso flotante ---------- */
.rmp-toast { position: fixed; left: 50%; bottom: 24px; z-index: var(--z-aviso); transform: translateX(-50%); max-width: calc(100% - 32px); padding: 14px 22px; border-radius: 999px; background: var(--tinta); color: #fff; font-weight: 600; box-shadow: var(--sombra-3); animation: rmp-sube .24s var(--sale); }
.rmp-toast-error { background: var(--rosa-texto); border-radius: 20px; }

/* ---------- Puerta (sin sesión) ---------- */
.rmp-puerta { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.rmp-puerta-caja { max-width: 420px; padding: 36px; text-align: center; background: var(--mat); border: 1px solid var(--filo); border-radius: 32px; box-shadow: var(--sombra-2); display: flex; flex-direction: column; gap: 14px; align-items: center; }
.rmp-puerta-caja h1 { color: var(--morado); font-size: 28px; }
.rmp-puerta-caja p { margin: 0; color: var(--tinta-2); }

/* ---------- Pantallas chicas ---------- */
@media (max-width: 1180px) {
  .rmp-ficha { grid-template-columns: minmax(0, 1fr); }
  .rmp-lateral { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: start; }
}
@media (max-width: 960px) {
  .rmp-principal { padding: 24px 24px 56px; }
  .rmp-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rmp-cifra:nth-child(3) { border-left: 0; }
  .rmp-cifra:nth-child(n+3) { border-top: 1px solid var(--borde-2); }
}
@media (max-width: 820px) {
  .rmp-app { grid-template-columns: minmax(0, 1fr); }
  .rmp-lado { position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--filo); }
  .rmp-marca { padding: 0 8px 0 0; }
  .rmp-nav { min-height: 40px; padding: 0 12px; }
  .rmp-yo { display: none; }
  .rmp-principal { padding: 20px 16px 48px; }
  .rmp-cabeza h1 { font-size: 28px; }
  .rmp-fila { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 16px; }
  .rmp-fila > :nth-child(2), .rmp-fila > :nth-child(3) { display: none; }
  .rmp-fila > :nth-child(5) { grid-column: 1 / -1; justify-self: stretch; }
  .rmp-fila-acciones { justify-content: stretch; }
  .rmp-fila-acciones .rmp-btn { flex: 1; }
  .rmp-fila-baja { grid-template-columns: minmax(0, 1fr); }
  .rmp-fila-baja > :nth-child(2), .rmp-fila-baja > :nth-child(3) { display: flex; }
  .rmp-recientes li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .rmp-cifras > * { border-radius: 0 !important; }
  .rmp-fila-cabeza { display: none; }
  .rmp-fila-enl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rmp-fila-enl > .rmp-quien { grid-column: 1 / -1; }
  .rmp-fila-enl > :nth-child(2), .rmp-fila-enl > :nth-child(3) { display: flex; }
  .rmp-fila-enl.rmp-fila-cabeza { display: none; }
  .rmp-enl-tipo { display: block; }
  .rmp-bio-panel { padding: 0 16px 18px; grid-template-columns: minmax(0, 1fr); }
  .rmp-campos { grid-template-columns: minmax(0, 1fr); }
  .rmp-semana { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rmp-ops-cifras div { padding: 10px; }
  .rmp-ops-cifras span { font-size: 12px; }
  .rmp-barra-guardar { border-radius: 22px; flex-wrap: wrap; padding: 8px 8px 8px 16px; gap: 6px 12px; font-size: 13px; }
  .rmp-barra-guardar > span { flex: 1 1 200px; }
  .rmp-barra-acciones .rmp-btn, .rmp-barra-guardar > .rmp-btn { min-height: 42px; }
  .rmp-op { padding: 16px; }
  .rmp-op-quien div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
@media (max-width: 640px) {
  .rmp-dlg, .rmp-dlg-chica, .rmp-dlg-horario, .rmp-dlg-exito { width: 100%; max-width: 100%; margin: auto 0 0; border-radius: 28px 28px 0 0; max-height: 94dvh; }
  .rmp-dlg[open] { animation-name: rmp-hoja; }
  .rmp-dlg-cuerpo { padding: 24px 18px calc(18px + env(safe-area-inset-bottom)); }
  .rmp-linea { padding: 4px 11px 0; }
  .rmp-linea-horas span:nth-child(even) { display: none; }
  .rmp-horario-acciones { flex-direction: column-reverse; align-items: stretch; }
  .rmp-horario-acciones > div { justify-content: stretch; }
  .rmp-horario-acciones > div .rmp-btn { flex: 1; }
  .rmp-url { flex-wrap: wrap; border-radius: 20px; padding: 8px; }
  .rmp-url input { flex-basis: 100%; padding: 4px 8px; }
  .rmp-url .rmp-btn { flex: 1; }
}
@keyframes rmp-hoja { from { transform: translateY(40px); opacity: .4; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
