/* NÃO usar @tailwind base para evitar conflito com Django Unfold */

.tw-pointer-events-none {
  pointer-events: none
}

.tw-absolute {
  position: absolute
}

.tw-relative {
  position: relative
}

.tw-inset-0 {
  inset: 0px
}

.tw-right-4 {
  right: 1rem
}

.tw-top-1\/2 {
  top: 50%
}

.tw-z-10 {
  z-index: 10
}

.tw-mx-auto {
  margin-left: auto;
  margin-right: auto
}

.tw-mb-12 {
  margin-bottom: 3rem
}

.tw-mb-2 {
  margin-bottom: 0.5rem
}

.tw-mb-3 {
  margin-bottom: 0.75rem
}

.tw-mb-4 {
  margin-bottom: 1rem
}

.tw-mb-8 {
  margin-bottom: 2rem
}

.tw-ml-2 {
  margin-left: 0.5rem
}

.tw-mr-1 {
  margin-right: 0.25rem
}

.tw-mt-2 {
  margin-top: 0.5rem
}

.tw-mt-4 {
  margin-top: 1rem
}

.tw-inline-block {
  display: inline-block
}

.tw-flex {
  display: flex
}

.tw-inline-flex {
  display: inline-flex
}

.tw-hidden {
  display: none
}

.tw-h-12 {
  height: 3rem
}

.tw-h-16 {
  height: 4rem
}

.tw-h-6 {
  height: 1.5rem
}

.tw-h-8 {
  height: 2rem
}

.tw-w-12 {
  width: 3rem
}

.tw-w-16 {
  width: 4rem
}

.tw-w-6 {
  width: 1.5rem
}

.tw-w-8 {
  width: 2rem
}

.tw-w-full {
  width: 100%
}

.tw-max-w-2xl {
  max-width: 42rem
}

.tw-max-w-4xl {
  max-width: 56rem
}

.tw-max-w-none {
  max-width: none
}

.tw-flex-1 {
  flex: 1 1 0%
}

.tw-flex-shrink-0 {
  flex-shrink: 0
}

.tw--translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.tw-transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes tw-pulse {
  50% {
    opacity: .5
  }
}

.tw-animate-pulse {
  animation: tw-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
}

@keyframes tw-spin {
  to {
    transform: rotate(360deg)
  }
}

.tw-animate-spin {
  animation: tw-spin 1s linear infinite
}

.tw-flex-col {
  flex-direction: column
}

.tw-items-start {
  align-items: flex-start
}

.tw-items-center {
  align-items: center
}

.tw-justify-center {
  justify-content: center
}

.tw-justify-between {
  justify-content: space-between
}

.tw-gap-2 {
  gap: 0.5rem
}

.tw-gap-3 {
  gap: 0.75rem
}

.tw-gap-4 {
  gap: 1rem
}

.tw-space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.tw-rounded {
  border-radius: 0.25rem
}

.tw-rounded-2xl {
  border-radius: 1rem
}

.tw-rounded-full {
  border-radius: 9999px
}

.tw-rounded-lg {
  border-radius: 0.5rem
}

.tw-rounded-xl {
  border-radius: 0.75rem
}

.tw-border {
  border-width: 1px
}

.tw-border-b-2 {
  border-bottom-width: 2px
}

.tw-border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}

.tw-border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))
}

.tw-border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}

.tw-bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.tw-bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1))
}

.tw-bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}

.tw-bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.tw-bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}

.tw-bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.tw-from-blue-500 {
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.tw-from-blue-600 {
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.tw-from-purple-600 {
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.tw-from-yellow-400 {
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.tw-via-orange-500 {
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f97316 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.tw-via-pink-600 {
  --tw-gradient-to: rgb(219 39 119 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #db2777 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.tw-via-purple-600 {
  --tw-gradient-to: rgb(147 51 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.tw-to-cyan-400 {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position)
}

.tw-to-pink-600 {
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position)
}

.tw-to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position)
}

.tw-bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text
}

.tw-p-6 {
  padding: 1.5rem
}

.tw-px-12 {
  padding-left: 3rem;
  padding-right: 3rem
}

.tw-px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem
}

.tw-px-4 {
  padding-left: 1rem;
  padding-right: 1rem
}

.tw-px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem
}

.tw-py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem
}

.tw-py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem
}

.tw-py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem
}

.tw-py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem
}

.tw-py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem
}

.tw-py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem
}

.tw-pr-12 {
  padding-right: 3rem
}

.tw-text-center {
  text-align: center
}

.tw-text-2xl {
  font-size: 1.5rem;
  line-height: 2rem
}

.tw-text-5xl {
  font-size: 3rem;
  line-height: 1
}

.tw-text-base {
  font-size: 1rem;
  line-height: 1.5rem
}

.tw-text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem
}

.tw-text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem
}

.tw-text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem
}

.tw-text-xs {
  font-size: 0.75rem;
  line-height: 1rem
}

.tw-font-black {
  font-weight: 900
}

.tw-font-bold {
  font-weight: 700
}

.tw-font-medium {
  font-weight: 500
}

.tw-font-semibold {
  font-weight: 600
}

.tw-text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.tw-text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.tw-text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.tw-text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}

.tw-text-transparent {
  color: transparent
}

.tw-text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.tw-opacity-0 {
  opacity: 0
}

.tw-shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.tw-shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.tw-shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.tw-blur-xl {
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.tw-transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.tw-transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.tw-transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.tw-transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.tw-duration-200 {
  transition-duration: 200ms
}

.tw-duration-300 {
  transition-duration: 300ms
}

.tw-duration-500 {
  transition-duration: 500ms
}

/* Custom styles for the project */

.hover\:tw--translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:tw--translate-y-2:hover {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:tw-rotate-1:hover {
  --tw-rotate: 1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:tw-scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:tw-animate-none:hover {
  animation: none
}

.hover\:tw-border-blue-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1))
}

.hover\:tw-bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:tw-bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1))
}

.hover\:tw-bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1))
}

.hover\:tw-shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:tw-shadow-pink-500\/50:hover {
  --tw-shadow-color: rgb(236 72 153 / 0.5);
  --tw-shadow: var(--tw-shadow-colored)
}

.focus\:tw-border-transparent:focus {
  border-color: transparent
}

.focus\:tw-outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px
}

.focus\:tw-ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:tw-ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:tw-ring-green-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))
}

.focus\:tw-ring-pink-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1))
}

.tw-group:hover .group-hover\:tw-rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.tw-group:hover .group-hover\:tw-opacity-100 {
  opacity: 1
}

.dark\:tw-border-gray-700:is(.tw-dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1))
}

.dark\:tw-bg-gray-800:is(.tw-dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.dark\:tw-text-gray-100:is(.tw-dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1))
}

.dark\:tw-text-gray-300:is(.tw-dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.dark\:tw-text-gray-400:is(.tw-dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.dark\:tw-text-gray-500:is(.tw-dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.dark\:hover\:tw-border-blue-600:hover:is(.tw-dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}
