/* Campos de formulário (diagnóstico, onboarding, config). */
.campo { margin-bottom: var(--esp-5); }
.campo__rotulo { display: block; font-weight: 600; margin-bottom: var(--esp-1); }
.campo__ajuda { font-size: var(--texto-sm); color: var(--cor-texto-suave); margin-bottom: var(--esp-3); }

.campo__entrada {
  width: 100%;
  font: inherit;
  color: var(--cor-texto);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio-sm);
  padding: var(--esp-3);
}
textarea.campo__entrada { resize: vertical; min-height: 3.5rem; line-height: 1.5; }
.campo__entrada:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 1px; }

.campo__opcoes { display: flex; flex-direction: column; gap: var(--esp-2); }
.campo__opcao {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-3);
  padding: var(--esp-3);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio-sm);
  background: var(--cor-superficie);
  cursor: pointer;
  transition: border-color var(--transicao), background var(--transicao);
}
.campo__opcao:hover { border-color: var(--cor-primaria); }
.campo__opcao:has(:checked) { border-color: var(--cor-primaria); background: var(--cor-primaria-tint); }
.campo__opcao input { margin-top: 0.2em; accent-color: var(--cor-primaria); flex-shrink: 0; }

.campo__escala { display: flex; gap: var(--esp-2); }
.campo__escala-item {
  width: 44px; height: 44px;
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio-sm);
  background: var(--cor-superficie);
  font-weight: 600;
  color: var(--cor-texto-suave);
  transition: all var(--transicao);
}
.campo__escala-item:hover { border-color: var(--cor-primaria); }
.campo__escala-item--ativo { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }
.tema-escuro .campo__escala-item--ativo { color: #06201c; }
