/**
 * Auth Modal — Panels & Forms
 *
 * Panel headers, titles, back navigation, form layout, fields, and actions.
 * Part of the auth-modal module split from auth-modal.css.
 *
 * @see static/css/auth-modal.css (original)
 */

.gf-auth-panel__header {
  margin-bottom: 1.75rem;
}

.gf-auth-panel__title {
  margin: 0;
  font-size: clamp(1.5rem, 1.25vw + 1.1rem, 2rem);
  font-weight: 700;
  color: var(--gf-color-neutral-900);
}

.gf-auth-panel__subtitle {
  margin: 0.5rem 0 0;
  color: var(--gf-color-neutral-500);
  max-width: 28rem;
}

.gf-auth-panel__back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: none;
  background: none;
  color: var(--gf-color-primary);
  font-weight: 600;
  margin-bottom: 1rem;
  padding: 0;
}

.gf-auth-panel__back:hover,
.gf-auth-panel__back:focus {
  color: var(--gf-color-primary-hover);
}

.gf-auth-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.gf-auth-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.gf-auth-form__field .invalid-feedback {
  margin-top: 0;
}

.gf-auth-form__checkbox {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.gf-auth-form__checkbox .form-check-input {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 0.4rem;
}

.gf-auth-form__grid {
  display: grid;
  gap: 1.1rem 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.gf-auth-form__actions {
  display: flex;
  justify-content: flex-end;
}

.gf-auth-form__submit {
  display: grid;
  gap: 0.85rem;
}
