/* HealthSphere shared design system — Stage 6
   Tokens and accessible foundations for static prototypes.
   App-specific layouts remain in each page stylesheet. */
:root {
  color-scheme: light;
  --hs-ink: #183b35;
  --hs-ink-soft: #36564f;
  --hs-green: #1f7667;
  --hs-green-dark: #174c43;
  --hs-mint: #e9f4ef;
  --hs-paper: #f5f8f6;
  --hs-surface: #ffffff;
  --hs-muted: #71827d;
  --hs-line: #e2ebe6;
  --hs-focus: #1769aa;
  --hs-warning-bg: #fbf5e9;
  --hs-warning-ink: #765a2d;
  --hs-radius-sm: 8px;
  --hs-radius-md: 14px;
  --hs-radius-lg: 20px;
  --hs-shadow-card: 0 12px 35px rgb(23 63 53 / 6%);
  --hs-space-1: 4px;
  --hs-space-2: 8px;
  --hs-space-3: 12px;
  --hs-space-4: 16px;
  --hs-space-6: 24px;
  --hs-space-8: 32px;
  --hs-content-width: 1120px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { color: var(--hs-ink); }
a { color: var(--hs-green); }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
:focus-visible {
  outline: 3px solid var(--hs-focus);
  outline-offset: 3px;
}
img, svg { max-width: 100%; }
.hs-container { width: min(100% - 32px, var(--hs-content-width)); margin-inline: auto; }
.hs-card { background: var(--hs-surface); border: 1px solid var(--hs-line); border-radius: var(--hs-radius-md); box-shadow: var(--hs-shadow-card); }
.hs-muted { color: var(--hs-muted); }
.hs-eyebrow { color: var(--hs-green); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hs-notice { padding: 13px 15px; border: 1px solid #eadfc9; border-radius: var(--hs-radius-md); background: var(--hs-warning-bg); color: var(--hs-warning-ink); }
.hs-skip-link { position: absolute; z-index: 1000; left: 12px; top: -60px; padding: 10px 14px; border-radius: var(--hs-radius-sm); background: white; color: var(--hs-ink); }
.hs-skip-link:focus { top: 12px; }
@media (max-width: 640px) {
  .hs-container { width: min(100% - 24px, var(--hs-content-width)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
