/* /status — builds on the site theme variables (--gs-*) from app.css; html.light flips them. */
html { --st-ok:#22c55e; --st-deg:#f59e0b; --st-out:#ef4444; --st-none:rgba(148,163,184,.28);
       --st-ok-fg:#4ade80; --st-deg-fg:#fbbf24; --st-out-fg:#f87171; --st-unk-fg:#cbd5e1; }
html.light { --st-ok:#16a34a; --st-deg:#d97706; --st-out:#dc2626; --st-none:#cbd5e1;
             --st-ok-fg:#15803d; --st-deg-fg:#a16207; --st-out-fg:#b91c1c; --st-unk-fg:#475569; }
.st-wrap { max-width: 920px; margin: 0 auto; padding: 7.5rem 1.25rem 4rem; color: var(--gs-fg); }
.st-head h1 { font-size: 2rem; font-weight: 700; letter-spacing: -.01em; margin: 0 0 .4rem; color: var(--gs-fg); }
.st-intro, .st-muted { color: var(--gs-muted); }
.st-intro { margin: 0 0 1.5rem; }
.st-muted { font-size: .875rem; margin: .25rem 0 0; }
.st-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: 1rem 1.25rem; border-radius: 1rem;
             font-weight: 650; font-size: 1.1rem; border: 1px solid var(--gs-border); background: var(--gs-card); margin-bottom: 2rem; }
.st-banner.st-operational { border-color: var(--st-ok); }
.st-banner.st-degraded { border-color: var(--st-deg); }
.st-banner.st-outage { border-color: var(--st-out); }
.st-updated { margin-left: auto; font-size: .8rem; font-weight: 500; color: var(--gs-muted); }
.st-notice { padding: .75rem 1rem; border-radius: .75rem; border: 1px solid var(--st-deg); color: var(--st-deg-fg); margin-bottom: 1rem; font-size: .9rem; }
.st-dot { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; background: var(--st-none); flex-shrink: 0; }
.st-operational .st-dot, .st-dot.st-operational { background: var(--st-ok); }
.st-degraded .st-dot, .st-dot.st-degraded { background: var(--st-deg); }
.st-outage .st-dot, .st-dot.st-outage { background: var(--st-out); }
.st-section { margin-bottom: 2.25rem; }
.st-section h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 .75rem; color: var(--gs-fg); }
.st-card { border: 1px solid var(--gs-border); background: var(--gs-card); border-radius: 1rem; padding: 1rem 1.25rem; margin-bottom: .75rem; }
.st-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.st-row-main { margin-bottom: .6rem; }
.st-name { font-weight: 650; color: var(--gs-fg); }
.st-pill { font-size: .78rem; font-weight: 650; padding: .15rem .6rem; border-radius: 999px; white-space: nowrap; border: 1px solid currentColor; color: var(--st-unk-fg); }
.st-pill.st-operational { color: var(--st-ok-fg); }
.st-pill.st-degraded { color: var(--st-deg-fg); }
.st-pill.st-outage { color: var(--st-out-fg); }
.st-bars { display: grid; grid-template-columns: repeat(90, minmax(0, 1fr)); gap: 2px; height: 2rem; }
.st-bar { border-radius: 2px; background: var(--st-none); }
.st-bar.st-operational { background: var(--st-ok); }
.st-bar.st-degraded { background: var(--st-deg); }
.st-bar.st-outage { background: var(--st-out); }
.st-scale { display: flex; justify-content: space-between; gap: .75rem; font-size: .75rem; color: var(--gs-muted); margin-top: .35rem; }
.st-up { text-align: center; }
.st-new-label { display: none; }
.st-sub { list-style: none; margin: .9rem 0 0; padding: .6rem 0 0; border-top: 1px solid var(--gs-border); display: grid; gap: .45rem; font-size: .92rem; }
.st-incidents { list-style: none; margin: 0; padding: 0; }
.st-legend { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .8rem; color: var(--gs-muted); margin-top: .5rem; }
.st-legend > span { display: inline-flex; align-items: center; gap: .4rem; }
.st-note { margin-top: 1rem; font-size: .8rem; }
@media (max-width: 640px) {
  .st-wrap { padding-top: 6.5rem; }
  .st-head h1 { font-size: 1.5rem; }
  .st-bars { grid-template-columns: repeat(30, minmax(0, 1fr)); height: 1.75rem; }
  .st-bar.st-old { display: none; }
  .st-old-label { display: none; }
  .st-new-label { display: inline; }
  .st-updated { margin-left: 0; width: 100%; }
}

.st-waf { margin-top: 2.5rem; }
.st-waf h2 { font-size: 1.35rem; font-weight: 600; color: #fff; margin-bottom: .4rem; }
.st-waf-meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: .75rem 0 1rem; }
.st-waf-meta dt { font-size: .75rem; color: #94a3b8; } .st-waf-meta dd { font-weight: 600; color: #e2e8f0; }
.st-waf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.st-waf-card { border: 1px solid rgba(148,163,184,.2); border-radius: .75rem; padding: 1rem; }
.st-waf-card h3, .st-waf-h3 { font-size: .9rem; font-weight: 600; color: #cbd5e1; margin: 0 0 .5rem; }
.st-waf-h3 { margin-top: 1.5rem; }
.st-waf-card li { display: flex; justify-content: space-between; padding: .2rem 0; color: #cbd5e1; }
.st-waf-trend { width: 100%; height: 4rem; fill: #a3e635; opacity: .85; }
.st-waf-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.st-waf-pie > svg { width: 9rem; height: 9rem; }
.st-waf-legend li { display: flex; align-items: center; gap: .5rem; font-size: .875rem; color: #cbd5e1; }
.st-waf-legend svg { width: .7rem; height: .7rem; } .st-waf-legend b { margin-left: auto; padding-left: 1rem; }
