@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom component classes */
@layer components {
  /* Button styles */
  .btn {
    @apply inline-flex items-center justify-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors duration-200;
  }

  .btn-primary {
    @apply btn bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500;
  }

  .btn-secondary {
    @apply btn bg-white text-gray-700 border-gray-300 hover:bg-gray-50 focus:ring-primary-500 dark:bg-gray-800 dark:text-gray-200 dark:border-gray-600 dark:hover:bg-gray-700;
  }

  .btn-danger {
    @apply btn bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;
  }

  /* Form input styles */
  .form-input {
    @apply block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-800 dark:border-gray-600 dark:text-white;
  }

  .form-label {
    @apply block text-sm font-medium text-gray-700 dark:text-gray-200;
  }

  /* Card styles */
  .card {
    @apply bg-white dark:bg-gray-800 shadow rounded-lg;
  }

  .card-header {
    @apply px-4 py-5 border-b border-gray-200 dark:border-gray-700 sm:px-6;
  }

  .card-body {
    @apply px-4 py-5 sm:p-6;
  }
}

/* Custom utility classes */
@layer utilities {
  /* Animation utilities */
  .animate-fade-in {
    animation: fadeIn 0.3s ease-in-out;
  }

  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  /* Theme transition utility */
  .theme-transition {
    @apply transition-colors duration-200;
  }

  /* Dark mode focus ring offset fix */
  .dark .focus\:ring-offset-white:focus {
    --tw-ring-offset-color: theme('colors.gray.800');
  }
}

/* Dark mode color scheme for form elements */
@layer base {
  /* Ensure proper color scheme for form inputs in dark mode */
  .dark {
    color-scheme: dark;
  }

  /* Smooth theme transitions (optional - can be enabled for smoother switching) */
  html.theme-transition,
  html.theme-transition *,
  html.theme-transition *::before,
  html.theme-transition *::after {
    transition: background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out !important;
    transition-delay: 0s !important;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
