@tailwind base; @tailwind components; @tailwind utilities; /* Design system for steel structure management system Industrial theme with modern glassmorphism effects All colors MUST be HSL. */ @layer base { :root { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 3.9%; --card-foreground: 0 0% 98%; --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; /* Industrial blue primary palette */ --primary: 217 91% 60%; --primary-foreground: 0 0% 98%; --primary-variant: 221 83% 53%; --primary-dark: 215 84% 47%; /* Steel gray secondary palette */ --secondary: 217 19% 27%; --secondary-foreground: 0 0% 98%; --secondary-light: 218 11% 65%; --muted: 217 19% 27%; --muted-foreground: 217 10% 64.9%; /* Orange accent for industrial feel */ --accent: 25 95% 53%; --accent-foreground: 0 0% 98%; --accent-light: 31 81% 61%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 217 19% 27%; --input: 217 19% 27%; --ring: 217 91% 60%; --radius: 0.75rem; /* Custom industrial colors */ --steel-blue: 217 91% 60%; --steel-gray: 217 19% 27%; --iron-orange: 25 95% 53%; --metal-silver: 0 0% 85%; /* Glassmorphism variables */ --glass-bg: 240 10% 3.9% / 0.8; --glass-border: 0 0% 100% / 0.1; --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); /* Gradients */ --gradient-primary: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary-variant))); --gradient-industrial: linear-gradient(135deg, hsl(var(--steel-blue)), hsl(var(--iron-orange))); --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); --gradient-hero: radial-gradient(ellipse at center, hsl(var(--primary) / 0.15), transparent 70%); /* Shadows and effects */ --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.37); --shadow-elevation: 0 10px 30px -10px hsl(var(--primary) / 0.3); --shadow-glow: 0 0 40px hsl(var(--primary) / 0.4); /* Animation variables */ --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); --transition-bounce: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 98%; --sidebar-accent: 240 4.8% 95.9%; --sidebar-accent-foreground: 240 5.9% 10%; --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; } .light { --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 217 91% 60%; --primary-foreground: 0 0% 98%; --secondary: 217 19% 35%; --secondary-foreground: 0 0% 98%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 25 95% 53%; --accent-foreground: 0 0% 98%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --ring: 217 91% 60%; --glass-bg: 255 255 255 / 0.8; --glass-border: 0 0% 0% / 0.1; --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37); --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 98%; --sidebar-accent: 240 4.8% 95.9%; --sidebar-accent-foreground: 240 5.9% 10%; --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground font-sans antialiased; } html { scroll-behavior: smooth; } } @layer components { /* Glassmorphism Components */ .glass-card { @apply bg-background/80 backdrop-blur-xl border border-white/10 rounded-xl shadow-2xl; } .glass-nav { @apply bg-background/70 backdrop-blur-md border-b border-white/10; } /* Industrial themed buttons */ .btn-industrial { @apply bg-gradient-to-r from-primary to-primary-variant text-primary-foreground px-6 py-3 rounded-lg font-semibold transition-all duration-300 hover:shadow-lg hover:scale-105 active:scale-95; } .btn-industrial-outline { @apply border-2 border-primary bg-transparent text-primary px-6 py-3 rounded-lg font-semibold transition-all duration-300 hover:bg-primary hover:text-primary-foreground hover:shadow-lg hover:scale-105 active:scale-95; } /* Feature cards with hover effects */ .feature-card { @apply glass-card p-6 transition-all duration-500 hover:scale-105 hover:shadow-2xl cursor-pointer; } /* Statistics cards */ .stat-card { @apply glass-card p-6 text-center transform transition-all duration-300 hover:scale-105; } /* Animated underline effect */ .link-underline { @apply relative after:absolute after:bottom-0 after:left-0 after:w-full after:h-0.5 after:bg-primary after:origin-bottom-right after:scale-x-0 after:transition-transform after:duration-300 hover:after:origin-bottom-left hover:after:scale-x-100; } /* Pulse animation for CTAs */ .pulse-ring { @apply absolute inline-flex h-full w-full rounded-full bg-primary/20 opacity-75 animate-ping; } }