@tailwind base; @tailwind components; @tailwind utilities; :root { --background: 0 0% 98%; --foreground: 222 47% 11%; --card: 0 0% 100%; --card-foreground: 222 47% 11%; --popover: 0 0% 100%; --popover-foreground: 222 47% 11%; --primary: 215 85% 58%; --primary-foreground: 0 0% 100%; --secondary: 265 75% 62%; --secondary-foreground: 0 0% 100%; --muted: 210 40% 96%; --muted-foreground: 215 16% 47%; --accent: 210 40% 96%; --accent-foreground: 222 47% 11%; --destructive: 0 85% 62%; --destructive-foreground: 0 0% 100%; --border: 214 32% 91%; --input: 214 32% 91%; --ring: 215 85% 58%; --success: 142 76% 48%; --warning: 35 95% 58%; --info: 195 85% 55%; --chart-1: 215 85% 58%; --chart-2: 265 75% 62%; --chart-3: 142 76% 48%; --chart-4: 195 85% 55%; --chart-5: 35 95% 58%; --sidebar: 0 0% 100%; --sidebar-foreground: 222 47% 11%; --sidebar-primary: 215 85% 58%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 210 40% 96%; --sidebar-accent-foreground: 222 47% 11%; --sidebar-border: 214 32% 91%; --sidebar-ring: 215 85% 58%; --radius: 0.75rem; --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-mono: 'JetBrains Mono', 'Fira Code', Menlo, monospace; } .dark { --background: 222 20% 8%; --foreground: 0 0% 95%; --card: 222 16% 15%; --card-foreground: 0 0% 95%; --popover: 222 18% 12%; --popover-foreground: 0 0% 95%; --primary: 215 85% 58%; --primary-foreground: 0 0% 100%; --secondary: 265 75% 62%; --secondary-foreground: 0 0% 100%; --muted: 222 12% 20%; --muted-foreground: 222 10% 65%; --accent: 222 18% 12%; --accent-foreground: 0 0% 95%; --destructive: 0 85% 62%; --destructive-foreground: 0 0% 100%; --border: 222 12% 20%; --input: 222 12% 20%; --ring: 215 85% 58%; --success: 142 76% 48%; --warning: 35 95% 58%; --info: 195 85% 55%; --chart-1: 215 85% 58%; --chart-2: 265 75% 62%; --chart-3: 142 76% 48%; --chart-4: 195 85% 55%; --chart-5: 35 95% 58%; --sidebar: 222 20% 8%; --sidebar-foreground: 0 0% 95%; --sidebar-primary: 215 85% 58%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 222 18% 12%; --sidebar-accent-foreground: 0 0% 95%; --sidebar-border: 222 12% 20%; --sidebar-ring: 215 85% 58%; } @layer base { * { @apply border-border; } body { @apply font-sans antialiased bg-background text-foreground; } h1, h2, h3, h4, h5, h6 { @apply font-semibold; } } /* Custom scrollbar */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: hsl(var(--muted) / 0.5); border-radius: 5px; } ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, hsl(var(--primary)), hsl(var(--secondary))); border-radius: 5px; border: 2px solid hsl(var(--background)); } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, hsl(var(--primary) / 0.9), hsl(var(--secondary) / 0.9)); } /* Smooth transitions */ * { transition: background-color 200ms, border-color 200ms, color 200ms; } button, a { transition: all 200ms; } /* Animation for cards */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 150ms ease-out; } /* Gradient utilities */ .gradient-primary { background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--secondary))); } .gradient-text { background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--secondary))); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Card hover effect */ .card-hover { transition: transform 200ms, box-shadow 200ms; } .card-hover:hover { transform: translateY(-2px); box-shadow: 0 12px 24px hsl(var(--primary) / 0.12); } /* Platform badges */ .badge-facebook { background: hsl(var(--primary) / 0.1); color: hsl(var(--primary)); border: 1px solid hsl(var(--primary) / 0.25); } .badge-instagram { background: hsl(var(--secondary) / 0.1); color: hsl(var(--secondary)); border: 1px solid hsl(var(--secondary) / 0.25); } /* Status indicators */ .status-scheduled { color: hsl(var(--primary)); } .status-published { color: hsl(var(--success)); } .status-failed { color: hsl(var(--destructive)); } .status-draft { color: hsl(var(--muted-foreground)); } /* Skeleton loader */ .skeleton { background: linear-gradient(90deg, hsl(var(--muted)) 25%, hsl(var(--accent)) 50%, hsl(var(--muted)) 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }