.select2-container--bootstrap-5 .select2-selection--single {
    border-radius: 1.275rem !important;
    min-height: calc(1.5em + 1rem + 2px);
    padding: 0.5rem 0.75rem;
    transition: all 0.15s ease-in-out;
}

.select2-container--bootstrap-5 .select2-dropdown {
    border-radius: 0.375rem !important;
    border: 1px solid #dee2e6;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.select2-container--bootstrap-5.select2-container--open .select2-selection--single {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.select2-container--bootstrap-5.select2-container--open .select2-dropdown--below {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none;
}

.select2-container--bootstrap-5.select2-container--open .select2-dropdown--above {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom: none;
}

.select2-container--bootstrap-5 .select2-selection--single {
    background-color: #fff;
    border: 1px solid #dee2e6;
    color: #182433;
}

.select2-container--bootstrap-5 .select2-dropdown {
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.select2-container--bootstrap-5 .select2-results__option {
    background-color: #fff;
    color: #182433;
    padding: 0.375rem 0.75rem;
}

.select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: #0d6efd !important;
    color: white !important;
}

.select2-container--bootstrap-5 .select2-results__option[aria-selected="true"] {
    background-color: #e7f3ff;
    color: #0d6efd;
}

.select2-container--bootstrap-5 .select2-selection--single:disabled,
.select2-container--bootstrap-5 .select2-selection--single[readonly] {
    background-color: #E4E3E4 !important;
    border-color: #dee2e6 !important;
    color: white !important;
    cursor: not-allowed !important;
}

.select2-container--bootstrap-5.select2-container--disabled .select2-selection--single {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
    cursor: not-allowed !important;
}

    .select2-container--bootstrap-5.select2-container--disabled .select2-selection--single .select2-selection__rendered {
        color: #6c757d !important;
    }

    .select2-container--bootstrap-5.select2-container--disabled .select2-selection--single .select2-selection__placeholder {
        color: #6b7280 !important;
    }

    .select2-container--bootstrap-5.select2-container--disabled .select2-selection--single .select2-selection__arrow {
        color: #adb5bd !important;
    }

.tm-campo-obrigatorio-mensagem {
    display: block !important;
    margin-top: .3rem;
    color: #d63939 !important;
    font-size: .75rem;
    line-height: 1.25;
}

.select2-container.is-invalid .select2-selection,
.select2-container .select2-selection.is-invalid {
    border-color: #d63939 !important;
    box-shadow: 0 0 0 .2rem rgba(214, 57, 57, .12) !important;
}

.input-group:has(.form-control.is-invalid) .input-group-text {
    border-color: #d63939 !important;
}

.filtro-grupo .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 0.75rem !important;
}

@media (min-width: 768px) {
    .filtro-grupo .select2-container--bootstrap-5 .select2-selection--single {
        padding-left: 0.75rem !important;
    }
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: #959fac !important;
}

.select2-container--bootstrap-5 .select2-selection--single {
    height: calc(1.5em + 1rem + 2px) !important;
    font-size: 0.875rem !important;
}

.select2-container--bootstrap-5 .select2-selection--single,
.select2-container--bootstrap-5 .select2-selection--multiple {
    border-radius: 24px !important;
}

.select2-container--bootstrap-5 .select2-dropdown {
    border-radius: 12px !important;
}

