/* Formularios de acceso (registro, entrar, recuperar). Usa los colores de ferroaula.css */
.formulario-caja { max-width: 36rem; margin: 1.5rem auto 4rem; padding: 0 clamp(1.25rem, 4vw, 2rem); }
.formulario-caja h1 { margin: .5rem 0 1rem; }
.formulario-caja h2 { font-size: 1.125rem; margin: 1.75rem 0 .5rem; }

.campo { margin: 0 0 1.25rem; }
.campo label { display: block; font-weight: 600; margin-bottom: .35rem; color: var(--fa-azul); }
.campo input[type="text"],
.campo input[type="email"],
.campo input[type="password"] {
  display: block; width: 100%; min-height: 48px; padding: .6rem .85rem;
  font: inherit; color: var(--tinta); background: #fff;
  border: 2px solid #767676; border-radius: 10px;
}
.campo input:focus-visible { outline: 3px solid var(--naranja); outline-offset: 2px; }
.ayuda { margin: .35rem 0 0; font-size: .875rem; color: var(--tinta-suave); }
.opcional { font-weight: 400; color: var(--tinta-suave); }

.campo-check { display: flex; gap: .75rem; align-items: flex-start; }
.campo-check input { flex: none; width: 24px; height: 24px; margin-top: .15rem; accent-color: var(--fa-azul); }
.campo-check label { margin: 0; font-weight: 400; color: var(--tinta); }

.acciones { margin: 1.5rem 0 0; }
.enlaces { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .5rem; }
.enlaces a { color: var(--fa-azul); }

.aviso { margin: 0 0 1.25rem; padding: .9rem 1rem; border-radius: 10px; border: 2px solid; }
.aviso p { margin: 0 0 .35rem; }
.aviso ul { margin: 0; padding-left: 1.25rem; }
.aviso-error { background: #FDECEA; border-color: #B3261E; color: #5F1410; }
.aviso-ok { background: var(--suave-verde); border-color: #3F6A16; color: #23400A; }
.aviso-borrador { background: var(--suave-naranja); border-color: #B93A00; color: #5C1D00; }
mark { background: #FFF3B0; color: #000; padding: 0 .25em; border-radius: 3px; }
