﻿/* Bootstrap Validation Summary Override */
:root {
    --text-primary-color-arb: #0067ab;
    --disabled-color-arb: #979797;
    --secondary-color: #f89420;
    --background-main-color: #f4f7ff;
}

/* Estilos para el formato de título y descripción en tablas */
.title-description {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.title-description .table-title {
    margin: 0;
}

.title-description .table-description {
    color: #8c8c8c;
    display: block;
    font-size: 11px;
}

/* Estilos para la estructura personalizada de tabla */
.table-responsive {
    overflow-x: auto;
}

.table-wrapper {
    width: 100%;
}

.custom-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.custom-header {
    display: flex;
    background-color: #f5f5f5;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
}

.custom-row {
    display: flex;
    border-bottom: 1px solid #eee;
}

.custom-row:hover {
    background-color: #f9f9f9;
}

.custom-cell {
    flex: 1;
    padding: 10px;
    display: flex;
    align-items: center;
    min-width: 100px;
}

.custom-cell.text-center {
    justify-content: center;
}

.custom-cell.text-right {
    justify-content: flex-end;
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #507cc3;
}

::-webkit-scrollbar-thumb:hover {
    background: #173f80;
}

/* DARK MODE */

textarea {
    padding: 7px 12px !important;
}

body.mod-skin-dark {
    background-color: #646464 !important;
}

body.mod-skin-dark .btn-custom {
    background: #26272b;
    color: #a5abb1;
}

body.mod-skin-dark .btn-container {
    background-color: #8c8c8c;
}

body.mod-skin-dark .alert-banner {
    background-color: #3d3d3d;
    color: white;
}

body.mod-skin-dark .inputBackground {
    background-color: #51513b;
}

body.mod-skin-dark ::-webkit-scrollbar-track {
    background: #ababab;
}

/* Esto cambiará el color del thumb del scrollbar */
body.mod-skin-dark ::-webkit-scrollbar-thumb {
    background: #5e5e5e;
}

/* Cambiar el color del thumb del scrollbar al pasar el mouse */
body.mod-skin-dark ::-webkit-scrollbar-thumb:hover {
    background: #424242;
}

/* DARK MODE */

.autorizador {
    display: flex;
    flex-direction: row;
    padding: 10px;
    background-color: #e9e9e9;
    width: 100%;
    margin: 10px;
    max-width: 400px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}

.grouper-content {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 24px;
}

.input-background-total {
    font-size: 18px;
    font-weight: 700;
    background-color: #ff030314 !important;
}

.autorizador div:nth-child(1) {
    width: calc(100% - 120px);
}

.autorizador div:nth-child(1) span {
    font-size: 14px;
    color: red;
}

.autorizador div:nth-child(2) {
    width: 120px;
}

.autorizador .autho {
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.autorizador .autho p {
    margin: 0;
    margin-bottom: 10px;
    font-size: 25px;
}

.autorizador .autho input {
    margin: 0;
    padding: 0;
    border: 0;
    appearance: none;
    padding: 10px 15px;
    margin-bottom: 10px;
    background-color: white !important;
    border: 1px solid gray;
    width: 100%;
    box-sizing: border-box;
}


.blocker {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    z-index: 10000;
}

.blocker.active {
    visibility: visible;
    transition: .4s opacity;
    opacity: 1;
}

.container-general {
    height: 96%;
    max-width: 1800px;
    margin: 0 auto;
}

.validation-summary-valid {
    display: none;
}

.validation-summary-errors ul {
    margin-bottom: 0;
    padding-left: 1rem;
}

.alert.validation-summary-errors {
    margin-bottom: 1rem;
}

.col-0 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 4.166665%;
    flex: 0 0 4.166665%;
    max-width: 4.166665%;
    width: 4.166665%;
}

.col-1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
    width: 8.33333%;
}

.col-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.66666%;
    flex: 0 0 16.66666%;
    max-width: 16.66666%;
    width: 16.66666%;
}

.dataTables_empty {
    font-size: 1.5rem !important;
}

/* Reference classes, no implementation */
.base,
.needs-validation,
.flex-start,
.text-faded,
.app-container-demo,
.lang-js,
.lang-csharp,
.has-tooltip,
.has-popover {}

/* Keeps analyzers happy */
.js-waves-off,
.js-waves-on,
.js-get-date,
.js-collapse,
.js-modal-settings,
.js-filter-message,
.js-buttons,
.js-icon-class,
.js-icon-copy,
.js-bg-color,
.js-bg-gradient,
.js-bg-gradient-demo,
.js-bg-target {}

/* Small word wrap correction */
section>ol>li {
    word-break: break-all;
}

code {
    border: 1px solid silver;
    padding: 0.03rem 0.2rem !important;
}

pre.prettyprint {
    border-radius: 0.2rem;
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
}

.documentation h2 {
    color: var(--primary);
}

.documentation th:first-child,
.documentation th:nth-child(3) {
    width: 16%;
}

.documentation blockquote {
    margin-left: 1rem;
    padding: 1rem 1rem 0.01rem 1rem;
    font-weight: 400;
    border-radius: 0 4px 4px 0;
    background: #edf2f9;
    border-left: 3px solid var(--primary);
}

.documentation blockquote.info {
    background: #edf2f9;
    border-left: 3px solid var(--info);
}

.documentation blockquote.warning {
    background: #fff4db;
    border-left: 3px solid var(--warning);
}

.documentation blockquote.danger {
    background: #fadeeb;
    border-left: 3px solid var(--danger);
}

.panel-chart {
    padding: 15px;
    width: 100%;
    background-color: white;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .5);
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    min-height: 200px;
    z-index: 100;
}

.panel-chart .title {
    width: 100%;
    min-height: 40px;
}

.title h2 {
    width: 100%;
    margin: 0;
}

.panel-container .title {
    margin: 0 0 0 16px;
}

.panel-container .title h4 {
    font-weight: 600;
    font-size: 20px;
}

.panel-chart .chart-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.panel-chart .panel-loader {
    position: absolute;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .72);
    top: 0;
    left: 0;
    z-index: 200;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
}

.account-status-drawer {
    width: 100%;
    gap: 20px;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    padding: 10px;
    position: relative;
    max-height: 400px;
    z-index: 100;
    border: 1px solid #ccc;
    background-color: #f3f3f3;
    /*-webkit-box-shadow: inset 0px 0px 15px 5px rgba(0,0,0,0.03);
    box-shadow: inset 0px 0px 15px 5px rgba(255,255,255,.5);*/
}

.account-status-drawer::-webkit-scrollbar {
    width: 10px;
}

.account-status-drawer::-webkit-scrollbar-thumb {
    background-color: #ccc;
}

