*,
::before,
::after {
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
}

/* BORDER WIDTH */
.border-0 {
    border-width: 0 !important;
}
.\*\:border-0 > * {
    border-width: 0 !important;
}
.\*\*\:border-0 * {
    border-width: 0 !important;
}
.border-1 {
    border-width: 1px !important;
}
.border-2 {
    border-width: 2px !important;
}
.border-t {
    border-top-width: 1px;
}

/* BORDER STYLE */
.border-solid {
    border-width: 1px;
    border-style: solid;
}
.border-solid\!important {
    border-width: 1px !important;
    border-style: solid !important;
}

/* BORDER COLOR */
.border-gray-200 {
    border-color: #e5e7eb !important;
}
.border-gray-300 {
    border-color: #d1d5db !important;
}
.border-gray-700 {
    border-color: #374151;
}

.border-orange-400 {
    border-color: #ff8903 !important;
}
.border-orange-500 {
    border-color: #ff6900 !important;
}

.border-yellow-400 {
    border-color: #facc15 !important;
}
.border-yellow-600 {
    border-color: #ca8a04 !important;
}

/* BORDER RADIUS */
.rounded-xs {
    border-radius: 2px !important;
}
.\*\:rounded-xs > * {
    border-radius: 2px !important;
}
.\*\*\:rounded-xs * {
    border-radius: 2px !important;
}
.rounded-sm {
    border-radius: 4px !important;
}
.\*\:rounded-sm > * {
    border-radius: 4px !important;
}
.\*\*\:rounded-sm * {
    border-radius: 4px !important;
}
.rounded-md {
    border-radius: 6px !important;
}
.\*\:rounded-md > * {
    border-radius: 6px !important;
}
.\*\*\:rounded-md * {
    border-radius: 6px !important;
}
.rounded-lg {
    border-radius: 8px !important;
}
.\*\:rounded-lg > * {
    border-radius: 8px !important;
}
.\*\*\:rounded-lg * {
    border-radius: 8px !important;
}
.rounded-xl {
    border-radius: 12px !important;
}
.\*\:rounded-xl > * {
    border-radius: 12px !important;
}
.\*\*\:rounded-xl * {
    border-radius: 12px !important;
}
.rounded-full {
    border-radius: calc(infinity * 1px);
}

/* FONT SIZE */
.text-xss {
    font-size: 10px !important;
}
.\*\:text-xss > * {
    font-size: 10px !important;
}
.\*\*\:text-xss * {
    font-size: 10px !important;
}
.text-xs {
    font-size: 12px !important;
}
.\*\:text-xs > * {
    font-size: 12px !important;
}
.\*\*\:text-xs * {
    font-size: 12px !important;
}
.text-sm {
    font-size: 14px !important;
}
.\*\:text-sm > * {
    font-size: 14px !important;
}
.\*\*\:text-sm * {
    font-size: 14px !important;
}
.text-md {
    font-size: 16px !important;
}
.\*\:text-md > * {
    font-size: 16px !important;
}
.\*\*\:text-md * {
    font-size: 16px !important;
}
.text-lg {
    font-size: 18px !important;
}
.\*\:text-lg > * {
    font-size: 18px !important;
}
.\*\*\:text-lg * {
    font-size: 18px !important;
}
.text-xl {
    font-size: 20px !important;
}
.\*\:text-xl > * {
    font-size: 20px !important;
}
.\*\*\:text-xl * {
    font-size: 20px !important;
}
.text-2xl {
    font-size: 24px !important;
}
.\*\:text-2xl > * {
    font-size: 24px !important;
}
.\*\*\:text-2xl * {
    font-size: 24px !important;
}
.text-3xl {
    font-size: 30px !important;
}
.\*\:text-3xl > * {
    font-size: 30px !important;
}
.\*\*\:text-3xl * {
    font-size: 30px !important;
}

