.login-page {
  padding: 28px 16px;
  background:
    radial-gradient(circle at 50% 8%, rgba(49, 87, 213, .10), transparent 34%),
    linear-gradient(145deg, #f8fafc 0%, #f2f5fa 100%);
}

.login-page .authcard {
  width: min(420px, 94vw);
  padding: 30px 36px 34px;
  border: 1px solid rgba(209, 218, 230, .82);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(27, 47, 81, .12);
}

.login-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 21px;
  margin: 0 0 23px;
  border-bottom: 1px solid #e9edf3;
}

.login-brand img {
  display: block;
  width: min(250px, 88%);
  height: 105px;
  object-fit: contain;
}

.login-brand span {
  margin-top: 2px;
  color: #69768a;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .19em;
  line-height: 1.2;
}

.login-page .authcard h1 {
  margin: 0 0 6px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.login-page .authcard > .muted {
  margin: 0 0 24px;
  font-size: 14px;
}

.login-page .authcard label {
  margin-bottom: 16px;
  font-weight: 600;
}

.login-page .authcard input {
  min-height: 46px;
  border-color: #cbd4e1;
}

.login-page .authcard input:focus {
  outline: 3px solid rgba(49, 87, 213, .14);
  border-color: #3157d5;
}

.login-page .authcard .btn {
  min-height: 46px;
  margin-top: 3px;
  font-weight: 600;
}

@media (max-width: 520px) {
  .login-page .authcard {
    padding: 25px 24px 29px;
  }

  .login-brand img {
    height: 92px;
  }
}
