@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"); @tailwind base; @tailwind components; @tailwind utilities; * { scroll-behavior: smooth; } body { @apply bg-slate-50 text-slate-900 font-sans; } .container-page { @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8; } .btn-primary { @apply inline-flex items-center justify-center gap-2 rounded-xl bg-brand-600 px-5 py-3 text-sm font-semibold text-white transition hover:bg-brand-700; } .btn-secondary { @apply inline-flex items-center justify-center gap-2 rounded-xl border border-slate-200 bg-white px-5 py-3 text-sm font-semibold text-slate-800 transition hover:bg-slate-100; } .card { @apply rounded-2xl border border-slate-200 bg-white shadow-sm; } .input { @apply w-full rounded-xl border border-slate-200 bg-white px-4 py-3 text-sm outline-none transition focus:border-brand-500 focus:ring-4 focus:ring-brand-100; } .label { @apply text-sm font-semibold text-slate-700; } .btn-WA { @apply inline-flex items-center justify-center gap-2 rounded-xl bg-green-500 px-5 py-3 text-sm font-semibold text-white transition hover:bg-green-600; } /* SecondTech dark mode */ html.dark body { background: #121212; color: #f8fafc; } html.dark header { background: rgba(18, 18, 18, 0.94); border-color: rgba(37, 99, 235, 0.34); } html.dark main, html.dark section { background: #121212; } html.dark .card { background: #181818; border-color: rgba(37, 99, 235, 0.30); box-shadow: 0 14px 34px rgba(37, 99, 235, 0.20); } html.dark .input { background: #181818; border-color: rgba(37, 99, 235, 0.34); color: #f8fafc; } html.dark .input::placeholder { color: #94a3b8; } html.dark .btn-secondary { background: #181818; border-color: rgba(37, 99, 235, 0.38); color: #f8fafc; box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12); } html.dark .btn-primary { box-shadow: 0 12px 28px rgba(37, 99, 235, 0.24); } html.dark .bg-white, html.dark .bg-slate-50, html.dark .bg-slate-100 { background-color: #181818; } html.dark .text-slate-950, html.dark .text-slate-900, html.dark .text-slate-800, html.dark .text-slate-700 { color: #f8fafc; } html.dark .text-slate-600, html.dark .text-slate-500 { color: #cbd5e1; } html.dark .border-slate-200 { border-color: rgba(37, 99, 235, 0.30); } /* SecondTech stronger dark mode repair */ html.dark, html.dark body { background: #121212 !important; color: #f8fafc !important; } html.dark header, html.dark footer, html.dark main, html.dark section { background-color: #121212 !important; } html.dark header { border-color: rgba(37, 99, 235, 0.35) !important; } html.dark .card { background: #181818 !important; border-color: rgba(37, 99, 235, 0.34) !important; box-shadow: 0 14px 34px rgba(37, 99, 235, 0.22) !important; } html.dark .input, html.dark input, html.dark select, html.dark textarea { background-color: #181818 !important; border-color: rgba(37, 99, 235, 0.38) !important; color: #f8fafc !important; } html.dark .input::placeholder, html.dark input::placeholder, html.dark textarea::placeholder { color: #94a3b8 !important; } html.dark .btn-secondary { background: #181818 !important; border-color: rgba(37, 99, 235, 0.42) !important; color: #f8fafc !important; box-shadow: 0 10px 24px rgba(37, 99, 235, 0.14) !important; } html.dark .btn-primary { box-shadow: 0 12px 28px rgba(37, 99, 235, 0.26) !important; } html.dark .bg-white, html.dark .bg-slate-50, html.dark .bg-slate-100, html.dark .bg-brand-50 { background-color: #181818 !important; } html.dark .text-slate-950, html.dark .text-slate-900, html.dark .text-slate-800, html.dark .text-slate-700, html.dark .text-brand-900, html.dark .text-brand-800, html.dark .text-brand-700 { color: #f8fafc !important; } html.dark .text-slate-600, html.dark .text-slate-500, html.dark .text-slate-400 { color: #cbd5e1 !important; } html.dark .nav-link, html.dark .mobile-link, html.dark a:not(.btn-primary) { color: #dbeafe !important; } html.dark .nav-link:hover, html.dark .mobile-link:hover, html.dark a:not(.btn-primary):hover { color: #ffffff !important; } html.dark .border-slate-200, html.dark .border-brand-600 { border-color: rgba(37, 99, 235, 0.42) !important; } html.dark .shadow-sm { box-shadow: 0 14px 34px rgba(37, 99, 235, 0.18) !important; } /* SecondTech final dark mode repair */ html.dark, html.dark body { background: #121212 !important; color: #f8fafc !important; } html.dark header, html.dark footer, html.dark main, html.dark section { background-color: #121212 !important; } html.dark header { border-color: rgba(37, 99, 235, 0.35) !important; } html.dark .card { background: #181818 !important; border-color: rgba(37, 99, 235, 0.34) !important; box-shadow: 0 14px 34px rgba(37, 99, 235, 0.22) !important; } html.dark .input, html.dark input, html.dark select, html.dark textarea { background-color: #181818 !important; border-color: rgba(37, 99, 235, 0.38) !important; color: #f8fafc !important; } html.dark .input::placeholder, html.dark input::placeholder, html.dark textarea::placeholder { color: #94a3b8 !important; } html.dark .btn-secondary { background: #181818 !important; border-color: rgba(37, 99, 235, 0.42) !important; color: #f8fafc !important; box-shadow: 0 10px 24px rgba(37, 99, 235, 0.14) !important; } html.dark .btn-primary { box-shadow: 0 12px 28px rgba(37, 99, 235, 0.26) !important; } html.dark .bg-white, html.dark .bg-slate-50, html.dark .bg-slate-100, html.dark .bg-brand-50, html.dark .bg-emerald-50, html.dark .bg-red-50 { background-color: #181818 !important; } html.dark .text-zinc-950, html.dark .text-zinc-900, html.dark .text-zinc-800, html.dark .text-slate-950, html.dark .text-slate-900, html.dark .text-slate-800, html.dark .text-slate-700, html.dark .text-brand-900, html.dark .text-brand-800, html.dark .text-brand-700, html.dark .text-emerald-700, html.dark .text-red-700 { color: #f8fafc !important; } html.dark .text-slate-600, html.dark .text-slate-500, html.dark .text-slate-400, html.dark .text-zinc-600, html.dark .text-zinc-500, html.dark .text-zinc-400 { color: #cbd5e1 !important; } html.dark .nav-link, html.dark .mobile-link, html.dark a:not(.btn-primary) { color: #dbeafe !important; } html.dark .nav-link:hover, html.dark .mobile-link:hover, html.dark a:not(.btn-primary):hover { color: #ffffff !important; } html.dark .border-slate-200, html.dark .border-brand-600 { border-color: rgba(37, 99, 235, 0.42) !important; } html.dark .shadow-sm { box-shadow: 0 14px 34px rgba(37, 99, 235, 0.18) !important; } /* SecondTech final dark mode override */ :root { --hero-title-color: #0f1729; } html.dark { --hero-title-color: #f8fafc; color-scheme: dark; } html.dark, html.dark body { background: #121212 !important; color: #f8fafc !important; } html.dark header, html.dark footer, html.dark main, html.dark section { background-color: #121212 !important; } html.dark header { border-color: rgba(37, 99, 235, 0.36) !important; } html.dark .card { background: #181818 !important; border-color: rgba(37, 99, 235, 0.34) !important; box-shadow: 0 14px 34px rgba(37, 99, 235, 0.22) !important; } html.dark .input, html.dark input, html.dark select, html.dark textarea { background-color: #181818 !important; border-color: rgba(37, 99, 235, 0.38) !important; color: #f8fafc !important; } html.dark .input::placeholder, html.dark input::placeholder, html.dark textarea::placeholder { color: #94a3b8 !important; } html.dark .btn-secondary { background: #181818 !important; border-color: rgba(37, 99, 235, 0.42) !important; color: #f8fafc !important; box-shadow: 0 10px 24px rgba(37, 99, 235, 0.14) !important; } html.dark .btn-primary { box-shadow: 0 12px 28px rgba(37, 99, 235, 0.26) !important; } html.dark .bg-white, html.dark .bg-slate-50, html.dark .bg-slate-100, html.dark .bg-brand-50, html.dark .bg-emerald-50, html.dark .bg-red-50 { background-color: #181818 !important; } html.dark .bg-white\/90 { background-color: rgba(24, 24, 24, 0.9) !important; color: #f8fafc !important; border: 1px solid rgba(37, 99, 235, 0.35) !important; } html.dark .text-zinc-950, html.dark .text-zinc-900, html.dark .text-zinc-800, html.dark .text-slate-950, html.dark .text-slate-900, html.dark .text-slate-800, html.dark .text-slate-700, html.dark .text-brand-950, html.dark .text-brand-900, html.dark .text-brand-800, html.dark .text-brand-700, html.dark .text-emerald-700, html.dark .text-red-700 { color: #f8fafc !important; } html.dark .text-slate-600, html.dark .text-slate-500, html.dark .text-slate-400, html.dark .text-zinc-600, html.dark .text-zinc-500, html.dark .text-zinc-400 { color: #cbd5e1 !important; } html.dark .label, html.dark label, html.dark h1, html.dark h2, html.dark h3, html.dark h4, html.dark p, html.dark span { color: inherit; } html.dark .nav-link, html.dark .mobile-link, html.dark a:not(.btn-primary) { color: #dbeafe !important; } html.dark .nav-link:hover, html.dark .mobile-link:hover, html.dark a:not(.btn-primary):hover { color: #ffffff !important; } html.dark .border-slate-200, html.dark .border-brand-600 { border-color: rgba(37, 99, 235, 0.42) !important; } html.dark .shadow-sm { box-shadow: 0 14px 34px rgba(37, 99, 235, 0.18) !important; } /* Sidebar active links are generated by scoped component CSS, so override directly. */ html.dark .side-link { color: #e2e8f0 !important; } html.dark .side-link.router-link-active { background: rgba(37, 99, 235, 0.18) !important; border: 1px solid rgba(37, 99, 235, 0.40) !important; color: #ffffff !important; box-shadow: 0 12px 28px rgba(37, 99, 235, 0.16) !important; } html.dark .side-link.router-link-active svg, html.dark .side-link svg { color: currentColor !important; } html.dark .side-link.admin-link, html.dark .side-link.admin-link.router-link-active { background: rgba(37, 99, 235, 0.18) !important; border: 1px solid rgba(37, 99, 235, 0.40) !important; color: #ffffff !important; } /* Product cards: category badge and save button use bg-white/90. */ html.dark button.bg-white\/90, html.dark span.bg-white\/90 { background-color: rgba(24, 24, 24, 0.90) !important; color: #f8fafc !important; border: 1px solid rgba(37, 99, 235, 0.35) !important; } html.dark button.bg-white\/90:hover { background-color: #2563eb !important; color: #ffffff !important; } html.dark .rounded-full.bg-brand-50, html.dark .rounded-full.bg-emerald-50, html.dark .rounded-full.bg-red-50 { background-color: rgba(37, 99, 235, 0.16) !important; color: #f8fafc !important; border: 1px solid rgba(37, 99, 235, 0.35) !important; } /* Dark mode sidebar hover fix */ html.dark .side-link:hover { background: rgba(37, 99, 235, 0.16) !important; border-color: rgba(37, 99, 235, 0.38) !important; color: #ffffff !important; } html.dark .side-link:hover svg { color: #ffffff !important; } html.dark .side-link.router-link-active, html.dark .side-link.router-link-active:hover { background: rgba(37, 99, 235, 0.22) !important; border: 1px solid rgba(37, 99, 235, 0.45) !important; color: #ffffff !important; box-shadow: 0 12px 28px rgba(37, 99, 235, 0.16) !important; }