Spaces:
Build error
Build error
| @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; | |
| } | |