/* === Auth Page === */
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 24rem),
    linear-gradient(135deg, #01a200, #047c00);
}

.auth-card {
  width: 100%;
  max-width: 440px;
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 18px;
  padding: 2rem;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
}

.auth-card .brand {
  margin-bottom: 2rem;
}

.brand h1 {
  font-size: 1.8rem;
  font-weight: 850;
  color: #01a200;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

.brand p {
  color: #5f6c5f;
  font-size: 0.95rem;
}

/* === Tabs === */
.tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding: 0.35rem;
  background: #f1f5f1;
  border-radius: 12px;
}

.tab {
  border: none;
  background: transparent;
  color: #334033;
  padding: 0.72rem 1rem;
  border-radius: 9px;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease;
}

.tab:hover {
  color: #01a200;
}

.tab.active {
  background: #01a200;
  color: #fff;
}

/* === Auth Forms === */
.form {
  display: none;
}

.form.active {
  display: block;
}

.form h2 {
  font-size: 1.35rem;
  color: #172017;
  margin-bottom: 1rem;
  letter-spacing: -0.03em;
}

@media (max-width: 700px) {
  .auth-page {
    padding: 1rem;
  }

  .auth-card {
    padding: 1.5rem;
    border-radius: 16px;
  }
}