Applies the tesanti brand pack (docs/brand/tesanti.md) across every admin
surface, replacing the old slate + orange Tailwind defaults with black + white
+ signal red, three variable-weight fonts (Space Grotesk / Inter / JetBrains
Mono), mono eyebrows above every heading, and a hairline-first (not shadow-
first) elevation language.
New primitives:
- Wordmark — "VolcanicCore" in Space Grotesk 500 with the red signal dot.
- Toast — provider + useToast() hook + 360px surface-2 card with slide+
fade. Replaces every alert() (edge/node mutation failures).
- ConfirmDialog — provider + promise-based useConfirm() covering optional
type-to-confirm gating. Replaces every confirm()/prompt()
(user delete, node remove, edge delete). Zero browser dialogs
left in the app.
- RouteEdge — custom React Flow edge that keeps the canvas quiet by default
and surfaces the mono "filter → transform" label as an opaque
pill only when the edge is selected.
Graph marquee:
- vc-node states (source / router / sink) differentiated by top-border
weight, inverse fill for sinks, and eyebrow — never by color. Red is
reserved for selected + error.
- Node width 240px; edge label overlap eliminated.
- Zero-node empty state with a red primary "Add node" CTA.
Screen coverage:
- Login — centered wordmark + "NATS ROUTING CONTROL" eyebrow.
- AppShell — 240px sidebar, numbered mono eyebrows, 2px red left-border
on the active item, Lucide log-out on sign-out.
- Users — mono-headed table, outline-destructive delete, chips.
- Server — surface-2 card headers, hairline dividers, outline OK/UP
status chips.
- Audit — full mono table.
- Every error banner picked up the alert-triangle prefix and full accent
border.
Icons: added lucide-react and standardized on it (X, AlertTriangle, Check,
Share2, LogOut). Every unicode × / control glyph swapped out.
Fonts self-hosted via @fontsource-variable/{space-grotesk,inter,
jetbrains-mono}; no external requests, CSP-friendly.