Fourth Dimension Sports: one system, every screen.
Colour, type, spacing, radius, elevation and components all resolve from
tokens.css. Edit a token there and it cascades to every page below. Components live in
components.css as reusable classes: no inline colours anywhere.
Screens built on this system
Registered palette
Sanctioned extensions
Status ramp Draft
Not in the registered brand set: kept muted/institutional. Palette-align before production.
Type scale
Lead 17 · Plus Jakarta Sans for display, Inter for body. Evidence first: we substantiate, we do not describe.
Body 15 · the analytical rigour of a top-tier advisory firm applied to fan economies. British English throughout.
Mono · 1,284,905 fans · 7–11% ARPU · v3.0
Metrics
Buttons
a.btn when it navigates, button.btn when it acts: identical styling, no hover underline.
Form fields
Badges · Chips · Stats
Table
Console modules
Shared building blocks for the admin console screens: KPI card, meter, operational feed, metric list, and top-bar chrome. Used first on the Admin dashboard.
Operational queue
feed · status discsEconomy snapshot
metric list| Tenant | Wallet | Latest signal |
|---|---|---|
| All Things Rugby | No wallet | Provisioning failed |
| Tour Demo Co | Ready | Settlement queued |
| Sample | Ready | Reconciled today |
| No matches. Clear filters. | ||
Live: the Filter button opens a faceted drawer (multi-select, AND across groups); search and removable pills update the table. Single-axis screens use a select instead (see Form fields). One engine, shared in console.js: also on the tenant and member lists.
Notices
Timeline
Step states: is-done (green), is-current (blue), is-blocked (red; see User XP), or default (pending).
Modal · toast
console.js: data-modal-open / data-modal-close, backdrop click and Escape.