/* Shared Form Utility Classes */
.form-row {
  display: flex;
  flex-direction: row;
  gap: var(--space-4);
}
.form-col {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.form-group {
  margin-bottom: var(--space-4);
}
.form-label {
  font-weight: 600;
  margin-bottom: var(--space-1);
}
.form-helper {
  display: block;
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}
.form-error {
  color: #b91c1c;
  font-size: var(--fs-sm);
  margin-top: var(--space-1);
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #b91c1c;
  background: #fff0f0;
}

/* Required checkbox — visual emphasis to prevent silent validation errors */
.form-group--checkbox.form-group--required .form-label--checkbox {
  padding: var(--space-3);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface-muted);
}
.form-group--checkbox.form-group--required .form-label--checkbox:focus-within {
  border-color: var(--color-focus);
  outline: 2px solid var(--color-focus);
  outline-offset: 1px;
}
.form-group--checkbox.form-group--required .form-label--checkbox input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  border: 2px solid var(--color-primary-strong);
}

/* Expert tier: focus-activated hint emphasis (always visible, amplified on focus) */
.form-hint--latent {
  transition: color 0.15s ease, background-color 0.15s ease, padding 0.15s ease;
  border-radius: var(--radius-sm);
}
.form-hint--latent.form-hint--active {
  color: var(--color-text);
  background: #fffbeb;
  padding: var(--space-1) var(--space-2);
}
