/* /opt/status/www/page.css: the status page's only stylesheet (served by
   Caddy; CSP allows styles from this origin only). */
:root{--teal:#0092af;--n900:#0f172a;--n700:#334155;--n500:#64748b;--n200:#e2e8f0;--n100:#f1f5f9;
--ok:#059669;--okbg:#ecfdf5;--warn:#b45309;--warnbg:#fffbeb;--bad:#b91c1c;--badbg:#fef2f2;--info:#0369a1;--infobg:#f0f9ff}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--n700);font-size:15px;line-height:1.5;
background:linear-gradient(135deg,#eef7fa 0%,#f6fbfc 52%,#e9f4f8 100%);min-height:100vh}
main{max-width:760px;margin:0 auto;padding:32px 16px 48px}
header{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--n500);font-weight:600}
header img{display:block}
section{background:#fff;border:1px solid var(--n200);border-radius:16px;padding:20px;margin-bottom:16px;
box-shadow:0 10px 15px -3px rgba(15,23,42,.06),0 4px 6px -2px rgba(15,23,42,.03)}
h1{margin:0;font-size:22px;color:var(--n900)}
h2{margin:0 0 12px;font-size:16px;color:var(--n900)}
.banner-operational h1{color:var(--ok)}.banner-degraded h1{color:var(--warn)}.banner-outage h1{color:var(--bad)}
.components{list-style:none;margin:0;padding:0}
.component{padding:12px 0;border-top:1px solid var(--n200)}.component:first-child{border-top:0;padding-top:0}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.name{font-weight:600;color:var(--n900)}
.pill{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap}
.pill-operational{background:var(--okbg);color:var(--ok)}.pill-degraded,.pill-warning{background:var(--warnbg);color:var(--warn)}
.pill-outage{background:var(--badbg);color:var(--bad)}.pill-unknown,.pill-none{background:var(--n100);color:var(--n500)}
.pill-information{background:var(--infobg);color:var(--info)}
.bars{display:flex;gap:2px;height:28px}
.bar{flex:1;border-radius:2px;background:var(--n200)}
.bar-operational{background:#34d399}.bar-degraded{background:#fbbf24}.bar-outage{background:#f87171}
.legend{display:flex;justify-content:space-between;font-size:12px;color:var(--n500);margin-top:8px}
.ann{border-top:1px solid var(--n200);padding:12px 0}.ann:first-of-type{border-top:0;padding-top:0}
.ann-head{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.ann time{font-size:13px;color:var(--n500)}.ann p{margin:0}
footer{text-align:center;font-size:13px;color:var(--n500);margin-top:24px}
