/* =============================================================================
 * auth-recovery-request.css — Solicitud de recuperacion de contrasena.
 *
 * EXTERNALIZADO desde el bloque `<style>` de `templates/auth/recovery_request.html` (ola F1 del
 * endurecimiento CSP, 2026-07-26). Vivía inline en la plantilla, lo que obligaba
 * a `style-src 'unsafe-inline'` en la Content-Security-Policy: con esa concesión
 * un XSS podía inyectar CSS y exfiltrar datos por selectores + `url()`. Ahora la
 * hoja se sirve de `/static/css/` (mismo origen) y la CSP puede exigir
 * `style-src-elem 'self'` sin ninguna excepción.
 *
 * REGLA: no volver a meter `<style>` en la plantilla — el test
 * `crates/web/tests/csp_no_inline_style_test.rs` lo rompe a propósito.
 * El ORDEN de carga importa: este `<link>` va donde estaba el `<style>`, para
 * que la cascada (quién gana sobre `brand.css`) no cambie de aspecto.
 * ========================================================================== */
body { margin: 0; min-height: 100vh; display: grid; place-items: center;
  font-family: system-ui, -apple-system, sans-serif; background: var(--bg);
  color: var(--text); }
.card { max-width: 420px; padding: 2rem; background: var(--surface);
  border: 1px solid var(--border); border-radius: 8px; }
h1 { margin: 0 0 0.5rem; font-size: 1.35rem; }
p { color: var(--text-soft); }
form { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
label { font-weight: 600; font-size: 0.92rem; }
input { width: 100%; padding: 0.65rem; border-radius: 6px;
  border: 1px solid var(--border); background: var(--bg); color: var(--text);
  font: inherit; }
input:focus { outline: 2px solid var(--primary-text); outline-offset: 1px; }
.actions { display: flex; justify-content: space-between; gap: 1rem; }
button, .btn { padding: 0.75rem 1.25rem; border-radius: 6px; border: 0;
  background: var(--primary); color: #fff; font: inherit; font-weight: 600;
  cursor: pointer; text-decoration: none; display: inline-block;
  text-align: center; }
.secondary { background: transparent; color: var(--text-soft);
  border: 1px solid var(--border); }
.alert { padding: 0.65rem 0.85rem; border-radius: 6px; font-size: 0.9rem;
  background: rgba(255, 93, 93, 0.12); border: 1px solid var(--danger);
  color: var(--danger-text); }
