.dark.theme-cyber2 { --background: 240 30% 4%; --foreground: 180 50% 95%; --card: 240 25% 8%; --card-foreground: 180 50% 95%; --popover: 240 25% 8%; --popover-foreground: 180 50% 95%; --primary: 280 80% 55%; --primary-foreground: 0 0% 100%; --secondary: 280 80% 55%; --secondary-foreground: 0 0% 100%; --muted: 240 15% 15%; --muted-foreground: 180 10% 55%; --accent: 280 80% 55%; --accent-foreground: 0 0% 100%; --destructive: 0 70% 50%; --destructive-foreground: 210 40% 98%; --border: 180 30% 20%; --input: 180 30% 20%; --ring: 280 80% 55%; --radius: 0.5rem; --sidebar: 240 30% 4%; --sidebar-foreground: 180 50% 95%; --sidebar-primary: 280 80% 55%; --sidebar-primary-foreground: 0 0% 0%; --sidebar-accent: 280 80% 55%; --sidebar-accent-foreground: 0 0% 100%; --sidebar-border: 180 30% 15%; --sidebar-ring: 280 80% 55%; } .light.theme-cyber2 { --background: 180 20% 96%; --foreground: 240 40% 10%; --card: 0 0% 100%; --card-foreground: 240 40% 10%; --popover: 0 0% 100%; --popover-foreground: 240 40% 10%; --primary: 280 60% 50%; --primary-foreground: 0 0% 100%; --secondary: 280 60% 50%; --secondary-foreground: 0 0% 100%; --muted: 180 15% 88%; --muted-foreground: 240 10% 45%; --accent: 280 60% 50%; --accent-foreground: 0 0% 100%; --destructive: 0 80% 50%; --destructive-foreground: 0 0% 100%; --border: 180 15% 82%; --input: 180 15% 82%; --ring: 280 60% 50%; --radius: 0.5rem; --sidebar: 0 0% 100%; --sidebar-foreground: 240 40% 10%; --sidebar-primary: 280 60% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 280 60% 50%; --sidebar-accent-foreground: 0 0% 100%; --sidebar-border: 180 15% 82%; --sidebar-ring: 280 60% 50%; } .dark.theme-cyber2 body { background: transparent linear-gradient(135deg, rgba(0, 10, 20, 0.95), rgba(10, 0, 20, 0.9)); position: relative; } .dark.theme-cyber2 body > div { background: transparent !important; } .dark.theme-cyber2 body::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background-image: linear-gradient(0deg, rgba(0, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 255, 255, 0.03) 1px, transparent 1px); background-size: 40px 40px; } .dark.theme-cyber2 body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 100% 50% at 10% 20%, rgba(0, 255, 255, 0.08) 0%, transparent 60%), radial-gradient(ellipse 80% 50% at 90% 80%, rgba(255, 0, 255, 0.08) 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 50% 50%, rgba(0, 255, 255, 0.04) 0%, transparent 50%), radial-gradient(20px 20px at 15% 15%, rgba(0, 255, 255, 0.15) 0%, transparent 100%), radial-gradient(15px 15px at 85% 25%, rgba(255, 0, 255, 0.12) 0%, transparent 100%), radial-gradient(12px 12px at 45% 75%, rgba(0, 255, 255, 0.1) 0%, transparent 100%), radial-gradient(10px 10px at 70% 45%, rgba(255, 0, 255, 0.08) 0%, transparent 100%), radial-gradient(8px 8px at 30% 60%, rgba(0, 255, 255, 0.12) 0%, transparent 100%), radial-gradient(11px 11px at 60% 10%, rgba(255, 0, 255, 0.1) 0%, transparent 100%), radial-gradient(9px 9px at 90% 65%, rgba(0, 255, 255, 0.08) 0%, transparent 100%), radial-gradient(13px 13px at 5% 85%, rgba(255, 0, 255, 0.1) 0%, transparent 100%), radial-gradient(7px 7px at 55% 55%, rgba(0, 255, 255, 0.06) 0%, transparent 100%); animation: neon-drift 20s ease-in-out infinite alternate; } .light.theme-cyber2 body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 80% 50% at 15% 20%, rgba(0, 200, 200, 0.05) 0%, transparent 60%), radial-gradient(ellipse 80% 50% at 85% 80%, rgba(200, 0, 200, 0.04) 0%, transparent 60%), repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(0, 200, 200, 0.02) 40px, rgba(0, 200, 200, 0.02) 41px), repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(0, 200, 200, 0.02) 40px, rgba(0, 200, 200, 0.02) 41px); } @keyframes neon-drift { 0% { background-position: 0% 0%; opacity: 0.6; } 50% { background-position: 100% 100%; opacity: 1; } 100% { background-position: 0% 100%; opacity: 0.6; } } .dark.theme-cyber2 .text-glow { text-shadow: 0 0 10px hsl(180, 100%, 50%), 0 0 30px hsl(180, 100%, 50%), 0 0 60px rgba(0, 255, 255, 0.5); } .light.theme-cyber2 .text-glow { text-shadow: 0 0 8px hsl(180, 100%, 40%), 0 0 20px hsl(180, 100%, 40%), 0 0 40px rgba(0, 200, 200, 0.3); } .dark.theme-cyber2 h1, .dark.theme-cyber2 h2, .dark.theme-cyber2 h3 { background: linear-gradient(135deg, hsl(180, 100%, 50%), hsl(280, 80%, 55%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .light.theme-cyber2 h1, .light.theme-cyber2 h2, .light.theme-cyber2 h3 { background: linear-gradient(135deg, hsl(180, 100%, 35%), hsl(280, 60%, 45%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .dark.theme-cyber2 a { color: hsl(180, 100%, 55%); text-decoration: none; transition: color 0.2s; } .light.theme-cyber2 a { color: hsl(180, 100%, 35%); text-decoration: none; transition: color 0.2s; } .dark.theme-cyber2 a:hover { color: hsl(280, 80%, 60%); text-shadow: 0 0 8px rgba(255, 0, 255, 0.4); } .light.theme-cyber2 a:hover { color: hsl(280, 60%, 50%); } .dark.theme-cyber2 blockquote { border-left: 3px solid hsl(280, 80%, 55%); color: hsl(180, 20%, 70%); font-style: italic; } .light.theme-cyber2 blockquote { border-left: 3px solid hsl(280, 60%, 50%); color: hsl(240, 10%, 45%); font-style: italic; } .dark.theme-cyber2 code { color: hsl(180, 100%, 55%); background: rgba(0, 255, 255, 0.08); border: 1px solid rgba(0, 255, 255, 0.15); } .light.theme-cyber2 code { color: hsl(280, 60%, 45%); background: rgba(0, 200, 200, 0.05); border: 1px solid rgba(0, 200, 200, 0.1); } .dark.theme-cyber2 pre { background: rgba(0, 5, 15, 0.9); border: 1px solid rgba(0, 255, 255, 0.1); } .light.theme-cyber2 pre { background: rgba(0, 200, 200, 0.03); border: 1px solid rgba(0, 200, 200, 0.08); } .dark.theme-cyber2 hr { border-color: rgba(0, 255, 255, 0.15); } .light.theme-cyber2 hr { border-color: rgba(0, 200, 200, 0.1); } .dark.theme-cyber2 table th { color: hsl(180, 100%, 55%); } .light.theme-cyber2 table th { color: hsl(180, 100%, 35%); } .dark.theme-cyber2 table td { border-color: rgba(0, 255, 255, 0.12); } .light.theme-cyber2 table td { border-color: rgba(0, 200, 200, 0.1); } .dark.theme-cyber2 ::selection { background: rgba(0, 255, 255, 0.2); color: hsl(0, 0%, 0%); } .light.theme-cyber2 ::selection { background: rgba(0, 200, 200, 0.12); color: hsl(0, 0%, 0%); } .dark.theme-cyber2 input::placeholder, .dark.theme-cyber2 textarea::placeholder { color: hsl(180, 20%, 40%); } .light.theme-cyber2 input::placeholder, .light.theme-cyber2 textarea::placeholder { color: hsl(240, 10%, 65%); } .dark.theme-cyber2 .page-header-title { color: hsl(180, 100%, 55%); } .light.theme-cyber2 .page-header-title { color: hsl(180, 100%, 35%); } .dark.theme-cyber2 .stat-card-value { color: hsl(180, 100%, 55%); } .light.theme-cyber2 .stat-card-value { color: hsl(180, 100%, 35%); } .dark.theme-cyber2 .badge { color: hsl(180, 100%, 55%); } .light.theme-cyber2 .badge { color: hsl(180, 100%, 35%); } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(odd) .group .h-1.w-full { background: linear-gradient(to right, hsl(180, 100%, 50%), hsl(180, 100%, 70%), hsl(180, 100%, 50%)) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(even) .group .h-1.w-full { background: linear-gradient(to right, hsl(280, 80%, 55%), hsl(280, 80%, 70%), hsl(280, 80%, 55%)) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(odd) .group .rounded-xl.shrink-0 { background: hsla(180, 100%, 50%, 0.1) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(even) .group .rounded-xl.shrink-0 { background: hsla(280, 80%, 55%, 0.1) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(odd) .group .rounded-xl.shrink-0 svg { color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(even) .group .rounded-xl.shrink-0 svg { color: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(odd) .group .absolute.bottom-0.h-1 { background: linear-gradient(to right, transparent, hsla(180, 100%, 50%, 0.25), transparent) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(even) .group .absolute.bottom-0.h-1 { background: linear-gradient(to right, transparent, hsla(280, 80%, 55%, 0.25), transparent) !important; } .dark.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 .rounded-full.bg-gradient-to-r { background: linear-gradient(to right, hsl(180, 100%, 50%), hsl(280, 80%, 55%)) !important; } .light.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(odd) .group .h-1.w-full { background: linear-gradient(to right, hsl(180, 100%, 40%), hsl(180, 100%, 55%), hsl(180, 100%, 40%)) !important; } .light.theme-cyber2 .sm\:grid-cols-2.lg\:grid-cols-3.gap-4.mt-4 > .relative:nth-child(even) .group .h-1.w-full { background: linear-gradient(to right, hsl(280, 60%, 50%), hsl(280, 60%, 65%), hsl(280, 60%, 50%)) !important; } .dark.theme-cyber2 .growth-word, .light.theme-cyber2 .growth-word { -webkit-text-fill-color: #1BB0CE !important; color: #1BB0CE !important; background: none !important; } /* ============================================================================ Charts — Donut (LeadStatus) & Bar (LeadsPerMonth) — Cyber2 colors ============================================================================ */ /* ---- SVG gradient overrides (donut chart segments) ---- */ .dark.theme-cyber2 #chart-grad-0 stop { stop-color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 #chart-grad-1 stop { stop-color: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 #chart-grad-2 stop { stop-color: hsl(310, 90%, 60%) !important; } .dark.theme-cyber2 #chart-grad-3 stop { stop-color: hsl(170, 100%, 45%) !important; } .dark.theme-cyber2 #chart-grad-4 stop { stop-color: hsl(180, 20%, 40%) !important; } .light.theme-cyber2 #chart-grad-0 stop { stop-color: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 #chart-grad-1 stop { stop-color: hsl(280, 60%, 50%) !important; } .light.theme-cyber2 #chart-grad-2 stop { stop-color: hsl(310, 70%, 55%) !important; } .light.theme-cyber2 #chart-grad-3 stop { stop-color: hsl(170, 80%, 38%) !important; } .light.theme-cyber2 #chart-grad-4 stop { stop-color: hsl(180, 15%, 50%) !important; } /* ---- SVG gradient overrides (bar chart) ---- */ .dark.theme-cyber2 #newLeadsGrad stop { stop-color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 #closedGrad stop { stop-color: hsl(280, 80%, 55%) !important; } .light.theme-cyber2 #newLeadsGrad stop { stop-color: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 #closedGrad stop { stop-color: hsl(280, 60%, 50%) !important; } /* ---- Inline chart colors (legend dots, hover text) ---- */ .dark.theme-cyber2 [style*="background: #3b82f6"], .dark.theme-cyber2 [style*="background:#3b82f6"] { background: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 [style*="background: #f59e0b"], .dark.theme-cyber2 [style*="background:#f59e0b"] { background: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 [style*="background: #8b5cf6"], .dark.theme-cyber2 [style*="background:#8b5cf6"] { background: hsl(310, 90%, 60%) !important; } .dark.theme-cyber2 [style*="background: #10b981"], .dark.theme-cyber2 [style*="background:#10b981"] { background: hsl(170, 100%, 45%) !important; } .dark.theme-cyber2 [style*="background: #6B7280"], .dark.theme-cyber2 [style*="background:#6B7280"] { background: hsl(180, 20%, 40%) !important; } .light.theme-cyber2 [style*="background: #3b82f6"], .light.theme-cyber2 [style*="background:#3b82f6"] { background: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 [style*="background: #f59e0b"], .light.theme-cyber2 [style*="background:#f59e0b"] { background: hsl(280, 60%, 50%) !important; } .light.theme-cyber2 [style*="background: #8b5cf6"], .light.theme-cyber2 [style*="background:#8b5cf6"] { background: hsl(310, 70%, 55%) !important; } .light.theme-cyber2 [style*="background: #10b981"], .light.theme-cyber2 [style*="background:#10b981"] { background: hsl(170, 80%, 38%) !important; } .light.theme-cyber2 [style*="background: #6B7280"], .light.theme-cyber2 [style*="background:#6B7280"] { background: hsl(180, 15%, 50%) !important; } /* ---- Chart legend hover borders ---- */ .dark.theme-cyber2 [style*="border: 1px solid #3b82f6"], .dark.theme-cyber2 [style*="border:1px solid #3b82f6"] { border-color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 [style*="border: 1px solid #f59e0b"], .dark.theme-cyber2 [style*="border:1px solid #f59e0b"] { border-color: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 [style*="border: 1px solid #8b5cf6"], .dark.theme-cyber2 [style*="border:1px solid #8b5cf6"] { border-color: hsl(310, 90%, 60%) !important; } .dark.theme-cyber2 [style*="border: 1px solid #10b981"], .dark.theme-cyber2 [style*="border:1px solid #10b981"] { border-color: hsl(170, 100%, 45%) !important; } .dark.theme-cyber2 [style*="border: 1px solid #6B7280"], .dark.theme-cyber2 [style*="border:1px solid #6B7280"] { border-color: hsl(180, 20%, 40%) !important; } /* ---- Donut chart segment text color on hover ---- */ .dark.theme-cyber2 [style*="color: #3b82f6"] { color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 [style*="color: #f59e0b"] { color: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 [style*="color: #8b5cf6"] { color: hsl(310, 90%, 60%) !important; } .dark.theme-cyber2 [style*="color: #10b981"] { color: hsl(170, 100%, 45%) !important; } .dark.theme-cyber2 [style*="color: #6B7280"] { color: hsl(180, 20%, 40%) !important; } .light.theme-cyber2 [style*="color: #3b82f6"] { color: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 [style*="color: #f59e0b"] { color: hsl(280, 60%, 50%) !important; } .light.theme-cyber2 [style*="color: #8b5cf6"] { color: hsl(310, 70%, 55%) !important; } .light.theme-cyber2 [style*="color: #10b981"] { color: hsl(170, 80%, 38%) !important; } .light.theme-cyber2 [style*="color: #6B7280"] { color: hsl(180, 15%, 50%) !important; } /* ============================================================================ Stat Cards — Icon backgrounds, text colors, progress bars ============================================================================ */ .dark.theme-cyber2 .rounded-xl.border.bg-card .rounded-xl.shrink-0 { background: hsla(180, 100%, 50%, 0.12) !important; } .dark.theme-cyber2 .rounded-xl.border.bg-card .rounded-xl.shrink-0 svg { color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 .rounded-xl.border.bg-card .h-1\.5.bg-muted.rounded-full .rounded-full { background: linear-gradient(to right, hsl(180, 100%, 50%), hsl(280, 80%, 55%)) !important; } .dark.theme-cyber2 .rounded-xl.border.bg-card .absolute.bottom-0.left-0.right-0.h-1 { background: linear-gradient(to right, transparent, hsla(180, 100%, 50%, 0.2), transparent) !important; } .light.theme-cyber2 .rounded-xl.border.bg-card .rounded-xl.shrink-0 { background: hsla(180, 80%, 40%, 0.1) !important; } .light.theme-cyber2 .rounded-xl.border.bg-card .rounded-xl.shrink-0 svg { color: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 .rounded-xl.border.bg-card .h-1\.5.bg-muted.rounded-full .rounded-full { background: linear-gradient(to right, hsl(180, 80%, 40%), hsl(280, 60%, 50%)) !important; } .light.theme-cyber2 .rounded-xl.border.bg-card .absolute.bottom-0.left-0.right-0.h-1 { background: linear-gradient(to right, transparent, hsla(180, 80%, 40%, 0.15), transparent) !important; } /* ============================================================================ Inline hex color overrides — stat card values, page icons, etc. ============================================================================ */ .dark.theme-cyber2 .text-\[#C84B4B\], .dark.theme-cyber2 .dark\:text-\[\#C84B4B\] { color: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 .text-\[#5A8FC4\], .dark.theme-cyber2 .dark\:text-\[\#5A8FC4\] { color: hsl(280, 80%, 55%) !important; } .dark.theme-cyber2 .text-\[#FF1111\], .dark.theme-cyber2 .dark\:text-\[\#FF1111\] { color: hsl(180, 100%, 55%) !important; } .dark.theme-cyber2 .text-\[#1144FF\], .dark.theme-cyber2 .dark\:text-\[\#1144FF\] { color: hsl(280, 80%, 60%) !important; } .light.theme-cyber2 .text-\[#C84B4B\], .light.theme-cyber2 .dark\:text-\[\#C84B4B\] { color: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 .text-\[#5A8FC4\], .light.theme-cyber2 .dark\:text-\[\#5A8FC4\] { color: hsl(280, 60%, 50%) !important; } .dark.theme-cyber2 .bg-\[#C84B4B\]\/10, .dark.theme-cyber2 .dark\:bg-\[\#C84B4B\]\/10 { background: hsla(180, 100%, 50%, 0.1) !important; } .dark.theme-cyber2 .bg-\[#5A8FC4\]\/10, .dark.theme-cyber2 .dark\:bg-\[\#5A8FC4\]\/10 { background: hsla(280, 80%, 55%, 0.1) !important; } .light.theme-cyber2 .bg-\[#C84B4B\]\/10, .light.theme-cyber2 .dark\:bg-\[\#C84B4B\]\/10 { background: hsla(180, 80%, 40%, 0.08) !important; } .light.theme-cyber2 .bg-\[#5A8FC4\]\/10, .light.theme-cyber2 .dark\:bg-\[\#5A8FC4\]\/10 { background: hsla(280, 60%, 50%, 0.08) !important; } .dark.theme-cyber2 .from-\[#C84B4B\], .dark.theme-cyber2 .dark\:from-\[\#C84B4B\], .dark.theme-cyber2 .via-\[#C84B4B\], .dark.theme-cyber2 .dark\:via-\[\#C84B4B\], .dark.theme-cyber2 .to-\[#C84B4B\], .dark.theme-cyber2 .dark\:to-\[\#C84B4B\] { --tw-gradient-from: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 .from-\[#5A8FC4\], .dark.theme-cyber2 .dark\:from-\[\#5A8FC4\], .dark.theme-cyber2 .via-\[#5A8FC4\], .dark.theme-cyber2 .dark\:via-\[\#5A8FC4\], .dark.theme-cyber2 .to-\[#5A8FC4\], .dark.theme-cyber2 .dark\:to-\[\#5A8FC4\] { --tw-gradient-from: hsl(280, 80%, 55%) !important; } .light.theme-cyber2 .from-\[#C84B4B\], .light.theme-cyber2 .dark\:from-\[\#C84B4B\], .light.theme-cyber2 .via-\[#C84B4B\], .light.theme-cyber2 .dark\:via-\[\#C84B4B\], .light.theme-cyber2 .to-\[#C84B4B\], .light.theme-cyber2 .dark\:to-\[\#C84B4B\] { --tw-gradient-from: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 .from-\[#5A8FC4\], .light.theme-cyber2 .dark\:from-\[\#5A8FC4\], .light.theme-cyber2 .via-\[#5A8FC4\], .light.theme-cyber2 .dark\:via-\[\#5A8FC4\], .light.theme-cyber2 .to-\[#5A8FC4\], .light.theme-cyber2 .dark\:to-\[\#5A8FC4\] { --tw-gradient-from: hsl(280, 60%, 50%) !important; } /* ---- SVG stroke/fill overrides ---- */ .dark.theme-cyber2 [stroke="#CC0000"] { stroke: hsl(180, 100%, 50%) !important; } .dark.theme-cyber2 [stroke="#0033CC"] { stroke: hsl(280, 80%, 55%) !important; } .light.theme-cyber2 [stroke="#CC0000"] { stroke: hsl(180, 80%, 40%) !important; } .light.theme-cyber2 [stroke="#0033CC"] { stroke: hsl(280, 60%, 50%) !important; } /* ============================================================================ Light mode — deeper visual polish ============================================================================ */ .light.theme-cyber2 .rounded-xl.border.bg-card { box-shadow: 0 1px 3px hsla(180, 80%, 30%, 0.08), 0 4px 12px hsla(180, 80%, 30%, 0.04) !important; } .light.theme-cyber2 aside .group:hover { background: hsla(180, 80%, 40%, 0.04) !important; } .light.theme-cyber2 .hover\:bg-accent:hover { background: hsla(180, 80%, 40%, 0.06) !important; } /* ============================================================================ Client Portal Overrides — Background for portal pages ============================================================================ */ /* Make the outer portal container transparent so body::before background shows */ .dark.theme-cyber2 .min-h-screen.bg-background { background: transparent !important; } /* Portal sidebar — dark glass */ .dark.theme-cyber2 aside.bg-card.border-r.border-border { background: hsl(240, 15%, 3%) !important; border-right-color: hsl(270, 25%, 10%) !important; } /* Portal sidebar nav items — muted text */ .dark.theme-cyber2 aside .text-muted-foreground { color: hsl(240, 8%, 50%) !important; } .dark.theme-cyber2 aside button:hover { background: hsla(330, 100%, 50%, 0.08) !important; color: hsl(0, 0%, 90%) !important; } /* Portal sidebar active nav item */ .dark.theme-cyber2 aside .bg-primary\/10.text-primary { background: hsl(330, 100%, 50%) !important; color: hsl(0, 0%, 100%) !important; box-shadow: 0 0 10px rgba(255, 0, 127, 0.3), 0 0 20px rgba(255, 0, 127, 0.1); border-color: hsl(330, 100%, 50%) !important; } .dark.theme-cyber2 aside .bg-primary\/10.text-primary svg { color: hsl(0, 0%, 100%) !important; } /* Portal header — dark glass */ .dark.theme-cyber2 header.bg-card\/80 { background: hsl(240, 15%, 3%) !important; border-bottom-color: hsl(270, 25%, 10%) !important; } /* Portal card backgrounds — semi-transparent glass */ .dark.theme-cyber2 .bg-card { background: hsla(240, 15%, 7%, 0.65) !important; backdrop-filter: blur(10px) !important; border-color: hsla(270, 30%, 20%, 0.35) !important; } /* Portal borders */ .dark.theme-cyber2 .border-border { border-color: hsl(270, 25%, 12%) !important; } /* Portal input fields */ .dark.theme-cyber2 .bg-muted { background: hsl(240, 12%, 9%) !important; } /* Portal primary buttons */ .dark.theme-cyber2 .bg-primary { background: hsl(330, 100%, 50%) !important; box-shadow: 0 0 10px rgba(255, 0, 127, 0.2); } .dark.theme-cyber2 .bg-primary:hover { background: hsl(330, 100%, 55%) !important; box-shadow: 0 0 15px rgba(255, 0, 127, 0.4); }