/* Public service status (/status). Shared theme tokens only, so light, dark and obsidian follow the page. Every state is written as
   text; border weight and dashes only repeat it, never replace it. Unknown and not-current reports are dashed and muted; nothing here
   is green. No transitions, animation or background work. */
.status-page main { max-width: 880px; }
.status-intro { max-width: 640px; }
.status-current { border-left: 4px dashed hsl(var(--muted-foreground)); }
.status-current[data-current="operational"] { border-left-style: solid; border-left-color: hsl(var(--foreground)); }
.status-current[data-current="disrupted"], .status-current[data-current="partial"] { border-left-style: solid; border-left-color: hsl(var(--primary)); border-left-width: 6px; }
.status-current .section-heading { flex-wrap: wrap; gap: 8px 20px; }
.status-headline { margin: 12px 0 6px; font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.status-explain { margin: 0; max-width: 640px; }
.status-report[data-current="false"] { border-style: dashed; }
.status-report .section-heading { flex-wrap: wrap; gap: 8px 20px; }
.status-tag { font-weight: 600; border-style: dashed; }

.status-components { list-style: none; margin: 16px 0 0; padding: 0; }
.status-components li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: start; padding: 12px 0; border-top: 1px solid hsl(var(--border)); }
.status-components li:last-child { border-bottom: 1px solid hsl(var(--border)); }
.status-component-name { font-weight: 550; overflow-wrap: anywhere; }
.status-components .caption { grid-column: 1 / -1; margin: 0; font-variant-numeric: tabular-nums; }
.status-state { white-space: normal; text-align: right; }
.status-state[data-state="degraded"], .status-state[data-state="maintenance"] { border-color: hsl(var(--primary)); }
.status-state[data-state="outage"] { border-color: hsl(var(--primary)); background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.status-state[data-state="unknown"], .status-state[data-state="stale"] { border-style: dashed; background: transparent; color: hsl(var(--muted-foreground)); }

.status-incidents { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.status-incident { padding: 14px 16px; border: 1px solid hsl(var(--border)); border-left: 3px solid hsl(var(--primary)); border-radius: calc(var(--radius) - 2px); min-width: 0; }
.status-incident[data-lifecycle="resolved"] { border-left-color: hsl(var(--border)); }
.status-incident-title { margin: 10px 0 6px; font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.status-incident-body { margin: 0 0 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.status-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.status-times { display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 0; font-size: 12px; color: hsl(var(--muted-foreground)); font-variant-numeric: tabular-nums; }
.status-correction { margin: 16px 0 0; }

@media (max-width: 640px) {
  .status-components li { grid-template-columns: minmax(0, 1fr); }
  .status-state { justify-self: start; text-align: left; }
  .status-page .page-actions button { min-height: 44px; }
  .status-headline { font-size: 18px; }
}
