Every admin template draws the happy path. Dashboards are green, tables are full, nothing is mid-flight and nothing is broken. But the screen an operator actually stares at is the one with a failed instance, a workload stuck provisioning, and a quota at 92%.
marspanel ships those states as first-class. Plain HTML, CSS and JavaScript — no build step, no framework, and not one network request at runtime.
Four decisions, each with a cost that is written down rather than hidden.
A failed instance, a volume stuck detaching for an hour, a backup that died on bucket quota, an expired certificate, a cluster that is no longer N+1. Not a single Lorem ipsum.
Six states, one class. mpn-is-warn works identically on a pill, banner, timeline dot, calendar event, board card, log line and donut segment.
No webfont, no icon CDN, no chart library, no analytics. A console served from a single binary on an air-gapped node renders identically to one on the public internet.
The build composites every translucent surface over its real backdrop and fails if a pair drops below WCAG AA. The first audit failed fourteen pairs; they were fixed, not excused.
The theme script sits in the head on purpose — it resolves dark or light before first paint, so there is no flash.
<link rel="stylesheet" href="dist/marspanel.min.css"> <script src="dist/marspanel-theme.js"></script> <!-- in <head> --> <body class="mpn-root"> <script src="dist/sprites.js"></script> <div class="mpn-app">…</div> <script src="dist/marspanel.js"></script> </body>