@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 80 10% 88%; --foreground: 0 0% 10%; --card: 0 0% 100%; --card-foreground: 0 0% 10%; --popover: 0 0% 100%; --popover-foreground: 0 0% 10%; --primary: 0 0% 15%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 96%; --secondary-foreground: 0 0% 10%; --muted: 0 0% 96%; --muted-foreground: 0 0% 45%; --accent: 0 0% 96%; --accent-foreground: 0 0% 10%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 98%; --border: 0 0% 85%; --input: 0 0% 85%; --ring: 0 0% 15%; --radius: 1rem; /* Font families */ --font-space-grotesk: 'Space Grotesk', sans-serif; --font-dm-sans: 'DM Sans', sans-serif; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-family: var(--font-space-grotesk), system-ui, sans-serif; font-feature-settings: "rlig" 1, "calt" 1; min-height: 100vh; } /* Headers - Bold uppercase style like the design */ h1, h2, h3, h4, h5, h6 { font-family: var(--font-space-grotesk); font-weight: 700; letter-spacing: -0.02em; } /* Numbers and data - slightly different weight */ .font-data { font-family: var(--font-space-grotesk); font-variant-numeric: tabular-nums; font-weight: 600; } } /* Custom scrollbar */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / 0.3); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.5); } /* Coral/Salmon card - for warnings */ .card-coral { background: linear-gradient(145deg, #ff7b7b 0%, #ff6b6b 50%, #f85555 100%); color: white; } /* Teal/Mint card - for success states */ .card-teal { background: linear-gradient(145deg, #4ade80 0%, #22c55e 50%, #16a34a 100%); color: white; } /* Dark card - for main UI elements */ .card-dark { background: linear-gradient(145deg, #2a2a2a 0%, #1a1a1a 50%, #0f0f0f 100%); color: white; } /* Light card - for contrast elements */ .card-light { background: linear-gradient(145deg, #ffffff 0%, #f5f5f5 50%, #e5e5e5 100%); color: #1a1a1a; } /* Sidebar styles */ .sidebar { background: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 100%); } .sidebar-icon { @apply p-3 rounded-xl transition-all duration-200 cursor-pointer; } .sidebar-icon:hover { background: rgba(255, 255, 255, 0.1); } .sidebar-icon.active { @apply bg-white text-gray-900 shadow-lg; } /* Card hover effects */ .card-hover { @apply transition-all duration-300; } .card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); } /* Badge styles */ .badge-success { @apply bg-emerald-500/20 text-emerald-600 border-emerald-500/30; } .badge-warning { @apply bg-amber-500/20 text-amber-600 border-amber-500/30; } .badge-danger { @apply bg-red-500/20 text-red-600 border-red-500/30; } /* Circular progress */ .circular-progress { position: relative; display: inline-flex; align-items: center; justify-content: center; } .circular-progress svg { transform: rotate(-90deg); } .circular-progress .track { stroke: rgba(255, 255, 255, 0.2); } .circular-progress .progress { stroke: currentColor; stroke-linecap: round; transition: stroke-dashoffset 0.5s ease; } /* Animation */ @keyframes pulse-slow { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } } .animate-pulse-slow { animation: pulse-slow 3s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } } .animate-float { animation: float 3s ease-in-out infinite; } /* Chart bar animation */ @keyframes grow { from { transform: scaleY(0); } to { transform: scaleY(1); } } .animate-grow { animation: grow 0.5s ease-out forwards; transform-origin: bottom; } /* Gradient text */ .gradient-text { background: linear-gradient(135deg, #00d4a0 0%, #00b386 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Input styles */ .search-input { @apply bg-gray-900/50 border-gray-700 text-white placeholder:text-gray-500 focus:border-gray-500 focus:ring-gray-500; } /* Arrow button */ .arrow-btn { @apply p-2 rounded-full bg-black/10 hover:bg-black/20 transition-colors; } /* Clock/Radar chart styles */ .clock-chart { position: relative; } .clock-hand { transform-origin: center; transition: transform 0.3s ease; }