/* login page styles */

.auth-login .content-shell {
  grid-column: 1;
}

.auth-login .large-header {
  position: fixed;
  inset: 0;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(1200px 900px at 12% 10%, rgba(78, 168, 222, 0.22), transparent 62%),
    radial-gradient(900px 700px at 78% 78%, rgba(45, 212, 191, 0.18), transparent 64%),
    linear-gradient(140deg, #0b0a10 0%, #09070f 35%, #12081f 60%, #0b0a10 100%);
  z-index: 0;
}

.auth-login #demo-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.auth-login .auth-bg::before {
  content: none;
}

.auth-login .auth-card { animation: loginCardIn 0.56s ease; }

.auth-link-button {
  width: 100%;
  border: 1px solid rgba(35, 50, 82, 0.7);
  background: linear-gradient(135deg, rgba(20, 31, 56, 0.84), rgba(27, 62, 102, 0.68));
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  font-family: inherit;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.auth-link-button:hover {
  border-color: rgba(78, 168, 222, 0.6);
  background: rgba(78, 168, 222, 0.15);
}

.login-guest-modal .guest-modal-card {
  width: min(560px, 92vw);
}

.guest-request-form {
  gap: 12px;
}

.guest-request-form .field input,
.guest-request-form .field select {
  width: 100%;
}

.guest-submit {
  margin-top: 8px;
}

@keyframes loginCardIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 720px) {
  .auth-login .auth-card {
    padding: 34px 24px;
  }

  .login-guest-modal .guest-modal-card {
    padding: 24px 20px 20px;
  }
}
