body.auth-page {
  background: #fbfcf8;
}

body.auth-page .main {
  padding-top: 42px;
}

body.auth-page .hero-grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.62fr);
  align-items: center;
  gap: 42px;
}

body.auth-page .hero-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.auth-page .hero-label {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #6f9272;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.auth-page .hero-title {
  max-width: 560px;
  margin: 16px 0 0;
  font-size: clamp(2.55rem, 5vw, 4.9rem);
  letter-spacing: -0.075em;
}

body.auth-page .hero-text {
  margin-top: 18px;
  max-width: 520px;
  color: #647164;
  font-size: 1rem;
}

body.auth-page .hero-bubbles {
  display: none;
}

body.auth-page .login-card,
body.auth-page .form-card {
  padding: clamp(24px, 4vw, 34px);
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e7ece4;
  box-shadow: 0 18px 48px rgba(23, 32, 24, 0.055);
}

body.auth-page .login-card h2,
body.auth-page .form-card h2 {
  font-size: 1.5rem;
  letter-spacing: -0.045em;
}

body.auth-page .lead {
  font-size: 0.94rem;
  color: #6d786d;
}

body.auth-page .form-grid {
  gap: 18px;
  margin-top: 26px;
}

body.auth-page .field {
  gap: 6px;
}

body.auth-page .field label {
  color: #536153;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

body.auth-page input:not([type="checkbox"]) {
  height: 38px;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid #cfd9cf;
  border-radius: 0;
  background: transparent;
  color: #172018;
  box-shadow: none;
  outline: none;
}

body.auth-page input:not([type="checkbox"])::placeholder {
  color: #a8b1a7;
}

body.auth-page input:not([type="checkbox"]):focus {
  border-color: #86aa82;
  background: transparent;
  box-shadow: none;
}

body.auth-page input[type="date"] {
  color-scheme: light;
}

body.auth-page .btn {
  min-height: 46px;
  margin-top: 6px;
  border-radius: 999px;
  background: #dfeee0;
  color: #24532e;
  border: 1px solid #cce1cd;
  box-shadow: none;
  font-weight: 800;
  letter-spacing: -0.01em;
}

body.auth-page .btn:hover {
  background: #cfe5d0;
  color: #1f4628;
}

body.auth-page .mini-link {
  margin-top: 12px;
  font-size: 0.9rem;
  color: #6d786d;
  text-align: left;
}

body.auth-page .mini-link a {
  font-weight: 800;
  color: #2f6b3c;
}

body.auth-page .privacy-consent {
  padding: 13px 14px;
  border: 1px solid #e6ece3;
  border-radius: 16px;
  background: #fbfcfa;
}

body.auth-page .privacy-consent input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  flex: 0 0 18px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: initial;
  box-shadow: none;
  accent-color: #2f6b3c;
}

body.auth-page .privacy-consent span {
  color: #647164;
}

body.auth-page .notice {
  border-radius: 14px;
  font-size: 0.92rem;
}

@media (max-width: 920px) {
  body.auth-page .main {
    padding-top: 16px;
  }

  body.auth-page .hero-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  body.auth-page .hero-title {
    font-size: 2.25rem;
  }
}

@media (max-width: 640px) {
  body.auth-page .login-card,
  body.auth-page .form-card {
    padding: 20px;
    border-radius: 20px;
  }

  body.auth-page .btn {
    width: 100%;
  }
}
