@tailwind base; @tailwind components; @tailwind utilities; @layer components { .btn { @apply px-4 py-2 rounded-lg font-medium transition-colors duration-200; } .btn-primary { @apply bg-primary-600 text-white hover:bg-primary-700; } .btn-secondary { @apply bg-gray-200 text-gray-800 hover:bg-gray-300; } .btn-outline { @apply border-2 border-primary-600 text-primary-600 hover:bg-primary-600 hover:text-white; } .btn-accent { @apply bg-accent-500 text-white hover:bg-accent-600; } .btn-accent-outline { @apply border-2 border-accent-500 text-accent-500 hover:bg-accent-500 hover:text-white; } .card { @apply bg-white rounded-xl shadow-md p-6; } .input { @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent outline-none transition-all; } .label { @apply block text-sm font-medium text-gray-700 mb-1; } .nav-link { @apply text-gray-600 hover:text-primary-600 font-medium transition-colors; } .nav-link-active { @apply text-primary-600 font-semibold; } } /* HTMX loading indicator */ .htmx-indicator { opacity: 0; transition: opacity 200ms ease-in; } .htmx-request .htmx-indicator { opacity: 1; } .htmx-request.htmx-indicator { opacity: 1; }