.select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.select2-container--bootstrap-5.select2-container--open .select2-selection--multiple {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.select2-container--bootstrap-5.select2-container--open .select2-dropdown--below {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

.select2-selection {
    border-radius: 0px !important;
}

.select2-selection__rendered {
    border-radius: 0px !important;
}

.select2-selection__choice {
    border-radius: 48px !important;
    margin-top: 6px !important;
}

/*.select2-search__field {
    margin-left: 6px !important;
}*/

.alt-flatpickr {
    border-radius: 24px;
}

.input-icon .form-control:not(:first-child), .input-icon .form-select:not(:last-child) {
    padding-left: 0.8rem !important;
}

.btn {
    border-radius: 24px;
}

.form-control {
    border-radius: 24px !important;
}

.form-select {
    border-radius: 24px !important;
}

@media print {
    .d-print-none {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .card-body-mobile-padding {
        padding: 0px !important;
    }
}

.relatorio-filters .select2-container--bootstrap-5 .select2-selection--single {
    min-height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 24px !important;
}

    .relatorio-filters .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
        font-size: 0.875rem;
        line-height: 1.5;
        padding-left: 0;
        display: flex;
        align-items: center;
    }

    .relatorio-filters .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
        height: calc(1.5em + 0.75rem);
    }

.relatorio-filters .select2-container--bootstrap-5 .select2-dropdown {
    font-size: 0.875rem;
    border-radius: 12px !important;
}

.relatorio-filters .select2-container--bootstrap-5 .select2-results__option {
    padding: 0.5rem 0.75rem;
}

.relatorio-filters .select2-search--dropdown {
    padding: 8px;
}

    .relatorio-filters .select2-search--dropdown .select2-search__field {
        border-radius: 24px;
        padding: 6px 12px;
        border: 1px solid #dee2e6;
        font-size: 0.875rem;
    }

        .relatorio-filters .select2-search--dropdown .select2-search__field:focus {
            outline: none;
            border-color: #0d6efd;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }

.select2-results__option .option-with-icon {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .select2-results__option .option-with-icon i {
        font-size: 1rem;
        width: 20px;
        text-align: center;
    }

.select2-selection__rendered .option-with-icon {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .select2-selection__rendered .option-with-icon i {
        font-size: 0.875rem;
        width: 16px;
        text-align: center;
    }

.relatorio-filters .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    color: #6c757d;
    font-style: italic;
    font-size: 0.875rem;
}

.select2-selection__clear {
    z-index: 10 !important;
    font-size: 1.2rem;
    margin-right: 8px;
}

.relatorio-filters .select2-container--bootstrap-5.select2-container--disabled .select2-selection--single {
    background-color: #e9ecef !important;
    cursor: not-allowed;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
    display: block !important;
    width: 100%;
    line-height: 1.5;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__placeholder {
    color: #959fac !important;
    font-size: 0.875rem !important;
    margin: 0;
    padding: 0;
}

.select2-container--bootstrap-5 .select2-selection--multiple {
    min-height: calc(1.5em + 1rem + 2px) !important;
    overflow: visible !important;
}

.select2-container--bootstrap-5.select2-container--disabled .select2-selection--multiple {
    background-color: #E4E3E4 !important;
    border-color: #dee2e6 !important;
    cursor: not-allowed !important;
}

    .select2-container--bootstrap-5.select2-container--disabled .select2-selection--multiple .select2-selection__rendered {
        color: #6c757d !important;
    }

.select2-container--bootstrap-5.select2-container--open .select2-selection--multiple {
    overflow: visible !important;
}

.avatar i.icon-fix {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 1.10rem !important;
}

.btn-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.65;
}

    .btn-loading .btn-text {
        visibility: hidden;
        opacity: 0;
    }

    .btn-loading::after {
        content: "";
        position: absolute;
        width: 1rem;
        height: 1rem;
        top: 50%;
        left: 50%;
        margin-left: -0.5rem;
        margin-top: -0.5rem;
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: 50%;
        animation: btn-spinner 0.75s linear infinite;
    }

@keyframes btn-spinner {
    to {
        transform: rotate(360deg);
    }
}

.btn-sm.btn-loading::after {
    width: 0.875rem;
    height: 0.875rem;
    margin-left: -0.4375rem;
    margin-top: -0.4375rem;
    border-width: 1.5px;
}

.btn-lg.btn-loading::after {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: -0.625rem;
    margin-top: -0.625rem;
    border-width: 2.5px;
}

.btn-loading,
.btn-loading:hover,
.btn-loading:focus,
.btn-loading:active {
    cursor: not-allowed !important;
}

.navegacao-carregando,
.navegacao-carregando:hover,
.navegacao-carregando:focus,
.navegacao-carregando:active {
    pointer-events: none !important;
    cursor: wait !important;
    opacity: .78;
    transform: none !important;
}

.navegacao-carregando > .navegacao-icone-original {
    display: none !important;
}

.navegacao-spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: btn-spinner .7s linear infinite;
}

.btn-sm .navegacao-spinner {
    width: .875rem;
    height: .875rem;
    flex-basis: .875rem;
    border-width: 1.5px;
}
.periodo-inline {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

    .periodo-inline .form-control {
        flex: 1;
        min-height: 38px;
    }

    .periodo-inline span.sep {
        color: #626976;
        font-size: 0.875rem;
        white-space: nowrap;
    }

.periodo-datas {
    display: flex;
    gap: 0.5rem;
}

    .periodo-datas .form-control {
        flex: 1;
        min-height: 38px;
    }

.select2-container--default .select2-selection--single {
    height: 38px !important;
    padding: 4px 8px;
    border-color: #d1d5db;
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 28px !important;
        padding-left: 8px;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 36px !important;
    }

@media print {
    .d-print-none {
        display: none !important;
    }

    .page-header {
        display: none !important;
    }

    .col-12.mb-3 {
        display: none !important;
    }

    .card {
        border: none !important;
        box-shadow: none !important;
    }

    .page-body {
        padding-top: 0 !important;
    }

    .container-xl {
        padding-top: 0 !important;
    }
}

.empty-img img {
    max-width: 40%;
    height: auto;
    display: block;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .empty-img img {
        max-width: 60%;
    }

    .page-header .col-auto.ms-auto {
        margin-left: 0 !important;
    }

    .page-header .btn-list {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .page-header .btn {
        width: 100%;
    }

    .table td.text-end {
        white-space: nowrap;
        font-size: 0.875rem;
    }
}

.filtro-grupo {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

    .filtro-grupo label.form-label {
        font-weight: 600;
        margin-bottom: 0.3rem;
        color: #626976;
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

@media (min-width: 768px) {
    #formFiltros .form-select:has(option[value=""]:checked) {
        color: #b0b8c1;
    }

    #filtroDataRangePicker::placeholder {
        color: #b0b8c1 !important;
        opacity: 1;
    }

    #formFiltros .filtro-grupo .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__placeholder {
        color: #b0b8c1 !important;
    }
}
 

.filtro-check-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

    .filtro-check-row input[type="checkbox"] {
        width: 16px;
        height: 16px;
        cursor: pointer;
        accent-color: #2d7be5;
    }

    .filtro-check-row label {
        margin: 0;
        font-size: 0.875rem;
        cursor: pointer;
    }

.select-filtro {
    margin-top: 0.25rem;
}

    .select-filtro .form-select,
    .select-filtro .select2-container {
        min-height: 38px;
    }

.filtros-wrapper {
    border-bottom: 2px solid #e6e8ec;
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
}

.btn-acoes-relatorio {
    display: flex;
    justify-content: center;
    padding-top: 1rem;
}

    .btn-acoes-relatorio .btn {
        font-size: 0.95rem;
        font-weight: 500;
        letter-spacing: 0.02em;
    }

.ck-editor__editable_inline {
    min-height: 400px;
}

.ck.ck-editor {
    width: 100%;
}

.ck.ck-editor__main > .ck-editor__editable {
    background: #ffffff;
    min-height: 400px;
    padding: 20px;
}

.ck.ck-toolbar {
    background: #f8f9fa !important;
    border: 1px solid #dadce0 !important;
    border-bottom: none !important;
}

.ck.ck-content {
    border: 1px solid #dadce0 !important;
}

.editor-skeleton {
    width: 100%;
    border: 1px solid #dadce0;
    border-radius: 4px;
    overflow: hidden;
}

.skeleton-toolbar {
    background: #f8f9fa;
    border-bottom: 1px solid #dadce0;
    padding: 12px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.skeleton-toolbar-item {
    width: 32px;
    height: 32px;
    background: #e0e0e0;
    border-radius: 4px;
    animation: skeleton-pulse 1.5s ease-in-out infinite;
}

.skeleton-toolbar-separator {
    width: 1px;
    height: 32px;
    background: #dadce0;
    margin: 0 4px;
}

.skeleton-content {
    background: #ffffff;
    min-height: 400px;
    padding: 20px;
}

.skeleton-line {
    height: 16px;
    background: #e0e0e0;
    border-radius: 4px;
    margin-bottom: 12px;
    animation: skeleton-pulse 1.5s ease-in-out infinite;
}

    .skeleton-line:nth-child(1) {
        width: 95%;
    }

    .skeleton-line:nth-child(2) {
        width: 88%;
        animation-delay: 0.1s;
    }

    .skeleton-line:nth-child(3) {
        width: 92%;
        animation-delay: 0.2s;
    }

    .skeleton-line:nth-child(4) {
        width: 85%;
        animation-delay: 0.3s;
    }

    .skeleton-line:nth-child(5) {
        width: 90%;
        animation-delay: 0.4s;
    }

    .skeleton-line:nth-child(6) {
        width: 93%;
        animation-delay: 0.5s;
    }

    .skeleton-line:nth-child(7) {
        width: 87%;
        animation-delay: 0.6s;
    }

@keyframes skeleton-pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.editor-container {
    display: none;
}

    .editor-container.loaded {
        display: block;
    }

.editor-skeleton.hidden {
    display: none;
}

.flatpickr-months .flatpickr-month {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
}

.flatpickr-weekdays {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
}

span.flatpickr-weekday {
    background: transparent !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: transparent !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: transparent !important;
    color: #ffffff !important;
}

    .flatpickr-current-month .flatpickr-monthDropdown-months option {
        background-color: #ffffff !important;
        color: #182433 !important;
    }

        .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
        .flatpickr-current-month .flatpickr-monthDropdown-months option:hover {
            background-color: #1166B0 !important;
            color: #ffffff !important;
        }

.filters-card .select2-container--bootstrap-5 .select2-selection--single, .bottom-sheet .select2-container--bootstrap-5 .select2-selection--single, #modalSelecionarEvento .select2-container--bootstrap-5 .select2-selection--single {
    height: 42px !important;
    border: 1.5px solid #e5e7eb !important;
    display: flex;
    align-items: center;
}

.select2-container--open {
    z-index: 1065 !important;
}

.filters-card .select2-container--bootstrap-5 .select2-selection--single {
    border-radius: 24px !important;
}

.bottom-sheet .select2-container--bootstrap-5 .select2-selection--single,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-selection--single {
    border-radius: 8px !important;
}

.filters-card .select2-container--bootstrap-5.select2-container--open
.select2-selection--single,
.bottom-sheet .select2-container--bootstrap-5.select2-container--open
.select2-selection--single,
#modalSelecionarEvento .select2-container--bootstrap-5.select2-container--open
.select2-selection--single {
    border-color: #1166B0 !important;
    box-shadow: 0 0 0 3px rgba(17, 102, 176, 0.12) !important;
    background-color: #fff !important;
}

.filters-card .select2-container--bootstrap-5.select2-container--open
.select2-selection--single,
#modalSelecionarEvento .select2-container--bootstrap-5.select2-container--open
.select2-selection--single {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.filters-card .select2-container--bootstrap-5 .select2-dropdown,
.bottom-sheet .select2-container--bootstrap-5 .select2-dropdown,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-dropdown,
body > .select2-container--bootstrap-5.select2-container--open .select2-dropdown {
    border: 1.5px solid #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
}

.filters-card .select2-container--bootstrap-5 .select2-dropdown,
body > .select2-container--bootstrap-5.select2-container--open .select2-dropdown {
    border-radius: 12px !important;
}

.bottom-sheet .select2-container--bootstrap-5 .select2-dropdown,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-dropdown {
    border-radius: 8px !important;
}

#modalSelecionarEvento .select2-container--bootstrap-5.select2-container--open
.select2-dropdown--below {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    border-top: none !important;
}

.filters-card .select2-container--bootstrap-5 .select2-results__option--highlighted,
.bottom-sheet .select2-container--bootstrap-5 .select2-results__option--highlighted,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: #e8f0fa !important;
    color: #1166B0 !important;
}

.filters-card .select2-container--bootstrap-5
.select2-results__option[aria-selected="true"],
.bottom-sheet .select2-container--bootstrap-5
.select2-results__option[aria-selected="true"],
#modalSelecionarEvento .select2-container--bootstrap-5
.select2-results__option[aria-selected="true"] {
    background-color: #1166B0 !important;
    color: #fff !important;
}

.filters-card .select2-container--bootstrap-5 .select2-selection--single,
.filtro-grupo .select2-container--bootstrap-5 .select2-selection--single,
.bottom-sheet .select2-container--bootstrap-5 .select2-selection--single,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-selection--single {
    height: 42px !important;
    border: 1.5px solid #e5e7eb !important;
    display: flex;
    align-items: center;
}

.filters-card .select2-container--bootstrap-5 .select2-selection--single,
.filtro-grupo .select2-container--bootstrap-5 .select2-selection--single {
    border-radius: 24px !important;
}

.filters-card .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.filtro-grupo .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.bottom-sheet .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
#modalSelecionarEvento .select2-container--bootstrap-5.select2-container--open .select2-selection--single {
    border-color: #1166B0 !important;
    box-shadow: 0 0 0 3px rgba(17, 102, 176, 0.12) !important;
    background-color: #fff !important;
}

.filters-card .select2-container--bootstrap-5 .select2-dropdown,
.filtro-grupo .select2-container--bootstrap-5 .select2-dropdown,
.bottom-sheet .select2-container--bootstrap-5 .select2-dropdown,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-dropdown,
body > .select2-container--bootstrap-5.select2-container--open .select2-dropdown {
    border: 1.5px solid #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
    border-radius: 12px !important;
}

.filters-card .select2-container--bootstrap-5 .select2-results__option--highlighted,
.filtro-grupo .select2-container--bootstrap-5 .select2-results__option--highlighted,
.bottom-sheet .select2-container--bootstrap-5 .select2-results__option--highlighted,
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: #e8f0fa !important;
    color: #1166B0 !important;
}

.filters-card .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"],
.filtro-grupo .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"],
.bottom-sheet .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"],
#modalSelecionarEvento .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"] {
    background-color: #1166B0 !important;
    color: #fff !important;
}

