@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');

@tailwind base;
@tailwind components;
@tailwind utilities;

/* === 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; }
