src/index.css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  html, body, #root {
    @apply h-full;
  }
  
  body {
    @apply bg-gray-50 text-gray-900 dark:bg-gray-900 dark:text-gray-100;
  }
}

@layer components {
  .sidebar-item {
    @apply flex items-center px-4 py-3 text-gray-600 hover:bg-gray-100 hover:text-gray-900 rounded-lg transition-colors duration-200 cursor-pointer;
    @apply dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white;
  }
  
  .sidebar-item.active {
    @apply bg-primary-50 text-primary-700 border-r-2 border-primary-500;
    @apply dark:bg-primary-900 dark:bg-opacity-20 dark:text-primary-400 dark:border-primary-400;
  }
  
  .btn-primary {
    @apply bg-primary-600 hover:bg-primary-700 text-white font-medium py-2 px-4 rounded-lg transition-colors duration-200 disabled:opacity-50 disabled:cursor-not-allowed;
    @apply dark:bg-primary-500 dark:hover:bg-primary-600;
  }
  
  .btn-secondary {
    @apply bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-4 rounded-lg transition-colors duration-200;
    @apply dark:bg-gray-700 dark:hover:bg-gray-600 dark:text-gray-200;
  }
  
  .btn-danger {
    @apply bg-red-600 hover:bg-red-700 text-white font-medium py-2 px-4 rounded-lg transition-colors duration-200;
    @apply dark:bg-red-500 dark:hover:bg-red-600;
  }
  
  .input-field {
    @apply w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent;
    @apply dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:placeholder-gray-400 dark:focus:ring-primary-400;
  }
  
  .card {
    @apply bg-white rounded-lg shadow-sm border border-gray-200 p-6;
    @apply dark:bg-gray-800 dark:border-gray-700;
  }
  
  .status-badge {
    @apply px-2 py-1 text-xs font-semibold rounded-full;
  }
  
  .status-running {
    @apply bg-green-100 text-green-800;
    @apply dark:bg-green-900 dark:bg-opacity-20 dark:text-green-400;
  }
  
  .status-stopped {
    @apply bg-red-100 text-red-800;
    @apply dark:bg-red-900 dark:bg-opacity-20 dark:text-red-400;
  }
  
  .status-paused {
    @apply bg-yellow-100 text-yellow-800;
    @apply dark:bg-yellow-900 dark:bg-opacity-20 dark:text-yellow-400;
  }
}

@layer utilities {
  .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  
  /* Dark mode text utilities */
  .text-primary-dark {
    @apply text-gray-900 dark:text-white;
  }
  
  .text-secondary-dark {
    @apply text-gray-700 dark:text-gray-200;
  }
  
  .text-muted-dark {
    @apply text-gray-500 dark:text-gray-400;
  }
}
