.form { display: flex; flex-direction: column; gap: 1.25rem; }
.form-field { display: flex; flex-direction: column; gap: 0.375rem; }
.form-label { font-size: 0.875rem; font-weight: 500; color: var(--foreground); }
.form-required { color: var(--destructive); }
.form-control > * { width: 100%; }
.form-hint { font-size: 0.8125rem; color: var(--muted-foreground); }
.form-error-msg { font-size: 0.8125rem; color: var(--destructive); min-height: 1.2em; }
.form-field-error .form-label { color: var(--destructive); }
.form-field-error input,
.form-field-error textarea,
.form-field-error select { border-color: var(--destructive) !important; }
