@tailwind base; @tailwind components; @tailwind utilities; @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap'); /* === Dark Mode (default) === */ :root { --bg-primary: #0a0a1a; --bg-secondary: #111128; --bg-card: rgba(255, 255, 255, 0.08); --bg-card-hover: rgba(255, 255, 255, 0.12); --border-subtle: rgba(255, 255, 255, 0.1); --text-primary: #ffffff; --text-secondary: rgba(255, 255, 255, 0.6); --text-muted: rgba(255, 255, 255, 0.4); --text-faint: rgba(255, 255, 255, 0.15); --accent-indigo: #6366f1; --accent-purple: #a78bfa; --accent-blue: #60a5fa; --glass-bg: rgba(255, 255, 255, 0.08); --glass-border: rgba(255, 255, 255, 0.1); --glass-hover: rgba(255, 255, 255, 0.12); --gradient-from: #0f172a; --gradient-via: #0a0a1a; --gradient-to: #0f172a; --scrollbar-thumb: rgba(255, 255, 255, 0.2); --scrollbar-hover: rgba(255, 255, 255, 0.3); --selection-bg: rgba(99, 102, 241, 0.3); --selection-color: white; --red-text: #f87171; --green-text: #34d399; --table-row-hover: rgba(255, 255, 255, 0.02); --table-sum-bg: rgba(255, 255, 255, 0.03); --sticky-bg: rgba(15, 15, 30, 0.9); } /* === Light Mode — Onepager Design Language === */ /* Clean, professional, print-friendly. No glass, no blur, solid cards. */ .theme-light { --bg-primary: #ffffff; --bg-secondary: #f8fafc; --bg-card: #f8fafc; --bg-card-hover: #f1f5f9; --border-subtle: #e2e8f0; --text-primary: #1a1a2e; --text-secondary: #334155; --text-muted: #64748b; --text-faint: #94a3b8; --accent-indigo: #4f46e5; --accent-purple: #7c3aed; --accent-blue: #0891b2; --glass-bg: #f8fafc; --glass-border: #e2e8f0; --glass-hover: #f1f5f9; --gradient-from: #ffffff; --gradient-via: #ffffff; --gradient-to: #ffffff; --scrollbar-thumb: #cbd5e1; --scrollbar-hover: #94a3b8; --selection-bg: rgba(79, 70, 229, 0.15); --selection-color: #1a1a2e; --red-text: #dc2626; --green-text: #059669; --table-row-hover: #f8fafc; --table-sum-bg: #f1f5f9; --sticky-bg: rgba(255, 255, 255, 0.97); } /* Font: Plus Jakarta Sans in light mode (matches Onepager) */ .theme-light, .theme-light * { font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important; } /* === Text colors — Onepager hierarchy === */ .theme-light .text-white { color: #1a1a2e; } .theme-light .text-white\/80 { color: #334155; } .theme-light .text-white\/70 { color: #475569; } .theme-light .text-white\/60 { color: #475569; } .theme-light .text-white\/50 { color: #64748b; } .theme-light .text-white\/40 { color: #64748b; } .theme-light .text-white\/30 { color: #94a3b8; } .theme-light .text-white\/20 { color: #cbd5e1; } .theme-light .text-white\/15 { color: #e2e8f0; } /* === Cards — Solid white/gray, clean borders, no glass === */ .theme-light .bg-white\/\[0\.08\], .theme-light .bg-white\/\[0\.06\], .theme-light .bg-white\/\[0\.05\], .theme-light .bg-white\/\[0\.04\], .theme-light .bg-white\/\[0\.03\] { background-color: #f8fafc !important; } .theme-light .border-white\/10, .theme-light .border-white\/\[0\.03\] { border-color: #e2e8f0 !important; } /* No backdrop blur in light mode — clean solid backgrounds */ .theme-light .backdrop-blur-xl, .theme-light .backdrop-blur { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; } /* Sticky table headers */ .theme-light .bg-slate-900\/90, .theme-light .bg-slate-900\/80 { background-color: rgba(255, 255, 255, 0.97) !important; } /* Main background */ .theme-light .bg-gradient-to-br { background: #ffffff !important; } /* === Colored accent backgrounds — Onepager style (subtle gradients) === */ .theme-light .bg-indigo-500\/20 { background-color: #eef2ff !important; } .theme-light .bg-indigo-500\/15 { background-color: #eef2ff !important; } .theme-light .bg-indigo-500\/10 { background-color: #eef2ff !important; } .theme-light .bg-emerald-500\/20 { background-color: #ecfdf5 !important; } .theme-light .bg-emerald-500\/10 { background-color: #ecfdf5 !important; } .theme-light .bg-purple-500\/20 { background-color: #faf5ff !important; } .theme-light .bg-blue-500\/15 { background-color: #f0f9ff !important; } .theme-light .bg-amber-500\/10 { background-color: #fefce8 !important; } .theme-light .bg-red-500\/10 { background-color: #fef2f2 !important; } .theme-light .bg-cyan-500\/10 { background-color: #ecfeff !important; } .theme-light .bg-green-500\/10 { background-color: #f0fdf4 !important; } /* Borders — Onepager colors */ .theme-light .border-indigo-500\/30 { border-color: #c7d2fe !important; } .theme-light .border-indigo-500\/20 { border-color: #e0e7ff !important; } .theme-light .border-emerald-500\/30 { border-color: #a7f3d0 !important; } .theme-light .border-amber-500\/20 { border-color: #fde68a !important; } .theme-light .border-cyan-500 { border-color: #06b6d4 !important; } /* Colored text — stronger in light mode */ .theme-light .text-indigo-400, .theme-light .text-indigo-300 { color: #4f46e5 !important; } .theme-light .text-purple-400 { color: #7c3aed !important; } .theme-light .text-emerald-400, .theme-light .text-emerald-300 { color: #059669 !important; } .theme-light .text-cyan-400 { color: #0891b2 !important; } .theme-light .text-blue-400 { color: #2563eb !important; } .theme-light .text-amber-400, .theme-light .text-amber-300 { color: #d97706 !important; } .theme-light .text-red-400, .theme-light .text-red-400\/70 { color: #dc2626 !important; } .theme-light .text-pink-400 { color: #db2777 !important; } /* Table hover rows */ .theme-light .hover\:bg-white\/\[0\.02\]:hover, .theme-light .hover\:bg-white\/\[0\.04\]:hover { background-color: #f1f5f9 !important; } /* Gradient text — darker indigo in light mode */ .theme-light .bg-gradient-to-r.from-indigo-400, .theme-light .gradient-text { background: linear-gradient(135deg, #4f46e5, #7c3aed, #2563eb) !important; -webkit-background-clip: text !important; background-clip: text !important; } /* === Particles — completely hidden === */ .theme-light canvas { opacity: 0 !important; display: none !important; } /* === Navigation/Chat panels — white, solid === */ .theme-light .bg-black\/80, .theme-light .bg-black\/90 { background-color: #ffffff !important; border: 1px solid #e2e8f0 !important; } .theme-light .bg-black\/60 { background-color: rgba(0, 0, 0, 0.15) !important; } /* Sidebar hover states */ .theme-light .bg-white\/10 { background-color: #f1f5f9 !important; } .theme-light .bg-white\/5 { background-color: #f8fafc !important; } .theme-light .bg-white\/\[0\.1\] { background-color: #f1f5f9 !important; } .theme-light .hover\:bg-white\/20:hover { background-color: #e2e8f0 !important; } .theme-light .hover\:bg-white\/\[0\.06\]:hover { background-color: #f1f5f9 !important; } .theme-light .hover\:bg-white\/\[0\.1\]:hover { background-color: #f1f5f9 !important; } .theme-light .hover\:bg-white\/\[0\.15\]:hover { background-color: #e2e8f0 !important; } .theme-light .bg-white\/\[0\.15\] { background-color: #f1f5f9 !important; } /* Shadows — subtle like Onepager */ .theme-light .shadow-lg { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.06), 0 2px 4px -2px rgba(0,0,0,0.06) !important; } .theme-light .shadow-2xl { box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1) !important; } .theme-light .shadow-black\/50 { box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1) !important; } .theme-light .shadow-indigo-600\/30, .theme-light .shadow-indigo-500\/30 { box-shadow: 0 4px 14px -3px rgba(79, 70, 229, 0.15) !important; } /* Modal backdrops */ .theme-light .bg-slate-900\/95 { background-color: #ffffff !important; border: 1px solid #e2e8f0 !important; } /* Border-top colors for product cards */ .theme-light .border-t-indigo-500 { border-top-color: #4f46e5 !important; } .theme-light .border-t-cyan-500 { border-top-color: #06b6d4 !important; } /* KPI card glow dots — subtle in light mode */ .theme-light .blur-3xl { display: none; } /* Progress bar at top */ .theme-light .bg-indigo-600 { background-color: #4f46e5 !important; } /* Theme toggle button itself */ .theme-light .hover\:bg-indigo-500\/10:hover { background-color: #eef2ff !important; } * { margin: 0; padding: 0; box-sizing: border-box; } html, body { height: 100%; overflow: hidden; background: var(--bg-primary); color: var(--text-primary); font-family: 'Inter', system-ui, sans-serif; } ::selection { background: var(--selection-bg); color: var(--selection-color); } ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-hover); } @layer utilities { .glass { background: var(--glass-bg); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid var(--glass-border); } .glass-hover:hover { background: var(--glass-hover); } .gradient-text { background: linear-gradient(135deg, var(--accent-indigo), var(--accent-purple), var(--accent-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .text-shadow-glow { text-shadow: 0 0 40px rgba(99, 102, 241, 0.3); } } /* No glow in light mode */ .theme-light .text-shadow-glow { text-shadow: none; } /* Top gradient bar in light mode (like Onepager) */ .theme-light .bg-slate-950 { background-color: #ffffff; }