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

@layer components {
  .drawer-item {
    @apply text-gray-700 hover:bg-gray-100 hover:text-primary focus:outline-none transition-colors duration-200;
  }
  
  .drawer-item.active {
    @apply bg-primary/10 text-primary font-medium;
  }
}

@layer base {
  :root {
    --background: 0 0% 96%;
    --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;
    
    --chart-1: 221.2 83.2% 53.3%;
    --chart-2: 292.2 84.1% 60.6%;
    --chart-3: 31.5 91.7% 48.8%;
    --chart-4: 182.9 75.4% 52.7%;
    --chart-5: 355.7 100% 54.7%;
    
    --sidebar-background: 0 0% 100%;
    --sidebar-foreground: 240 10% 3.9%;
    --sidebar-primary: 221.2 83.2% 53.3%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 240 5.9% 90%;
    --sidebar-ring: 142.1 76.2% 36.3%;
  }
  
  .dark {
    --background: 20 14.3% 4.1%;
    --foreground: 0 0% 95%;
    
    --card: 24 9.8% 10%;
    --card-foreground: 0 0% 95%;
    
    --popover: 0 0% 9%;
    --popover-foreground: 0 0% 95%;
    
    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;
    
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;
    
    --muted: 0 0% 15%;
    --muted-foreground: 240 5% 64.9%;
    
    --accent: 12 6.5% 15.1%;
    --accent-foreground: 0 0% 98%;
    
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 85.7% 97.3%;
    
    --border: 240 3.7% 15.9%;
    --input: 240 3.7% 15.9%;
    --ring: 142.4 71.8% 29.2%;
    
    --sidebar-background: 20 14.3% 4.1%;
    --sidebar-foreground: 0 0% 95%;
    --sidebar-primary: 221.2 83.2% 53.3%;
    --sidebar-primary-foreground: 210 40% 98%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 0 0% 98%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 142.4 71.8% 29.2%;
  }
  
  /* Smooth theme transition */
  *,
  ::before,
  ::after {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
  }
  
  /* Exclude transitions for specific elements that shouldn't animate */
  .no-transition,
  .no-transition *,
  .no-transition::before,
  .no-transition::after {
    transition: none !important;
  }
  
  * {
    @apply border-border;
  }
  
  body {
    @apply bg-background text-foreground;
    font-feature-settings: "rlig" 1, "calt" 1;
    font-family: 'Roboto', sans-serif;
  }
  
  .drawer-item.active {
    @apply bg-opacity-10 bg-primary text-primary border-l-2 border-primary;
  }
  
  .drawer-item:hover:not(.active) {
    @apply bg-muted;
  }
  
  .material-card {
    @apply bg-card rounded shadow-sm hover:shadow transition-shadow duration-200;
  }
  
  .status-badge {
    @apply inline-flex items-center rounded-full px-2 py-1 text-xs font-medium;
  }
  
  .status-badge-connected {
    @apply bg-green-100 text-green-800;
  }
  
  .status-badge-disconnected {
    @apply bg-red-100 text-red-800;
  }
}
