:root {
  /* Default: Forest */
  --theme-primary: #0a392b;
  --theme-primary-hover: #062c21;
  --theme-accent: #10b981;
  --theme-accent-light: #f0fdf4;
  --theme-accent-border: #a7f3d0;
  --theme-bg: #f3f7f5;
}

[data-theme="sapphire"] {
  --theme-primary: #172554;
  --theme-primary-hover: #0f172a;
  --theme-accent: #2563eb;
  --theme-accent-light: #eff6ff;
  --theme-accent-border: #bfdbfe;
  --theme-bg: #f1f5f9;
}

[data-theme="obsidian-gold"] {
  --theme-primary: #1c1917;
  --theme-primary-hover: #0c0a09;
  --theme-accent: #d97706;
  --theme-accent-light: #fffbeb;
  --theme-accent-border: #fde68a;
  --theme-bg: #f8fafc;
}

[data-theme="amethyst"] {
  --theme-primary: #3b0764;
  --theme-primary-hover: #2e0854;
  --theme-accent: #9333ea;
  --theme-accent-light: #faf5ff;
  --theme-accent-border: #e9d5ff;
  --theme-bg: #f5f3ff;
}

body {
  background-color: var(--theme-bg);
}

.bg-theme-primary {
  background-color: var(--theme-primary) !important;
}

.hover\:bg-theme-primary-hover:hover {
  background-color: var(--theme-primary-hover) !important;
}

.text-theme-primary {
  color: var(--theme-primary) !important;
}

.text-theme-accent {
  color: var(--theme-accent) !important;
}

.bg-theme-accent {
  background-color: var(--theme-accent) !important;
}

.bg-theme-accent-light {
  background-color: var(--theme-accent-light) !important;
}

.border-theme-accent {
  border-color: var(--theme-accent) !important;
}

.sidebar-active {
  background-color: rgba(255, 255, 255, 0.15);
  font-weight: 700;
  border-left: 3px solid var(--theme-accent);
}

.mobile-tab-active {
  color: var(--theme-accent);
  font-weight: 700;
}