/* FONT WRAP */
.text-nowrap {
    white-space: nowrap !important;
}
.\*\:text-nowrap > * {
    white-space: nowrap !important;
}
.\*\*\:text-nowrap * {
    white-space: nowrap !important;
}
.text-wrap {
    white-space: normal !important;
}
.\*\:text-wrap > * {
    white-space: normal !important;
}
.\*\*\:text-wrap * {
    white-space: normal !important;
}
.text-wrap-reverse {
    white-space: nowrap !important;
}
.\*\:text-wrap-reverse > * {
    white-space: nowrap !important;
}
.\*\*\:text-wrap-reverse * {
    white-space: nowrap !important;
}

/* FONT WEIGHT */
.font-normal {
    font-weight: 400 !important;
}
.\*\:font-normal > * {
    font-weight: 400 !important;
}
.\*\*\:font-normal * {
    font-weight: 400 !important;
}
.font-medium {
    font-weight: 500 !important;
}
.\*\:font-medium > * {
    font-weight: 500 !important;
}
.\*\*\:font-medium * {
    font-weight: 500 !important;
}
.font-semibold {
    font-weight: 600 !important;
}
.\*\:font-semibold > * {
    font-weight: 600 !important;
}
.\*\*\:font-semibold * {
    font-weight: 600 !important;
}
.font-bold {
    font-weight: 700 !important;
}
.\*\:font-bold > * {
    font-weight: 700 !important;
}
.\*\*\:font-bold * {
    font-weight: 700 !important;
}

/* JUSTIFY ITEMS */
.justify-items-start {
    justify-items: flex-start;
}
.justify-items-center {
    justify-items: center;
}
.justify-items-end {
    justify-items: flex-end;
}
.justify-items-between {
    justify-items: space-between;
}
.justify-items-around {
    justify-items: space-around;
}

/* JUSTIFY CONTENT */
.justify-start {
    justify-content: flex-start;
}
.justify-center {
    justify-content: center;
}
.justify-end {
    justify-content: flex-end;
}
.justify-between {
    justify-content: space-between;
}
.justify-around {
    justify-content: space-around;
}

/* ALIGN ITEMS */
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.items-end {
    align-items: flex-end;
}
.items-baseline {
    align-items: baseline;
}
.items-stretch {
    align-items: stretch;
}

/* DISPLAY */
.flex {
    display: flex;
}
.block {
    display: block;
}
.hidden {
    display: none;
}

/* FLEX */
.flex-1 {
    flex: 1;
}

/* SIZE FULL */
.h-full {height: 100%;}
.h-1 { height: 4px; }
.h-2 { height: 8px; }
.h-5 { height: 20px; }
.h-\[30px\] { height: 30px; }
.w-full {width: 100%;}
.\*\:w-full > * { width: 100%; }
.\*\*\:w-full * { width: 100% !important; }
.w-2 { width: 8px; }
.w-5 { width: 20px; }

/* MAX WIDTH */
.max-w-2xl {
    max-width: 672px;
}
.max-w-3xl {
    max-width: 768px;
}

/* MIN HEIGHT */
.min-h-screen {
    min-height: 100vh;
}

