.auth-shell {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-bottom:clamp(2rem, 7vh, 5rem) !important;
  padding-top:clamp(2rem, 7vh, 5rem) !important;
}

.auth-shell > .alert {
  border-radius:var(--radius-control);
  box-shadow:var(--shadow-raised);
  font-size:.875rem;
  margin-bottom:1rem;
  max-width:440px;
  width:100%;
}

.auth-page {
  max-width:440px;
  width:100%;
}

.auth-card {
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-raised);
  overflow:hidden;
}

.auth-card .card-body {
  padding:2rem;
}

.auth-brand {
  color:var(--color-accent);
  margin-bottom:1.5rem;
}

.auth-brand .bwrog-brand { font-size:var(--font-auth-brand-size); }

.auth-card h1 {
  font-size:1.75rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 .5rem;
}

.auth-intro {
  color:var(--color-text-muted);
  font-size:.9375rem;
  margin-bottom:1.5rem;
}

.auth-card .form-label {
  color:var(--color-text);
  font-size:.875rem;
  font-weight:600;
  margin-bottom:.375rem;
}

.auth-card .form-control {
  border-color:var(--color-border);
  border-radius:var(--radius-control);
  color:var(--color-text);
  min-height:42px;
}

.auth-card .form-control:hover {
  border-color:var(--color-border-strong);
}

.auth-card .form-control:focus {
  border-color:var(--color-accent);
  box-shadow:0 0 0 .2rem color-mix(in srgb, var(--color-focus) 20%, transparent);
}

.auth-card .btn-primary {
  border-radius:var(--radius-control);
  font-weight:600;
  min-height:42px;
}

@media (max-width: 767.98px) {
  .app-header-stack .navbar-toggler {
    /* Touch scale parity with the app chrome (44px rule). */
    min-height: 44px;
    min-width: 44px;
  }

  .auth-shell {
    justify-content:flex-start;
    padding-bottom:2rem !important;
    padding-left:1rem;
    padding-right:1rem;
    padding-top:2rem !important;
  }

  .auth-card .card-body {
    padding:1.5rem;
  }

  .auth-card .form-control,
  .auth-card .btn-primary {
    min-height:44px;
  }
}
