177 lines
5.2 KiB
CSS
177 lines
5.2 KiB
CSS
@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;
|
|
}
|
|
}
|