/* ------------------------------------------------------------------
   auth.css — pantallas de login y registro. Reutiliza tokens de styles.css
   y los componentes .form__group/.form__label y .alert.
   ------------------------------------------------------------------ */

.auth {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background: linear-gradient(135deg, var(--color-dark-blue), var(--color-green));
}

.auth__card {
  width: 100%;
  max-width: 420px;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  padding: 44px 40px;
}
.auth__card--wide { max-width: 560px; }

.auth__brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.auth__brand img { width: 44px; height: 44px; object-fit: contain; }
.auth__brand span { font-weight: 800; font-size: 1.15rem; color: var(--color-dark-blue); }
.auth__brand small { font-weight: 600; color: var(--color-green); }

.auth__title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 6px;
}
.auth__sub { color: var(--color-gray-500); margin-bottom: 26px; font-size: 0.92rem; }

.auth form { display: flex; flex-direction: column; gap: 18px; }
.auth form .btn { margin-top: 6px; }

.form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 480px) {
  .form__row { grid-template-columns: 1fr; }
  .auth__card { padding: 32px 24px; }
}

.auth__links {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--color-gray-500);
  text-align: center;
}
.auth__links a { color: var(--color-green); font-weight: 600; }
.auth__back { color: var(--color-gray-400) !important; font-weight: 500 !important; }
