/* Auth page – matches Rift app theme (#0d0d0f, #252526, #0e639c) */
.auth-body {
  padding-top: 5rem;
}
.auth-page {
  max-width: 28rem;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .auth-page { padding: 3rem 2rem; }
}

.auth-card {
  border-radius: 12px;
  border: 1px solid #3c3c3c;
  background: #252526;
  padding: 2rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.auth-title {
  font-size: 1.35rem;
  font-weight: 600;
  color: #e0e0e0;
  margin: 0 0 1rem 0;
}
.auth-hint {
  font-size: 0.875rem;
  color: #a1a1aa;
  margin: 0 0 1rem 0;
}
.auth-section {
  margin-top: 1.5rem;
}
.auth-section:first-of-type {
  margin-top: 0;
}
.auth-section-title {
  font-size: 1rem;
  font-weight: 600;
  color: #e0e0e0;
  margin: 0 0 0.75rem 0;
}
.auth-label {
  display: block;
  font-size: 0.875rem;
  color: #a1a1aa;
  margin-bottom: 0.25rem;
}
.auth-input {
  width: 100%;
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  color: #e0e0e0;
  background: #3c3c3c;
  border: 1px solid #555;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.auth-input::placeholder {
  color: #71717a;
}
.auth-input:focus {
  outline: none;
  border-color: #0e639c;
  box-shadow: 0 0 0 2px rgba(14, 99, 156, 0.25);
}
.btn-auth {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  border: none;
  margin-top: 0.25rem;
}
.btn-auth.primary {
  background: #0e639c;
  color: #fff;
  box-shadow: 0 0 20px -5px rgba(14, 99, 156, 0.4);
}
.btn-auth.primary:hover:not(:disabled) {
  background: #1177bb;
  box-shadow: 0 0 25px -5px rgba(14, 99, 156, 0.5);
}
.btn-auth.secondary {
  background: transparent;
  color: #a1a1aa;
  border: 1px solid #3c3c3c;
}
.btn-auth.secondary:hover {
  color: #e0e0e0;
  border-color: #555;
}
.auth-option-hint {
  margin-bottom: 0.5rem;
}
.auth-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.25rem;
}
.auth-phone-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  background: #16161a;
  border-radius: 8px;
  border: 1px solid #3c3c3c;
}
.auth-phone-panel .auth-hint {
  margin-bottom: 0.75rem;
}
.auth-qr-wrap {
  margin: 0.75rem 0;
}
.auth-qr-wrap img {
  display: block;
  border-radius: 8px;
  background: #fff;
}
.auth-phone-panel .btn-auth {
  margin-right: 0.5rem;
  margin-top: 0.25rem;
}
.auth-message {
  margin-top: 1rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  border-radius: 8px;
  white-space: pre-wrap;
  word-break: break-all;
}
.auth-message.error {
  background: rgba(244, 135, 113, 0.15);
  color: #f48771;
  border: 1px solid rgba(244, 135, 113, 0.3);
}
.auth-message.success {
  background: rgba(14, 99, 156, 0.15);
  color: #7eb8e0;
  border: 1px solid rgba(14, 99, 156, 0.3);
}

/* Nav link styling on auth page */
.auth-body .landing-nav-links a {
  color: #a1a1aa;
  text-decoration: none;
  font-size: 0.875rem;
}
.auth-body .landing-nav-links a:hover {
  color: #fff;
}
.auth-body .landing-nav-links span {
  color: #52525b;
  font-size: 0.875rem;
}

/* Invite mode: only show register, hide sign-in and extra nav */
body.auth-invite-mode #registerSection { display: block !important; }
body.auth-invite-mode #loginSection { display: none !important; }
body.auth-invite-mode #inviteOnlyHint { display: none !important; }
body.auth-invite-mode #navSignInLink { display: none !important; }
body.auth-invite-mode #navSignInSep { display: none !important; }
body.auth-invite-mode #navRegisterSep { display: none !important; }
body.auth-invite-mode #navRegister { display: none !important; }
body.auth-invite-mode #appLink { display: none !important; }
