/* status.css — the fleet status page's one stylesheet. Same palette shape as the console's inline styles (CSS custom properties flipped by prefers-color-scheme — see internal/console/templates/layout.html), kept in its own small file here because this page ships from an embedded FS, not the console's template set, and the design spec calls for exactly one stylesheet, no frameworks. */ :root { --bg: #ffffff; --ink: #1d2029; --muted: #64707f; --accent: #0f5e85; --accent-soft: rgba(15, 94, 133, 0.09); --rule: #e7e9f0; --good: #2f7a4f; --bad: #b3403a; --warn: #a6790f; } @media (prefers-color-scheme: dark) { :root { --bg: #14151c; --ink: #eef0f6; --muted: #93a4ba; --accent: #5db8dd; --accent-soft: rgba(93, 184, 221, 0.12); --rule: #2a2e38; --good: #6fbf8d; --bad: #e07b76; --warn: #e0b95c; } } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--bg); color: var(--ink); font: 400 1rem/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; padding: 0 1.25rem 3rem; } header.masthead { max-width: 56rem; margin: 0 auto; padding: 1.75rem 0 1rem; border-bottom: 1px solid var(--rule); } header.masthead h1 { font-size: 1.6rem; } .generated { color: var(--muted); font-size: 0.85rem; margin-top: 0.35rem; } main { max-width: 56rem; margin: 0 auto; } h2 { font-size: 1.1rem; margin: 2rem 0 0.75rem; } .tiles { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; } .tile { flex: 1 1 10rem; background: var(--accent-soft); border-radius: 0.6rem; padding: 1rem 1.1rem; } .tile h2 { margin: 0 0 0.35rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); font-weight: 600; } .tile-value { font-size: 1.6rem; font-weight: 600; } .tile-detail { color: var(--muted); font-size: 0.8rem; margin-top: 0.25rem; } .tablewrap { overflow-x: auto; } table { border-collapse: collapse; width: 100%; font-size: 0.9rem; } th, td { padding: 0.5rem 0.9rem 0.5rem 0; border-bottom: 1px solid var(--rule); text-align: left; } th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); font-weight: 600; } /* .chip-stale is deliberately bordered-only (no fill) per the design spec: staleness is a "trust this less" signal, not an outage — it should read as a flag on the row, not as loud as the up/down service chips. */ .chip { display: inline-block; font-size: 0.78rem; font-weight: 600; padding: 0.15rem 0.55rem; border-radius: 999px; margin: 0.15rem 0.3rem 0.15rem 0; } .chip-stale { border: 1px solid var(--warn); color: var(--warn); } .chip-up { background: var(--accent-soft); color: var(--good); } .chip-down { background: var(--accent-soft); color: var(--bad); } .chips { display: flex; flex-wrap: wrap; } .small { color: var(--muted); font-size: 0.85rem; margin-top: 0.5rem; } footer { max-width: 56rem; margin: 2.5rem auto 0; padding-top: 1.25rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: 0.85rem; }