@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;
}
