.auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px 18px;
  background: radial-gradient(ellipse at 50% -20%, #281d55 0%, #0b0917 58%);
}
.auth-card {
  width: min(100%, 440px);
  padding: 30px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background: linear-gradient(145deg, #19162a, #12101e);
  box-shadow: 0 24px 80px #0007;
}
.auth-brand { margin-bottom: 34px; }
.auth-view h1 {
  margin: 9px 0 8px;
  font: 800 27px Manrope, sans-serif;
  letter-spacing: -.6px;
}
.auth-copy { margin: 0 0 23px; color: #a7a1b8; font-size: 14px; line-height: 1.55; }
.auth-form { display: grid; gap: 9px; }
.auth-form label { margin-top: 7px; color: #ddd8e9; font-size: 13px; font-weight: 600; }
.auth-form input {
  width: 100%; min-height: 47px; padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.11); border-radius: 12px;
  outline: none; color: #fff; background: #0e0c19; font: inherit; font-size: 14px;
}
.auth-form input:focus { border-color: #a48bff; box-shadow: 0 0 0 3px #a48bff22; }
.auth-submit { width: 100%; min-height: 46px; margin-top: 10px; cursor: pointer; }
.auth-submit:disabled { cursor: wait; opacity: .65; }
.auth-message { min-height: 20px; margin: 13px 0 0; color: #c8baff; font-size: 13px; line-height: 1.45; }
.auth-message.error { color: #ffaaa8; }
.auth-links { display: flex; justify-content: space-between; gap: 12px; margin-top: 15px; }
.auth-view > .text-button { margin-top: 17px; cursor: pointer; }
.startup-check {
  min-height: 100vh; display: grid; align-content: center; justify-items: center; gap: 13px;
  color: #d8cff5; background: #0b0917;
}
.startup-check p { margin: 0; font-size: 14px; }
.startup-check[hidden], .auth-view[hidden], .auth-screen[hidden], .app-shell[hidden] { display: none; }
@media (max-width: 480px) {
  .auth-card { padding: 25px 21px; }
  .auth-view h1 { font-size: 24px; }
  .auth-links { flex-direction: column; align-items: flex-start; }
}
