@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-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%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.625rem;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-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%;
    --border: 217.2 32.6% 17.5%;
  }

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

@layer utilities {
  .status-overdue { @apply bg-red-50 border-red-200 text-red-700; }
  .status-today { @apply bg-amber-50 border-amber-200 text-amber-700; }
  .status-upcoming { @apply bg-green-50 border-green-200 text-green-700; }
  .badge-overdue { @apply bg-red-100 text-red-700 border border-red-200; }
  .badge-today { @apply bg-amber-100 text-amber-700 border border-amber-200; }
  .badge-upcoming { @apply bg-green-100 text-green-700 border border-green-200; }
}
