LIVE · UTC
Throughput vs plan
Parcels/hour across the network · last 24h
Exception mix
Open, by type
Sort lines
12 lines · live status & utilisation
10 running · 1 degraded · 1 fault
0 selected

Control Tower - Design System

The patterns that keep a dense, live operations screen legible. Everything on the Operations tab is built from these rules.

01 · Data-density principles
Numbers are tabular, right-aligned, and monospace. Every rupee, count, rate and timestamp uses IBM Plex Mono with tabular-nums, so columns scan vertically and digits never jump as values tick live.
Status is never colour alone. Severity and state always pair a colour with an icon/dot and a text label, readable for colour-blind operators and in a glance across a wall display.
Progressive disclosure. The table shows the 20% you triage on; the drill-down panel holds the other 80% (full record, timeline, related events) so the grid stays scannable.
One accent, spent on action. Signal orange marks only the current action or the live/critical state. Teal carries filters and data accents. Everything else stays in the neutral navy ramp.
02 · Colour
App bg#06111C
Surface#0B1B29
Raised#16334A
Signal · action#FF6A33
Teal · data#2FB6C2
Green · healthy#33C77B
Amber · degraded#F5B133
Red · fault/breach#F26A5D
Semantic mapping is fixed: green = healthy / resolved, amber = degraded / at-risk, red = fault / SLA breach, orange = the one action needed now. Meanings never cross.
03 · Typography
Display · Archivo 800 · 24Sortation network
KPI · Mono 600 · 24 tnum18,420 pph
Table data · Mono 400 · 13EX-1042 · LHR/SL-03 · -04:12
Body · Inter 400 · 13Exception detail and narrative text uses Inter for comfortable reading.
Label · Mono 600 · 10 · capsSLA REMAINING
04 · Density
Two row densities share one token pair (--row-py, --row-fs). Comfortable for triage, compact to fit ~40% more rows on a control-room display. Toggle it live from the table toolbar or ⌘K → density.
05 · Status & severity
Critical High Medium Low
Open Acknowledged Resolved -04:12 breached 02:40 at risk 18:05 ok
06 · Filtering model
Faceted, additive, reversible. Facets (facility, severity, type, status) combine with search and saved views. Every active filter shows as a removable chip with a live result count, and one click clears all, so the operator is never lost in a filter state they can't see.
07 · Charts
Grid lines at ~8% alpha on the Y-axis only. Series order fixed (teal → green → amber → violet). Tooltips use mono numerals. No 3D, no gradients heavier than 12% fill. A dashed line always means plan/target, solid means actual.
08 · Accessibility floor
Body text ≥ 4.5:1 on navy · 2px focus ring on every interactive · full keyboard path for the command palette and row actions · status carries icon + text, not colour alone · prefers-reduced-motion pauses live ticks and row animations.