Form layouts
Four shapes, and when each one earns its place. Every field here has a label bound to it — the build fails on a control without one.
Stacked
the default — one field per line, label above
Two columns
when fields pair naturally
Label beside the field
for a settings screen someone scans down
Inline
a filter bar, where the labels can be short
Switches
a setting that takes effect on the spot
Seven days before, at 09:00 in the organisation's timezone.
Only if the balance is still open.
Applied at 8% over base, from the day after the terms run out.
Changes afterwards go on the audit log as an amendment.
What every form here does
- Every control has a label bound by
for. A placeholder is not a label — it disappears the moment someone types. - The hint sits under the label, not inside the field. It stays readable while the field is being filled in.
- The primary action is last, on the right, and it is the only filled button in the row.
- Nothing is required without saying so — and nothing is marked required that is not.