:root {
  color: var(--color-text);
  background: var(--color-canvas);
  font-family: var(--font-sans);
}

* {
  box-sizing: border-box;
}
body {
  margin: var(--space-0);
  min-width: var(--layout-page-min);
  background: var(--color-canvas);
}
a {
  color: var(--color-accent);
}
.shell {
  max-width: var(--layout-page-max);
  margin: var(--space-0) auto;
  padding: var(--space-4);
}
.navigation {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: var(--space-3);
  background: var(--color-surface);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}
.navigation nav {
  display: flex;
  gap: var(--space-3);
}
.brand {
  color: var(--color-text);
  font-weight: var(--font-weight-strong);
  text-decoration: none;
}
.theme-picker {
  color: var(--color-text-muted);
}
select {
  color: var(--color-text);
  background: var(--color-surface-raised);
  border: var(--border-width-none);
  border-radius: var(--radius-card);
  padding: var(--space-1) var(--space-2);
}
.hero {
  padding: calc(var(--space-4) * 2) var(--space-3);
  max-width: var(--layout-hero-max);
}
.hero h1 {
  margin: var(--space-1) 0;
  font-size: var(--font-size-heading);
}
.hero p {
  color: var(--color-text-muted);
  line-height: var(--line-height-body);
}
.hero p.eyebrow {
  color: var(--color-accent);
  font-weight: var(--font-weight-strong);
}
.grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(var(--layout-card-min), 1fr));
}
.card {
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}
.card h2 {
  margin-top: 0;
}
.card p {
  color: var(--color-text-muted);
}
.status {
  display: inline-block;
  color: var(--color-warning);
  background: var(--color-surface-raised);
  border-radius: var(--radius-card);
  padding: var(--space-1) var(--space-2);
}
.service-card header {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.service-card h2 {
  margin: var(--space-0);
}
.service-card__icon {
  display: grid;
  place-items: center;
  min-width: calc(var(--space-4) * 2);
  min-height: calc(var(--space-4) * 2);
  color: var(--color-text);
  background: var(--color-surface-raised);
  border-radius: var(--radius-card);
  font-weight: var(--font-weight-strong);
}
.service-card__details {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-0);
  list-style: none;
}
.service-card__details li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  color: var(--color-text-muted);
}
.service-card__details strong {
  color: var(--color-text);
}
.service-card__chart {
  padding: var(--space-2);
  color: var(--color-text-muted);
  background: var(--color-surface-raised);
  border-radius: var(--radius-card);
}
.service-card[data-service-status="healthy"] .status {
  color: var(--color-positive);
}
.service-card[data-service-status="degraded"] .status {
  color: var(--color-warning);
}
.service-card[data-service-status="unavailable"] .status {
  color: var(--color-danger);
}
.account-view {
  margin-top: calc(var(--space-4) * 2);
}
.account-view h2,
.account-view h3 {
  margin-top: var(--space-0);
}
.account-view__summary,
.account-view__details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--layout-card-min), 1fr));
  gap: var(--space-3);
}
.account-view__details {
  margin-top: var(--space-3);
}
.account-view__summary strong {
  color: var(--color-accent);
  font-size: var(--font-size-heading);
}
.account-view ul {
  display: grid;
  gap: var(--space-1);
  padding-left: var(--space-3);
  color: var(--color-text-muted);
}
.account-view__empty {
  color: var(--color-text-muted);
}
.session-gate {
  max-width: var(--layout-hero-max);
  margin: calc(var(--space-4) * 2) auto;
  padding: calc(var(--space-4) * 2) var(--space-4);
  color: var(--color-text);
  background: var(--color-surface);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}
.session-gate h1 {
  margin: var(--space-1) var(--space-0);
  font-size: var(--font-size-heading);
}
.session-gate p:not(.eyebrow) {
  color: var(--color-text-muted);
  line-height: var(--line-height-body);
}
.initial-setup form {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.initial-setup label {
  display: grid;
  gap: var(--space-1);
  color: var(--color-text-muted);
}
.initial-setup input,
.initial-setup button {
  min-height: calc(var(--space-4) * 2);
  padding: var(--space-1) var(--space-2);
  color: var(--color-text);
  background: var(--color-surface-raised);
  border: var(--border-width-none);
  border-radius: var(--radius-card);
}
.initial-setup button {
  color: var(--color-canvas);
  background: var(--color-accent);
  cursor: pointer;
  font-weight: var(--font-weight-strong);
}