/* FLEX WRAP */
.flex-nowrap {
    flex-wrap: nowrap;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

/* FLEX DIRECTION */
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-col-reverse {
    flex-direction: column-reverse;
}

/* FLEX ALIGN UTILS  */
.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* BOX SHADOW */
.shadow-sm {
    box-shadow:
        0 1px 3px 0 rgb(0 0 0 / 0.1),
        0 1px 2px -1px rgb(0 0 0 / 0.1);
}
.shadow-md {
    box-shadow:
        0 4px 6px -1px rgb(0 0 0 / 0.1),
        0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.shadow-lg {
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* GAP */
.gap-1 {
    gap: 4px !important;
}
.gap-2 {
    gap: 8px !important;
}
.gap-3 {
    gap: 12px !important;
}
.gap-4 {
    gap: 16px !important;
}
.gap-5 {
    gap: 20px !important;
}

/* SPACE */
.space-y-4 > * + * {
    margin-top: 16px;
}
.space-y-6 > * + * {
    margin-top: 24px;
}

/* GRID */
.grid {
    display: grid;
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ROTATE */
.rotate-0 {
    transform: rotate(0deg);
}
.rotate-90 {
    transform: rotate(90deg);
}
.rotate-180 {
    transform: rotate(180deg);
}

/* BREAKPOINTS PARA TABLET */
@media (min-width: 768px) {
    .md\:rotate-0 {
        transform: rotate(0deg);
    }
    .md\:rotate-90 {
        transform: rotate(90deg);
    }
    .md\:rotate-180 {
        transform: rotate(180deg);
    }

    .md\:flex-col {
        flex-direction: column;
    }
    .md\:flex-row {
        flex-direction: row;
    }

    .md\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:px-0 {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .max-md\:flex-col {
        flex-direction: column;
    }
    .max-md\:flex-row {
        flex-direction: row;
    }

    .max-md\:px-4 {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* BREAKPOINTS PARA DESKTOP */
@media (min-width: 1024px) {
    .lg\:rotate-0 {
        transform: rotate(0deg);
    }
    .lg\:rotate-90 {
        transform: rotate(90deg);
    }
    .lg\:rotate-180 {
        transform: rotate(180deg);
    }

    .lg\:flex-col {
        flex-direction: column;
    }
    .lg\:flex-row {
        flex-direction: row;
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (width < 1280px) {
    .max-xl\:flex-col {
        flex-direction: column;
    }
    .max-xl\:flex-row {
        flex-direction: row;
    }
    .max-xl\:ml-auto {
        margin-left: auto;
    }

    .max-xl\:gap-2 {
        gap: 8px;
    }
}

/* MARGINS */
.m-auto {
    margin: auto;
}
.m-0 {
    margin: 0;
}
.m-0\!important {
    margin: 0 !important;
}
.m-1 {
    margin: 4px;
}
.m-1\!important {
    margin: 4px !important;
}
.m-2 {
    margin: 8px;
}
.m-2\!important {
    margin: 8px !important;
}
.m-3 {
    margin: 12px;
}
.m-3\!important {
    margin: 12px !important;
}
.m-4 {
    margin: 16px;
}
.m-4\!important {
    margin: 16px !important;
}
.m-5 {
    margin: 20px;
}
.m-5\!important {
    margin: 20px !important;
}

.mt-auto {
    margin-top: auto;
}
.mt-auto\!important {
    margin-top: auto !important;
}
.mt-0 {
    margin-top: 0;
}
.mt-0\!important {
    margin-top: 0 !important;
}
.mt-1 {
    margin-top: 4px;
}
.mt-1\!important {
    margin-top: 4px !important;
}
.mt-2 {
    margin-top: 8px;
}
.mt-2\!important {
    margin-top: 8px !important;
}
.mt-3 {
    margin-top: 12px;
}
.mt-3\!important {
    margin-top: 12px !important;
}
.mt-4 {
    margin-top: 16px;
}
.mt-4\!important {
    margin-top: 16px !important;
}
.mt-5 {
    margin-top: 20px;
}
.mt-5\!important {
    margin-top: 20px !important;
}
.mt-6 {
    margin-top: 24px;
}
.mt-6\!important {
    margin-top: 24px !important;
}

.mb-0 {
    margin-bottom: 0;
}
.mb-0\!important {
    margin-bottom: 0 !important;
}
.mb-1 {
    margin-bottom: 4px;
}
.mb-1\!important {
    margin-bottom: 4px !important;
}
.mb-2 {
    margin-bottom: 8px;
}
.mb-2\!important {
    margin-bottom: 8px !important;
}
.mb-3 {
    margin-bottom: 12px;
}
.mb-3\!important {
    margin-bottom: 12px !important;
}
.mb-4 {
    margin-bottom: 16px;
}
.mb-4\!important {
    margin-bottom: 16px !important;
}
.mb-5 {
    margin-bottom: 20px;
}
.mb-5\!important {
    margin-bottom: 20px !important;
}
.mb-12 {
    margin-bottom: 48px;
}
.mb-12\!important {
    margin-bottom: 48px !important;
}
.mb-16 {
    margin-bottom: 64px;
}
.mb-16\!important {
    margin-bottom: 64px !important;
}

.ml-auto {
    margin-left: auto;
}
.ml-auto\!important {
    margin-left: auto !important;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.mx-auto\!important {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* PADDINGS */
.p-0 {
    padding: 0;
}
.p-0\!important {
    padding: 0 !important;
}
.p-1 {
    padding: 4px;
}
.p-1\!important {
    padding: 4px !important;
}
.p-2 {
    padding: 8px;
}
.p-2\!important {
    padding: 8px !important;
}
.p-3 {
    padding: 12px;
}
.p-3\!important {
    padding: 12px !important;
}
.p-4 {
    padding: 16px;
}
.p-4\!important {
    padding: 16px !important;
}
.p-5 {
    padding: 20px;
}
.p-5\!important {
    padding: 20px !important;
}
.p-6 {
    padding: 24px;
}
.p-6\!important {
    padding: 24px !important;
}
.p-8 {
    padding: 32px;
}
.p-8\!important {
    padding: 32px !important;
}

.pt-0 {
    padding-top: 0;
}
.pt-0\!important {
    padding-top: 0 !important;
}
.pt-1 {
    padding-top: 4px;
}
.pt-1\!important {
    padding-top: 4px !important;
}
.\*\:pt-1 > * {
    padding-top: 4px !important;
}
.\*\*\:pt-1 * {
    padding-top: 4px !important;
}
.pt-2 {
    padding-top: 8px;
}
.pt-2\!important {
    padding-top: 8px !important;
}
.pt-3 {
    padding-top: 12px;
}
.pt-3\!important {
    padding-top: 12px !important;
}
.pt-4 {
    padding-top: 16px;
}
.pt-4\!important {
    padding-top: 16px !important;
}
.pt-5 {
    padding-top: 20px;
}
.pt-5\!important {
    padding-top: 20px !important;
}

.pb-0 {
    padding-bottom: 0;
}
.pb-0\!important {
    padding-bottom: 0 !important;
}
.pb-1 {
    padding-bottom: 4px;
}
.pb-1\!important {
    padding-bottom: 4px !important;
}
.pb-2 {
    padding-bottom: 8px;
}
.pb-2\!important {
    padding-bottom: 8px !important;
}
.pb-3 {
    padding-bottom: 12px;
}
.pb-3\!important {
    padding-bottom: 12px !important;
}
.pb-4 {
    padding-bottom: 16px;
}
.pb-4\!important {
    padding-bottom: 16px !important;
}
.pb-5 {
    padding-bottom: 20px;
}
.pb-5\!important {
    padding-bottom: 20px !important;
}

.px-0 {
    padding-left: 0;
    padding-right: 0;
}
.px-0\!important {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.px-\[2px\] {
    padding-left: 2px;
    padding-right: 2px;
}
.px-\[2px\]\!important {
    padding-left: 2px !important;
    padding-right: 2px !important;
}
.px-1 {
    padding-left: 4px;
    padding-right: 4px;
}
.px-1\!important {
    padding-left: 4px !important;
    padding-right: 4px !important;
}
.px-2 {
    padding-left: 8px;
    padding-right: 8px;
}
.px-2\!important {
    padding-left: 8px !important;
    padding-right: 8px !important;
}
.px-3 {
    padding-left: 12px;
    padding-right: 12px;
}
.px-3\!important {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
.px-4 {
    padding-left: 16px;
    padding-right: 16px;
}
.px-4\!important {
    padding-left: 16px !important;
    padding-right: 16px !important;
}
.px-5 {
    padding-left: 20px;
    padding-right: 20px;
}
.px-5\!important {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.px-6 {
    padding-left: 24px;
    padding-right: 24px;
}
.px-6\!important {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}
.py-0\!important {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px;
}
.py-\[2px\]\!important {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
.py-1 {
    padding-top: 4px;
    padding-bottom: 4px;
}
.py-1\!important {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}
.py-2 {
    padding-top: 8px;
    padding-bottom: 8px;
}
.py-2\!important {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
.py-3 {
    padding-top: 12px;
    padding-bottom: 12px;
}
.py-3\!important {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.py-4 {
    padding-top: 16px;
    padding-bottom: 16px;
}
.py-4\!important {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
.py-5 {
    padding-top: 20px;
    padding-bottom: 20px;
}
.py-5\!important {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.pl-0 {
    padding-left: 0;
}
.pl-0\!important {
    padding-left: 0 !important;
}
.pl-1 {
    padding-left: 4px;
}
.pl-1\!important {
    padding-left: 4px !important;
}
.pl-2 {
    padding-left: 8px;
}
.pl-2\!important {
    padding-left: 8px !important;
}
.pl-3 {
    padding-left: 12px;
}
.pl-3\!important {
    padding-left: 12px !important;
}
.pl-4 {
    padding-left: 16px;
}
.pl-4\!important {
    padding-left: 16px !important;
}
.pl-5 {
    padding-left: 20px;
}
.pl-5\!important {
    padding-left: 20px !important;
}

/* BACKGROUND COLORS */
.bg-neutral-50 {
    background-color: #fafafa;
}
.bg-neutral-100 {
    background-color: #f5f5f5;
}
.bg-neutral-200 {
    background-color: #e5e5e5;
}
.bg-neutral-300 {
    background-color: #d4d4d4;
}

.bg-gray-50 {
    background-color: #f9fafb;
}
.bg-gray-700 {
    background-color: #364153;
}
.bg-gray-200 {
    background-color: #e5e7eb;
}
.bg-gray-900 {
    background-color: #111827;
}

.bg-yellow-50 {
    background-color: #fefce8;
}

.bg-white {
    background-color: #ffffff;
}

/* TEXT COLORS */
.text-white {
    color: #ffffff;
}
.text-neutral-500 {
    color: #737373;
}
.text-green-500 {
    color: #22c55e;
}
.text-yellow-400 {
    color: #facc15;
}
.text-yellow-600 {
    color: #ca8a04;
}
.text-red-500 {
    color: #ef4444;
}

/* CURSOR */
.cursor-pointer {
    cursor: pointer;
}
.cursor-grab {
    cursor: grab;
}
.cursor-grabbing {
    cursor: grabbing;
}
.cursor-not-allowed {
    cursor: not-allowed;
}

/* HOVER CURSOR */
.hover\:cursor-pointer:hover {
    cursor: pointer;
}

/* ACTIVE STATE */
.active\:cursor-grabbing:active {
    cursor: grabbing;
}

/* POINTER EVENTS */
.pointer-events-none {
    pointer-events: none;
}

/* TRANSFORM */
.top-1\/2 {
    top: 50%;
}
.-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));
}
.scale-125 {
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
    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 SCALE */
.hover\:scale-125:hover {
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
    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));
}
.text-yellow-500 {
    color: #eab308;
}

/* TEXT TRANSFORM */
.uppercase {
    text-transform: uppercase !important;
}
.lowercase {
    text-transform: lowercase !important;
}
.capitalize {
    text-transform: capitalize !important;
}

/* TEXT ALIGN */
.text-center {
    text-align: center !important;
}

/* LIST STYLE */
.list-none {
    list-style-type: none;
}

/* POSITIONING */
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}

/* POSITION EDGES */
.bottom-0 {
    bottom: 0;
}
.right-0 {
    right: 0;
}
.left-0 {
    left: 0;
}
.top-0 {
    top: 0;
}
.left-\[calc\(0\%\)\] {
    left: 0%;
}

.z-0 {
    z-index: 0;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}

/* Transitions */
.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;
}

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

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

.duration-150 {
    transition-duration: 150ms;
}

/* USER SELECT */
.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* TOUCH ACTION */
.touch-none {
    touch-action: none;
}
