@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root, [data-color-theme='forest'] { --brand-50: #eefaf3; --brand-100: #d6f1e0; --brand-200: #b0e3c6; --brand-300: #7dcda4; --brand-400: #47b07e; --brand-500: #22935f; --brand-600: #16774c; --brand-700: #125f3f; --brand-800: #114c34; --brand-900: #0e3e2c; --surface-bg: #f8fafc; --surface-bg-dark: #020617; } [data-color-theme='ocean'] { --brand-50: #eff6ff; --brand-100: #dbeafe; --brand-200: #bfdbfe; --brand-300: #93c5fd; --brand-400: #60a5fa; --brand-500: #3b82f6; --brand-600: #2563eb; --brand-700: #1d4ed8; --brand-800: #1e40af; --brand-900: #1e3a8a; --surface-bg: #f0f9ff; --surface-bg-dark: #0c1222; } [data-color-theme='sunset'] { --brand-50: #fffbeb; --brand-100: #fef3c7; --brand-200: #fde68a; --brand-300: #fcd34d; --brand-400: #fbbf24; --brand-500: #f59e0b; --brand-600: #d97706; --brand-700: #b45309; --brand-800: #92400e; --brand-900: #78350f; --surface-bg: #fffbeb; --surface-bg-dark: #1c1410; } [data-color-theme='berry'] { --brand-50: #f5f3ff; --brand-100: #ede9fe; --brand-200: #ddd6fe; --brand-300: #c4b5fd; --brand-400: #a78bfa; --brand-500: #8b5cf6; --brand-600: #7c3aed; --brand-700: #6d28d9; --brand-800: #5b21b6; --brand-900: #4c1d95; --surface-bg: #faf5ff; --surface-bg-dark: #140f1f; } html { @apply antialiased; } body { background-color: var(--surface-bg); @apply text-slate-900 dark:text-slate-100; } .dark body { background-color: var(--surface-bg-dark); } :focus-visible { @apply outline-none ring-2 ring-brand-500 ring-offset-2 ring-offset-white dark:ring-offset-slate-950; } } @layer components { .card { @apply rounded-2xl border border-slate-200 bg-white shadow-sm transition dark:border-slate-800 dark:bg-slate-900; } .btn { @apply inline-flex items-center justify-center gap-2 rounded-xl px-4 py-2.5 text-sm font-semibold transition focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50; } .btn-primary { @apply btn bg-brand-600 text-white hover:bg-brand-700 active:bg-brand-800; } .btn-secondary { @apply btn border border-slate-300 bg-white text-slate-700 hover:bg-slate-100 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-700; } .input { @apply w-full rounded-xl border border-slate-300 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 focus:border-brand-500 focus:outline-none focus:ring-2 focus:ring-brand-300 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-100 dark:placeholder:text-slate-500 dark:focus:ring-brand-700; } .select { @apply input appearance-none bg-none pr-10; min-height: 2.75rem; height: 2.75rem; } .sr-only { @apply absolute -m-px h-px w-px overflow-hidden whitespace-nowrap border-0 p-0; clip: rect(0, 0, 0, 0); } } #pdf-render-area { position: fixed; left: -10000px; top: 0; width: 794px; background: #ffffff; color: #0f172a; z-index: -1; pointer-events: none; }