/* Estilos de las páginas de acceso (login, activar, cuenta). Sin librerías. */
:root { --fondo: #f4f5f7; --tarjeta: #fff; --texto: #1d2330; --suave: #5b6578; --marca: #b3202a; --borde: #d5d9e0; --error: #b00020; --ok: #1b6e3a; }
@media (prefers-color-scheme: dark) {
  :root { --fondo: #14171d; --tarjeta: #1e232c; --texto: #eef0f4; --suave: #a3acbd; --borde: #3a4150; --error: #ff8a9b; --ok: #6fd08f; }
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: var(--fondo); color: var(--texto); font: 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { width: 100%; max-width: 400px; background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 12px; padding: 24px; }
h1 { margin: 0 0 4px; font-size: 1.4rem; }
p { margin: 8px 0; }
.suave { color: var(--suave); font-size: .9rem; }
label { display: block; margin: 16px 0 4px; font-weight: 600; }
input { width: 100%; padding: 12px; font: inherit; color: inherit; background: transparent; border: 1px solid var(--borde); border-radius: 8px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; }
button, .boton { display: block; width: 100%; margin-top: 20px; padding: 12px; font: inherit; font-weight: 600; text-align: center;
  color: #fff; background: var(--marca); border: 0; border-radius: 8px; cursor: pointer; text-decoration: none; }
button[disabled] { opacity: .6; cursor: wait; }
button.secundario, .boton.secundario { color: var(--texto); background: transparent; border: 1px solid var(--borde); }
#mensaje { min-height: 1.4em; margin-top: 16px; font-weight: 600; }
#mensaje.error { color: var(--error); }
#mensaje.ok { color: var(--ok); }
[hidden] { display: none !important; }
hr { border: 0; border-top: 1px solid var(--borde); margin: 24px 0 8px; }
