/* Shared account surfaces use the same palette and navigation as the landing. */
.auth-page {
  --auth-success: #25633f;
  --auth-danger: #a32940;
  min-height: 100vh;
  color: var(--theme-text);
  background: radial-gradient(ellipse at top left, #ae87321a, transparent 55%), var(--theme-bg);
}
html[data-theme="dark"] .auth-page { --auth-success: #8bd5a5; --auth-danger: #ffa4b6; }
.auth-card {
  width: min(540px, calc(100% - 32px));
  margin: clamp(24px, 6vw, 72px) auto;
  padding: clamp(24px, 4vw, 40px);
  background: var(--theme-surface);
  border: 1px solid var(--theme-border);
  border-top: 3px solid var(--theme-gold);
  border-radius: 20px;
  box-shadow: 0 16px 50px #22152d12;
}
.auth-eyebrow { color: var(--theme-gold); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 12px; }
.auth-page h1 { font-family: Georgia, serif; font-size: clamp(1.8rem, 5vw, 2.3rem); color: var(--theme-accent); margin-bottom: 24px; }
.auth-card form { display: flex; flex-direction: column; gap: 10px; }
.auth-card form > div { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.auth-card label { font-size: .9rem; font-weight: 650; margin-top: 8px; }
.auth-card input:not([type="hidden"]), .auth-card select {
  width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--theme-border); border-radius: 8px;
  background: var(--theme-input); color: var(--theme-text); font-size: 1rem;
}
.auth-card :is(input, select, button, a):focus-visible { outline: 3px solid var(--theme-gold); outline-offset: 3px; }
.auth-card :is(small, .subtitle) { color: var(--theme-muted); line-height: 1.5; }
.auth-card small { font-size: .8rem; }
.auth-card button[type="submit"], .auth-card .button, .auth-page .btn-primary {
  display: block; min-height: 46px; padding: 12px 18px; margin-top: 12px;
  background: var(--theme-action); color: var(--theme-on-action); border: 1px solid transparent; border-radius: 9px;
  font-weight: 650; text-align: center; text-decoration: none;
}
.auth-card button[type="submit"]:hover:not(:disabled), .auth-card .button:hover { filter: brightness(1.12); }
.auth-card button:disabled { opacity: .55; cursor: not-allowed; }
.auth-card > a:not(.button) { display: block; padding: 12px 0; text-align: center; color: var(--theme-accent); }
.auth-card :is(.error-box, .success, .info) { padding: 14px; margin: 16px 0; border: 1px solid var(--theme-border); border-radius: 9px; background: var(--theme-raised); }
.auth-card .error-box { color: var(--auth-danger); }
.auth-card .error-box ul { padding-left: 20px; margin: 0; }
.auth-card .success { color: var(--auth-success); }
.auth-card .icon { font-size: 2.5rem; }
.auth-page > .container { margin-bottom: 32px; }
.auth-page .card { background: var(--theme-surface); color: var(--theme-text); border-radius: 16px; }
.auth-page .card .card { background: var(--theme-raised); }
.auth-page :is(.success-icon-circle, .error-icon-circle) { color: var(--theme-gold); margin-bottom: 20px; }
.auth-page .text-success { color: var(--auth-success) !important; }
.auth-page .text-danger { color: var(--auth-danger) !important; }
.auth-page .text-primary { color: var(--theme-accent) !important; }
.auth-page .select2-container--bootstrap-5 :is(.select2-selection, .select2-dropdown, .select2-search__field) { background: var(--theme-input); color: var(--theme-text); border-color: var(--theme-border); }
.auth-page .select2-container--bootstrap-5 .select2-selection { min-height: 46px; padding: 10px 12px; }
.auth-page .select2-container--bootstrap-5 :is(.select2-selection__rendered, .select2-selection__placeholder) { color: var(--theme-text); }
.auth-page .select2-container--bootstrap-5 .select2-results__option--highlighted { background: var(--theme-action); color: var(--theme-on-action); }
@media (max-width: 575px) { .auth-page .card-body.p-5 { padding: 24px !important; } }