.filters-card .select2-search--dropdown,
.filtro-grupo .select2-search--dropdown {
    padding: 8px;
}

    .filters-card .select2-search--dropdown .select2-search__field,
    .filtro-grupo .select2-search--dropdown .select2-search__field {
        border-radius: 24px;
        padding: 6px 12px;
        border: 1px solid #dee2e6;
        font-size: 0.875rem;
    }

        .filters-card .select2-search--dropdown .select2-search__field:focus,
        .filtro-grupo .select2-search--dropdown .select2-search__field:focus {
            outline: none;
            border-color: #1166B0;
            box-shadow: 0 0 0 0.25rem rgba(17, 102, 176, 0.25);
        }

.table-scroll-wrapper {
    overflow-x: auto;
    overflow-y: visible;
    position: relative;
    width: 100%;
}

.table-scroll-top {
    overflow-x: auto;
    overflow-y: hidden;
    height: 0;
    transition: height 0.15s ease;
}

    .table-scroll-top.visivel {
        height: 10px;
    }

.table-scroll-top-inner {
    height: 1px;
}

.table-scroll-top::-webkit-scrollbar,
.table-scroll-wrapper::-webkit-scrollbar {
    height: 6px;
}

.table-scroll-top::-webkit-scrollbar-track,
.table-scroll-wrapper::-webkit-scrollbar-track {
    background: #f1f3f5;
    border-radius: 3px;
}

