/* Tailwind CSS directives - required for framework */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --bg-primary: #1a1b26;
    --bg-secondary: #16161e;
    --text-primary: #a9b1d6;
    --text-secondary: #565f89;
    --accent: #7aa2f7;
    --border: #414868;
  }

  .theme-tokyo-night {
    --bg-primary: #1a1b26;
    --bg-secondary: #16161e;
    --text-primary: #c0caf5;
    --text-secondary: #c0caf5;
    --accent: #7aa2f7;
    --border: #414868;
  }

  .theme-dracula {
    --bg-primary: #282a36;
    --bg-secondary: #21222c;
    --text-primary: #f8f8f2;
    --text-secondary: #6272a4;
    --accent: #bd93f9;
    --border: #44475a;
  }

  .theme-nord {
    --bg-primary: #2e3440;
    --bg-secondary: #3b4252;
    --text-primary: #eceff4;
    --text-secondary: #5e81ac;
    --accent: #88c0d0;
    --border: #4c566a;
  }

  .theme-solarized-dark {
    --bg-primary: #002b36;
    --bg-secondary: #073642;
    --text-primary: #93a1a1;
    --text-secondary: #586e75;
    --accent: #2aa198;
    --border: #586e75;
  }

  .theme-monokai {
    --bg-primary: #272822;
    --bg-secondary: #3e3d32;
    --text-primary: #f8f8f2;
    --text-secondary: #75715e;
    --accent: #a6e22e;
    --border: #49483e;
  }

  .theme-one-dark-pro {
    --bg-primary: #282c34;
    --bg-secondary: #21252b;
    --text-primary: #abb2bf;
    --text-secondary: #5c6370;
    --accent: #61dafb;
    --border: #3e4451;
  }

  .theme-material-dark {
    --bg-primary: #263238;
    --bg-secondary: #37474f;
    --text-primary: #eeffff;
    --text-secondary: #546e7a;
    --accent: #80cbc4;
    --border: #455a64;
  }

  .theme-catppuccin-mocha {
    --bg-primary: #1e1e2e;
    --bg-secondary: #181825;
    --text-primary: #cdd6f4;
    --text-secondary: #bac2de;
    --accent: #f38ba8;
    --border: #313244;
  }

  .theme-catppuccin-macchiato {
    --bg-primary: #24273a;
    --bg-secondary: #1e2030;
    --text-primary: #cad3f5;
    --text-secondary: #b8c0e0;
    --accent: #f0c6c6;
    --border: #363a4f;
  }

  .theme-catppuccin-frappe {
    --bg-primary: #303446;
    --bg-secondary: #292c3c;
    --text-primary: #c6d0f5;
    --text-secondary: #b5bfe2;
    --accent: #f2d5cf;
    --border: #414559;
  }

  .theme-catppuccin-latte {
    --bg-primary: #eff1f5;
    --bg-secondary: #e6e9ef;
    --text-primary: #4c4f69;
    --text-secondary: #5c5f77;
    --accent: #d20f39;
    --border: #bcc0cc;
  }

  .theme-wood-light {
    --bg-primary: rgba(222, 184, 135, 0.9);
    --bg-secondary: rgba(210, 166, 121, 0.95);
    --text-primary: #2c1810;
    --text-secondary: #5a3a2a;
    --accent: #8b5a2b;
    --border: #6b4423;
  }

  .theme-wood-dark {
    --bg-primary: rgba(139, 115, 85, 0.9);
    --bg-secondary: rgba(107, 83, 68, 0.95);
    --text-primary: #f5e6d3;
    --text-secondary: #d4c4b0;
    --accent: #deb887;
    --border: #5a4636;
  }

  .theme-wood-mahogany {
    --bg-primary: rgba(160, 82, 45, 0.9);
    --bg-secondary: rgba(139, 69, 19, 0.95);
    --text-primary: #ffe4c4;
    --text-secondary: #daa520;
    --accent: #f4a460;
    --border: #8b4513;
  }

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

  /* Header component styles */
  .header-nav {
    position: sticky;
    top: 0;
  }

  /* Make header sticky only on docs pages */
  body:not(.page-docs) .header-nav {
    position: static;
  }

  /* Add class to body on docs pages */
  .page-docs .header-nav {
    position: sticky;
    top: 0;
    z-index: 50;
  }

  .card {
    background-color: var(--bg-secondary);
    border-color: var(--border);
  }

  .btn-primary {
    background-color: var(--accent);
    color: var(--bg-primary);
  }

  .btn-primary:hover {
    opacity: 0.8;
  }
}

@layer components {
  .loading-spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }

  @keyframes spin {
    to { transform: rotate(360deg); }
  }

  .status-pending { background-color: #f59e0b; color: white; }
  .status-processing { background-color: #3b82f6; color: white; }
  .status-completed { background-color: #10b981; color: white; }
  .status-failed { background-color: #ef4444; color: white; }

  .priority-1 { background-color: #ef4444; color: white; }
  .priority-2 { background-color: #f97316; color: white; }
  .priority-3 { background-color: #f59e0b; color: white; }
  .priority-5 { background-color: #10b981; color: white; }
  .priority-7 { background-color: #6b7280; color: white; }
  .priority-10 { background-color: #9ca3af; color: white; }

  /* Override highlight.js hardcoded colors for code blocks */
  .prose pre code.hljs {
    background-color: transparent !important;
  }

  .prose code.hljs {
    background-color: #1a1b26 !important;
    padding: 0.2em 0.4em;
  }

  .prose pre {
    background-color: #16161e !important;
  }

  .prose .hljs {
    background-color: transparent !important;
    color: #c0caf5 !important;
  }
}