:root {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
    vertical-align: middle;
}

.aViewInfoColaborador {
    text-decoration: none;
    text-underline-offset: 0.18em;
}

.aViewInfoColaborador:hover,
.aViewInfoColaborador:focus {
    text-decoration: underline;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    -webkit-tap-highlight-color: rgba(37, 99, 235, 0.18);
}

button,
input,
select,
textarea {
    font: inherit;
}

.form-control,
.form-select,
.input-wrapper input,
textarea.form-control {
    -webkit-appearance: none;
    appearance: none;
}

.form-select,
select.form-control {
    background-clip: padding-box;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: inherit;
    transition: background-color 9999s ease-in-out 0s;
}

.layout-wrapper,
.layout-container,
.layout-page,
.content-wrapper,
.container-xxl,
.container-fluid,
.card,
.table-responsive,
.dataTables_wrapper {
    max-width: 100%;
}

.layout-menu,
.modal-body,
.table-responsive,
.dataTables_wrapper {
    -webkit-overflow-scrolling: touch;
}

.layout-menu {
    max-height: 100vh;
    max-height: 100dvh;
    overflow-y: auto;
}

.layout-navbar,
.app-brand {
    padding-top: max(0px, env(safe-area-inset-top));
}

.content-wrapper {
    padding-bottom: max(0px, env(safe-area-inset-bottom));
}

.login-container {
    width: min(100%, 420px);
}

.login-card {
    max-width: 100%;
}

.dashboard-role-image-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.dashboard-role-image {
    display: block;
    width: auto;
    height: auto;
    max-height: 156px;
    max-width: min(180px, 100%);
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.12));
}

.password-toggle,
.btn-close,
.menu-link,
.dropdown-item,
.page-link {
    touch-action: manipulation;
}

.table-responsive,
.dataTables_scrollBody {
    overflow-x: auto;
}

.dataTables_wrapper .row,
.dt-buttons,
.dataTables_paginate .pagination {
    min-width: 0;
}

.modal-content {
    overflow: hidden;
}

.modal-body {
    overflow-y: auto;
}

.swal2-container {
    padding: max(0.625rem, env(safe-area-inset-top)) max(0.625rem, env(safe-area-inset-right)) max(0.625rem, env(safe-area-inset-bottom)) max(0.625rem, env(safe-area-inset-left));
}

@media (max-width: 767.98px) {
    input,
    select,
    textarea,
    .form-control,
    .form-select,
    .input-wrapper input,
    .select2-container .select2-selection--single {
        font-size: 16px;
    }

    button,
    .btn,
    .btn-sm,
    .password-toggle,
    .btn-close,
    .menu-link,
    .dropdown-item,
    .page-link,
    .select2-selection,
    .select2-results__option {
        min-height: 44px;
    }

    .btn,
    .btn-sm,
    .page-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .layout-page,
    .content-wrapper,
    .container-xxl,
    .container-fluid {
        min-width: 0;
    }

    .container-xxl,
    .container-fluid {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }

    .modal-dialog {
        margin: max(0.5rem, env(safe-area-inset-top)) max(0.5rem, env(safe-area-inset-right)) max(0.5rem, env(safe-area-inset-bottom)) max(0.5rem, env(safe-area-inset-left));
    }

    .modal-content {
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    .modal-body {
        max-height: calc(100vh - 4rem);
        max-height: calc(100dvh - 4rem);
    }

    .modal-body .row > [class*="col-"] {
        margin-bottom: 0.75rem;
    }

    .modal-body .d-flex {
        flex-wrap: wrap;
    }

    .modal-body .d-flex .btn {
        flex: 1 1 100%;
    }

    .dataTables_wrapper .row,
    .dt-buttons,
    .dataTables_filter,
    .dataTables_length,
    .dataTables_paginate .pagination {
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .dataTables_filter label,
    .dataTables_filter input,
    .dataTables_length label {
        width: 100%;
    }

    .table {
        white-space: nowrap;
    }

    .login-card {
        max-height: calc(100vh - 2rem);
        max-height: calc(100dvh - 2rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard-role-image {
        max-width: min(140px, 55vw);
        max-height: 128px;
    }
}