.table-scroll-top::-webkit-scrollbar-thumb,
.table-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #ced4da;
    border-radius: 3px;
}

    .table-scroll-top::-webkit-scrollbar-thumb:hover,
    .table-scroll-wrapper::-webkit-scrollbar-thumb:hover {
        background: #adb5bd;
    }

.col-datahora {
    white-space: nowrap;
}

.datahora-inline {
    display: flex;
    flex-direction: column;
    gap: 1px;
    white-space: nowrap;
    font-size: 0.8125rem;
    line-height: 1.3;
}

    .datahora-inline .data-parte {
        font-weight: 500;
        color: var(--tblr-body-color);
    }

    .datahora-inline .hora-parte {
        font-size: 0.75rem;
        color: var(--tblr-secondary-color, #6c757d);
    }

.col-valor-cel {
    white-space: nowrap;
}

.col-oculta {
    display: none !important;
    visibility: collapse !important;
    width: 0 !important;
    padding: 0 !important;
    border: none !important;
}

@media (max-width: 767.98px) {
    #tabelaVendas {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: auto !important;
    }
}

.config-colunas-panel {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

    .config-colunas-panel.aberto {
        opacity: 1;
        pointer-events: all;
    }

.config-colunas-sheet {
    background: var(--tblr-card-bg, #fff);
    border-radius: 16px 16px 0 0;
    padding: 20px 20px 32px;
    width: 100%;
    max-width: 520px;
    transform: translateY(100%);
    transition: transform 0.25s ease;
    max-height: 80vh;
    overflow-y: auto;
}

.config-colunas-panel.aberto .config-colunas-sheet {
    transform: translateY(0);
}

.config-colunas-sheet .sheet-handle {
    width: 40px;
    height: 4px;
    background: #dee2e6;
    border-radius: 2px;
    margin: 0 auto 20px;
}

.config-colunas-sheet .sheet-titulo {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.config-colunas-sheet .sheet-subtitulo {
    font-size: 0.8125rem;
    color: var(--tblr-secondary-color, #6c757d);
    margin-bottom: 16px;
}

.config-colunas-lista {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .config-colunas-lista li {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 4px;
        border-bottom: 1px solid var(--tblr-border-color, #e6e7e9);
        cursor: pointer;
        user-select: none;
    }

        .config-colunas-lista li:last-child {
            border-bottom: none;
        }

        .config-colunas-lista li input[type="checkbox"] {
            flex-shrink: 0;
            width: 18px;
            height: 18px;
            cursor: pointer;
            accent-color: var(--tblr-primary, #0054a6);
            margin: 0;
        }

        .config-colunas-lista li label {
            flex: 1;
            margin: 0;
            cursor: pointer;
            font-size: 0.9375rem;
            line-height: 1.4;
        }

.config-colunas-fixas {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--tblr-border-color, #e6e7e9);
    font-size: 0.8125rem;
    color: var(--tblr-secondary-color, #6c757d);
    display: flex;
    align-items: center;
    gap: 6px;
}

.btn-colunas-mobile {
    display: none;
}

@media (max-width: 767.98px) {
    .btn-colunas-mobile {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }
}

@media (max-width: 767.98px) {
    .page-header .btn-list {
        flex-direction: column;
        gap: 0.4rem;
    }

        .page-header .btn-list .btn {
            width: 100%;
            justify-content: center;
        }
}

.table,
.table th,
.table td,
.table td *,
.table small,
.table a,
.table div,
.table span {
    font-size: 0.78rem !important;
    line-height: 1.4;
}

.relatorio-header-mobile {
    padding-top: 0.75rem;
    padding-bottom: 0.5rem;
}

.relatorio-titulo-grupo .page-pretitle {
    font-size: 0.75rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.15rem;
    line-height: 1.2;
}

.relatorio-titulo-grupo .page-title {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0;
    color: #182433;
    line-height: 1.3;
}

.relatorio-acoes-topo {
    display: flex;
    gap: 0.6rem;
}

    .relatorio-acoes-topo .btn-icon {
        width: 44px;
        height: 44px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 12px !important;
        padding: 0 !important;
        font-size: 1.05rem;
        line-height: 1;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    }

        .relatorio-acoes-topo .btn-icon.btn-primary {
            background-color: #0d6efd;
            border-color: #0d6efd;
            color: #fff;
        }

        .relatorio-acoes-topo .btn-icon.btn-light {
            background-color: #f8f9fa;
            border-color: #e9ecef;
            color: #495057;
        }

.relatorio-barra-acoes {
    display: flex;
    gap: 0.75rem;
    margin: 0.5rem 0 1rem;
}

    .relatorio-barra-acoes .btn-filtro-coluna {
        flex: 1 1 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.65rem 1rem;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #182433;
        font-size: 0.9rem;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.15s ease;
        text-decoration: none;
        user-select: none;
    }

        .relatorio-barra-acoes .btn-filtro-coluna:hover {
            background: #f8f9fa;
            border-color: #dee2e6;
        }

        .relatorio-barra-acoes .btn-filtro-coluna:active {
            transform: scale(0.97);
        }

        .relatorio-barra-acoes .btn-filtro-coluna i {
            color: #6c757d;
            font-size: 0.9rem;
        }

.relatorio-resumo-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1rem;
    background: #fff;
    border-radius: 12px;
    margin-bottom: 0.875rem;
    border: 1px solid #f1f3f5;
}

    .relatorio-resumo-linha .registros-info {
        font-size: 0.9rem;
        font-weight: 600;
        color: #0d6efd;
    }

    .relatorio-resumo-linha .total-info {
        font-size: 0.9rem;
        font-weight: 600;
        color: #198754;
    }

.infinite-scroll-loader {
    text-align: center;
    padding: 1.25rem;
    color: #6c757d;
    font-size: 0.875rem;
    cursor: pointer;
    user-select: none;
    border-top: 1px solid #f1f3f5;
}

    .infinite-scroll-loader .spinner {
        width: 1.5rem;
        height: 1.5rem;
        border: 2px solid #e9ecef;
        border-top-color: #0d6efd;
        border-radius: 50%;
        animation: spin-inf 0.75s linear infinite;
        margin: 0 auto 0.5rem;
    }

@keyframes spin-inf {
    to {
        transform: rotate(360deg);
    }
}

.paginacao-jump {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

    .paginacao-jump input[type="number"] {
        width: 64px;
        text-align: center;
        border-radius: 10px;
        border: 1px solid #dee2e6;
        padding: 0.4rem;
        font-size: 0.875rem;
        -moz-appearance: textfield;
    }

        .paginacao-jump input[type="number"]::-webkit-outer-spin-button,
        .paginacao-jump input[type="number"]::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

@media (max-width: 767.98px) {
    .table-geral thead th {
        font-size: 0.7rem;
        padding: 0.6rem 0.5rem;
        white-space: nowrap;
    }

    .table-geral tbody td {
        padding: 0.75rem 0.5rem;
        font-size: 0.8125rem !important;
    }

    .col-registro {
        font-weight: 600;
        color: #182433;
    }

    .col-valor-cel {
        font-weight: 600;
        color: #182433;
    }
}

@keyframes spin-inf {
    to {
        transform: rotate(360deg);
    }
}

#cardFiltrosWrapper.d-block {
    display: block !important;
}

@media (min-width: 768px) {
    #formFiltros {
        display: flex;
        align-items: flex-end;
        gap: 0.75rem;
        flex-wrap: nowrap;
        padding-top: 0;
        margin-top: 0;
        padding: 25px;
    }

        #formFiltros .row.g-4 {
            flex: 1 1 auto;
            flex-wrap: nowrap;
            align-items: flex-end;
            margin: 0 !important;
            padding: 0 !important;
            gap: 0.75rem;
            --bs-gutter-x: 0;
            --bs-gutter-y: 0;
        }

            #formFiltros .row.g-4 > [class*="col-"] {
                flex: 1 1 auto !important;
                max-width: 320px !important;
                min-width: 0 !important;
                width: auto !important;
                padding: 0 !important;
                margin: 0 !important;
            }

        #formFiltros .filtro-grupo label.form-label {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
        }

        #formFiltros .mt-3 {
            flex-shrink: 0;
            margin-top: 0 !important;
            padding-top: 0;
            display: flex;
            align-items: flex-end;
        }
}

@media (min-width: 768px) {
    #formFiltros .row.g-4 {
        flex-wrap: nowrap;
        align-items: flex-end;
    }

        #formFiltros .row.g-4 > [class*="col-md-"] {
            flex: 1 1 auto;
            max-width: 320px;
            min-width: 0;
            width: auto !important;
        }
}

