.w09px {
    width: 09px !important;
}

.w10px {
    width: 10px !important;
}

.w11px {
    width: 11px !important;
}

.w12px {
    width: 12px !important;
}

.w13px {
    width: 13px !important;
}

.w14px {
    width: 14px !important;
}

.w15px {
    width: 15px !important;
}

.w20px {
    width: 20px !important;
}

.w25px {
    width: 25px !important;
}

.w30px {
    width: 30px !important;
}

.w35px {
    width: 35px !important;
}

.w40px {
    width: 40px !important;
}

.w45px {
    width: 45px !important;
}

.w50px {
    width: 50px !important;
}

.w55px {
    width: 55px !important;
}

.w60px {
    width: 60px !important;
}

.w65px {
    width: 65px !important;
}

.w70px {
    width: 70px !important;
}

.w75px {
    width: 75px !important;
}

.w80px {
    width: 80px !important;
}

.w85px {
    width: 85px !important;
}

.w90px {
    width: 90px !important;
}

.w95px {
    width: 95px !important;
}

.w100px {
    width: 100px !important;
}

.h09px {
    height: 09px !important;
}

.h10px {
    height: 10px !important;
}

.h11px {
    height: 11px !important;
}

.h12px {
    height: 12px !important;
}

.h13px {
    height: 13px !important;
}

.h14px {
    height: 14px !important;
}

.h15px {
    height: 15px !important;
}

.h20px {
    height: 20px !important;
}

.h25px {
    height: 25px !important;
}

.h30px {
    height: 30px !important;
}

.h35px {
    height: 35px !important;
}

.h40px {
    height: 40px !important;
}

.h45px {
    height: 45px !important;
}

.h50px {
    height: 50px !important;
}

.h55px {
    height: 55px !important;
}

.h60px {
    height: 60px !important;
}

.h65px {
    height: 65px !important;
}

.h70px {
    height: 70px !important;
}

.h75px {
    height: 75px !important;
}

.h80px {
    height: 80px !important;
}

.h85px {
    height: 85px !important;
}

.h90px {
    height: 90px !important;
}

.h95px {
    height: 95px !important;
}

.h100px {
    height: 100px !important;
}


.fs70px {
    font-size: 70px !important;
}

.fs75px {
    font-size: 75px !important;
}

.fs80px {
    font-size: 80px !important;
}

.fs85px {
    font-size: 85px !important;
}

.fs90px {
    font-size: 90px !important;
}

.fs95px {
    font-size: 95px !important;
}

.fs100px {
    font-size: 100px !important;
}

.ws-nowrap {
    white-space: nowrap !important;
}

body.dark .layout-px-spacing, .layout-px-spacing {
    min-height: calc(100vh - 155px) !important;
}

#sidebarMainMenu1 .icon-text {
    display: inline-flex;
    align-items: center;
    gap: .90em;
}

#sidebarMainMenu1 .icon-text .material-symbols-rounded {
    font-size: 1.3em;
    line-height: 1;
    transform: translateY(.06em);
    opacity: 0.7;
}

.normalize-icon-text {
    display: flex;
    align-items: center;
    align-content: center;
    gap: .35em;
}

.normalize-icon-text .material-symbols-rounded {
    line-height: 1;
    transform: translateY(.06em);
}

.text-material {
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
    gap: .25em !important;
    padding-top: 1px !important;
}

.text-material-inline {
    display: inline-flex !important;
    align-items: center !important;
    align-content: center !important;
    gap: .25em !important;
    padding-top: 1px !important;
}

.text-material .material-symbols-rounded {
    margin-top: -3px !important;
}

.text-right {
    text-align: right !important;
}

.text-left {
    text-align: left !important;
}

.pull-left, .float-left {
    float: left !important;
}

.pull-right, .float-right {
    float: right !important;
}

.clear, .clearfix {
    clear: both !important;
}

.j_bulk_actions__select {
    --radius: 6px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
    display: inline-block;
    border: 1px solid #d2d6da;
    padding: 4px !important;
    font-size: 12px !important;
    line-height: 12px !important;
    outline: 0 !important;
}

.custom-table {
    width: 100%;
    max-width: 100%;
}

.contact-table thead th {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 11px;
    color: #fff;
    text-align: left;
    padding: 6px 16px;
    background: #805dca;
    border-color: #805dca !important;
}

/* Borda contínua só no contorno da linha */
.contact-table thead tr th {
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    border-left: 0;
    border-right: 0;
    color: #fff;
}

