
html, body {
    max-width: 100%;
    overflow-x: hidden;
}
body {
    min-height: 100dvh;
}
img, svg, canvas, video {
    max-width: 100%;
    height: auto;
}
@media (max-width: 1023px) {
    body {
        height: auto !important;
        overflow-y: auto;
    }
    main {
        min-height: 0;
    }
}
@media (max-width: 767px) {
    header {
        padding: 1rem !important;
    }
    header h1 {
        width: 100%;
        text-align: center;
        font-size: 1.35rem !important;
        line-height: 1.2;
    }
    header > div:last-child {
        width: 100%;
        justify-content: center;
    }
    header > div:last-child > a,
    header > div:last-child > button,
    header > div:last-child > div {
        flex: 1 1 calc(50% - 0.5rem);
        min-width: 140px;
        margin-left: 0 !important;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    main {
        padding: 1rem !important;
    }
    .overflow-x-auto {
        -webkit-overflow-scrolling: touch;
    }
    table {
        min-width: 640px;
    }
    input, select, textarea, button, a {
        min-height: 44px;
    }
    .swal2-popup {
        width: min(95vw, 38rem) !important;
    }
    .swal2-input,
    .swal2-select {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .swal2-html-container .flex.gap-2 {
        flex-direction: column;
    }
    #area-trabajo {
        overflow-y: auto !important;
    }
    #area-trabajo > section {
        overflow: visible !important;
    }
    #area-trabajo > aside,
    body > main > aside {
        height: auto !important;
        max-height: 55dvh;
        min-height: 300px;
        position: sticky;
        bottom: 0;
        z-index: 20;
    }
}
@media (max-width: 480px) {
    header > div:last-child > a,
    header > div:last-child > button,
    header > div:last-child > div {
        flex-basis: 100%;
    }
    h1, h2 {
        word-break: break-word;
    }
    .text-4xl {
        font-size: 1.875rem !important;
    }
    .text-3xl {
        font-size: 1.5rem !important;
    }
    .text-2xl {
        font-size: 1.25rem !important;
    }
    .text-xl {
        font-size: 1.125rem !important;
    }
}