.flatpickr-wrapper-custom {
    position: relative;
    width: 100%;
}

    .flatpickr-wrapper-custom .flatpickr-input {
        min-height: 42px !important;
        height: 42px !important;
        border: 1.5px solid #e5e7eb !important;
        border-radius: 24px !important;
        font-size: 0.875rem !important;
        color: #182433;
        cursor: pointer;
        background-color: #fff;
        padding: 0 2.5rem 0 0.9rem;
        width: 100%;
        box-sizing: border-box;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

        .flatpickr-wrapper-custom .flatpickr-input:focus {
            border-color: #1166B0 !important;
            box-shadow: 0 0 0 3px rgba(17,102,176,0.12) !important;
            outline: none;
        }

        .flatpickr-wrapper-custom .flatpickr-input::placeholder {
            color: #959fac !important;
            opacity: 1;
        }

    .flatpickr-wrapper-custom .flatpickr-icon-btn {
        position: absolute;
        right: 0;
        top: 0;
        height: 42px;
        width: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #959fac;
        transition: color 0.15s ease;
        pointer-events: none;
    }

    .flatpickr-wrapper-custom:hover .flatpickr-icon-btn,
    .flatpickr-wrapper-custom:focus-within .flatpickr-icon-btn {
        color: #1166B0;
    }

    .flatpickr-wrapper-custom .flatpickr-clear-btn {
        position: absolute;
        right: 30px;
        top: 50%;
        transform: translateY(-50%);
        height: 18px;
        width: 18px;
        border-radius: 50%;
        background: #adb5bd;
        border: none;
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 10px;
        line-height: 1;
        padding: 0;
        transition: background 0.15s ease;
        z-index: 2;
    }

        .flatpickr-wrapper-custom .flatpickr-clear-btn:hover {
            background: #6c757d;
        }

    .flatpickr-wrapper-custom.tem-valor .flatpickr-clear-btn {
        display: flex;
    }

    .flatpickr-wrapper-custom.tem-valor .flatpickr-input {
        padding-right: 3.5rem;
    }

span.flatpickr-weekday {
    background: transparent !important;
    color: rgba(255,255,255,0.85) !important;
    font-weight: 600 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
    border-color: #1166B0 !important;
    color: white !important;
}

.flatpickr-day.inRange {
    background: #e8eaf8 !important;
    border-color: #e8eaf8 !important;
    color: #1166B0 !important;
    box-shadow: -5px 0 0 #e8eaf8, 5px 0 0 #e8eaf8 !important;
}

.flatpickr-day.today {
    border-color: #1166B0 !important;
    color: #1166B0 !important;
}

    .flatpickr-day.today.selected,
    .flatpickr-day.today.startRange,
    .flatpickr-day.today.endRange {
        color: white !important;
    }

.flatpickr-day:hover {
    background: #f0f3ff !important;
    border-color: #f0f3ff !important;
    color: #1166B0 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: transparent !important;
    color: #ffffff !important;
}

    .flatpickr-current-month .flatpickr-monthDropdown-months option {
        background-color: #ffffff !important;
        color: #182433 !important;
    }

        .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
        .flatpickr-current-month .flatpickr-monthDropdown-months option:hover {
            background-color: #1166B0 !important;
            color: #ffffff !important;
        }

.page-header-card {
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 0px;
}

    .page-header-card .page-header-topo {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0;
        gap: 16px;
    }

    .page-header-card .page-header-conteudo {
        flex: 1;
        min-width: 0;
    }

    .page-header-card .page-header-pretitle {
        font-size: .8rem;
        font-weight: 700;
        color: #8a97a8;
        letter-spacing: .25em;
        text-transform: uppercase;
        position: relative;
    }

    .page-header-card .page-header-titulo {
        margin: 0;
        color: #182433;
        font-size: 1.75rem;
        font-weight: 700;
        letter-spacing: 0em;
    }

    .page-header-card .page-header-acoes {
        display: flex;
        gap: 10px;
        flex-shrink: 0;
    }

.btn-header-acao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .15s ease, border-color .15s ease;
    white-space: nowrap;
    padding: 0;
    text-decoration: none;
}

    .btn-header-acao .btn-label {
        display: none;
    }

    .btn-header-acao:hover {
        transform: translateY(-2px);
        color: inherit;
    }

