/* Pantallas genéricas del portal en v2 (14-oct-2026, cola v2 · portal-genericas):
   views/portal/error.php · login_prompt.php · offline.php. Todo bajo .pg-gen (dentro de .m2).
   offline.php NO enlaza esta hoja: la lleva dentro (data:) junto a v2.css, porque el service worker solo guarda
   /portal/offline y una hoja externa no estaría sin conexión. */

/* El contenedor del portal (.p-content) ya no pone su relleno ni su ancho: los pone .m2-pag. Fondo del portal, no blanco. */
#mrh .m2.pg-gen { padding: 0; max-width: none; margin: 0; background: transparent; }
#mrh .m2.pg-gen .m2-pag { max-width: 520px; }

/* Sin la cabecera vieja (.p-header) nadie dejaba sitio a la barra de estado del iPhone en las pantallas sin menú. */
#mrh:not(.p-compacto):not(:has(#p-perfil)) .m2.pg-gen { padding-top: env(safe-area-inset-top, 0px); }

.pg-gen .pg-gen__marca { display: block; height: 22px; width: auto; }

/* El vacío del sistema, como bloque de la pantalla: icono, frase en tinta y a 15 px. */
.pg-gen .pg-gen__caja { padding: 4px 0; }
.pg-gen .pg-gen__caja .m2-vacio { gap: 8px; padding: 24px 20px; }
.pg-gen .pg-gen__caja .m2-vacio__ico { width: 40px; height: 40px; }
.pg-gen .pg-gen__caja .m2-vacio__ico--toca { background: var(--mk-a-bg); color: var(--mk-a); }
.pg-gen .pg-gen__caja .m2-vacio__t { font-size: var(--mk-t-l); }
.pg-gen .pg-gen__frase { max-width: 40ch; color: var(--mk-fg); font-size: var(--mk-t-l); line-height: 1.5; }
.pg-gen .pg-gen__frase--gris { color: var(--mk-fg2); font-size: var(--mk-t-m); }

/* Acciones: el principal y lo demás debajo. En el móvil, a lo ancho; en escritorio, a su medida. */
.pg-gen .pg-gen__acc { display: grid; gap: 10px; justify-items: stretch; }
.pg-gen .pg-gen__acc .m2-btn { white-space: normal; text-align: center; }
.pg-gen .pg-gen__acc .m2-enlace { justify-self: center; }
.pg-gen .pg-gen__nota { margin: -2px 8px 4px; text-align: center; color: var(--mk-fg2); font-size: var(--mk-t-s); line-height: 1.45; }
.pg-gen .pg-gen__pie { text-align: center; color: var(--mk-fg2); font-size: var(--mk-t-s); }
.pg-gen .pg-gen__pie .m2-enlace { display: inline-flex; align-items: center; min-height: 44px; padding: 0; font-weight: 600; vertical-align: middle; }  /* toque de 44 sin romper la frase */
.pg-gen .m2-btn .fa { font-size: 18px; font-style: normal; font-weight: normal; }

/* «Si tienes que fichar»: tres filas de texto, sin peso de título. */
.pg-gen .pg-gen__paso { font-weight: 400; }

@media (min-width: 768px) and (min-height: 500px) {
  .pg-gen .pg-gen__acc { justify-items: center; }
  .pg-gen .pg-gen__acc .m2-btn { min-width: 280px; }
  #mrh .m2.pg-gen .m2-pag { padding-top: 32px; }
}
@media (max-width: 767.98px), (max-height: 499.98px) {
  .pg-gen .pg-gen__pie .m2-enlace { font-size: var(--mk-t-s); }
}
