/* Shared styles for the allauth account pages (login / signup / logout / reset). */
html, body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
.auth-page {
  min-height: calc(100vh - 72px);
  display: flex; align-items: center; justify-content: center;
  padding: 48px 24px;
  background: radial-gradient(circle at 20% 60%, var(--peach-50), transparent 55%),
              radial-gradient(circle at 80% 30%, var(--mint-50), transparent 50%);
}
.auth-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-1);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  padding: 40px 48px;
  width: 100%; max-width: 440px;
}
.auth-logo { text-align: center; margin-bottom: 20px; }
.auth-logo img { height: 32px; }
.auth-title {
  text-align: center; font-family: var(--font-display);
  font-size: 22px; font-weight: 800; color: var(--fg-1); margin: 0 0 4px;
}
.auth-sub {
  text-align: center; font-size: 14px; color: var(--fg-2); margin: 0 0 24px;
}
.field { margin-bottom: 20px; }
.field label {
  display: block; font-size: 12px; font-weight: 600;
  color: var(--fg-2); margin-bottom: 6px;
}
.field input {
  width: 100%; box-sizing: border-box;
  padding: 11px 16px;
  font-family: var(--font-body); font-size: 14px; color: var(--fg-1);
  background: var(--bg-surface);
  border: 1.5px solid var(--border-2);
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.field input:focus { border-color: var(--mint-400); }
.field-errors { list-style: none; margin: 6px 0 0; padding: 0; }
.field-errors li { font-size: 12px; color: var(--danger); }
.form-errors {
  background: var(--danger-bg); border-radius: var(--radius-md);
  padding: 12px 16px; margin-bottom: 20px;
}
.form-errors p { margin: 0; font-size: 13px; color: var(--danger); }
.btn-submit {
  width: 100%; padding: 14px;
  font-family: var(--font-body); font-weight: 600; font-size: 15px;
  background: var(--mint-600); color: var(--bg-canvas);
  border: none; border-radius: var(--radius-pill);
  cursor: pointer; box-shadow: var(--shadow-sm);
  transition: box-shadow var(--dur-fast) var(--ease-soft);
}
.btn-submit:hover { box-shadow: var(--shadow-md); }

/* Divider between password and social auth */
.auth-or {
  display: flex; align-items: center; gap: 12px;
  margin: 22px 0; color: var(--fg-3); font-size: 12px;
}
.auth-or::before, .auth-or::after {
  content: ""; flex: 1; height: 1px; background: var(--border-1);
}
/* Google button */
.btn-google {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 12px;
  font-family: var(--font-body); font-weight: 600; font-size: 14px;
  color: var(--fg-1); text-decoration: none;
  background: var(--bg-surface);
  border: 1.5px solid var(--border-2);
  border-radius: var(--radius-pill);
  transition: border-color var(--dur-fast) var(--ease-soft),
              box-shadow var(--dur-fast) var(--ease-soft);
}
.btn-google:hover { border-color: var(--mint-400); box-shadow: var(--shadow-sm); }
.btn-google img { width: 18px; height: 18px; }

.auth-alt { text-align: center; margin-top: 22px; font-size: 14px; color: var(--fg-2); }
.auth-alt a { color: var(--mint-600); font-weight: 600; text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
