body.public-page {
  min-height: 100vh;
}

.public-header {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 16px 0;
}

.public-header .support-text {
  font-weight: 700;
}

.public-logo-desktop {
  max-width: 480px;
  width: 100%;
  height: auto;
}

.login-wrapper {
  padding: 24px 0 40px;
  margin-top: 16px;
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  flex-direction: column;
}

.login-container {
  max-width: 1100px;
}

.login-row {
  row-gap: 28px;
  align-items: center;
  position: relative;
}

.login-row::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: rgba(255, 255, 255, 0.4);
  transform: translateX(-1px);
}

.login-left {
  padding-right: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.login-left .login-lead {
  display: block;
  margin-top: 12px;
  font-size: 20px;
  line-height: 1.5;
}

.login-left > div {
  width: 100%;
}

.login-right {
  padding-left: 60px;
  display: flex;
  justify-content: center;
}

.login-right .card {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 460px;
}

.auth-card {
  background: #0b1221;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  color: #fff;
}

.auth-icon {
  background: #fff;
  border: 1px solid #8b7adf;
  color: #8b7adf;
  width: 46px;
  height: 46px;
}

.auth-icon i {
  color: #8b7adf;
}

.auth-button {
  background: #8b7adf;
  border: 1px solid #8b7adf;
  color: #fff;
}

.auth-button:hover,
.auth-button:focus {
  background: #7b6ad0;
  border-color: #7b6ad0;
}

.auth-card .form-control,
.auth-card .input-group-text {
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #0b1221;
}

.auth-card .form-control::placeholder {
  color: #6b7280;
}
