/* ╔══════════════════════════════════════════════════╗
   ║  Health Dashboard — CSS Custom Properties        ║
   ╚══════════════════════════════════════════════════╝ */

:root {
  /* ── Brand palette (Ocean Blue) ── */
  --brand-900: #03045e;
  --brand-800: #023e8a;
  --brand-700: #0077b6;
  --brand-600: #0096c7;
  --brand-500: #00b4d8;
  --brand-400: #48cae4;
  --brand-300: #90e0ef;
  --brand-200: #ade8f4;
  --brand-100: #caf0f8;

  /* ── Grays ── */
  --gray-950: #0a0e17;
  --gray-900: #0f1523;
  --gray-800: #151d2e;
  --gray-700: #1c2740;
  --gray-600: #283550;
  --gray-500: #3d4f6f;
  --gray-400: #607090;
  --gray-300: #8a9ab5;
  --gray-200: #b3bfd5;
  --gray-100: #dde4f0;
  --gray-50:  #f0f3f8;

  /* ── Semantic — Status ── */
  --success:     #10b981;
  --success-bg:  rgba(16, 185, 129, 0.12);
  --warning:     #f59e0b;
  --warning-bg:  rgba(245, 158, 11, 0.12);
  --danger:      #ef4444;
  --danger-bg:   rgba(239, 68, 68, 0.12);
  --info:        #3b82f6;
  --info-bg:     rgba(59, 130, 246, 0.12);

  /* ── Chart series colors ── */
  --chart-1: #00b4d8;
  --chart-2: #ef4444;
  --chart-3: #10b981;
  --chart-4: #f59e0b;
  --chart-5: #8b5cf6;
  --chart-6: #ec4899;
  --chart-7: #14b8a6;
  --chart-8: #f97316;

  /* ── Sleep stages ── */
  --sleep-deep:  #6366f1;
  --sleep-light: #818cf8;
  --sleep-rem:   #a78bfa;
  --sleep-awake: #f87171;

  /* ── Surface & Text (dark theme) ── */
  --bg-body:       var(--gray-950);
  --bg-sidebar:    var(--gray-900);
  --bg-card:       rgba(15, 21, 35, 0.75);
  --bg-card-hover: rgba(21, 29, 46, 0.9);
  --bg-header:     rgba(10, 14, 23, 0.85);
  --border-card:   rgba(0, 180, 216, 0.1);
  --border-subtle: rgba(255, 255, 255, 0.05);

  --text-primary:   #f0f3f8;
  --text-secondary: #8a9ab5;
  --text-muted:     #607090;
  --text-accent:    var(--brand-400);

  /* ── Typography ── */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-xs: 0.6875rem;  /* 11px */
  --font-sm: 0.75rem;    /* 12px */
  --font-base: 0.875rem; /* 14px */
  --font-md: 1rem;       /* 16px */
  --font-lg: 1.25rem;    /* 20px */
  --font-xl: 1.5rem;     /* 24px */
  --font-2xl: 2rem;      /* 32px */
  --font-3xl: 2.5rem;    /* 40px */

  /* ── Spacing ── */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;

  /* ── Radii ── */
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.2);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.3);
  --shadow-lg:  0 8px 24px rgba(0,0,0,0.4);
  --shadow-glow: 0 0 20px rgba(0,180,216,0.15);

  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* ── Layout ── */
  --sidebar-width: 220px;
  --sidebar-collapsed: 64px;
  --header-height: 64px;
  --card-min-height: 320px;
}

/* ── Light theme override (future) ── */
html.light {
  --bg-body:       #f8fafc;
  --bg-sidebar:    #ffffff;
  --bg-card:       rgba(255,255,255,0.9);
  --bg-card-hover: rgba(255,255,255,1);
  --bg-header:     rgba(248,250,252,0.9);
  --border-card:   rgba(0,119,182,0.12);
  --border-subtle: rgba(0,0,0,0.06);
  --text-primary:  #0f1523;
  --text-secondary:#3d4f6f;
  --text-muted:    #607090;
}
