Styleguide

The components we use. The rules that keep them consistent.

Quiet interface. Clear actions.

Neutral surfaces, compact controls and purposeful colour. Every component below is interactive.

Buttons & icons

Rounded corners, a 16px leading icon and only enough width for the label. Primary blue buttons use white text and icons in both appearances: --primary-fill for the background and --primary-ink for the foreground.

Environments

Implementation
<button class="secondary">
  {% heroicon_outline 'adjustments-horizontal' %} SMTP settings
</button>

Fields & autosave

360px field width. 16px between fields. Changes save after a short pause; feedback belongs directly beneath the field.

Layout: static/forms.css · Feedback: projects/save_status.html

Tabs

A visible tab shape. No hover underline competing with the selected state. Arrow keys move between tabs.

General

Project name and description belong here.

Destructive confirmation

One compact control. The switch arms the action; a separate click performs it. Switching on never deletes anything.

This permanently removes every captured email and attachment in this inbox.

Shared template: components/confirm_delete.html · Behaviour: static/confirm-delete.js

Feedback

Colour communicates state, with text alongside it.

Foundations

Colour

#3097efAMMO blue
#6434b9AMMO purple
#ef3340AMMO red

Brand colours are accents. General interface surfaces stay grey. Green is reserved for success.

Typography & dimensions

Headings
Rockwell
Interface
System sans-serif
Field text
13px
Field height
34px
Field width
360px maximum
Button corners
12px
Leading icon
16px
Touch actions
44px minimum