.contact-table thead tr th:first-child {
    border-left: 1px solid #dcdcdc;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.contact-table thead tr th:last-child {
    border-right: 1px solid #dcdcdc;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.contact-table {
    width: 100%;
    border-collapse: separate; /* mantém o espaçamento vertical */
    border-spacing: 0 8px; /* espaço entre as linhas */
}

/* Fundo da “cartinha” */
.contact-table tbody td {
    background: #fff;
    padding: 14px 16px;
    vertical-align: middle;
    text-align: left;
}

.contact-table tbody tr td:first-child {
    border-left: 1px solid #dcdcdc;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.contact-table tbody tr td:last-child {
    border-right: 1px solid #dcdcdc;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Borda contínua só no contorno da linha */
.contact-table tbody tr td {
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    border-left: 0;
    border-right: 0;
    color: #4C4C4C;
}

.contact-table tbody tr:hover td {
    border-color: #cdcdcd;
}

.contact-table tbody tr:hover td:first-child {
    border-color: #cdcdcd;
}

.contact-table tbody tr:hover td:last-child {
    border-color: #cdcdcd;
}

/* Hover opcional */
.contact-table tbody tr:hover td {
    box-shadow: 0 2px 8px rgba(2, 6, 23, .09);
}

.th-sm, .td-sm {
    padding-left: 14px !important;
    padding-right: 10px !important;
    width: 30px !important;
    white-space: nowrap !important;
}

.th-sm-center, .td-sm-center {
    padding-left: 14px !important;
    padding-right: 10px !important;
    width: 30px !important;
    white-space: nowrap !important;
    text-align: center!important;
}

.th-sm-right, .td-sm-right {
    padding-left: 14px !important;
    padding-right: 10px !important;
    width: 30px !important;
    white-space: nowrap !important;
    text-align: right!important;
}

.contact-table .col-checkbox {
    padding-left: 14px !important;
    padding-right: 10px !important;
    width: 30px !important;
    white-space: nowrap !important;
}

.contact-table .col-is-online {
    padding-left: 14px !important;
    padding-right: 10px !important;
    width: 30px !important;
    white-space: nowrap !important;
}

.contact-table .col-actions {
    padding-left: 10px !important;
    padding-right: 12px !important;
    width: 30px !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* responsivo: empilhar colunas em telas muito estreitas */
@media (max-width: 720px) {
    .hide-sm {
        display: none;
    }
}

.btn-xxs {
    padding: .20rem .45rem !important;
    font-size: .70rem !important;
    line-height: 1.20 !important;
    border-radius: .38rem !important;
}

.btn-xxs > .text-material i {
    font-size: .90rem !important;
    line-height: 1.20 !important;
}

.btn-xs {
    padding: .22rem .50rem !important;
    font-size: .77rem !important;
    line-height: 1.20 !important;
    border-radius: .35rem !important;
}

.btn-xs > .text-material i {
    font-size: 1.00rem !important;
    line-height: 1.20 !important;
}

.btn-sm {
    padding: .24rem .55rem !important;
    font-size: .85rem !important;
    line-height: 1.20 !important;
    border-radius: .45rem !important;
}

.btn-sm > .text-material i {
    font-size: 1.10rem !important;
    line-height: 1.20 !important;
}

.btn-md {
    padding: .27rem .60rem !important;
    font-size: .93rem !important;
    line-height: 1.20 !important;
    border-radius: .45rem !important;
}

.btn-md > .text-material i {
    font-size: 1.20rem !important;
    line-height: 1.20 !important;
}

.btn-lg {
    padding: .60rem .65rem !important;
    font-size: 1.1rem !important;
    line-height: 1.20 !important;
    border-radius: .45rem !important;
}

.btn-lg > .text-material i {
    font-size: 1.20rem !important;
    line-height: 1.20 !important;
}

.select2-dropdown li {
    color: #4c4c4c !important;
}

.select2-dropdown li:hover {
    background: #f3f3f3 !important;
}

.select2-results__option--highlighted {
    background: #fff !important;
}

.select2-selection, .form-control {
    height: 38px !important;
}

.select2-search__field {
    font-size: 11px !important;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    margin: 0 5px !important;
    padding: 6px !important;
    width: calc(100% - 10px) !important;
}

.select2-selection {
    border-color: #cdcdcd !important;
    height: 35px !important;
}

.select2-selection__rendered {
    height: 35px !important;
    line-height: 35px !important;
    font-size: 13px !important;
    color: #4c4c4c !important;
    vertical-align: center;
}

textarea.form-control {
    min-height: 100px !important;
    resize: none !important;
}

.container-filters .form-control {
    font-size: 11px !important;
    padding: 5px 8px !important;
    height: 35px !important;
    line-height: 13px !important;
    color: #4c4c4c;
}

.container-filters label {
    height: 20px !important;
    font-size: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.form-buttons-filter .btn {
    display: inline-block !important;
    margin: 22px 0 0 0 !important;
    width: 35px !important;
    height: 35px !important;
    line-height: 50px !important;
    padding: 0 !important;
    text-align: center !important;
}

.form-buttons-filter i {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: center !important;
}

.form-group .form-label {
    height: 20px !important;
    font-size: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.form-control {
    padding: 8px !important;
}

.form-control:not(:focus):not(:active) {
    border-color: #cdcdcd !important;
}

textarea.form-control {
    min-height: 100px !important;
    resize: none !important;
}

form .invalid-feedback {
    font-size: 12px !important;
    margin: 0 !important;
    padding: 5px !important;
}

form .form-control.is-invalid,
form .form-group.is-invalid .form-control {
    border-color: #DC3644 !important;
}

form .col-actions .dropdown-menu .dropdown-item {
    font-size: 14px !important;
}

form .col-actions .dropdown-menu .dropdown-item * {
    font-size: 16px !important;
}

form.j_frm .form-label {
    height: 20px !important;
    font-size: 12px !important;
    margin: 15px 0 0 0 !important;
    padding: 0 !important;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

form.j_frm .form-control {
    font-size: 14px !important;
    line-height: 14px !important;
    color: #4c4c4c;
}

select.form-control,
select.form-select {
    appearance: auto;
    -webkit-appearance: menulist;
    background-image: none;
}

.action-btn {
    display: flex !important;
    align-content: center !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.action-btn > * {
    margin: 0 0 0 5px !important;
    white-space: nowrap !important;
}

.overflow-ellipsis-container,
.overflow-ellipsis-container .form-check {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.overflow-ellipsis-container .form-check .form-check-label {
    flex: 1 1 auto;
}

.overflow-ellipsis-container .overflow-ellipsis {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    width: 100% !important;
}

.custom-fast-search-js-btn {
    border: 1px solid #ccc !important;
    --radius: 6px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
    background: #fff !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    color: #4c4c4c !important;
    outline: 0 !important;
    padding: 4px 6px !important;
    line-height: 16px !important;
    width: auto;
    height: 28px !important;
    max-width: 100% !important;
}

.breadcrumb-style-one, .breadcrumb-style-one * {
    font-size: 17px !important;
}

.tooltip, .tooltip * {
    font-size: 12px !important;
}

.modal_iframe {
    position: fixed;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.7);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 !important;
    height: 1px !important;
    width: 1px !important;
}

.modal_iframe.modal_iframe_show {
    height: 100% !important;
    width: 100% !important;
}

.modal_iframe_box {
    background: #fff;
    width: calc(100% - 40px) !important;
    height: calc(100% - 40px) !important;
    margin: 20px !important;
    overflow-y: hidden !important;
    border-radius: 20px !important;
    -moz-border-radius: 20px !important;
    -webkit-border-radius: 20px !important;
}

.modal_iframe_box iframe {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 0 !important;
    margin: 10px;
    border-radius: 15px !important;
    -moz-border-radius: 15px !important;
    -webkit-border-radius: 15px !important;
}

.modal_iframe_close,
.modal_iframe_close_confirm {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
}

.modal_iframe_close button,
.modal_iframe_close_confirm button {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    line-height: 36px !important;
    border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
}

.modal_iframe_close *,
.modal_iframe_close_confirm * {
    font-size: 20px !important;
}

.remove-before::before {
    content: none !important;
    background: none !important;
    backdrop-filter: none !important;
    width: 0 !important;
    height: 0 !important;
    position: static !important;
    z-index: auto !important;
}

.c-pointer, .cursor-pointer {
    cursor: pointer !important;
}

.order-icons-group {
    cursor: pointer !important;
    white-space: nowrap !important;
}

.order-icons {
    display: inline-block;
    position: relative;
    width: 15px !important;
    height: 15px !important;
    margin: 0;
    padding: 0;
    color: #ddd;
}

.order-icons i {
    position: absolute;
    margin: 0;
    padding: 0;
    font-size: 22px !important;
}

.order-icons i:first-of-type {
    left: 2px;
    top: -5px;
}

.order-icons i:last-of-type {
    left: 2px;
    bottom: -10px;
}

.order-icons-group[data-orderby-dir="asc"] i:first-of-type {
    color: #001951 !important;
}

.order-icons-group[data-orderby-dir="desc"] i:last-of-type {
    color: #001951 !important;
}

.font-weight-bold {
    font-weight: bold !important;
}

.btn-block {
    width: 100% !important;
}

.btn-center {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-content: center !important;
    align-items: center !important;
    justify-content: center !important;
}

.gallery_sortable__container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    align-content: flex-start;
}

.gallery_sortable__box {
    position: relative;
    background: #dedede;
    border: 3px solid #fff;
    outline: 1px solid #ccc;
    margin: 3px;
    flex-basis: calc(25% - 6px);
    --radius: 4px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
    cursor: move;
}

.gallery_sortable__container_6 .gallery_sortable__box {
    flex-basis: calc(16.66666667% - 6px) !important;
}

.gallery_sortable__container_7 .gallery_sortable__box {
    flex-basis: calc(14.28571429% - 6px) !important;
}

.gallery_sortable__img {
    width: auto;
    height: 60px;
    display: block;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    outline: 0;
}

.gallery_sortable__btn_destroy {
    width: 15px;
    height: 15px;
    padding: 0;
    margin: 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    text-align: center;
    line-height: 10px;
    font-weight: bold;
    font-size: 10px;
    position: absolute;
    top: 0;
    right: 0;
    border: 0;
    text-transform: uppercase;
    --radius: 2px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
}

.gallery_sortable__btn_destroy__confirmed {
    width: 15px;
    height: 15px;
    padding: 0;
    margin: 0;
    background: yellow;
    color: #414141;
    text-align: center;
    line-height: 10px;
    font-weight: bold;
    font-size: 10px;
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid #414141;
    text-transform: uppercase;
    --radius: 2px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
}

.gallery_sortable__btn_destroy:hover {
    background: red;
    cursor: pointer;
}

.gallery_sortable__btn_destroy__confirmed:hover {
    background: yellow !important;
    color: #4c4c4c !important;
}

.position-relative {
    position: relative !important;
}

.card-curtain {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(255, 255, 255, 0.8) !important;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    --radius: 8px;
    border-radius: var(--radius);
    -moz-border-radius: var(--radius);
    -webkit-border-radius: var(--radius);
    font-size: 11px;
    color: #777;
    z-index: 1000;
}

.min-height-100px {
    min-height: 100px !important;
}

.mb-0--force {
    margin-bottom: 0 !important;
}

.btn-inline-with-input {
    margin-top: 39px !important;
    float: right !important;
}

.top-5px {
    top: 5px !important;
}

.top-10px {
    top: 10px !important;
}

.top-15px {
    top: 15px !important;
}

.end-5px {
    right: 5px !important;
}

.end-10px {
    right: 10px !important;
}

.end-15px {
    right: 15px !important;
}

/* Autocomplete (jQuery UI) */
.ui-autocomplete {
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid #c5c5c5;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    padding: 6px 0;
    z-index: 2000 !important;
    background: #fff;
}

.ui-autocomplete .ui-menu-item-wrapper {
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.3;
    color: #0e1726;
    white-space: normal;
    word-break: break-word;
}

.ui-autocomplete .ui-state-active {
    background: #eef5ff;
    border: 1px solid #d0e3ff;
    color: #0e1726;
    margin: 0;
}

/* Helpers de fonte (classes fsXXpx e fs-XXpx) */
.fs08px, .fs-08px { font-size: 8px !important; }
.fs09px, .fs-09px { font-size: 9px !important; }
.fs10px, .fs-10px { font-size: 10px !important; }
.fs11px, .fs-11px { font-size: 11px !important; }
.fs12px, .fs-12px { font-size: 12px !important; }
.fs13px, .fs-13px { font-size: 13px !important; }
.fs14px, .fs-14px { font-size: 14px !important; }
.fs15px, .fs-15px { font-size: 15px !important; }
.fs16px, .fs-16px { font-size: 16px !important; }
.fs18px, .fs-18px { font-size: 18px !important; }
.fs20px, .fs-20px { font-size: 20px !important; }
.fs22px, .fs-22px { font-size: 22px !important; }
.fs25px, .fs-25px { font-size: 25px !important; }
.fs30px, .fs-30px { font-size: 30px !important; }
.fs35px, .fs-35px { font-size: 35px !important; }
.fs40px, .fs-40px { font-size: 40px !important; }
.fs45px, .fs-45px { font-size: 45px !important; }
.fs50px, .fs-50px { font-size: 50px !important; }
.fs55px, .fs-55px { font-size: 55px !important; }
.fs60px, .fs-60px { font-size: 60px !important; }
.fs65px, .fs-65px { font-size: 65px !important; }
