/* ============================================================================
   AUTH PAGE — Login card
   ========================================================================== */
.auth-page {
  min-height: 70vh;
  padding: 3rem 1rem;
}
.auth-card {
  max-width: 24rem;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: var(--radius, 0.5rem);
  padding: 2rem 2rem 2.5rem;
  box-shadow: 0 2px 16px rgba(0,0,0,0.10);
}
[data-theme="dark"]   .auth-card { background: #1c2a3a; }
[data-theme="jungle"] .auth-card { background: #3d2d21; }
.auth-card h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.auth-form .form-group {
  margin-bottom: 1rem;
}
.auth-form label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
}
.auth-form .input-text {
  width: 100%;
  box-sizing: border-box;
}
.auth-form .btn-primary {
  width: 100%;
  margin-top: 1.25rem;
}

/* Password show/hide wrapper */
.auth-form__pw-wrap {
  position: relative;
}
.auth-form__pw-wrap .input-text {
  padding-right: 2.75rem;
}
.auth-form__pw-toggle {
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-muted);
  padding: 0.25rem;
  line-height: 1;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
}
.auth-form__pw-toggle:hover { color: var(--text); }

/* Inline alert for login errors */
.alert--error {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  background: color-mix(in srgb, #ef4444 10%, transparent);
  border: 1px solid color-mix(in srgb, #ef4444 40%, transparent);
  border-radius: var(--radius, 0.375rem);
  color: #b91c1c;
  font-size: 0.875rem;
}
[data-theme="dark"]   .alert--error { color: #fca5a5; }
[data-theme="jungle"] .alert--error { color: #fca5a5; }
