.field { display: flex; flex-direction: column; gap: var(--space-2); }
.input, .select, .textarea { padding: 0.625rem 0.75rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.input:focus, .select:focus, .textarea:focus { outline: none; box-shadow: var(--focus-ring); }
.label { font-weight: 600; font-size: 0.95rem; }
.help { color: var(--color-muted); font-size: 0.875rem; }
.error { color: var(--color-danger); font-size: 0.875rem; }
.form-msg { font-size: 0.875rem; min-height: 1.25rem; }
.form-msg.is-error { color: var(--color-danger); }
.form-msg.is-success { color: var(--color-success); }
fieldset { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-4); }
legend { font-weight: 600; padding: 0 var(--space-2); }
