:root {
  --font-primary: 'Inter', sans-serif;
  --font-mono: 'Roboto Mono', monospace;

  --bg-primary: #f0f4ff;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e8edf8;
  --bg-sidebar: #ffffff;
  --bg-card: #ffffff;
  --bg-modal: #ffffff;
  --bg-input: #f5f7ff;
  --bg-hover: #eef1fb;
  --bg-overlay: rgba(15, 23, 42, 0.5);

  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #94a3b8;
  --text-inverse: #ffffff;
  --text-accent: #6366f1;

  --border-color: #e2e8f0;
  --border-focus: #6366f1;
  --border-input: #cbd5e1;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.12), 0 4px 14px rgba(0, 0, 0, 0.08);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.16), 0 8px 20px rgba(0, 0, 0, 0.1);
  --shadow-card: 0 2px 12px rgba(99, 102, 241, 0.08);
  --shadow-glow: 0 0 20px rgba(99, 102, 241, 0.2);

  --accent-primary: #6366f1;
  --accent-primary-hover: #4f46e5;
  --accent-primary-light: #eef2ff;
  --accent-secondary: #8b5cf6;
  --accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --accent-gradient-warm: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);

  --priority-high: #ef4444;
  --priority-high-bg: #fef2f2;
  --priority-high-border: #fecaca;
  --priority-medium: #f59e0b;
  --priority-medium-bg: #fffbeb;
  --priority-medium-border: #fde68a;
  --priority-low: #10b981;
  --priority-low-bg: #ecfdf5;
  --priority-low-border: #a7f3d0;

  --cat-work: #6366f1;
  --cat-work-bg: #eef2ff;
  --cat-study: #8b5cf6;
  --cat-study-bg: #f5f3ff;
  --cat-personal: #ec4899;
  --cat-personal-bg: #fdf2f8;
  --cat-health: #10b981;
  --cat-health-bg: #ecfdf5;

  --status-completed: #10b981;
  --status-completed-bg: #ecfdf5;
  --status-inprogress: #6366f1;
  --status-inprogress-bg: #eef2ff;
  --status-overdue: #ef4444;
  --status-overdue-bg: #fef2f2;
  --status-upcoming: #f59e0b;
  --status-upcoming-bg: #fffbeb;

  --toast-success: #10b981;
  --toast-error: #ef4444;
  --toast-warning: #f59e0b;
  --toast-info: #6366f1;

  --sidebar-width: 260px;
  --sidebar-collapsed: 80px;
  --header-height: 68px;
  --border-radius-sm: 8px;
  --border-radius-md: 12px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-full: 9999px;

  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;
  --transition-slow: 0.4s ease;
  --transition-spring: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);

  --z-sidebar: 100;
  --z-header: 90;
  --z-modal: 200;
  --z-toast: 300;
  --z-tooltip: 400;
  --z-overlay: 150;
}

[data-theme="dark"] {
  --bg-primary: #0a0f1e;
  --bg-secondary: #111827;
  --bg-tertiary: #1a2235;
  --bg-sidebar: #0d1526;
  --bg-card: #111827;
  --bg-modal: #111827;
  --bg-input: #1a2235;
  --bg-hover: #1e2d45;
  --bg-overlay: rgba(0, 0, 0, 0.7);

  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #475569;
  --text-inverse: #0f172a;
  --text-accent: #818cf8;

  --border-color: #1e293b;
  --border-focus: #818cf8;
  --border-input: #1e293b;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.6);
  --shadow-card: 0 2px 12px rgba(99, 102, 241, 0.15);
  --shadow-glow: 0 0 30px rgba(99, 102, 241, 0.3);

  --accent-primary: #818cf8;
  --accent-primary-hover: #6366f1;
  --accent-primary-light: #1e1b4b;
  --accent-secondary: #a78bfa;
  --accent-gradient: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%);

  --priority-high: #f87171;
  --priority-high-bg: #1c1013;
  --priority-high-border: #7f1d1d;
  --priority-medium: #fbbf24;
  --priority-medium-bg: #1c1505;
  --priority-medium-border: #78350f;
  --priority-low: #34d399;
  --priority-low-bg: #021712;
  --priority-low-border: #065f46;

  --cat-work: #818cf8;
  --cat-work-bg: #1e1b4b;
  --cat-study: #a78bfa;
  --cat-study-bg: #1e1438;
  --cat-personal: #f472b6;
  --cat-personal-bg: #2d1020;
  --cat-health: #34d399;
  --cat-health-bg: #021712;

  --status-completed: #34d399;
  --status-completed-bg: #021712;
  --status-inprogress: #818cf8;
  --status-inprogress-bg: #1e1b4b;
  --status-overdue: #f87171;
  --status-overdue-bg: #1c1013;
  --status-upcoming: #fbbf24;
  --status-upcoming-bg: #1c1505;
}
