@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { /* GTS-Pro Dark Teal-Grey */ --background: 180 10% 18%; --foreground: 0 0% 100%; --card: 180 10% 16%; --card-foreground: 0 0% 100%; --card-border: 185 10% 37%; --popover: 180 10% 16%; --popover-foreground: 0 0% 100%; --popover-border: 185 10% 37%; /* Teal Accent */ --primary: 170 74% 53%; --primary-foreground: 180 20% 5%; --primary-border: 170 74% 43%; --secondary: 185 10% 22%; --secondary-foreground: 0 0% 100%; --secondary-border: 185 10% 30%; --muted: 185 10% 22%; --muted-foreground: 195 12% 67%; --muted-border: 185 10% 30%; --accent: 185 10% 22%; --accent-foreground: 0 0% 100%; --accent-border: 185 10% 30%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --destructive-border: 0 62.8% 25%; --border: 185 10% 37%; --input: 185 10% 37%; --ring: 170 74% 53%; /* GTS-Pro semantic colors */ --success: 82 66% 49%; --warning: 46 100% 70%; --card-very-dark: 185 70% 4%; --chart-1: 170 74% 53%; --chart-2: 280 65% 60%; --chart-3: 220 70% 50%; --chart-4: 82 66% 49%; --chart-5: 46 100% 70%; --sidebar: 180 10% 15%; --sidebar-foreground: 0 0% 100%; --sidebar-primary: 170 74% 53%; --sidebar-primary-foreground: 180 20% 5%; --sidebar-primary-border: 170 74% 43%; --sidebar-accent: 185 10% 22%; --sidebar-accent-foreground: 0 0% 100%; --sidebar-accent-border: 185 10% 30%; --sidebar-border: 185 10% 37%; --sidebar-ring: 170 74% 53%; --radius: 0.35rem; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-family: 'Inter', system-ui, sans-serif; } } .font-mono { font-family: 'JetBrains Mono', monospace; } /* Custom Scrollbar for dense data views */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: hsl(var(--secondary)); } ::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground)); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--primary)); } /* Slow pulse animation for in-progress bookings (3 second cycle) */ @keyframes pulse-slow { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } } .animate-pulse-slow { animation: pulse-slow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite; }