@layer base {
  :root {
    /* Blue Theme - Default */
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;
    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.5rem;
  }
 
  .dark {
    /* Blue Theme - Dark Mode */
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 217.2 91.2% 59.8%;
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 224.3 76.3% 48%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

@layer utilities {
  /* Background utilities */
  .bg-background {
    background-color: hsl(var(--background));
  }
  .bg-card {
    background-color: hsl(var(--card));
  }
  .bg-muted {
    background-color: hsl(var(--muted));
  }
  .bg-primary {
    background-color: hsl(var(--primary));
  }
  .bg-secondary {
    background-color: hsl(var(--secondary));
  }
  .bg-accent {
    background-color: hsl(var(--accent));
  }
  .bg-destructive {
    background-color: hsl(var(--destructive));
  }

  /* Text color utilities */
  .text-foreground {
    color: hsl(var(--foreground));
  }
  .text-card-foreground {
    color: hsl(var(--card-foreground));
  }
  .text-muted-foreground {
    color: hsl(var(--muted-foreground));
  }
  .text-primary {
    color: hsl(var(--primary));
  }
  .text-primary-foreground {
    color: hsl(var(--primary-foreground));
  }
  .text-secondary-foreground {
    color: hsl(var(--secondary-foreground));
  }
  .text-accent-foreground {
    color: hsl(var(--accent-foreground));
  }
  .text-destructive {
    color: hsl(var(--destructive));
  }
  .text-destructive-foreground {
    color: hsl(var(--destructive-foreground));
  }

  /* Border utilities */
  .border-border {
    border-color: hsl(var(--border));
  }
  .border-input {
    border-color: hsl(var(--input));
  }
  .border-primary {
    border-color: hsl(var(--primary));
  }

  /* Ring utilities */
  .ring-ring {
    --tw-ring-color: hsl(var(--ring));
  }
  .ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background));
  }

  /* Focus visible utilities */
  .focus-visible\:ring-ring:focus-visible {
    --tw-ring-color: hsl(var(--ring));
  }
  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
  }

  /* Hover utilities */
  .hover\:bg-primary\/90:hover {
    background-color: hsl(var(--primary) / 0.9);
  }
  .hover\:bg-accent:hover {
    background-color: hsl(var(--accent));
  }
  .hover\:text-accent-foreground:hover {
    color: hsl(var(--accent-foreground));
  }
  .hover\:bg-secondary\/80:hover {
    background-color: hsl(var(--secondary) / 0.8);
  }

  /* Data state utilities */
  .data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: hsl(var(--background));
  }
  .data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: hsl(var(--foreground));
  }
  .data-\[state\=active\]\:shadow-sm[data-state="active"] {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  }
}