:root {
  --font-family-sans: var(--font-manrope);
  --font-family-mono: var(--font-jetbrains-mono);
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-size-display: 3rem;
  --font-size-h1: 2.25rem;
  --font-size-h2: 1.875rem;
  --font-size-h3: 1.5rem;
  --font-size-body-lg: 1.125rem;
  --font-size-body: 1rem;
  --font-size-caption: 0.875rem;
  --line-height-display: 1.2;
  --line-height-heading: 1.3;
  --line-height-body: 1.5;
  --letter-spacing-tight: -0.01em;
  --letter-spacing-normal: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --border-width-sm: 1px;
  --border-width: 2px;
  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px 0 rgb(0 0 0 / 0.06);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -1px rgb(0 0 0 / 0.06);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05);
}

.text-display { font-size: var(--font-size-display); }
.text-h1 { font-size: var(--font-size-h1); }
.text-h2 { font-size: var(--font-size-h2); }
.text-h3 { font-size: var(--font-size-h3); }
.text-body-lg { font-size: var(--font-size-body-lg); }
.text-body { font-size: var(--font-size-body); }
.text-caption { font-size: var(--font-size-caption); }
.leading-display { line-height: var(--line-height-display); }
.leading-heading { line-height: var(--line-height-heading); }
.leading-body { line-height: var(--line-height-body); }


[data-theme='careai-light'] {
  --background: #ffffff;
  --foreground: #1e293b;
  --card: #ffffff;
  --card-foreground: #1e293b;
  --popover: #ffffff;
  --popover-foreground: #1e293b;
  --primary: #1B1675;
  --primary-foreground: #ffffff;
  --primary-subtle: #e0dcff;
  --primary-muted: #eeecff;
  --secondary: #2563eb;
  --secondary-foreground: #ffffff;
  --secondary-subtle: #e3f2fd;
  --surface: #f8fafc;
  --subtle: #e2e8f0;
  --muted: #f8fafc;
  --muted-foreground: #64748b;
  --accent: #6366f1;
  --accent-foreground: #ffffff;
  --accent-subtle: #e0dcff;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --destructive-subtle: #fee2e2;
  --success: #22c55e;
  --success-foreground: #ffffff;
  --success-subtle: #dcfce7;
  --warning: #f59e0b;
  --warning-foreground: #ffffff;
  --warning-subtle: #fef3c7;
  --info: #0ea5e9;
  --info-foreground: #ffffff;
  --info-subtle: #e0f2fe;
  --border: #E2E4E9;
  --border-subtle: #f1f5f9;
  --input: #e2e8f0;
  --ring: #c7d2fe;
  --chart-1: #4f46e5;
  --chart-2: #10b981;
  --chart-3: #facc15;
  --chart-4: #fb923c;
  --chart-5: #ec4899;
  --sidebar: #f8fafc;
  --sidebar-foreground: #1e293b;
  --sidebar-primary: #4f46e5;
  --sidebar-primary-foreground: #f5f5ff;
  --sidebar-accent: #6366f1;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #e2e8f0;
  --sidebar-ring: #c7d2fe;
  --password-weak: #f97316;
  --password-fair: #facc15;
  --password-good: #22c55e;
  --password-strong: #059669;
  --text-primary: #0A0D14;
  --text-secondary: #525866;
  --text-tertiary: #475467;
  --text-white: #ffffff;
  --text-white-muted: rgba(255, 255, 255, 0.70);
}

[data-theme='careai-dark'] {
  --background: #1e293b;
  --foreground: #f8fafc;
  --card: #334155;
  --card-foreground: #f8fafc;
  --popover: #334155;
  --popover-foreground: #f8fafc;
  --primary: #2D2399;
  --primary-foreground: #ffffff;
  --primary-subtle: #1B1675;
  --primary-muted: #141258;
  --secondary: #2563eb;
  --secondary-foreground: #ffffff;
  --secondary-subtle: #2979ff;
  --muted: #475569;
  --muted-foreground: #cbd5e1;
  --surface: #273549;
  --subtle: #334155;
  --accent: #6366f1;
  --accent-foreground: #f8fafc;
  --accent-subtle: #4338ca;
  --destructive: #f87171;
  --destructive-foreground: #f8fafc;
  --destructive-subtle: #991b1b;
  --success: #34d399;
  --success-foreground: #1e293b;
  --success-subtle: #166534;
  --warning: #fbbf24;
  --warning-foreground: #1e293b;
  --warning-subtle: #92400e;
  --info: #38bdf8;
  --info-foreground: #1e293b;
  --info-subtle: #075985;
  --border: #475569;
  --border-subtle: #334155;
  --input: #475569;
  --ring: #818cf8;
  --chart-1: #818cf8;
  --chart-2: #34d399;
  --chart-3: #fde047;
  --chart-4: #fdba74;
  --chart-5: #f472b6;
  --sidebar: #273549;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #818cf8;
  --sidebar-primary-foreground: #1e293b;
  --sidebar-accent: #6366f1;
  --sidebar-accent-foreground: #f8fafc;
  --sidebar-border: #334155;
  --sidebar-ring: #818cf8;
  --password-weak: #ea580c;
  --password-fair: #fde047;
  --password-good: #16a34a;
  --password-strong: #047857;
  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-tertiary: #94a3b8;
  --text-white: #ffffff;
  --text-white-muted: rgba(255, 255, 255, 0.70);
}