.account-status-drawer>.transaction {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.account-status-drawer>.transaction>.parent {
    background-color: white;
    display: flex;
    gap: 10px;
    min-height: 50px;
    height: 50px;
    position: relative;
    border: 1px solid #ccc;
    box-shadow: 0 3px 5px rgba(0, 0, 0, .1);
    cursor: pointer;
    z-index: 90;
}

.account-status-drawer>.transaction>.parent>div:nth-child(n) {
    height: 100%;
}

.account-status-drawer>.transaction>.parent>.drop {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 5%;
}

.account-status-drawer>.transaction>.parent>.parent-date {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 10%;
    font-size: 10px;
    flex-direction: column;
}

.account-status-drawer>.transaction>.parent>.parent-date>span {
    display: block;
}

.account-status-drawer>.transaction>.parent>.parent-transac {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15%;
}

.account-status-drawer>.transaction>.parent>.parent-transac>span {
    font-weight: bold;
}

.account-status-drawer>.transaction>.parent>.parent-nc {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    font-size: 14px;
}

.account-status-drawer>.transaction>.parent>.parent-balance {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    font-size: 14px;
}

.account-status-drawer>.transaction>.parent span {
    font-weight: bold;
}

.account-status-drawer>.transaction>.parent>.parent-pago {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20%;
    font-size: 14px;
}

.account-status-drawer>.transaction>.parent>.parent-status {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 10px;
    width: 10%;
    padding: 10px;
}

.account-status-drawer>.transaction>.childs {
    padding-left: 40px;
    /* background-color: white;*/
    padding-bottom: 10px;
    padding-right: 10px;
    transform: translateY(-50%);
    opacity: 0;
    display: none;
}

.account-status-drawer>.transaction>.childs>.table-responsive {
    background-color: white;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.account-status-drawer>.transaction.show>.childs {
    display: block;
    animation: dropDownList .5s forwards;
}

.account-status-drawer>.transaction.show>.parent>.drop {
    transform: rotate(180deg);
    transition: 0.3s
}

@keyframes dropDownList {
    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

/* .inputBackground {
    background-color: #ffffc5 !important;
} */

.centerElement {
    margin-left: 250px;
}


/*Socios*/
.associate-profile-pic {
    width: 100%;
    height: 169px;
    margin-bottom: 24px;
    position: relative;
    border-radius: 4px;
    border: 1px solid #cccccc;
}

.associate-profile-pic.h-95 {
    height: 203px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.associate-profile-pic>img {
    width: 70%;
    height: 70%;
    object-fit: contain;
    position: absolute;
    position: relative;
}

img.full-container {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.associate-input-image {
    appearance: none;
    -webkit-appearance: none;
    visibility: hidden;
    position: absolute;
    width: 0;
    height: 0;
}

.associate-profile-pic .add-icon {
    position: absolute;
    bottom: 4px;
    right: 4px;
    font-size: 44px;
    color: #ababab;
}

.associate-profile-pic .icons-open {
    display: flex;
    align-items: center;
    gap: 8px;
    position: absolute;
    bottom: -24px;
    width: 100%;
    justify-content: center;
    z-index: 999;
}

.associate-profile-pic .icons-open i {
    font-size: 24px;
    color: var(--text-primary-color-arb);
    cursor: pointer;
    animation: subirYBajar 2s normal;
}

.associate-label {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 20;
    cursor: pointer;
    display: flex;
    margin: 0;
}

.associate-label:not(.disable):hover {
    background-color: rgb(0 0 0 / 45%);
    transition: 0.3s;
}

.direction,
.phones,
.grouper {
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    position: relative;
    transform: scale(1.4);
    opacity: 0;
    background-color: white;
}

.grouper-paragraph {
    font-weight: 600;
    font-size: 16px;
}

.direction.show,
.phones.show,
.grouper.show {
    transition: 0.4s;
    transform: scale(1);
    opacity: 1;
    z-index: 40;
    /* min-height: 192px; */
}

.min-height {
    min-height: 173px;
}

/*SELECT 2 MY*/

.select2my {
    box-sizing: border-box;
    width: 100%;
    position: relative;
}

.select2my,
.select2my * {
    box-sizing: border-box;
}

.select2my.open {
    z-index: 80;
}

.select2my .holder {
    width: 100%;
    border: 1px solid #94949478;
    display: flex;
    position: relative;
    padding: 0 0.875rem;
    cursor: pointer;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border-radius: 4px;
}

.select2my .holder .show {
    width: 90%;
    overflow: hidden;
    height: 27.11px;
    display: flex;
    align-items: center;
    font-weight: 400;
    line-height: 1.47;
}

.select2my p {
    margin: 0;
}

.select2my .holder .drop {
    width: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.select2my .dropdown-select2my {
    margin-top: 5px;
    width: calc(100% - 10px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    padding-top: 10px;
    overflow: hidden;
    position: absolute;
    z-index: 30;
    left: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    visibility: hidden;
    opacity: 0;
    background-color: #fff;
}

.select2my.open .holder {
    border-color: #4679cc;
}

.select2my.open .holder i {
    color: #4679cc;
    transform: rotate(180deg);
}

.select2my.open .dropdown-select2my {
    visibility: visible;
    transition: 0.3s opacity;
    opacity: 1;
    border-color: #4679cc;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .2);
    padding-bottom: 5px;
    z-index: 81;
}

.select2my.open .dropdown-select2my .search-select2my {
    border-color: #4679cc;
}

.select2my-option {
    overflow-x: hidden;
    overflow-y: scroll;
    max-height: 200px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    padding-right: 5px;
    padding-bottom: 10px;
}

.select2my-option::-webkit-scrollbar {
    width: 8px;
}

.select2my-option::-webkit-scrollbar-thumb {
    background-color: #4679cc;
}

.select2my .dropdown-select2my .search-select2my {
    width: 100%;
    display: flex;
    color: #495057;
    background-color: #fff;
    border: 2px solid #E5E5E5;
    border-radius: 4px;
    overflow: hidden;
}

.select2my .dropdown-select2my .search-select2my i {
    display: block;
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.select2my .dropdown-select2my .search-select2my input {
    width: 80%;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 0;
    overflow: hidden;
    height: 37.11px;
    display: flex;
    align-items: center;
    height: calc(1.47em + 1rem + 2px);
    padding: 0.5rem 0.875rem;
    font-weight: 400;
    line-height: 1.47;
    appearance: none;
}

.select2my .dropdown-select2my .search-select2my input:focus {
    appearance: none;
    outline: 0;
    border: 0;
}

.dropdown-select2my .option {
    border: 1px solid #ccc;
    width: 100%;
    padding: 8px 14px;
    border-radius: 5px;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
}

.select2my.open .dropdown-select2my .option:hover,
.select2my.open .dropdown-select2my .option.selected {
    color: #fff;
    font-weight: 500;
    background-color: #4679cc;
    transition: 0.2s;
    border-color: #2016ff;
}

.select2my.open .dropdown-select2my .option:active {
    transition: 0.2s;
    transform: scale(.98);
}

/*SELECT 2 MY*/


/*Location Search*/

.blocker-location {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, .5);
    visibility: hidden;
    opacity: 0;
    z-index: 8000;
    width: 100%;
    height: 100%;
}


.modal-location {
    width: 80%;
    height: 90%;
    padding: 20px 25px;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.modal-request {
    max-width: 820px !important;
    max-height: 800px !important;

}


.blocker-location.active {
    transition: 0.2s;
    visibility: visible;
    opacity: 1;
    top: 0;
    left: 0;
}


.body-location {
    width: 100%;
    height: calc(100% - 180.52px);
    padding: 20px;
    display: flex;
    gap: 20px;
}

.body-location>.shower-location {
    width: calc(100% / 3);
    position: relative;
}

.body-location ul::-webkit-scrollbar {
    width: 5px;
}

.body-location ul::-webkit-scrollbar-thumb {
    background-color: #4679cc;
    border-radius: 10px;
}

.body-location ul {
    width: 100%;
    height: calc(100% - 27.5px);
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-behavior: smooth;
}

.body-location li {
    list-style: none;
    padding: 10px;
    -webkit-user-select: none;
    user-select: none;
    margin-right: 5px;
}

.body-location ul>li>.group {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
}

.body-location ul>li:has(> .group) {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
}

.body-location ul>li>.group>ul {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.body-location li:has(> p) {
    border: 1px solid #e9e9e9;
    transition: 0.2s;
}

.body-location li:has(> p):hover,
.body-location li.hightlight {
    background-color: #ffc2415e;
    color: black;
    cursor: pointer;
}

.body-location li.selected {
    background-color: #ffc241;
    color: black;
    font-weight: 500;
}

.body-location h5 {
    color: gray;
}

.body-location p {
    margin: 0;
}

.footer-location {
    width: 100%;
    padding-top: 10px;
    display: flex;
    position: relative;
}

.position-button {
    position: absolute;
    bottom: 4px;
    right: 4px;
}

.footer-location .detail {
    width: 30%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.footer-location .detail p {
    margin: 0;
}

.footer-location .detail p span {
    font-size: 14px;
}

.footer-location .result {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.footer-location .result p {
    margin: 0;
}

.footer-location .ok-btn {
    display: flex;
    flex-direction: column-reverse;
    width: 20%;
    padding: 10px;
}

.font-bold {
    font-weight: 500 !important;
}

.custom-bg-success {
    background-color: #c3eadc !important;
    font-size: 14px;
    font-weight: 500;
}

.custom-bg-danger {
    background-color: #efd0d0 !important;
    font-size: 14px;
    font-weight: 500;
}

/* Enter custom CSS rules for your application here */


.size-btn {
    width: 100%;
}

.btn-highlight {
    background-color: #109285;
    color: mintcream;
}

.custon-wrong-border {
    border: solid 1px red;
    box-shadow: 0 0 5px rgb(255 0 0 / 80%);
}


/*Facturas pendientes  en la solicitud de prestamos*/
.table-cabezera {
    position: relative;
}

.table-cabezera .pago-factura {
    width: 30%;
}

.table-cabezera .pago-factura .input-pago {
    height: 35px;
    text-decoration: none;
    line-height: 1.47;
    width: 100%;
}

.table-cabezera .pago-factura .input-group .input-group-append button .dowm {
    font-size: 20px !important;
}

/*    .table-cabezera button {
        position: absolute;
        right: 0;
        top: 38%;
        width: 15%;
        height: 58%;
        border: 0px;
        background-color: #4679cc;
    }*/

.table-cabezera .right {
    position: absolute;
    right: 0;
    top: 0;
}

.input-group .width-select {
    margin-left: -1px;
    width: 100%;
}

.background-disabled {
    background-color: #f3f3f3;
}

/*Menu de la tabla de tabla maestra*/
.menu-container {
    position: absolute;
    box-shadow: 0 0 0px 1PX #00000060;
    background-color: #ffffff;
    min-width: 217px;
    z-index: 999;
    right: 2%;
    border-radius: 4px;
    overflow: hidden;
}

.option-menu-container {
    /* border-bottom: 1px solid; */
    cursor: pointer;
    margin-bottom: 4px;
}

.option-menu-container:hover {
    background-color: #f0f0f0;
    transition: 0.4s;
}

.text-menu-option {
    padding: 6px 12px;
    gap: 6px;
    display: flex;
    align-items: center;
    transition: 0.2s;
    margin: 6px;
    border-radius: 4px;
}

.text-menu-option:hover {
    background-color: #e2e2e2;
}

.text-menu-option p {
    margin: 0;
    text-align: left !important;
}

.hr-menu {
    background-color: #c7c7c7;
    height: 1px;
    margin: 0;
    margin: 0 11px 0 11px;
}

.background-ico {
    background-color: #cfcfcf;
}

.table-animation-menu {
    animation-name: bajar;
    animation-duration: 0.4s;
}

@keyframes bajar {
    0% {
        transform: translateY(-8%);
    }

    100% {
        transform: translateY(0%);
    }
}

/*Barra progresiva */
.barraProgresivaContenedor {
    display: flex;
    background-color: #f3f3f3;
    border-radius: 4px;
    min-height: 30px;
    margin-top: 14px;
}

.barraContenido {
    background-color: #4679cc;
    min-width: 25%;
}

.pie-barra {
    position: relative;
    display: flex;
    color: forestgreen;
    font-weight: 700;
    font-size: 14px;
}

.porcentaje {
    position: absolute;
    right: 0;
}

.table-scroll {
    display: block;
}

.table-tbody {
    display: block;
    overflow-y: scroll;
}


/*Tablas*/

.table-content {
    width: 100%;
    margin: auto;
    font-size: 12px;
}

.content-table-responsive .table-without-data {
    position: absolute;
    top: 160px;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: white;
}

.content-table-responsive .table-without-data img {
    width: 20%;
}

.content-table-responsive .table-without-data h2 {
    color: #721c24;
}

.content-receive-recipe {
    display: flex;
}

.content-receive-recipe .receive {
    display: flex;
    gap: 8px;
}

.content-receive-recipe .check-receive {
    width: 18px;
}

.content-receive-recipe .container-image-recipe {
    margin-bottom: 36px;
}

.content-receive-recipe .container-image-recipe img {
    width: 90px;
}

.table-min-height {
    height: 194px;
    overflow: hidden;
}

.table-content .custom-thead {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    font-weight: 600;
    border-top: 1px solid rgb(212, 212, 212);
    border-bottom: 1px solid rgb(212, 212, 212);
    box-shadow: 0px 2px rgba(128, 128, 128, 0.3294117647);
    color: #2f2f2fbe;
    background-color: #f3f3f38a;
}



.thead-min-height {
    height: 38px
}

.table-content .custom-thead .custom-tr {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    gap: 8px;
    align-items: center;
}

.custom-tr-focus {
    background-color: #dcdcff4f !important;
}

.content-log-auditory {
    background-color: #00000070;
    transition: 0.4s;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9999;
    display: flex;
    align-items: center;
}

.content-log-auditory .logs {
    right: -600px;
    transition: 0.4s;
    position: absolute;
    height: 94vh;
    box-shadow: 2px 2px 10px #00000050;
    background-color: white;
    z-index: 99999;
    width: 30%;
    border-radius: 4px;
    overflow-y: hidden;
}

.table-content.custom-thead .custom-tr .custom-th {
    font-weight: 700;
}


.table-content .custom-tbody {
    flex-direction: column;
    max-height: 62vh;
    overflow-y: scroll;
}

.observer-sentinel {
    width: 100%;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    pointer-events: none;
    display: block;
}

.table-content .custom-tbody .custom-tr {
    width: 100%;
    display: flex;
    justify-content: center;
    height: auto;
    padding: 10px 0;
    align-items: center;
    box-shadow: 1px 1px 1px 1px rgb(243, 242, 242);
    gap: 8px;
}

.table-content .custom-tbody .custom-tr:hover {
    background-color: #f5f4f4;
    border-radius: 4px;
    box-shadow: 0, 0, 150px rgb(181, 181, 181)
}

.tr-active {
    background-color: #dcdcff4f !important;
    box-shadow: inset 1px 0 0 #3d6fd4, inset -1px 0 0 #597cc5, 0 1px 2px 0 rgb(163 163 163), 0 1px 3px 1px rgb(177 177 177 / 23%);
}

.table-content .custom-thead .custom-tr .custom-th {
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    /* align-items: center; */
}

.table-content .custom-tbody .custom-tr .custom-td {
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}

/*max-height*/
.height-170 {
    max-height: 170px !important;
    padding: 0 0 25px 0 !important;
}

.height-120 {
    height: 120px !important;
}

.widt-lg {
    width: 46% !important;
    position: absolute !important;
    z-index: 40;
}

.position-initial {
    position: initial !important;
}

.custom-border-danger {
    border: solid 1px red !important;
    box-shadow: 0 0 4px red !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(1) {
    width: 50px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(2) {
    width: 100px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(3) {
    width: 120px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(4) {
    width: 150px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(5) {
    width: 150px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(6) {
    width: 200px !important;
}

.tbPagoFacturaSuper thead tr th:nth-child(7) {
    width: 230px !important;
}

.max-witdh-1200 {
    max-width: 1200px;
}

.max-height-3 {
    max-height: 300px !important;
}

.max-height-4 {
    max-height: 400px !important;
}

.max-height-5 {
    max-height: 500px !important;
}

.max-height-6 {
    max-height: 630px !important;
}

.validate-input {
    border: solid 1px red;
    box-shadow: 0 0 4px red;
}

.warning-input {
    border: solid 1px #b46606;
    box-shadow: 0 0 4px #ff7406;
}

/*ACCEPT REJECT BUTOM*/

.accept-reject-content {
    position: fixed;
    z-index: -1;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s;
}

.accept-content-modal {
    height: 0px;
    position: relative;
    width: 500px;
    background-color: white;
    border-radius: 6px;
    overflow: hidden;
    transition: 0.4s;
    left: 0;
    right: 0;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.accept-content-modal.important-modal i,
.accept-content-modal.important-modal h1,
.accept-content-modal.important-modal p {
    color: #DC3545 !important;
}
.accept-content-modal.important-modal #accept-button{
    background: #ff8400 !important;
}
.accept-content-modal.important-modal #reject-button {
    background: #ff0000 !important;
}

.accept-content-modal.important-modal i {
    font-size: 48px !important;
    margin-bottom: 10px !important;
}
 

.accept-content-modal.shake {
    animation: shake-it forwards 0.4s infinite;
}

@keyframes shake-it {
    0% {
        left: -20px;
    }

    15% {
        left: 0;
    }

    30% {
        right: -20px;
    }

    45% {
        right: 0;
    }

    60% {
        left: -20px;
    }

    75% {
        left: 0;
    }

    90% {
        right: -20px;
    }

    100% {
        right: 0;
    }

}

.show-content-modal {
    background-color: #33333357;
    z-index: 10000;
}

.show-accept-modal {
    height: 250px;
}

.accept-content-modal .text-content {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
}

.accept-content-modal .text-content i {
    font-size: 36px;
    color: #0067ab;
    margin-bottom: 10px;
}

.accept-content-modal .text-content h1 {
    font-size: 24px;
    color: #333333;
    text-align: center;
}

.accept-content-modal .text-content p {
    font-size: 18px;
    color: #7d7d7d;
    text-align: center;
}

.accept-content-modal .button-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
}

.accept-content-modal .button-content button.accept-btn {
    width: 140px;
    height: 40px;
    border-radius: 6px;
    border: none;
    background: var(--text-primary-color-arb);
    color: white;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
}

.accept-content-modal .button-content button.accept-btn:active {
    background: #004eab;
}

.accept-content-modal .button-content button.reject-btn {
    width: 140px;
    height: 40px;
    border-radius: 6px;
    border: none;
    background-color: var(--disabled-color-arb);
    color: white;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
}

.accept-content-modal .button-content button.reject-btn:active {
    background-color: #828282;
}

/*ACCEPT REJECT BUTOM*/

.btn-container.btn-auto-content {
    height: 111px;
    justify-content: start !important;
    transition: ease 0.4s;
    overflow: hidden;
    scroll-behavior: smooth;
}

.btn-container.btn-auto-content.active {
    height: 550px;
    overflow-y: scroll;
}

.process-row.active {
    background-color: #dcdcff4f !important;
    box-shadow: inset 1px 0 0 #3d6fd4, inset -1px 0 0 #597cc5, 0 1px 2px 0 rgb(163 163 163), 0 1px 3px 1px rgb(177 177 177 / 23%);
}

.loader-menu {
    width: 100%;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #00000020;
    z-index: 5000;
    padding: 10px;
}

/* HTML: <div class="loader"></div> */
.loader-menu .loaders {
    width: 35px;
    aspect-ratio: 1;
    --c: no-repeat linear-gradient(#fc5921 0 0);
    background:
        var(--c) 0% 50%,
        var(--c) 50% 50%,
        var(--c) 100% 50%;
    background-size: 20% 100%;
    animation: l1 1s infinite linear;
}

@keyframes l1 {
    0% {
        background-size: 20% 100%, 20% 100%, 20% 100%
    }

    33% {
        background-size: 20% 10%, 20% 100%, 20% 100%
    }

    50% {
        background-size: 20% 100%, 20% 10%, 20% 100%
    }

    66% {
        background-size: 20% 100%, 20% 100%, 20% 10%
    }

    100% {
        background-size: 20% 100%, 20% 100%, 20% 100%
    }
}

/* HTML: <div class="loader"></div> */
.general-custom-loader {
    display: none;
    width: 50px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #25b09b;
    --_m:
        conic-gradient(#0000 10%, #000),
        linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
    mask: var(--_m);
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
}

.general-custom-loader.show {
    display: initial;
}

@keyframes l3 {
    to {
        transform: rotate(1turn)
    }
}



/*Alert Banner*/
.alert-banner {
    transition: right 0.5s;
    border-radius: 5px;
    position: fixed;
    right: -510px;
    bottom: 50px;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35);
    height: 125px;
    width: 500px;
    background-color: #E8E8E8;
    overflow: hidden;
    z-index: 500000;
}

.alert-banner.show {
    right: 60px;
}

.alert-banner .object-content {
    display: flex;
    height: 94%;
    align-items: center;
    padding: 0 20px;
}

.alert-banner .object-content .content-icon {
    width: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alert-banner .object-content .content-icon i {
    font-size: 3rem;
    color: white;
}

.alert-banner .object-content .message-content {
    position: relative;
    height: 100%;
    width: 390px;
    display: flex;
    align-items: center;
    padding: 0 15px;
}

.alert-banner .object-content .message-content .message-alert p {
    font-size: 1rem;
    margin: 0;
}

.alert-banner .object-content .exit-content {
    height: 100%;
    position: relative;
}

.alert-banner .object-content .exit-content p {
    font-size: 2rem;
    font-weight: 600;
    position: absolute;
    top: 8px;
    left: 8px;
    cursor: pointer;
}

.icon-container {
    background: #a19d25;
}

.icon-container-warning,
.icon-container-danger,
.icon-container-success,
.icon-container-info {
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 25px;
}

.icon-container-warning {
    background: #a19d25;
}

.icon-container-danger {
    background: #b31914;
}

.icon-container-success {
    background: #2ea667;
}

.icon-container-info {
    background: #3daae9;
}

.loader-bar-warning,
.loader-bar-danger,
.loader-bar-success,
.loader-bar-info {
    width: 100%;
    transition: 0.2s;
}

.loader-bar-warning {
    border: solid 5px #a19d25;
}

.loader-bar-danger {
    border: solid 5px #b31914;
}

.loader-bar-success {
    border: solid 5px #2ea667;
}

.loader-bar-info {
    border: solid 5px #3daae9;
}

/*Fin Alert Banner*/
.custom-check {
    width: 20px !important;
    margin-left: 30px !important;
    cursor: pointer !important;
}

.gray {
    color: #808080ab;
}

.label-focus {
    font-weight: 700 !important;
    color: #00000091 !important;
}

.mh-58vh {
    max-height: 58vh !important;
}

.mh-86vh {
    max-height: 86vh !important;
}

.custom-scroll-table {
    overflow-y: scroll;
}

.mh-150 {
    max-height: 150px !important;
}

.mh-186 {
    max-height: 186px !important;
}

.mh-400 {
    max-height: 400px !important;
}

.mh-600 {
    max-height: 600px !important;
    overflow-y: scroll;
}

.content-add-img {
    position: absolute;
    box-shadow: 0 0 10px 2px #aaaaaa30;
    width: 75%;
    height: 167%;
    padding: 10px;
    margin: 10px 24px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-add-img .image-section {
    width: 180px;
    height: 70px;
    object-fit: contain;
}

.blue-shading {
    background-color: #dbfff8;
}

.red-shading {
    background-color: #ffe0e0;
}

.content-add-img i {
    font-size: 5rem;
    opacity: 0.2;
}

.content-add-img i.add {
    position: absolute;
    right: -13px;
    font-size: 1.2rem;
    bottom: -10px;
    opacity: 1;
    color: #2c568e;
    box-shadow: 0px 0px 8px 2px #9a9a9a5e;
    border-radius: 25px;
    padding: 4px 8px;
    z-index: 2;
    transition: 0.4s;
}

.content-add-img i.add label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
}

.content-add-img i.add:hover {
    transform: translateY(-3px);
    box-shadow: 0px 0px 12px 4px #9a9a9a5e;
}

.content-center-cost {
    overflow-y: scroll;
    height: 70vh;
}

.content-list-center-cost {
    height: 70vh;
    overflow-y: scroll;
}

/* Estilos del perfil */
.content-tree {
    width: 100%;
}

.content-tree ul {
    list-style: none;
    line-height: 2em;
}

.content-tree summary {
    cursor: pointer;
    box-shadow: 0 0 4px 2px #4646463b;
    position: relative;
    padding: 1px 8px 1px 30px;
    border-radius: 8px;
    margin-bottom: 8px;
    font-weight: 700;
    display: flex;
    text-align: center;
    min-height: 30px;
    gap: 4px;
    transition: 0.4s;
}

.content-tree summary img {
    height: 26px;
    display: none;
}

.content-tree summary span {
    width: 70%;
    display: flex;
    justify-content: end;
    text-align: end;
    font-size: 12px;
    line-height: 13px;
    font-weight: 100;
    position: absolute;
    right: 12px;
    letter-spacing: 1px;
}

.content-tree summary::marker {
    display: none !important;
}

.content-tree summary::-webkit-details-marker {
    display: none !important;
}

.content-tree ul li {
    position: relative;
    margin-bottom: 8px;
}

details ul li .span {
    font-weight: 700;
    margin-right: 10px;
    display: flex;
    gap: 6px;
}

details ul li p {
    font-size: 12px;
    /* font-weight: 100; */
    /* letter-spacing: 1px; */
    margin: 0;
}

details ul li .permisos {
    margin-right: 8px;
    border: 1px solid #b1b1b1;
    padding: 8px 6px;
    font-size: 14px;
}

.content-tree ul li::before {
    position: absolute;
    left: -10px;
    top: -8px;
    border-left: 2px solid gray;
    border-bottom: 2px solid gray;
    content: "";
    width: 8px;
    height: 2em;
}

.content-tree ul li::after {
    position: absolute;
    left: -10px;
    bottom: 0px;
    border-left: 2px solid gray;
    content: "";
    width: 8px;
    height: 100%;
}

.content-tree ul li:last-child::after {
    display: none;
}

ul.tree>li:after,
ul.tree>li:before {
    display: none;
}

ul summary::before {
    position: absolute;
    left: -13px;
    top: 0px;
    content: "+";
    background-color: var(--text-primary-color-arb);
    display: block;
    width: 28px;
    height: 33px;
    border-radius: 8px 0 0 8px;
    z-index: 99;
    text-align: center;
    /* line-height: 30px; */
    color: white;
    padding: 2px;
    box-shadow: -2px 0px 4px 2px #4646463b;
}

.box {
    box-shadow: 0 0 2px 1px #7e7c7c70;
    padding: 2px 8px;
    border-radius: 8px;
}

input[type="checkbox"] {
    cursor: pointer;
}

ul details[open]>summary::before {
    content: "-";
}


/* Tabla dinámica */

.content-table-responsive {
    /* min-width: 600px; */
    font-weight: 400;
    font-size: 1.75rem;
    border-radius: 8px;
    padding: 0 20px;
    min-height: 700px;
    position: relative;
    /* box-shadow: 0 0 19px 2px rgba(0, 0, 0, 0.25); */
}

.content-table-responsive .content-filter {
    position: absolute;
    top: 55px;
    right: -15px;
    bottom: 0;
    width: 0px;
    background-color: white;
    border-radius: 4px;
    z-index: 999;
    transition: 0.2s;
    overflow-y: auto;
    min-height: 65vh;
    max-height: 65vh;
}

.content-table-responsive .content-filter .content-btn {
    display: flex;
    gap: 8px;
    margin: 14px;
}

.content-table-responsive .content-filter .content-btn button {
    height: 30px;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border: 1px solid gray;
    transition: 0.2s;
}

.content-table-responsive .content-filter .content-btn button i {
    font-size: 20px;
}

.content-table-responsive .content-filter .content-btn .contract-extensor {
    border: 1px solid #4679cc;
}

.content-table-responsive .content-filter .content-btn .contract-extensor:hover {
    background-color: #5496ff45;
}

.content-table-responsive .content-filter .content-btn .clear-field {
    border: 1px solid #df0000;
}

.content-table-responsive .content-filter .content-btn .clear-field:hover {
    background-color: #ff000021;
}

.content-table-responsive .content-filter .container {
    height: 90%;
    overflow: auto;
    scroll-behavior: smooth;
}

.content-table-responsive .content-filter .filter-footer {
    padding: 0 14px;
    position: absolute;
    bottom: 14px;
    width: 94%;
}

.content-table-responsive .content-filter .filter-footer button {
    background-color: #4679cc;
    border: 1px solid gray;
    border-radius: 4px;
    font-size: 16px;
    color: white;
    padding: 4px 12px;
    width: 100%;
    height: 34px;
}

.content-filter .filter-added {
    /* Estilos para .filter-added cuando está dentro de .content-filter */
    margin: 0 14px;
    display: flex;
    gap: 4px;
    width: 85%;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.content-filter .filter {
    /* Estilos para .filter cuando está dentro de .content-filter */
    transition: 0.2s;
    display: flex;
    align-items: center;
    font-size: 14px;
    gap: 4px;
    padding: 4px 8px;
    background-color: #4679cc21;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
}

.content-filter .filter:hover {
    background-color: #4679cc;
    color: white;
}

.content-filter .text {
    /* Estilos para .text cuando está dentro de .content-filter */
    margin: 0;
    cursor: pointer;
}

.content-filter .delete-added {
    font-weight: 600;
    margin-bottom: 2px;
}

.content-filter .elements-filter {
    margin: 0px 14px;
}

.content-filter .content-field {
    /* Estilos para .row cuando está dentro de .content-filter */
    font-size: 16px;
    margin-bottom: 16px;
}

.content-filter .check-filter {
    /* Estilos para .check-filter cuando está dentro de .content-filter */
    display: flex;
    align-items: center;
    gap: 4px;
}

.content-filter .check-filter .input-check {
    cursor: pointer;
}

.content-filter .check-filter .label-filter {
    margin: 0;
    cursor: pointer;
}


.content-filter .filter-field {
    /* Estilos para .filter-field cuando está dentro de .content-filter */
    margin: 4px 18px;
    width: 87%;
}

.content-filter .filter-field .input-filter {
    width: 100%;
    height: 36px;
    border-radius: 4px;
    padding: 8px;
    border: 1px solid gray;
}

.append-button{
    border-radius: 4px 0 0 4px !important;
}

.content-table-responsive .filter-active {
    box-shadow: -1px 1px 4px 2px #c6c6c6;
    width: 400px;
}

.content-table-responsive .relative span {
    position: absolute;
    top: -19px;
    left: 18px;
    font-size: 16px;
    background: #e8930e;
    width: 20px;
    height: 20px;
    border-radius: 50px;
    display: flex;
    color: white;
    align-items: center;
    justify-content: center;
}

.content-table-responsive .content-filter .title {
    margin: 14px 14px;
}

.content-table-responsive .content-filter .title h4 {
    font-size: 16px;
    font-weight: 600;
}

.content-table-responsive .content-filter .burger-menu {
    left: initial;
    right: 14px;
}

.content-table-responsive .content-entry-application {
    font-size: 1rem;
}

.content-table-responsive .content-entry-application .content-image {
    padding: 10px;
    box-shadow: 0 0 2px 2px gray;
    height: 200px;
    cursor: pointer;
    transition: 0.2s;
}

.highlight-card {
    border: 4px solid #469337 !important;
}

.w-90 {
    width: 90% !important;
}

.modal-body .content-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.content-table-responsive .content-entry-application .content-image:hover {
    transform: translate(0px, -5px);
}

.content-table-responsive .content-entry-application .content-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mix-height-600 {
    min-height: 700px;
    /* position: relative; */
    overflow: hidden;
}

.mix-height-490 {
    min-height: 490px;
    position: relative;
}

.content-table-responsive .table-header {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: end;
    font-size: 1rem;
    margin-bottom: 12px;
}

.content-table-responsive .table-header .content-search {
    display: flex;
    align-items: center;
    padding: 0;
    gap: 10px
}

.content-table-responsive .table-header .content-search .btn-filter {
    cursor: pointer;
    padding: 4px 12px;
    border: 1px solid gray;
    border-radius: 4px;
    background-color: #4679cc;
    color: white;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    gap: 8px;
    position: relative;
}

.btn-filter .filter-active {
    position: absolute;
    left: -15px;
    top: -15px;
    width: 28px;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 28px;
    border-radius: 50%;
    box-shadow: 0 0 3px 1px red;
}

.btn-filter .filter-active p {
    color: #f40000;
    font-weight: 600;
    font-size: 22px;
}


.content-table-responsive .table-header .content-search .btn-filter label {
    margin: 0;
    cursor: pointer;
    font-size: 18px;
    font-weight: 300;
}

.content-table-responsive .table-header .content-search .input {
    max-width: 214px;
}

.content-table-responsive .table-header .content-search p {
    margin: 0;
}

.content-table-responsive .table-header .content-search input {
    font-size: 0.9rem;
    height: 24px;
    border-radius: 6px;
    border: 1px solid gray;
    padding: 14px 12px;
    width: 100%;
}




.content-table-responsive .table-header .content-search select {
    font-size: 0.9rem;
    height: 30px;
    border-radius: 6px;
    border: 1px solid gray;
    padding: 2px 12px;
    cursor: pointer;
    width: 100%;
}

.content-table-responsive table {
    font-size: 0.9rem;
    width: 100%;
}

.content-table-responsive table thead {
    box-shadow: 0px 2px rgba(128, 128, 128, 0.3294117647);
    color: #2f2f2fbe;
    background-color: #f3f3f38a;
}

.table-responsive table thead {
    box-shadow: 0px 2px rgba(128, 128, 128, 0.3294117647);
    color: #2f2f2fbe;
    background-color: #f3f3f38a;
}

.content-table-responsive table thead tr th {
    padding: 4px 20px 4px 4px;
    position: relative;
    /* cursor: pointer; */
}

.table-responsive table thead tr th {
    padding: 4px 20px 4px 4px;
    position: relative;
    /* cursor: pointer; */
}


.content-table-responsive table tfoot tr th {
    padding: 4px 20px 4px 4px;
    position: relative;
    /* cursor: pointer; */
}

.table-responsive table tfoot tr th {
    padding: 4px 20px 4px 4px;
    position: relative;
    /* cursor: pointer; */
}

.content-table-responsive table thead tr .th.order-column::after {
    content: "▲";
    color: rgba(128, 128, 128, 0.4117647059);
    position: absolute;
    right: 4px;
    transition: 0.2s;
    bottom: 4px;
}

.table-responsive table thead tr .th.order-column::after {
    content: "▲";
    color: rgba(128, 128, 128, 0.4117647059);
    position: absolute;
    right: 4px;
    transition: 0.2s;
    bottom: 4px;
}

.content-table-responsive table thead tr .th[data-order="desc"]::after {
    transform: rotate(180deg);
    right: 8;
    bottom: 10px;
}

.content-table-responsive table tbody {
    font-weight: 300;
}

.content-table-responsive table tbody tr:nth-child(even) {
    /* box-shadow: 0px 1px rgba(128, 128, 128, 0.3294117647); */
    background-color: #f5f5f58c;

}

.content-table-responsive table tbody tr:hover {
    transition: 0.2s;
    background-color: #ededed;
    border-radius: 4px;
}

.table-responsive table tbody tr:hover {
    transition: 0.2s;
    background-color: #ededed;
    border-radius: 4px;
}

.hover-table-record:hover {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-radius: 4px;
}

.content-table-responsive table tbody tr td,
.content-table-responsive table tfoot tr td {
    padding: 4px 20px 4px 4px;
    vertical-align: middle;
}

.table-responsive table tbody tr td,
.table-responsive table tfoot tr td {
    padding: 4px 20px 4px 4px;
    vertical-align: middle;
}

.content-table-responsive table tbody tr td i.delete {
    color: red;
    font-size: 24px;
    cursor: pointer;
}

.custom-tbody div i.delete {
    color: red;
    font-size: 24px;
    cursor: pointer;
}

.content-table-responsive table tbody tr td img {
    width: 80px;
    height: 60px;
    object-fit: contain;
}

.content-table-responsive table tbody .tr-color {
    background-color: rgba(77, 77, 77, 0.031372549);
}

.content-table-responsive .table-footer {
    margin-top: 8px;
    display: flex;
    padding: 4px;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
}

.position-absolute {
    position: absolute;
    bottom: 0;
    width: 96%;
}

.content-table-responsive .table-footer .content-left {
    display: flex;
    gap: 4px;
    font-size: 0.9rem;
}

.content-table-responsive .table-footer .content-right {
    display: flex;
    gap: 8px;
    align-items: center;
}

.content-table-responsive .table-footer .content-right button {
    cursor: pointer;
    border: 0;
    height: 38px;
    padding: 8px 12px;
    border-radius: 4px;
    transition: 0.2s;
    background-color: white;
}

.content-table-responsive .table-footer .content-right button:hover {
    background-color: gray;
    color: white;
}

.content-table-responsive .table-footer .content-right .content-pages {
    display: flex;
    gap: 8px;
}

.content-table-responsive .table-footer .content-right .content-pages .box {
    font-size: 1.2rem;
    padding: 8px 8px;
    height: 24px;
    text-align: center;
    transition: 0.2s;
    border-radius: 4px;
    cursor: pointer;
    height: 38px;
    box-shadow: initial;
}


.content-table-responsive .table-footer .content-right .content-pages .box:hover {
    background-color: rgba(128, 128, 128, 0.1803921569);
}

.content-table-responsive .table-footer .content-right .content-pages .page-number.active {
    background-color: rgba(128, 128, 128, 0.1803921569);
}

/* Fin de la tabla dinámica   */
.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: end;
}

.icon-help {
    color: #b7770d;
    font-weight: 900;
    font-size: 24px;
    margin-bottom: 4px;
    cursor: pointer;
}

.modal.show.background-shadow {
    background: #00000030 !important;
}

.secondary-img-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    justify-items: center;
    align-items: center;

}

.secondary-img-content figure {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0;
}

.secondary-img-content figure img,
.content-image figure img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.secondary-img-content figure i {
    position: absolute;
    top: -8px;
    right: -8px;
    font-size: 24px;
    background: red;
    border-radius: 20px;
    color: white;
    cursor: pointer;
}

.content-image figure img {
    width: 100%;
    height: 100%;
}

.disable {
    transition: 0.4s;
    filter: grayscale(1);
    cursor: initial !important;
}

.text-link {
    color: #007bff;
    border-bottom: 1px solid #007bff;
}

.btn.disabled {
    cursor: initial !important;
}

.content-recipe {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content-recipe .icon-recipes {
    position: absolute;
    width: 80%;
    height: 80%;
    object-fit: contain;
}

.click-select-image {
    padding: 4px 8px;
    background-color: var(--text-primary-color-arb);
    color: white;
    border-radius: 8px;
    position: absolute;
    bottom: 20%;
    z-index: 20;
    font-size: 16px;
    box-shadow: 0 0 4px 3px #1a1a1a2c;
    letter-spacing: 1px;
    cursor: pointer;
    animation: subirYBajar 1s normal;
}

@keyframes subirYBajar {

    0%,
    100% {
        transform: translateY(0);
        /* Posición inicial y final (sin desplazamiento vertical) */
    }

    50% {
        transform: translateY(-8px);
        /* Subir 20px a la mitad de la animación */
    }
}

.content-image-recipe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 4px;
    display: flex;
    flex-wrap: wrap;
    overflow-y: scroll;
    overflow-x: hidden;
}

.content-image-recipe figure {
    width: 70px;
    height: 60px;
    position: relative;
    transition: 0.4s;
}

.content-image-recipe figure img {
    width: 100%;
    height: 100%;
    transition: 0.4s;
    cursor: pointer;
    object-fit: contain;
}

.content-image-recipe figure:hover {
    transform: translateY(-4px);
}

.content-image-modal {
    min-height: 80vh;
    width: 100%;
}

.content-image-modal figure {
    width: 100%;
}

.content-image-modal figure img {
    width: 100%;
}

.icon-delete {
    position: absolute;
    top: 2px;
    right: 6px;
    font-size: 16px;
    color: white;
    background-color: red;
    padding: 2px;
    border-radius: 25px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
}

.right-left {
    padding: 4px 8px;
    background-color: var(--text-primary-color-arb);
    color: white;
    border-radius: 8px;
    position: absolute;
    bottom: 20%;
    right: 20%;
    z-index: 20;
    font-size: 16px;
    box-shadow: 0 0 4px 3px #1a1a1a2c;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 2s;
    animation: animationBottom 2s forwards;
}

.scroll-content-event {
    max-height: 70vh;
    overflow-y: scroll;
}

.municipality-row {
    padding: 10px !important;
}


.sectors-content {
    padding: 4px 16px;
}

.order-process-detail-content {
    display: grid;
    text-align: center;
    grid-template-columns: 100px 180px 120px minmax(190px, auto);
}

.order-content {
    display: flex;
    flex-direction: column;

}

.text-tiny {
    color: #868686;
}

.text-large {
    font-size: 18px;
    font-weight: 900;
}

.loader {
    width: 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(farthest-side, #ffa516 94%, #0000) top/8px 8px no-repeat,
        conic-gradient(#0000 30%, #ffa516);
    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0);
    mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0);
    animation: l13 1s infinite linear;
}

@keyframes l13 {
    100% {
        transform: rotate(1turn)
    }
}

.text-success-custom {
    font-weight: 600;
    color: #00ad00 !important;
}

.text-danger-custom {
    font-weight: 600;
    color: red !important;
}

.bg-danger-custom {
    background: #ff000026 !important;
}

.assignation-table {
    height: 100% !important;
    max-height: 60vh !important;
    min-height: 60vh !important;
    overflow-y: scroll;
    scroll-behavior: smooth;
}

.assignation-table.remove-mode {
    background: #ffcbcb;
}

.assignation-table.remove-mode .product-card {
    background: #ff9292 !important;
    color: black !important;
}

.product-card {
    border: solid 1px #ccc;
    border-radius: 4px;
    margin: 6px;
    padding: 10px;
    transition: 0.4s;
}

.product-card p {
    margin: 0;
}

.product-card .head-card {
    text-align: center;
    font-size: 18px;
}

.product-card .marc-product {
    font-weight: 600;
}

.product-card .product-content {
    font-size: 15px;
}

.product-card .product-content .marc-barcode {
    display: flex;
    justify-content: space-between;
}

.product-card .product-content p:nth-child(1),
.product-card .product-content p:nth-child(2) {
    margin-bottom: 6px;
}

.product-card .product-content p span {
    font-weight: 600;
}

.product-quantity-content {
    display: flex;
    justify-content: space-around;
    text-align: center;
    padding: 6px;
    box-shadow: 1px 1px 4px #00000070;
    border-radius: 4px;
}

.quantity-pack {
    font-size: 20px;
    font-weight: 600;
}



.order-card {
    box-shadow: 0px 0px 3px #00000080;
    border-radius: 4px;
    padding: 10px;
    padding-bottom: 4px;
    margin-bottom: 12px;
    cursor: pointer;
    position: relative;
}

.order-card:hover {
    background-color: #00000010;
}

.order-card.active {
    background-color: #00f7ff2c;
}

.remove-order {
    position: absolute;
    top: -8px;
    right: -6px;
}

.remove-order i {
    background: #c70000;
    border-radius: 50px;
    color: white;
    font-size: 22px;
}

.remove-order i.disabled {
    background: #c7c7c7;
    pointer-events: none;
}

.order-card .top-card {
    display: grid;
    grid-template-columns: 26px auto 26px;
    align-items: center;
    justify-items: center;
    border-bottom: solid 1px #ccc;
    padding-bottom: 6px;
}

.order-card .top-card .sub-menu {
    cursor: pointer;
    transition: 0.2s background-color;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    border-radius: 25px;
}

.order-card .top-card .sub-menu:hover {
    background-color: #00000020;
}

.order-card .top-card .sub-menu:active {
    background-color: #00000030;
}

.order-card .top-card i {
    font-size: 26px;
}

.order-card .top-card p,
.order-card .bottom-card p {
    font-size: 18px;
    margin: 0;
}

.order-card .bottom-card {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-top: 4px;
}

.packaging-card {
    display: grid;
    grid-template-columns: 30px auto 20px;
    font-size: 18px;
    align-items: center;
    padding: 10px;
    box-shadow: 0px 0px 2px #00000080;
    margin-bottom: 10px;
    border-radius: 4px;
    gap: 4px;
    cursor: pointer;
    transition: 0.1s background-color;
    position: relative;
}

.packaging-card:hover {
    background-color: #00000010;
}

.packaging-card.active {
    background-color: #00f7ff2c;
}

.packaging-card p {
    margin: 0;
}

.packaging-card i {
    font-size: 22px;
}

.article-head {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr 1fr;
    gap: 6px;
    padding: 6px;
    padding-bottom: 0;
    font-weight: 600;
    border-bottom: solid 1px #ccc;
}

.article-row {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr 1fr;
    gap: 6px;
    padding: 6px;
}


.article-row .article-td:nth-child(3),
.article-row .article-td:nth-child(4),
.article-head .article-td:nth-child(3),
.article-head .article-td:nth-child(4) {
    text-align: right;
}

.article-row label {
    font-size: 14px;
    font-weight: 600;
}

.article-row p {
    margin: 0;
}

.article-row p {
    font-size: 16px;
}

.product-card.counting {
    background-color: #eeff0736;
}

.product-card.complete {
    background-color: #4efc232e;
}

.product-card.selected {
    background-color: #2378fc2e !important;
}

.assignation-table.remove-mode .product-card.selected {
    background-color: #e90000ba !important;
    color: white !important;
}

.province-selected li details .province-summary {
    background-color: #d1d1ff !important;
}

.municipality-selected details .municipality-summary {
    background-color: #d1ffd1 !important;
}

@keyframes animationBottom {
    to {
        right: -10px;
        bottom: 0;
    }
}

.label-active {
    font-weight: 700;
    color: var(--text-primary-color-arb);
}

.input-modify {
    /* border: 2px solid #c17612; */
    background-color: #bc7f2321 !important;
}

.label-identification {
    cursor: pointer;
}

.rotate-text-area {
    transform: rotateY(170deg);
    transition: 0.4s;
}

.rotate-content-tree {
    transform: rotateY(-170deg);
    transition: 0.4s;
}

.content-entrance {
    height: 584px;
    overflow-y: scroll;
}

tr.selected,
.custom-tr.selected {
    background-color: #7000ff1c !important;
}

.danger-custom.active {
    background-color: #e73358 !important;
    color: white !important;
}

.nav-menu li a i {
    display: flex;
    justify-content: center;
    color: #98b2da !important;
    font-size: 18px !important;
}

.image-promotion {
    max-height: 300px;
    min-height: 300px;
    height: 100%;
}

.image-promotion i {
    transition: background-color 0.2s;
    cursor: pointer;
    border-radius: 50px;
}

.image-promotion i:hover {
    background-color: #00000030;
}

.selected-content {
    border: solid 3px #00c8ff92;
    transform: translateY(-6px) !important;
    background-color: #00fff71a;
}

.article-text-content {
    font-size: 1.6rem;
    padding: 20px 60px;
    box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.1254901961);
    border-radius: 6px;
    border: solid 1px;
    font-size: 18px;
    height: 60vh;
    overflow-y: scroll;
}


.codex-editor__redactor {
    padding-bottom: 0 !important;
}

.ce-paragraph {
    font-size: 1.2rem;
}

.ce-header {
    font-weight: 600;
}

h1.ce-header {
    font-size: 2.2rem;
}

h2.ce-header {
    font-size: 1.8rem;
}

h3.ce-header {
    font-size: 1.4rem;
}

h4.ce-header {
    font-size: 1.2rem;
}

h5.ce-header {
    font-size: 1.0rem;
}

h6.ce-header {
    font-size: 0.8rem;
}

.cdx-quote__text {
    font-size: 1.4rem;
}

.cdx-input {
    font-size: 1.4rem;
}

.ce-block b {
    font-size: 1.4rem;
}

.ce-block i {
    font-size: 1.4rem;
}

.ce-block a {
    font-size: 1.4rem;
}

.modal-xxl {
    max-width: 1220px !important;
}

.text- .ce-block b::selection,
.ce-block i::selection,
.ce-block a::selection {
    background: #000000;
    color: #fff;
}

.ce-block__content {
    max-width: none;
}

.ce-toolbar__actions.ce-toolbar__actions--opened {
    background: #6d6d6d !important;
}

.ce-block .ce-block__content {
    padding: 0 10px !important;
}

.ce-block--selected .ce-block__content {
    background: #e8ebb2 !important;
}

.ce-inline-toolbar {
    background: #6d6d6d !important;
}

.ce-inline-toolbar__dropdown:hover {
    background: #535353 !important;
}

.ce-inline-toolbar__buttons button:hover {
    background-color: #535353 !important;
}

/* CARD CONTACT */
.content-contact {
    width: 100%;
    max-width: 600px;
    background-color: white;
    padding: 15px 42px;
    height: auto;
    box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 46px;
    font-family: "Inter Tight", sans-serif;
}

.content-contact p {
    margin: 0;
    font-size: 16px;
}

.content-contact b {
    font-weight: 600;
}

.content-contact .call {
    width: 120px;
    min-width: 120px;
    display: flex;
    justify-content: center;
    height: 120px;
    min-height: 120px;
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 0 11px 8px #c9c4c440;
}

.content-contact .reght .title p {
    font-size: 24px;
    margin-bottom: 4px;
    font-weight: 600;
}

.content-contact .reght .gmail {
    font-weight: 300;
}

.content-contact .reght .gmail p {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
}

.content-contact .reght .phone {
    font-weight: 300;
}

.personal-loader {
    background-color: #000000a1;
    height: 104%;
    position: absolute;
    left: -24px;
    top: -8px;
    width: 104%;
    order: 10;
    z-index: 10410;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-user-select: none;
    user-select: none;
    visibility: hidden;
    opacity: 0;
}

.personal-loader.active {
    animation: loaderBlockerActivate .3s forwards ease-in;
}

.personal-loader.active {
    animation: .3s loaderBlockerActivate forwards;
}

.personal-loader.disable {
    animation: loaderBlockerDisable .3s forwards;
}

.loader-personal-content {
    width: 200px;
    aspect-ratio: 1;
    display: grid;
    border: 10px solid #0000;
    border-radius: 50%;
    border-color: var(--primary-color) #00000000;
    animation: l16 1s infinite linear;
}

.loader-personal-content::before,
.loader-personal-content::after {
    content: "";
    grid-area: 1/1;
    margin: 2px;
    border: inherit;
    border-radius: 50%;
}

.loader-personal-content::before {
    border-color: #a1a1a1 #ffffff00;
    animation: inherit;
    animation-duration: .5s;
    animation-direction: reverse;
}

.loader-personal-content::after {
    margin: 8px;
}

.min-h200 {
    min-height: 200px !important;
}

.no-wrap {
    flex-wrap: nowrap !important;
}

.color-square {
    width: 40px;
    height: 40px;
    border-radius: 50px;
    margin-top: 8px;
}

.btn-custom-danger {
    background-color: #fd3939 !important;
    border-color: #f50000 !important;
    color: white !important;
}

.page-content {
    overflow-x: auto;
    overflow-y: auto;
    background-color: var(--background-main-color) !important;
    /* padding: 0; */
    /* margin: 1.5rem 2rem; */
}

.article-on-package {
    background: #e7ffe5;
    border-radius: 4px;
    box-shadow: 0px 0px 0px 1px;
}


.counting .article-on-package {
    background-color: #f6ffe5;
}

.selected .article-on-package {
    background-color: #e5ebff;
}

.remove-mode .article-on-package {
    background-color: #ffe5e5 !important;
}

.remove-mode .selected .article-on-package {
    color: black;
}


.container-elements-profile {
    box-shadow: 3px 3px 1px 1px #9d9d9d14;
}

.container-elements-profile .input-group {
    position: sticky;
    top: -24px;
}

.container-elements-profile .select-all-permission {
    padding: 2px 12px;
    display: flex;
    gap: 8px;
    border: 2px solid var(--secondary-color);
    width: 95%;
    margin: 4px 0;
    border-radius: 4px;
}

.container-elements-profile label {
    margin: 0;
}

.container-elements-profile .element-permission {
    border-left: 2px solid var(--secondary-color) !important;
    display: flex;
    gap: 8px;
}

.container-elements-profile .element-permission label {
    margin: 0;
    pointer-events: none;
}

.container-elements-profile .element-permission input {
    pointer-events: none;
}

.container-elements-profile .element-permission:hover {
    background-color: var(--secondary-color) !important;
    font-weight: 700;
    color: black !important;
}


.content-element {
    max-height: 380px;
    overflow-y: scroll;
    padding: 0 10px 0 0;
}

.content-element .element {
    padding: 8px;
    display: flex;
    align-items: center;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    margin: 12px 0 12px 0;
    min-height: calc(0.9em + 1rem + 2px);
    border: 1px solid var(--primary-color);
    border-left: 2px solid var(--secondary-color);
}

.element-active {
    background-color: var(--primary-color) !important;
    color: white;
}

.element-permission-active {
    background-color: var(--secondary-color);
    color: black;
    font-weight: 700;
}

.content-element .element:hover {
    background-color: var(--primary-color);
    color: white;
    transition: 0.2s;
}

.content-element .element p {
    margin: 0;
    font-weight: 500;
}

.content-button-record {
    width: 98%;
    display: flex;
    justify-content: end;
    transition: 0.2s;
}

.content-button-record button {
    padding: 8px;
    border-radius: 8px;
    color: white;
    font-size: 14px;
    cursor: pointer;
    margin: 0 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.content-button-record button span {
    font-size: 16px;
}

.content-button-record .button-save {
    background-color: var(--primary-color);
    font-weight: 700;
}

.content-button-record .button-cancel {
    border: 2px solid #a33434;
    background-color: white;
    color: #a33434;
    font-weight: 700;
    padding: 0 8px;
    transition: 0.2s;
    display: none;
}

.content-button-record .button-cancel:hover {
    background-color: #a33434;
    color: white;
}

.scroll-76 {
    max-height: 76vh;
    overflow-y: scroll;
    padding: 0 40px;
}

.scroll-76 p {
    font-size: 16px;
}

.page-wrapper {
    position: static;
}

.nav-menu li a {
    color: #97b1dc;
    font-size: 16px;
    margin-bottom: 8px;
}

.nav-menu li a i {
    font-size: 22px !important;
    height: 24px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.25rem !important;
}

.greeting-message {
    font-size: 20px;
    margin: 0 14px;
}

.greeting-message .person-name {
    font-style: italic;
}

.align-center {
    align-items: center;
}

.mx-w50 {
    max-width: 50%;
}

.has-children {
    background: #0000ff29;
}

.more-info {
    position: absolute;
    right: 63px;
    top: -4px;
    border: solid 1px #fff;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: orange;
    cursor: default;
}

.more-info p {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
}

.badge {
    font-weight: 500;
    display: inline-block;
    padding: 2px 10px;
    border-radius: 6px;
    font-size: 12px;
    /* TODO: Esta propiedad de margin esta tentativamente con opciones a eliminarse*/
    margin: auto 0;
}

.badge-gray {
    color: #4b5563;
    background: #f9fafb;
    border: solid 2px #ebedee;
}

.badge-red {
    color: #b91c1c;
    background: #fef2f2;
    border: solid 2px #fadddd;
}

.badge-yellow {
    color: #854d0e;
    background: #fefce8;
    border: solid 2px #f3e6bb;
    ;
}


.badge-green {
    color: #15803d;
    background: #f0fdf4;
    border: solid 2px #c4ebd2;
}

.badge-blue {
    color: #1d4ed8;
    background: #eff6ff;
    border: solid 2px #dae5fb;
}

.badge-purple {
    color: #7e22ce;
    background: #faf5ff;
    border: solid 2px #eedffa;
}

.badge-pink {
    color: #be185d;
    background: #fdf2f8;
    border: solid 2px #f6dbe8;
}

.nav-tabs a.nav-warning {
    color: #c78c13 !important;
}

/*Dynamic table*/

.dyt-tbl {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    overflow-y: scroll;
    max-height: 60vh;
    border: solid 2px #efefef;
    border-radius: 6px;
}

.dyt-thd {
    position: sticky;
    top: 0;
    background: white;
}

.dyt-tft {
    position: sticky;
    bottom: 0;
    background: white;
}

.pgntn-cntr {
    display: flex;
    justify-content: end;
    gap: 10px;
}

.dyt-thd,
.dyt-tbd,
.dyt-tft {
    display: block;
    width: 100%;
}

.dyt-trh,
.dyt-trb {
    display: grid;
    gap: 10px;
    /* Espacio entre las columnas */
    padding: 4px 10px;
    align-items: center;
    border-bottom: 1px solid #ebebeb;
    transition: 0.2s;
}

.dyt-trb:nth-child(2n+1) {
    background-color: #f1f1f1;
}

.dyt-thh,
.dyt-tdb {
    font-weight: 400;
    color: #8a8a8a;
    font-size: 16px;
    color: black;
}

.dyt-thh {
    font-weight: 500;
    color: #8a8a8a;
    font-size: 16px;
}

.dyt-trb:hover {
    background-color: #f4f4f580;
}

.dyt-trb:active {
    background-color: #f4f4f550;
}

/* Tamaño de columnas BY-MANUEL*/

.gap-ho-10 {
    gap: 10px !important;
}

.gap-ho-20 {
    gap: 20px !important;
}

.gap-ho-30 {
    gap: 30px !important;
}

.grid {
    display: grid !important;
}

.grid-col-1 {
    grid-template-columns: repeat(1, 1fr) !important;
}

.grid-col-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

.grid-col-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.grid-col-4 {
    grid-template-columns: repeat(4, 1fr) !important;
}

.grid-col-5 {
    grid-template-columns: repeat(5, 1fr) !important;
}

.grid-col-6 {
    grid-template-columns: repeat(6, 1fr) !important;
}

.grid-col-7 {
    grid-template-columns: repeat(7, 1fr) !important;
}

.grid-col-8 {
    grid-template-columns: repeat(8, 1fr) !important;
}

.grid-col-9 {
    grid-template-columns: repeat(9, 1fr) !important;
}

.grid-col-10 {
    grid-template-columns: repeat(10, 1fr) !important;
}

/* Tamaño de columnas */

.total-grouper:nth-child(2n+1) {
    background-color: #f3f3f3;
}

.total-grouper:nth-child(2n+1) .dyt-trh,
.dyt-trb {
    border-bottom: 1px solid #bababa;
}

.total-grouper h4 {
    text-align: center;
    border-bottom: solid #ccc;
    padding-bottom: 12px;
    font-size: 20px;
}

.total-sub-group {
    text-align: end;
    font-size: 18px;
    color: red;
    padding-right: 50px;
    margin: 6px;
}

/*Dynamic table*/

.bank-container h3 {
    font-weight: 500;
}

.bank-container .bank-detail .detail {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
}

.bank-container .bank-detail .detail p:nth-child(1) {
    font-weight: 500;
}

.content-view {
    position: relative;
    overflow-y: hidden;
    transition: 0.4s;
}

.position-relative {
    transition: 0.4s;
    position: relative;
}

.content-second-view {
    position: relative;
    left: 15000px;
    display: none;
    opacity: 0;
}

.change-content {
    transform: translateX(-1500px);
}

.show-form {
    transition: 0.4s;
    left: 0 !important;
}

.content-img-qr {
    width: 94%;
    object-fit: contain;
    height: 195px;
    border: 1px solid #80808052;
}

.content-img-qr img {
    width: 100%;
    object-fit: contain;
}

.content-card {
    margin: 0 3px;
    border-radius: 4px;
}

.content-card .line {
    box-shadow: 0 0 1px 1px #808080aa;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 4px 8px;
    margin-top: 8px;
}

.content-card .element {
    margin: 0;
}

.pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    margin-top: 16px;
}

.pgntn-cntr {
    display: flex;
}

.page-btn,
.page-nav {
    padding: 6px 12px;
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 14px;
}

.page-btn:hover,
.page-nav:hover {
    background-color: #e0e0e0;
}

.page-btn.current-page {
    background-color: #4679cc;
    color: white;
    border: 1px solid #829bc4
}

.pagination span {
    padding: 6px;
    font-weight: bold;
}

.panel-hdr h2 i {
    color: var(--secondary-color);
    font-size: 24px;
}

.profile-sub-name {
    height: 40px !important;
    width: 40px !important;
    background: #2d568f;
    border-radius: 50px;
    display: grid !important;
    place-content: center !important;
    font-size: 14px;
    gap: 10px;
    color: white;
    font-weight: 800;
    /* box-shadow: 0 2px 8px 0 rgba(70, 121, 204, 0.2); */
}

/* SWITCH CHECKBOX */
/* From Uiverse.io by gharsh11032000 */
/* The switch - the box around the slider */
.switch {
    font-size: 12px;
    position: relative;
    display: inline-block;
    width: 3.5em;
    height: 2em;
}

/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #9fccfa;
    border-radius: 50px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.slider:before {
    position: absolute;
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2em;
    width: 2em;
    inset: 0;
    background-color: white;
    border-radius: 50px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.switch input:checked+.slider {
    background: #0974f1;
}

.switch input:focus+.slider {
    box-shadow: 0 0 1px #0974f1;
}

.switch input:checked+.slider:before {
    transform: translateX(1.6em);
}

/* SWITCH CHECKBOX */

.charts-container,
.charts-container-head {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
}

.charts-container-head .head-chart-content {
    width: 100%;
    height: auto;
    padding: 24px;
    border-radius: 10px;
    display: flex;
    box-shadow: 6px 6px 22px #00000030;
    justify-content: space-between;
}

.head-card-title-content {
    max-width: 90px;
}

.head-icon-container {
    background: #a1a1a1;
}

.chart-content-blue {
    background: #b9efff;
    background: linear-gradient(170deg, #cbf3ff 0%, #e6faff 100%);
}

.chart-content-blue .head-icon-container {
    background: #79c3ff;
}

.chart-content-red {
    background: linear-gradient(170deg, #ffd7d7 0%, #ffecec 100%);
}

.chart-content-red .head-icon-container {
    background: #ff6464;
}

.chart-content-green {
    background: #b1f0b1;
    background: linear-gradient(170deg, #b1f0b1 0%, #cbffd2 100%);
}

.chart-content-green .head-icon-container {
    background: #41c541;
}

.chart-content-purple {
    background: #ebb9ff;
    background: linear-gradient(170deg, #f2d2ff 0%, #fae8ff 100%);
}

.chart-content-purple .head-icon-container {
    background: #b472ff;
}

.head-icon-container {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    color: white;
}

.head-icon-container span {
    font-size: 20px;
}

.head-card-title-content p {
    font-size: 14px;
    margin: 0;
    margin-top: 10px;
    font-weight: 500;
}

.chart-total p {
    font-size: 24px;
    font-weight: 500;
}

.charts-container .chart-content {
    width: 100%;
    height: auto;
    padding: 24px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    justify-content: center;
    box-shadow: 6px 6px 22px #00000030;
}

.charts-container .chart-content p {
    align-self: start;
    font-size: 18px;
    font-weight: 600;
    position: absolute;
    top: 10px;
    left: 24px;
}

.charts-container .chart-content i {
    position: absolute;
    top: 4px;
    right: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: 0.1s;
}

.charts-container .chart-content i:hover {
    color: #f89420;
    transform: scale(1.1);
}

.charts-container .chart-content i:active {
    transform: scale(1);
}

.charts-container .chart-content canvas {
    margin-top: 26px;
}

/* .chart-sm{
    grid-column: span 1;
} */
.chart-md {
    grid-column: span 1;
}

.chart-xl {
    grid-column: span 2;
}

.max-chart {
    max-height: 64vh;
    display: flex;
    justify-content: center;
}

/* .form-group, 
.form-control, 
.form-control + .input-group-append button,
.form-group .input-group .input-group-prepend {
    margin-bottom: 0.8rem !important;
} */

.form-control.wtbt {
    margin-bottom: 0 !important;
}

.highlight-input {
    animation: activeHighlight 1s forwards;
}

@keyframes activeHighlight {
    0% {
        background: #ffffff;
    }

    25% {
        background: #d8f3fe;
    }

    50% {
        background: #ebf6fe;
    }

    100% {
        background: #ffffff;
    }
}

@keyframes loaderBlockerActivate {
    0% {
        visibility: visible;
    }

    20% {
        visibility: visible;
        opacity: .2;
    }

    100% {
        opacity: 1;
        visibility: visible;
    }
}

@keyframes loaderBlockerDisable {
    0% {
        visibility: visible;
    }

    2% {
        visibility: visible;
        opacity: .9
    }

    100% {
        opacity: 0;
        visibility: hidden;
    }
}

.promo-grouper {
    height: 100%;
    max-height: 400px;
}

.promo-grouper .delete-promo {
    position: absolute;
    top: 8px;
    right: 12px;
    height: 20px;
    width: 20px;
    background: red;
    border-radius: 50px;
    color: white;
    display: grid;
    place-content: center;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}

.promo-grouper .delete-promo:hover {
    background: rgb(204, 0, 0);
}

.promo-grouper .delete-promo:active {
    background: red;
}

.promo-grouper .promo-card-img figure {
    width: 100%;
    height: 200px;
    margin: 10px 0;
    box-shadow: 0px 0px 2px;
    border-radius: 4px;
    position: relative;
}

.promo-grouper .promo-card-img figure label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}

.promo-grouper .promo-card-img figure label:hover {
    background-color: #00000020;
}

.promo-grouper .promo-card-img figure img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.promo-grouper .promo-card-description textarea {
    width: 100%;
    height: 100px;
}

.custom-month-chart {
    justify-content: start !important;
}

.custom-month-chart .custom-month-row {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-top: 22px;
    gap: 8px;
    align-items: center;
}

.custom-month-chart .custom-month-row button {
    height: 34px;
    width: 34px;
    display: grid;
    place-content: center;
    margin-top: 10px;
}

.custom-month-chart .quantity-transaction {
    margin: 10px 0 0 0;
    align-self: start;
}

.table-container {
    width: 100%;
    max-height: 260px;
    overflow-y: scroll;
}

.h-130 {
    height: 130px !important;
}

.btn-simulation {
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 0 4px 4px 0 !important;
}

.min-h-400 {
    min-height: 400px !important;
}

tfoot tr.foot-row {
    background: #ededed !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.scroll-menu {
    scrollbar-width: initial !important;
}

.scroll-menu::-webkit-scrollbar {
    display: initial !important;
}

.btn-show-menu {
    height: 30px;
    width: 30px;
    padding: 0;
}

label.form-label {
    font-weight: 600;
    color: #979b9e;
}


.alert-banner-content {
    position: absolute;
    bottom: 64px;
    right: 42px;
    display: flex;
    flex-direction: column;
    align-items: end;
    z-index: 5000;
}

.alert-banner-content .custom-row {
    max-width: 350px;
    min-width: 292px;
    display: flex;
    gap: 12px;
    box-shadow: 0 0 6px 2px #c4c4c469;
    padding: 12px;
    padding-right: 24px;
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #80808075;
    margin-bottom: 10px;
    position: relative;
    transform: scale(0);
    width: fit-content;
}

.alert-banner-content .custom-row .cls-bnn {
    position: absolute;
    top: 4px;
    right: 8px;
    cursor: pointer;
    font-size: 16px;
    color: #ff6363;
}

.alert-banner-content .custom-row .message-content {
    display: flex;
    flex-direction: row;
    gap: 16px;
    position: absolute;
    bottom: 8px;
    right: 8px;
}

/* .alert-banner-content .custom-row .show-more-info {
    position: absolute;
    bottom: 4px;
    right: 8px;
} */

.alert-banner-content .custom-row.show {
    animation: showBannerContent forwards 0.4s;
}

@keyframes showBannerContent {
    0% {
        transform: scale(0);
    }

    70% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

.alert-banner-content .custom-row img {
    width: 26px;
}

.alert-banner-content .custom-row i {
    font-size: 26px;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.alert-banner-content .custom-row .color-error {
    color: red !important;
}

.alert-banner-content .custom-row p {
    display: flex;
    align-items: center;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    color: gray;
}

.action-button-notifications {
    position: absolute;
    right: 14px;
    bottom: 0;
    display: flex;
    gap: 36px;
}

.action-button-notifications p {
    color: blue;
    font-weight: 400;
}

/* 

.fade-up-option{
    animation: fadeUp .7s forwards;
}

@keyframes fadeUp{
    0%{
        opacity: 0;
        transform: translateY(150px);
    }
    100%{
        opacity: 1;
        transform: translateY(0px);
    }
} */

@media (max-width: 1360px) {
    .content-contact {
        gap: 20px !important;
        padding: 15px 10px !important;
    }
}

@media (max-width: 1200px) {
    .content-contact .call {
        width: 70px !important;
        min-width: 70px !important;
        height: 70px !important;
        min-height: 70px !important;
    }

    .content-contact .call svg {
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 992px) {
    .content-table-responsive .table-header {
        justify-content: center;
    }

    .content-table-responsive .table-header .content-search {
        gap: 16px;
    }
}

/* Estilos del loader para los botones */
.content_loader_button {
    width: 100%;
    position: absolute;
    background-color: #ffffff9e;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

@keyframes ldio-yzaezf3dcmj {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.ldio-yzaezf3dcmj div {
    position: absolute;
    width: 9.39px;
    height: 8.39px;
    border: 2.87px solid #a0a0a0;
    border-top-color: transparent;
    border-radius: 50%;
}

.ldio-yzaezf3dcmj div {
    animation: ldio-yzaezf3dcmj 0.6493506493506493s linear infinite;
    /* top: 26.5px; */
    /* left: 27.5px; */
}

.icon-user-info {
    position: absolute;
    right: 19px;
    top: 43px;
    display: flex;
    align-items: start;
    font-size: 12px;
    gap: 4px;
    font-weight: 700;
    transition: 0.4s;
    cursor: pointer;
}

.icon-user-info i {
    font-size: 14px;
}

.icon-user-info-enable {
    color: var(--secondary-color);
}

.icon-user-info:hover {
    transform: translateY(-2px);
}

.loadingio-spinner-rolling-2by998twmg8 {
    width: 100%;
    height: 60px;
    /* display: inline-block; */
    overflow: hidden;
    background: none;
    justify-content: center;
    display: flex;
    align-items: center;
}

.ldio-yzaezf3dcmj {
    /* width: 100%; */
    /* height: 100%; */
    position: relative;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0;
    /* see note above */
}

.ldio-yzaezf3dcmj div {
    box-sizing: content-box;
}

.w-full {
    width: 100% !important;
}

.h-full {
    height: 100% !important;
}

.counter-table {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #4679cc;
    padding: 0 8px;
    border-radius: 4px;
}

.object-fit-contain {
    object-fit: contain !important;
}

.absolute {
    position: absolute !important;
}

.l-20 {
    left: 20px !important;
}

.index-full {
    z-index: 9999 !important;
}

.pt-74 {
    padding-top: 74px !important;
}

/* .page-content-wrapper{
    background-color: #fff;
} */

.panel .panel-content {
    overflow-y: auto !important;
    max-height: 80vh !important;
}

.p-initial {
    position: initial !important;
}

.paragraph-form {
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* Tabla personalizada profesional */
.table-wrapper {
    overflow-x: auto;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.05);
    background-color: #fff;
}

.custom-table {
    display: grid;
    width: 100%;
    font-family: var(--font-family-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    font-size: 14px;
    overflow: hidden;
    background-color: white;
    border-collapse: collapse;
}

.custom-header {
    display: grid;
    position: sticky;
    top: 0;
    z-index: 10;
}

.custom-tbody {
    display: grid;
}

.custom-table-form {
    display: grid;
}

.custom-row {
    display: contents;
}

.custom-footer {
    display: grid;
}

.custom-cell {
    padding: 4px 16px;
    border-bottom: 1px solid #e9ecef;
    background-color: white;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

/* Alineación de texto */
.text-right {
    justify-content: flex-end;
    text-align: right;
}

.text-center {
    justify-content: center;
    text-align: center;
}

/* Estilos para celdas de encabezado */
.custom-header .custom-cell {
    background-color: #f8f9fa;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding-top: 14px;
    padding-bottom: 14px;
    position: sticky;
    top: 0;
    background: #eeeeee;
    border-bottom: solid 1px #ccc;
}

/* Estilos para filas */
.custom-row:hover .custom-cell {
    background-color: rgba(63, 106, 216, 0.04);
}

.custom-row:nth-child(even) .custom-cell {
    background-color: #fafbfe;
}

.custom-row:nth-child(even):hover .custom-cell {
    background-color: rgba(63, 106, 216, 0.04);
}

/* Estilos para el pie de tabla */
.custom-footer .custom-cell {
    border-top: 2px solid #dee2e6;
    border-bottom: none;
    background-color: #f8f9fa;
    font-weight: 600;
    color: #495057;
    padding-top: 14px;
    padding-bottom: 14px;
}

/* Estilos para controles de formulario dentro de celdas */
.custom-cell .form-control {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 8px 12px;
    transition: all 0.2s ease;
    background-color: #fff;
}

.custom-cell .form-control:focus {
    border-color: #3f6ad8;
    box-shadow: 0 0 0 0.2rem rgba(63, 106, 216, 0.25);
    outline: none;
}

.custom-cell .form-control:hover:not(:focus) {
    border-color: #b9c2d0;
}

.custom-cell .input-group {
    width: 100%;
}

/* Estilos para selects */
.custom-cell select.form-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%233f6ad8' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 8px 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Estilos para botones dentro de celdas */
.custom-cell .btn {
    transition: all 0.2s ease;
    border-radius: 4px;
}

.custom-cell .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.custom-cell .btn-outline-primary {
    color: #3f6ad8;
    border-color: #3f6ad8;
}

.custom-cell .btn-outline-primary:hover {
    color: #fff;
    background-color: #3f6ad8;
    border-color: #3f6ad8;
}

.custom-cell .btn-outline-danger {
    color: #d92550;
    border-color: #d92550;
}

.custom-cell .btn-outline-danger:hover {
    color: #fff;
    background-color: #d92550;
    border-color: #d92550;
}

.custom-cell .btn-success {
    color: #fff;
    background-color: #3ac47d;
    border-color: #3ac47d;
    padding: 0.375rem 0.75rem;

}

.custom-cell .btn-success:hover {
    background-color: #31a66a;
    border-color: #2e9d64;
}

/* Responsive para pantallas pequeñas */
@media (max-width: 768px) {
    .custom-table {
        grid-template-columns: 60px 1fr 1fr 1fr 1fr 100px;
    }

    .custom-cell {
        padding: 10px 12px;
        font-size: 13px;
    }
}

/* Estilos para la tabla de cuentas contables (5 columnas) */
.custom-table {
    display: grid;
    border: 1px solid #ccc;
    border-radius: 6px;
    overflow: hidden;
    font-family: sans-serif;
    font-size: 12px;
    width: 100%;
}

.table-col-2 .custom-header,
.table-col-2 .custom-tbody,
.table-col-2 .custom-footer,
.table-col-2 .custom-table-form {
    grid-template-columns: repeat(2, 1fr);
}

.table-col-3 .custom-header,
.table-col-3 .custom-tbody,
.table-col-3 .custom-footer,
.table-col-3 .custom-table-form {
    grid-template-columns: repeat(3, 1fr);
}

.table-col-4 .custom-header,
.table-col-4 .custom-tbody,
.table-col-4 .custom-footer,
.table-col-4 .custom-table-form {
    grid-template-columns: repeat(4, 1fr);
}

.table-col-5 .custom-header,
.table-col-5 .custom-tbody,
.table-col-5 .custom-footer,
.table-col-5 .custom-table-form {
    grid-template-columns: repeat(5, 1fr);
}

.table-col-6 .custom-header,
.table-col-6 .custom-tbody,
.table-col-6 .custom-footer,
.table-col-6 .custom-table-form {
    grid-template-columns: repeat(6, 1fr);
}

.table-col-7 .custom-header,
.table-col-7 .custom-tbody,
.table-col-7 .custom-footer,
.table-col-7 .custom-table-form {
    grid-template-columns: repeat(7, 1fr);
}

.table-col-8 .custom-header,
.table-col-8 .custom-tbody,
.table-col-8 .custom-footer,
.table-col-8 .custom-table-form {
    grid-template-columns: repeat(8, 1fr);
}

.table-col-9 .custom-header,
.table-col-9 .custom-tbody,
.table-col-9 .custom-footer,
.table-col-9 .custom-table-form {
    grid-template-columns: repeat(9, 1fr);
}

.table-col-10 .custom-header,
.table-col-10 .custom-tbody,
.table-col-10 .custom-footer,
.table-col-10 .custom-table-form {
    grid-template-columns: repeat(10, 1fr);
}

.table-col-11 .custom-header,
.table-col-11 .custom-tbody,
.table-col-11 .custom-footer,
.table-col-11 .custom-table-form {
    grid-template-columns: repeat(11, 1fr);
}

.table-col-12 .custom-header,
.table-col-12 .custom-tbody,
.table-col-12 .custom-footer,
.table-col-12 .custom-table-form {
    grid-template-columns: repeat(12, 1fr);
}

/* Responsive para la tabla de cuentas contables */
@media (max-width: 768px) {
    .panel-content .custom-table {
        grid-template-columns: 80px 1fr 80px 80px 80px;
        font-size: 13px;
    }
}

/* Estilos para la paginación personalizada */
.custom-footer-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    margin-top: -1px;
    border-radius: 0 0 8px 8px;
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pagination-pages {
    display: flex;
    gap: 5px;
}

.pagination-pages .btn {
    min-width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination-pages .btn.active {
    background-color: #3f6ad8;
    border-color: #3f6ad8;
    color: white;
    font-weight: 600;
}

.pagination-info {
    color: #6c757d;
    font-size: 14px;
}

.custom-cell .btn {
    border-radius: 4px;
    transition: all 0.2s;
}

.custom-cell .btn-success {
    background-color: #28a745;
    border-color: #28a745;
    padding: 12px;

}

.custom-cell .btn-success:hover {
    background-color: #218838;
    border-color: #1e7e34;
}

.text-right {
    justify-content: flex-end;
}

.text-center {
    justify-content: center;
}

/* Estilos para valores monetarios */
.custom-cell span {
    font-variant-numeric: tabular-nums;
}

/* Mejoras para dispositivos móviles */
@media (max-width: 768px) {
    .custom-cell {
        padding: 10px 8px;
        font-size: 13px;
    }

    .custom-header .custom-cell {
        font-size: 11px;
    }
}

.custom-group-input-button {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding-left: 10px;
    transition: all 0.2s ease;
    background-color: #fff;
    overflow: hidden;
}

.custom-group-input-button input {
    width: 100%;
    border: none;
    outline: none;
}

.custom-group-input-button button {
    height: 32px;
    width: 40px;
    border: none;
    background: #4679cc;
    color: white;
}

.relative {
    position: relative;
}

.gap-0 {
    gap: 0 !important;
}

.gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.gap-4 {
    gap: 1.5rem !important;
}

.gap-5 {
    gap: 3rem !important;
}

.grid-span-1 {
    grid-column: span 1 !important;
}

.grid-span-2 {
    grid-column: span 2 !important;
}

.grid-span-3 {
    grid-column: span 3 !important;
}

.grid-span-4 {
    grid-column: span 4 !important;
}

.grid-span-5 {
    grid-column: span 5 !important;
}

.overflow-auto {
    overflow-y: auto !important;
}

.mx-h-100 {
    max-height: 100px !important;
    min-height: 0px !important;
}

.mx-h-150 {
    max-height: 150px !important;
    min-height: 0px !important;
}

.mx-h-200 {
    max-height: 200px !important;
    min-height: 0px !important;
}

.mx-h-250 {
    max-height: 250px !important;
    min-height: 0px !important;
}

.mx-h-300 {
    max-height: 300px !important;
    min-height: 0px !important;
}

.mx-h-350 {
    max-height: 350px !important;
    min-height: 0px !important;
}

.mx-h-400 {
    max-height: 400px !important;
    min-height: 0px !important;
}

.mx-h-450 {
    max-height: 450px !important;
    min-height: 0px !important;
}

.mx-h-500 {
    max-height: 500px !important;
    min-height: 0px !important;
}

.mx-h-550 {
    max-height: 550px !important;
    min-height: 0px !important;
}

.mx-h-600 {
    max-height: 600px !important;
    min-height: 0px !important;
}

.mx-h-650 {
    max-height: 650px !important;
    min-height: 0px !important;
}

.percent-remaining {
    height: 10px;
    border: solid 1px;
    border-radius: 50px;
    width: 100%;
    overflow: hidden;
}

.progress-bar {
    width: 70%;
    height: 100%;
}

.progress-bar-success {
    background-color: #28a745;
}

.progress-bar-warning {
    background-color: #ffc107;
}

.progress-bar-danger {
    background-color: #dc3545;
}

.progress-bar-dark {
    background-color: #8d0000;
}

.text-dark {
    color: #7c7c7c !important;
}

.font-sm {
    font-size: 1rem !important;
}

.font-md {
    font-size: 1.5rem !important;
}

.justify-content-evenly {
    justify-content: space-evenly !important;
}

.badged-amount-cards {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    box-shadow: 0px 2px 5px #00000030;
    border-radius: 4px;
    padding: 10px;
    font-size: 14px;
    flex-direction: column;
}

.badged-amount-cards .month-name {
    font-size: 16px !important;
    margin-bottom: 4px !important;
}

.badged-amount-cards-content {
    display: flex;
    justify-content: space-between;
    text-align: end;
    gap: 10px;
}

.badged-amount-title {
    font-weight: 600;
}

.border-1-gray {
    border: solid 1px #eee !important;
}

.size-150 {
    width: 150px;
    height: 150px;
}

.place-holder-loader {
    height: 10px;
    width: 50%;
    background: #959595;
    border-radius: 4px;
    background: linear-gradient(90deg, #eee 25%, #ddd 37%, #eee 63%);
    background-size: 400% 100%;
    animation: shimmer 1.5s infinite linear;
}

.custom-grid-fit-card {
    grid-template-columns: 90px 100px 150px 150px 150px 150px 150px 150px !important;
}



@keyframes shimmer {
    0% {
        background-position: -400px 0;
    }

    100% {
        background-position: 400px 0;
    }
}

.user-loader p,
.user-loader span {
  display: inline-block;
  position: relative;
  color: #999;
  font-style: italic;
  overflow: hidden;
  max-width: 150px;
}

/* Crea la barra brillante con un gradiente animado */
.user-loader::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;    /* empieza fuera a la izquierda */
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.6),
    transparent
  );
  animation: shine 1.5s infinite;
}

@keyframes shine {
  0% {
    left: -50%;
  }
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

.modal-solicitudes-informacion{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.modal-solicitudes-informacion p:nth-child(2n) {
    text-align: end;
}