@tailwind base; @tailwind components; @tailwind utilities; @layer base { html { -webkit-text-size-adjust: 100%; } body { @apply bg-slate-50 text-slate-900 antialiased dark:bg-slate-950 dark:text-slate-100; } :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 p-6 shadow-sm dark:border-slate-800 dark:bg-slate-900; } .btn { @apply inline-flex items-center justify-center gap-2 rounded-lg px-4 py-2 text-sm font-semibold transition disabled:cursor-not-allowed disabled:opacity-60; } .btn-primary { @apply btn bg-brand-600 text-white hover:bg-brand-700; } .btn-secondary { @apply btn border border-slate-300 bg-white text-slate-700 hover:bg-slate-100 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-200 dark:hover:bg-slate-800; } .btn-danger { @apply btn bg-red-600 text-white hover:bg-red-700; } .label { @apply mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300; } .input { @apply w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder:text-slate-400 focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-500 dark:border-slate-700 dark:bg-slate-950 dark:text-slate-100 dark:placeholder:text-slate-500; } .badge { @apply inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium; } .table-wrap { @apply overflow-x-auto rounded-xl border border-slate-200 dark:border-slate-800; } .table { @apply min-w-full divide-y divide-slate-200 text-left text-sm dark:divide-slate-800; } .table thead { @apply bg-slate-100 text-xs uppercase tracking-wide text-slate-600 dark:bg-slate-800/60 dark:text-slate-400; } .table th { @apply px-4 py-3 font-semibold; } .table td { @apply px-4 py-3 text-slate-700 dark:text-slate-300; } .table tbody tr { @apply border-b border-slate-100 last:border-0 dark:border-slate-800/60; } }