body {
  background: linear-gradient(135deg, #f7faff 60%, #e3edfa 100%);
  min-height: 100vh;
  margin: 0;
  font-family: 'Segoe UI', Arial, sans-serif;
  color: #222;
}
#auth-page {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(247,250,255,0.96);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
#auth-form, #auth-newpass-form {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 32px rgba(45,127,249,0.10);
  padding: 36px 32px 28px 32px;
  min-width: 320px;
  max-width: 96vw;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
}
#auth-form h2, #auth-form h3 {
  margin: 0 0 10px 0;
  font-size: 1.3rem;
  color: #2d7ff9;
  text-align: center;
}
#auth-form label, #auth-newpass-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 1rem;
  margin-bottom: 10px;
}
#auth-form input[type="text"],
#auth-form input[type="password"],
#auth-newpass-form input[type="password"] {
  padding: 8px 12px;
  border-radius: 7px;
  border: 1px solid #e0e4ea;
  background: #f3f6fa;
  font-size: 1rem;
}
#auth-form button, #auth-newpass-form button {
  background: linear-gradient(90deg, #1976f9 60%, #43a047 100%);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 0;
  font-size: 1.08rem;
  font-weight: 600;
  cursor: pointer;
  margin-top: 10px;
  box-shadow: 0 2px 12px #e3edfa;
  transition: background 0.2s, box-shadow 0.2s;
}
#auth-form button:hover, #auth-newpass-form button:hover {
  background: linear-gradient(90deg, #43a047 60%, #1976f9 100%);
  box-shadow: 0 4px 18px #e3edfa;
}
#error, .error, #auth-newpass-hint {
  color: #e53935;
  font-size: 1rem;
  margin-top: 4px;
  text-align: left;
} 