/**
 * Failed to minify the file using clean-css v5.3.3. Serving the original version.
 * Original file: /npm/next-js-eva-core@3.22.0/src/components/ui/button/button.module.css
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/* Base */
.button {
  @apply inline-flex items-center justify-center text-sm font-medium transition-colors rounded-primary ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300;
}
/* Variants */
.default {
  @apply text-white border border-primary-500 bg-primary-500 hover:border-primary-400 hover:bg-primary-400 focus:ring focus:ring-primary-100;
}
.destructive {
  @apply bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90;
}
.outline {
  @apply bg-white border border-gray-200 hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50;
}
.outline-primary {
  @apply border border-primary-200 text-primary-500 bg-white hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50;
}
.secondary {
  @apply text-gray-900 bg-gray-100 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80;
}
.ghost {
  @apply hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50;
}
.link {
  @apply text-primary-500 underline-offset-4 dark:text-gray-50;
}
.primary {
  @apply text-white bg-primary-500 hover:bg-primary-400;
}
.outline-primary {
  @apply border border-primary-500 bg-white text-primary-500 hover:border-primary-300 hover:text-primary-300 focus:ring focus:ring-primary-100;
}
.primary-text {
  @apply text-primary-500 hover:text-primary-400;
}
.success {
  @apply text-white border border-success-500 bg-success-500 hover:border-success-400 hover:bg-success-400 focus:ring focus:ring-success-100;
}
.outline-success {
  @apply border border-success-600 bg-white text-success-500 hover:border-success-300 hover:text-success-300 focus:ring focus:ring-success-100;
}
.error {
  @apply text-white bg-red-600 border border-error-600 hover:border-red-500 hover:bg-red-500 focus:ring focus:ring-red-100;
}
.outline-error {
  @apply border border-error-600 bg-white text-error-500 hover:border-error-300 hover:text-error-300 focus:ring focus:ring-error-100;
}
.disable {
  @apply text-gray-400 bg-gray-200 border border-gray-200;
}
/* Sizes */
.md {
  @apply h-[40px] rounded-primary px-[16px] py-[10px] text-sm;
}
.sm {
  @apply h-[36px] rounded-primary px-[14px] py-[8px] text-sm;
}
.lg {
  @apply h-[44px] rounded-primary px-[18px] py-[10px] text-[16px];
}
.xl {
  @apply h-[48px] rounded-primary px-[20px] py-[12px] text-[16px];
}
.2xl {
  @apply h-[60px] rounded-primary px-[28px] py-[16px] text-[18px];
}
/* Icon */
.icon {
  @apply w-10 h-10;
}
.left-icon {
  @apply flex items-center gap-2;
}
.right-icon {
  @apply flex items-center gap-2;
}

.loading-icon {
  @apply pointer-events-none;
}
.loading-icon-animate {
  @apply animate-spin;
}
