body{
    background: #f9fafb;
    overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

main table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

main table thead,
main table tbody {
    width: 100%;
}

main input,
main select,
main textarea,
main button {
    max-width: 100%;
}

@media (max-width: 1024px) {
    .mx-24 {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }

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

    .pt-48 {
        padding-top: 12rem;
    }

    .grid-cols-6,
    .grid-cols-5,
    .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

@media (max-width: 768px) {
    .flex.justify-between,
    .flex.items-center.justify-between {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .mx-24 {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .px-24,
    .px-8,
    .px-6 {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .py-8,
    .py-6 {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .pt-48 {
        padding-top: 14rem;
    }

    .pt-28 {
        padding-top: 10rem;
    }

    .grid-cols-12,
    .grid-cols-6,
    .grid-cols-5,
    .grid-cols-4,
    .grid-cols-3,
    .grid-cols-2 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .col-span-3,
    .col-span-2,
    .col-span-1 {
        grid-column: span 1 / span 1;
    }

    .text-2xl {
        font-size: 1.35rem;
        line-height: 1.8rem;
    }

    .text-xl {
        font-size: 1.125rem;
        line-height: 1.6rem;
    }

    .w-24 {
        width: 4.5rem;
    }

    .w-40 {
        width: auto;
    }

    .truncate {
        overflow: visible;
        text-overflow: initial;
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .mx-24 {
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }

    .px-8,
    .px-6,
    .px-4 {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .py-8,
    .py-6,
    .py-4 {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
    }

    .text-sm {
        line-height: 1.4rem;
    }

    .rounded-xl,
    .rounded-2xl {
        border-radius: 0.875rem;
    }
}