.btn-header-primario {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
    color: #fff;
    box-shadow: 0 4px 12px rgba(17,102,176,.25);
}

.btn-header-secundario {
    background: #fff;
    color: #495057;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

@media (max-width: 768px) {
    .page-header-card {
        padding: 14px 18px;
    }
}

@media (min-width: 769px) {
    .page-header-card {
        padding: 0px 18px;
    }

    .btn-header-acao {
        width: auto;
        height: 40px;
        border-radius: 20px;
        padding: 0 18px;
        gap: 0.5rem;
    }

        .btn-header-acao .btn-label {
            display: inline;
        }

    .btn-header-primario:hover {
        background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
        box-shadow: 0 5px 14px rgba(17,102,176,.3);
        color: #fff;
    }

    .btn-header-secundario:hover {
        color: #1166B0;
        background: #f1f7ff;
        border-color: #1166B0;
    }
}

.btn-header-imprimir:hover {
    color: white !important;
}

.btn-header-acao,
.btn-header-acao:hover,
.btn-header-acao:focus,
.btn-header-acao:active,
.btn-header-acao:visited {
    text-decoration: none !important;
}

.btn-primary {
    transition: transform .2s ease, box-shadow .2s ease, background .15s ease, border-color .15s ease;
}

    .btn-primary:hover {
        transform: translateY(-2px);
    }

.btn-header-primario,
.btn-header-primario:hover,
.btn-header-primario:active,
.btn-header-primario:focus,
.btn-header-primario:visited {
    color: #fff !important;
}

.btn-header-acao:hover {
    transform: translateY(-2px);
}

.btn-header-acao {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    user-select: none;
}

.btn-header-primario:hover {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
    box-shadow: 0 5px 14px rgba(17,102,176,.3);
    color: #fff !important;
}

.btn-header-primario:active {
    background: linear-gradient(135deg, #0d5a9e 0%, #147ad4 100%);
    box-shadow: 0 2px 8px rgba(17,102,176,.2);
    transform: translateY(0);
    color: #fff !important;
}

.btn-header-primario:focus-visible {
    outline: 2px solid #1166B0;
    outline-offset: 2px;
    color: #fff !important;
}

.btn-acao-tabela {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0.35rem 0.65rem;
    border-radius: 24px;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.15s ease;
    line-height: 1.4;
    white-space: nowrap;
}

    .btn-acao-tabela i {
        font-size: 0.75rem;
    }

.btn-acao-visualizar {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
    color: #fff;
    box-shadow: 0 1px 4px rgba(17,102,176,.2);
}

    .btn-acao-visualizar:hover {
        filter: brightness(.92);
        color: #fff;
    }

.btn-acao-remover {
    background: #fff;
    color: #dc3545;
    border: 1.5px solid #f5c2c7;
    box-shadow: 0 1px 4px rgba(220,53,69,.08);
}

    .btn-acao-remover:hover {
        background: #fff5f5;
        border-color: #dc3545;
        color: #a71d2a;
    }

.flatpickr-months .flatpickr-month {
    background: transparent !important;
}

span.flatpickr-weekday {
    background: transparent !important;
}

.flatpickr-months .flatpickr-month {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
}

.flatpickr-weekdays {
    background: linear-gradient(135deg, #1166B0 0%, #1686E8 100%) !important;
}

span.flatpickr-weekday {
    background: transparent !important;
    color: rgba(255,255,255,0.85) !important;
    font-weight: 600 !important;
}

.flatpickr-current-month,
.flatpickr-current-month input.cur-year {
    color: white !important;
    fill: white !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    color: white !important;
    fill: white !important;
}

    .flatpickr-prev-month svg,
    .flatpickr-next-month svg {
        fill: white !important;
    }


.exportacao-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.exportacao-loading-overlay .overlay-spinner {
    width: 2rem;
    height: 2rem;
    border: 2.5px solid #e9ecef;
    border-top-color: #1166b0;
    border-radius: 50%;
    animation: tm-exportacao-spin .75s linear infinite;
}

.exportacao-loading-overlay .overlay-texto {
    color: #4a6285;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
}

@keyframes tm-exportacao-spin {
    to { transform: rotate(360deg); }
}

.tm-swal-popup.tm-swal-export-success {
    width: min(390px, calc(100vw - 2rem)) !important;
    border-radius: 18px !important;
    padding: 0 0 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 12px 42px rgba(17, 102, 176, .2), 0 2px 10px rgba(0, 0, 0, .1) !important;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.tm-swal-popup.tm-swal-export-success::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #1166b0, #2c84cf) !important;
}

.tm-swal-popup.tm-swal-export-success .swal2-icon {
    margin: 1.35rem auto .35rem !important;
    transform: scale(.88);
}

.tm-swal-popup.tm-swal-export-success .swal2-success-ring {
    border-color: rgba(17, 102, 176, .25) !important;
}

.tm-swal-popup.tm-swal-export-success [class^="swal2-success-line"] {
    background-color: #1166b0 !important;
}

.tm-swal-popup.tm-swal-export-success .tm-swal-title {
    margin: .25rem 0 .2rem !important;
    padding: 0 !important;
    color: #1a2b4a !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
}

.tm-swal-popup.tm-swal-export-success .tm-swal-html {
    margin: .35rem 1.5rem 0 !important;
    color: #5a6f8a !important;
    font-size: .9rem !important;
}

.tm-swal-popup.tm-swal-export-success .tm-swal-actions {
    margin: 1.1rem 0 0 !important;
}

.tm-swal-popup.tm-swal-export-success .tm-swal-btn-confirm {
    padding: .65rem 1.3rem !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #1166b0, #2c84cf) !important;
    box-shadow: 0 4px 14px rgba(17, 102, 176, .28) !important;
    font: 700 .9rem Inter, system-ui, sans-serif !important;
}

.tm-swal-popup.tm-swal-export-success .swal2-timer-progress-bar {
    background: #1166b0 !important;
}

.tm-notificacao {
    position: fixed;
    top: 1rem;
    right: 1.25rem;
    z-index: 2000;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 250px;
    max-width: min(360px, calc(100vw - 2rem));
    padding: .85rem 1rem;
    color: #234a73;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #c8dcf1;
    border-left: 4px solid #1166b0;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(17, 66, 134, .16);
    opacity: 0;
    transform: translateX(calc(100% + 2rem));
    pointer-events: none;
    transition: opacity .2s ease, transform .25s ease;
}

.tm-notificacao.visivel { opacity: 1; transform: translateX(0); }
.tm-notificacao-icone { width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; display: grid; place-items: center; color: #1166b0; font-size: 1rem; }
.tm-notificacao.sucesso .tm-notificacao-icone { color: #1c9a63; }
.tm-notificacao.erro .tm-notificacao-icone { color: #d14d5c; }
.tm-notificacao strong, .tm-notificacao-conteudo span { display: block; }
.tm-notificacao strong { font-size: .84rem; font-weight: 700; line-height: 1.2; }
.tm-notificacao-conteudo span { margin-top: .15rem; color: #6e85a0; font-size: .74rem; line-height: 1.2; }

@media (max-width: 767.98px) {
    .tm-notificacao { top: .75rem; right: .75rem; left: .75rem; width: auto; max-width: none; min-width: 0; padding: .7rem .8rem; }
}
.tm-swal-popup.tm-swal-global:not(.swal2-toast) {
    width: min(390px, calc(100vw - 2rem)) !important;
    border-radius: 18px !important;
    padding: 0 0 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 12px 42px rgba(17, 102, 176, .2), 0 2px 10px rgba(0, 0, 0, .1) !important;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast)::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #1166b0, #2c84cf) !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .swal2-icon {
    margin: 1.35rem auto .35rem !important;
    transform: scale(.88);
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .swal2-success-ring {
    border-color: rgba(17, 102, 176, .25) !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) [class^="swal2-success-line"] {
    background-color: #1166b0 !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-title {
    margin: .25rem 0 .2rem !important;
    padding: 0 !important;
    color: #1a2b4a !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-html {
    margin: .35rem 1.5rem 0 !important;
    color: #5a6f8a !important;
    font-size: .9rem !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-actions {
    margin: 1.1rem 0 0 !important;
    gap: 14px !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-actions > .tm-swal-btn {
    margin: 0 !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-btn {
    padding: .65rem 1.3rem !important;
    border: 0 !important;
    border-radius: 10px !important;
    font: 700 .9rem Inter, system-ui, sans-serif !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-btn-confirm,
.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-btn-deny {
    color: #fff !important;
    background: linear-gradient(135deg, #1166b0, #2c84cf) !important;
    box-shadow: 0 4px 14px rgba(17, 102, 176, .28) !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-btn-cancel {
    color: #31577e !important;
    background: #edf5fc !important;
}

.tm-swal-popup.tm-swal-global:not(.swal2-toast) .tm-swal-btn-danger {
    color: #fff !important;
    background: linear-gradient(135deg, #c94455, #e25e6d) !important;
    box-shadow: 0 4px 14px rgba(201, 68, 85, .25) !important;
}

.tm-notificacao {
    overflow: hidden;
    padding-bottom: .95rem;
    pointer-events: auto;
}

.tm-notificacao-progresso {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: rgba(17, 102, 176, .12);
}

.tm-notificacao-progresso > span {
    display: block;
    width: 100%;
    height: 100%;
    background: #1166b0;
    transform: scaleX(1);
    transform-origin: left center;
}

.tm-notificacao.sucesso .tm-notificacao-progresso > span { background: #1c9a63; }
.tm-notificacao.erro .tm-notificacao-progresso > span { background: #d14d5c; }

.modal-qr-code {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(16, 65, 120, .2);
}

.modal-qr-code-fechar {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
}

.modal-qr-code-corpo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    padding: 1.75rem 1.75rem 1.4rem;
}

.modal-qr-code-icone {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    color: #1166b0;
    background: #edf5fc;
    border-radius: 10px;
    font-size: 1.05rem;
}

.modal-qr-code-corpo h5 {
    margin: 0;
    color: #1a2b4a;
    font-size: 1.12rem;
    font-weight: 700;
}

.modal-qr-code-imagem {
    display: grid;
    min-width: 220px;
    min-height: 220px;
    place-items: center;
    padding: .55rem;
    background: #fff;
    border: 1px solid #e1eaf3;
    border-radius: 14px;
}

.modal-qr-code-imagem img {
    display: block;
    width: 220px;
    height: 220px;
    image-rendering: pixelated;
}

.modal-qr-code-rodape {
    justify-content: center;
    gap: .5rem;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 1px solid #edf1f5;
}

.modal-qr-code-cabecalho {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.modal-qr-code-cabecalho {
    align-self: stretch;
    justify-content: flex-start;
}

/* Área de clique ampliada para os menus de ações das tabelas. */
.table td .dropdown > button.btn[data-bs-toggle="dropdown"] {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    cursor: pointer;
}

.table td .dropdown > button.btn[data-bs-toggle="dropdown"] > i,
.table td .dropdown > button.btn[data-bs-toggle="dropdown"] > svg {
    pointer-events: none;
}
/* Botões de ações nas tabelas: mantém o ícone limpo quando o menu está ativo. */
.table .dropdown > .btn.btn-ghost-secondary:hover,
.table .dropdown > .btn.btn-ghost-secondary:focus,
.table .dropdown > .btn.btn-ghost-secondary:focus-visible,
.table .dropdown > .btn.btn-ghost-secondary:active,
.table .dropdown > .btn.btn-ghost-secondary.active,
.table .dropdown > .btn.btn-ghost-secondary.show {
    color: var(--tblr-btn-color, var(--tblr-secondary)) !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
