:root {
  --cadastro-card: rgba(10, 16, 28, 0.88);
  --cadastro-border: rgba(120, 160, 220, 0.22);
}

.cadastro-hero {
  padding: 56px 0 64px;
  background: radial-gradient(circle at top left, rgba(79, 134, 255, 0.22), transparent 60%),
    radial-gradient(circle at 80% 20%, rgba(95, 232, 255, 0.2), transparent 45%),
    radial-gradient(circle at 60% 80%, rgba(140, 107, 255, 0.25), transparent 50%),
    #0a0f1c;
}

.cadastro-hero__grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: start;
}

.cadastro-hero__copy h1 {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  margin-bottom: 16px;
}

.cadastro-alert {
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(120, 160, 220, 0.25);
  background: rgba(12, 20, 36, 0.7);
  font-size: 0.95rem;
}

.ref-card {
  margin-top: 18px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(120, 160, 220, 0.3);
  display: grid;
  gap: 6px;
}

.ref-card--warning {
  border-color: rgba(255, 180, 80, 0.4);
  background: rgba(45, 24, 0, 0.4);
}

.cadastro-card {
  background: var(--cadastro-card);
  border-radius: 18px;
  border: 1px solid var(--cadastro-border);
  padding: 22px;
  box-shadow: var(--shadow);
}

.cadastro-card h3 {
  margin-top: 0;
}

.cadastro-form .form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.cadastro-form .form-feedback {
  font-size: 0.9rem;
  color: var(--muted);
}

.cadastro-form .form-feedback.is-error {
  color: #ff9b9b;
}

.cadastro-form .form-feedback.is-success {
  color: #6fffd1;
}

@media (max-width: 680px) {
  .cadastro-hero {
    padding-top: 48px;
  }
}
