/* #0856a4 – Azul profundo, serio y profesional

#8db9de – Azul claro suave, amigable y accesible

#048fdc – Azul brillante, tecnológico y moderno

#d5e4f1 – Azul muy claro, casi blanco, para contraste

#4893d0 – Azul intermedio, equilibrado y versátil  */

.off-canvas-sidebar .logo, .sidebar .logo {
    position: relative;
    padding: .5rem .3rem;
    z-index: 4;
}

.logo-normal{
    width: 140px;
    white-space: nowrap!important; /* Prevents text from wrapping */
    overflow: hidden!important;    /* Hides overflowing content */
    text-overflow: ellipsis;
}

@media (min-width: 1130px) {
    .sidebar-mini .sidebar .logo a.logo-normal {
        width: unset;
    }
}


.clear-cookies{
    z-index: 9999;
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.text-purple {
    color: #4b0ec6fc;
}

.btn, .rounded{
    border-radius: 8px!important;
}

.rounded-sm{
    border-radius: 5px!important;
}

.hrc{
    border-top: 1px solid #dee2e6 !important;
    margin-top: .5rem !important;
    padding-top: .5rem !important;
}

.hrcp{
    width: 100%;
    border-top: 1px solid #dee2e6 !important;
    margin-top: .5rem !important;
    padding-top: .5rem !important;
    margin-left: 1rem;
    margin-right: 1rem;
}

.btn-cant-product{
    border-radius: 50% !important;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px!important; 
    padding: 5px 10px!important; 
    color: #fff!important;
    margin: 0px;
    transition: all 0.1s ease-in-out;
}

.btn-cant-product > .now-ui-icons {
    top: 0px!important;
}

.delete-product{
    position: absolute;
    top: auto;
    right: 0;
    font-size: 9px;
    border-radius: 50% !important;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.2s ease-in-out;
}

.delete-product:hover, .btn-cant-product:hover{
    transform: scale(1.4);
}

.cant-products{
    display: flex;
    flex-wrap: wrap;
    margin: 0 8px;
    align-content: center;
    font-weight: bold;
}

.price-products{
    display: flex;
    align-content: center;
    justify-content: center;
    font-weight: bold;
    align-items: center;
}

.contcant-products{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#registrarMovimiento, .t-white{
    color: white!important;
    font-size: 1rem;
    font-weight: bold;
}

.label-over{
    position: absolute;
    z-index: 900;
    top: -10px;
    left: 25px;
    background-color: white;
    padding: 1px 5px;
}

.card, .modal-content{
    border-radius: 18px;
}

.card-table{
    width: 100%!important;
    max-width: none!important;
    margin: 5px 0 5px 0 !important;
    box-shadow: 1px 0px 5px 0px rgba(39, 39, 39, .1);
    border: 1px solid #e6e6e6 !important;
    padding: 5px 10px 5px 10px !important;
}

.card-adeudo{
    width: 95% !important;
    max-width: none!important;
    margin: 5px 0 5px 0 !important;
    box-shadow: 1px 0px 5px 0px rgba(39, 39, 39, .1);
    padding: 5px 10px 5px 10px !important;
    background-color: #E0FFDC;
    border: 3px solid green !important;
    transition: all 0.2 ease-in-out;
}

.card-adeudo::after {
content: "";
    content: "";
    position: absolute;
    top: -12px; 
    right: 10px;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid green; 
}


.bg-none{
    background-color: #ffffff !important;
}


.modal .modal-header .close {
    font-size: 2rem;
    padding: 0px 10px;
}

.bold-title{
    font-weight: bold;
    margin-bottom: 0px;
}

.bginactive{
    background-color: #fffacf!important;
}

.text-sm{
    font-size: 0.65rem;
}

.breadcrumb{
    border-radius: 8px;
    padding: 7px 13px!important;
}

.alert {
    border-radius: 9px;
    padding-top: 0.4rem;
    padding-bottom: .4rem;
}

.nombre-paciente{
    line-height: 1em;
    margin-bottom: 0px;
}

.card .avatar {
    margin-bottom: 5px;
}

.lista-historia{
    list-style: none;
    margin-bottom: 0px;
}

.navbar .navbar-nav .nav-item.active .nav-link:not(.btn), .navbar .navbar-nav .nav-item .nav-link:not(.btn):active, .navbar .navbar-nav .nav-item .nav-link:not(.btn):focus, .navbar .navbar-nav .nav-item .nav-link:not(.btn):hover {
    border-radius: 8px;
}

/* .sidebar:after, .sidebar:before {
    border-radius: 0 10px 10px 0;
} */

/* DISENO DE LOGIN */

    .img-login{
        width: 150px;
        margin-bottom: 10px;
        position: absolute;
        top: -75px;
    }

    .card-body-login{
        padding-top: 80px!important;
    }

    .full-page>.content {
        padding: 0px;
    }

    .wrapper-full-page{
        align-content: center;
        margin: 0;
        height: 100vh;
        background-color: #f8faff;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-image: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'><path fill='%230856a4' fill-opacity='1' d='M0,96L80,112C160,128,320,160,480,154.7C640,149,800,107,960,96C1120,85,1280,107,1360,117.3L1440,128L1440,0L1360,0C1280,0,1120,0,960,0C800,0,640,0,480,0C320,0,160,0,80,0L0,0Z'></path><path fill='%230489dc' fill-opacity='0.8' d='M0,256L80,245.3C160,235,320,213,480,181.3C640,149,800,107,960,101.3C1120,96,1280,128,1360,144L1440,160L1440,0L1360,0C1280,0,1120,0,960,0C800,0,640,0,480,0C320,0,160,0,80,0L0,0Z'></path></svg>");
    }

    .section-image::after {
        background-color: unset!important;
    }

    .login-page{
            flex-wrap: wrap;
            display: flex;
            justify-content: center;
            align-content: center;
    }

    .card-login{
       border-radius: 20px!important;
       padding: 10px!important;
    }
/* DISENO DE LOGIN */

/* CONTENEDOR DE MEDICOS */
    #contenedor-medicos  {
        opacity: 1;
        transition: opacity 0.5s ease-in-out;
    }

    .sidebar-mini #contenedor-medicos {
        opacity: 0;
    }
/* CONTENEDOR DE MEDICOS */

/* BARRA DE BUSQUEDA */

    .alert-msg{
        width: 100%!important;
        text-align: center;
    }
    
    .navbar.fixed-top {
        width: 100%;
    }
    
    .navbar .navbar-nav .nav-item{
        margin: 0px!important;
    }
    
    .busqueda_container{
        width: 70%;
        display: flex;
        align-items: center;
        justify-content: end;
    }
    
    .busqueda{
        width: 50%;
    }
    
    .navbar-collapse {
        flex-grow: 0;
    }

    .select2-container--krajee-bs3 .select2-selection {
        background-color: hsla(0, 0%, 87%, .3)!important;
        border: medium none!important;
        border-radius: 10px!important;
    }
    
    .select2-selection__placeholder{
        color: rgb(31, 31, 31)!important;
        display: flex!important;
    }
    
    .select2-container--krajee-bs3 .select2-selection--single .select2-selection__arrow b {
        border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
    }
    
    .select2-container--krajee-bs3.select2-container--open .select2-selection--single .select2-selection__arrow b {
        border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
    }
    
    #select2-hola-container > .select2-selection__placeholder{
        color: white!important;
    }
    
    #hola span .select2-container--krajee-bs3 .select2-selection--single .select2-selection__arrow b {
        border-color: white transparent #fff transparent !important;
    }
    
    #hola > .select2-container--krajee-bs3.select2-container--open .select2-selection--single .select2-selection__arrow b {
        border-color: white transparent #fff transparent !important;
    }
    
    .select2-container--krajee-bs3.select2-container--open .select2-selection, .select2-container--krajee-bs3 .select2-selection:focus{
        -webkit-box-shadow: none!important;
        box-shadow: none!important;
        border: medium none!important;
        background-color: hsla(0, 0%, 87%, .5)!important;
    }
    
    .select2-container--krajee-bs3 .select2-dropdown {
        border-radius: 7px!important;
        margin-top: 7px!important;
    }

    .select2-container--krajee-bs3 li.select2-results__option {
        background-color: #e3f3fc!important;
        color: #537dc0!important;
    }
/* BARRA DE BUSQUEDA */


/* DISENO DE CHAT */


    .chatContainer{
        position: relative;
        display: flex;
    }

    .open-button {
        padding: 10px 20px;
        border: none;
        cursor: pointer;
        width: 100%;
        border-radius: 10px;
        margin: 5px;
    }

    .chatContainerfixed{
        z-index: 999;
        position: fixed;
        justify-content: end;
        right: 30px;
        bottom: 30px;
        width: 310px;
        /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important; */
    }

    .chatContainerfixed > .open-button{
        border: 2px solid #1eaa2e;
        padding: 10px;
        /* border: none; */
        cursor: pointer;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        box-shadow: 0px 2px 5px rgb(0 0 0 / 56%);
        font-size: 25px;
    }

    .chatContainerfixed > .open-button > span{
        display: none;
    }

    .chatContainerfixed > .chat-popup{
        /* border: 1px solid #ccc; */
        box-shadow: 0px 0px 5px rgb(0 96 154);
        border-radius: 15px;
        background-color: white;
    }
    
    
    
    .chat-popup{
        width: 100%;
        padding: 5px;
    }

    .form-popup {
        display: none;
        position: fixed;
        bottom: 0;
        right: 15px;
        border: 3px solid #f1f1f1;
        z-index: 9;
    }

    .form-container {
        max-width: 300px;
        padding: 5px;
        background-color: white;
        border-radius: 10px;
    }

    .chat-container {
        margin: 0 0 5px 0;
        font-size: 11px;
        display: flex;
        flex-direction: column;
        border-radius: 7px;
        min-height: 300px;
        background-color: #f1f1f1;
        border: none;
        height: 300px;
    }

    .chat-messages {
        flex-grow: 1;
        padding: 5px;
        -ms-overflow-style: thin;
        scrollbar-color: #c4c4c4 #f1f1f1;
        scrollbar-width: thin;
        overflow-y: scroll;
        overflow-x: hidden;
        scroll-behavior: smooth;
    }

    .chat-messages::-webkit-scrollbar {
        display: none;
    }

    .message {
        display: flex;
        margin-bottom: 10px;
        position: relative;
    }

    .message.other {
        justify-content: flex-start;
        align-items: flex-start;
    }

    .message.self {
        justify-content: flex-end;
        align-items: flex-end;
    }

    .message.other::after {
        content: '';
        position: absolute;
        visibility: visible;
        bottom: 0px;
        left: -8px;
        border: 10px solid transparent;
        border-bottom: 10px solid #c3e2f8;
        clear: both;
    }
    
    .message.self::after {
        content: '';
        position: absolute;
        visibility: visible;
        bottom: 0px;
        right: -8px;
        border: 10px solid transparent;
        border-bottom: 10px solid #76c6ff;
        clear: both;
    }

    .message-title{
        font-weight: bold;
        color: #003975;
    }

    .message-content {
        max-width: 90%;
        padding: 5px;
        border-radius: 7px;
        background-color: #c3e2f8;
    }

    .time{
        font-size: 9px;
        font-weight: bold;
        text-align: right;
        color: #003975;
    }

    .self .message-title{
        color: #fff;
    }

    .message.self .message-content{
        background-color: #76c6ff;
    }

    .msgtext{
        border-radius: 7px;
    }

    .form-container .btn {
        background-color: #4CAF50;
        color: white; 
        border: none;
        cursor: pointer;
        width: 100%;
        opacity: 0.8;
        margin: 10px 0 0 0;
        border-radius: 7px;
    }

    .chat-popup .cancel {
        background-color: red;
        margin: 0px;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        padding: 5px;
        position: absolute;
        right: 0px;
        top: -5px;
        z-index: 4;
    }

    .sidebar-mini .open-button{
        width: 85%;
        padding: 10px;
        display: block;
    }

    .sidebar-mini .chatContainerfixed .open-button{
        /* display: ; */
        width: 60px;
    }
    

/* ==========================
   Técnica: ::before = borde
            ::after  = color interno
   ========================== */

/* Usuario 1 - Azul */
.user1 .message-content {
    background-color: #c3e2f8 !important;
    color: #003975 !important;
    border: 1px solid #91c4eb !important;
    position: relative !important;
    z-index: 3 !important;
}
.user1 .message-title,
.user1 .time {
    color: #003975 !important;
}
.user1.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #91c4eb !important; /* borde externo */
    z-index: 1 !important;
}
.user1.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c3e2f8 !important; /* fondo interno */
    z-index: 3 !important;
}
.user1.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #91c4eb !important;
    z-index: 1 !important;
}
.user1.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c3e2f8 !important;
    z-index: 3 !important;
}

/* Usuario 2 - Verde */
.user2 .message-content {
    background-color: #c3f8d4 !important;
    color: #036b29 !important;
    border: 1px solid #93dbaa !important;
    position: relative !important;
    z-index: 3 !important;
}
.user2 .message-title,
.user2 .time { color: #036b29 !important; }
.user2.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #93dbaa !important;
    z-index: 1 !important;
}
.user2.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c3f8d4 !important;
    z-index: 3 !important;
}
.user2.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #93dbaa !important;
    z-index: 1 !important;
}
.user2.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c3f8d4 !important;
    z-index: 3 !important;
}

/* Usuario 3 - Naranja */
.user3 .message-content {
    background-color: #ffe4c2 !important;
    color: #7a3f00 !important;
    border: 1px solid #e1b986 !important;
    position: relative !important;
    z-index: 3 !important;
}
.user3 .message-title,
.user3 .time { color: #7a3f00 !important; }
.user3.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #e1b986 !important;
    z-index: 1 !important;
}
.user3.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #ffe4c2 !important;
    z-index: 3 !important;
}
.user3.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #e1b986 !important;
    z-index: 1 !important;
}
.user3.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #ffe4c2 !important;
    z-index: 3 !important;
}

/* Usuario 4 - Morado */
.user4 .message-content {
    background-color: #e3c3f8 !important;
    color: #4d006b !important;
    border: 1px solid #c49adc !important;
    position: relative !important;
    z-index: 3 !important;
}
.user4 .message-title,
.user4 .time { color: #4d006b !important; }
.user4.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #c49adc !important;
    z-index: 1 !important;
}
.user4.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #e3c3f8 !important;
    z-index: 3 !important;
}
.user4.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #c49adc !important;
    z-index: 1 !important;
}
.user4.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #e3c3f8 !important;
    z-index: 3 !important;
}

/* Usuario 5 - Turquesa */
.user5 .message-content {
    background-color: #c2f8f1 !important;
    color: #00574a !important;
    border: 1px solid #93d7cd !important;
    position: relative !important;
    z-index: 3 !important;
}
.user5 .message-title,
.user5 .time { color: #00574a !important; }
.user5.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #93d7cd !important;
    z-index: 1 !important;
}
.user5.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c2f8f1 !important;
    z-index: 3 !important;
}
.user5.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #93d7cd !important;
    z-index: 1 !important;
}
.user5.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #c2f8f1 !important;
    z-index: 3 !important;
}

/* Usuario 6 - Amarillo */
.user6 .message-content {
    background-color: #fff7c2 !important;
    color: #665b00 !important;
    border: 1px solid #ddd492 !important;
    position: relative !important;
    z-index: 3 !important;
}
.user6 .message-title,
.user6 .time { color: #665b00 !important; }
.user6.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #ddd492 !important;
    z-index: 1 !important;
}
.user6.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #fff7c2 !important;
    z-index: 3 !important;
}
.user6.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #ddd492 !important;
    z-index: 1 !important;
}
.user6.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #fff7c2 !important;
    z-index: 3 !important;
}

/* Usuario 7 - Coral */
.user7 .message-content {
    background-color: #ffd3cc !important;
    color: #7a1e0e !important;
    border: 1px solid #e1a79d !important;
    position: relative !important;
    z-index: 3 !important;
}
.user7 .message-title,
.user7 .time { color: #7a1e0e !important; }
.user7.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #e1a79d !important;
    z-index: 1 !important;
}
.user7.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #ffd3cc !important;
    z-index: 3 !important;
}
.user7.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #e1a79d !important;
    z-index: 1 !important;
}
.user7.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #ffd3cc !important;
    z-index: 3 !important;
}

/* Usuario 8 - Rosa */
.user8 .message-content {
    background-color: #f8c2d7 !important;
    color: #6b0030 !important;
    border: 1px solid #d996ad !important;
    position: relative !important;
    z-index: 3 !important;
}
.user8 .message-title,
.user8 .time { color: #6b0030 !important; }
.user8.message.other::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    left: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #d996ad !important;
    z-index: 1 !important;
}
.user8.message.other::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    left: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #f8c2d7 !important;
    z-index: 3 !important;
}
.user8.message.self::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0px !important;
    right: -11px !important;
    border: 11px solid transparent !important;
    border-bottom-color: #d996ad !important;
    z-index: 1 !important;
}
.user8.message.self::after {
    content: '' !important;
    position: absolute !important;
    bottom: 1px !important;
    right: -8px !important;
    border: 10px solid transparent !important;
    border-bottom-color: #f8c2d7 !important;
    z-index: 3 !important;
}


/* DISENO DE CHAT */




/* DISENO DE ALERT */
    .alert{
        /* width: 250px!important; */
        font-weight: bold;
        font-size: 1rem;
    }
    
    .alert.alert-success {
        background-color: #57c251!important;
    }
    
    .progress {
        height: 3px!important;
    }
    
    .progress-bar {
        background-color: #14990d!important;
    }
/* DISENO DE ALERT */


/* DISENO DE FILEINPUT */

    .input-group .form-control:first-child {
        border-right: 1px solid #e3e3e3!important;
        border-top-right-radius: 10px!important;
        border-bottom-right-radius: 10px!important;
        margin-right: 10px!important;
    }

    .btn-file:hover, .btn-file:active:hover, .btn-file:focus, .btn-file:not(:disabled):not(.disabled).active, .btn-file:not(:disabled):not(.disabled).active:focus, .btn-file:not(:disabled):not(.disabled):active, .btn-file:not(:disabled):not(.disabled):active:focus, .show>.btn-file.dropdown-toggle, .show>.btn-file.dropdown-toggle:focus, .show>.btn-file.dropdown-toggle:hover {
        background-color: #4bb5ff;
        color: #fff;
        box-shadow: none;
    }
    .btn-file{
        border-radius: 10px;
        margin: 0px;
        background-color: #2ca8ff;
        color: #fff;
        margin: 3px!important;
    }

    .fileinput-remove{
        background-color: #ff3636;
        color: #fff;
    }
    
    .fileinput-remove{
        margin: 3px;
    }
    
    .file-preview-thumbnails{
        display: flex;
    }
    
    .noUi-horizontal {
        height: 5px;
    }
    
    .noUi-horizontal .noUi-handle {
        margin-top: -5px;
    }
/* DISENO DE FILEINPUT */

/* DISENO BARRA DE CAJA */
.cashregisterbar{
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 0; 
}

.cashregisterbar a{
    align-items: center;
    transition: transform 0.2s ease-in-out;
}
.cashregisterbar a:hover{
    transform: scale(1.1);
}

.cashregisterbar a > i{
    margin-right: 6px;
}

.cashregisterbar a > span{
    font-weight: bold;
}

.cashregisterbar .btn-sq{
    width: auto!important;
    height: 40px!important;
}


.concept-input, .money-input{
    border: 2px solid #e0e0e0;
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    background-color: #f9f9f9;
    text-align: right;
    height: calc(2.5rem + 2px);
}

.concept-input{
    text-align: left;
}

.money-input{
    font-weight: 700;
    height: calc(2.75rem + 2px);
}

.concept-input:focus, .money-input:focus {
    outline: none;
    border-color: #4CAF50;
    background-color: #f9f9f9;
}

/* DISENO BARRA DE CAJA */

/* DISENO DE MIVIMIENTOS DE CAJA */

.rowGrid{
   display: grid;
    grid-template-columns: 8fr 4fr; 
    gap: 10px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}

.detalle-mov span{
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 90px;
    margin-right: 10px;
}
.detalle-mov > :first-child {
    width: 100px!important;
}

.npaciente{
    width: 150px!important;
}

.tipo-mov{
    font-weight: bold;
    font-style: italic;
}

.t-apertura{
    color: #4BB65D;
}
.t-entrada{
    color: #31373B;
}
.t-salida{
    color: #DE1807;
}
.bg-tarjeta{
    background-color: #FFF9E2;
    border: 1px solid #d8c060!important;
}
.bg-cancelado{
    background-color: #FCEAE5;
    border: 1px solid #ffa48b!important;
}
.bg-apertura{
    background-color: #ECFAEA;
    border: 1px solid #5dd34c!important;
}

.text-money{
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.end-elements{
    display: flex;
    justify-content: end;
    align-items: center;
}

.center-elements{
    display: flex;
    justify-content: center;
    align-items: center;
}

.amount-elements{
    display: flex;
    justify-content: center;
    align-items: end;
    flex-direction: column;
}

#datatables_movimientos{
    border: none!important;
}

/* DISENO DE MIVIMIENTOS DE CAJA */


/* DISENO DE SALDO DE CAJA */
.card-balance{
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 18px;
    padding: 15px;
}

.card-balance i{
    margin-bottom: 10px;
    font-size: 36px;
}

.card-balance span{
    margin: -8px;
}

.card-balance div{
    display: flex;
    flex-direction: column;
}

.balance-amount{
    margin-top: 5px!important;
    margin-bottom: 0px!important;
    font-weight: bold;
}

.btn-detail{
    color: #7A7F81;
    background-color: white;
    border: 1px solid #7A7F81;
    border-radius: 30px;
    padding: 6px 24px;
    font-size: 10px;
    margin-bottom: 24px;
}

.balance-detail h6{
    margin: 0px;
}

/* DISENO DE SALDO DE CAJA */

    .w5{
        width: 5%!important;
    }
    
    .w10{
        width: 10%!important;
    }
    
    .w20{
        width: 20%!important;
    }

    @media screen and (max-width: 767px) {
        table.dataTable>tbody>tr>td:first-child {
            padding-left: 5px !important;
        }
    }
    
    @media (min-width: 992px) {
        .busqueda_container{
            width: 85%;
        }
    }

    @media (min-width: 1200px) {   
        .busqueda_container{
            width: 90%;
        }  
    }

    @media (min-width: 1600px) {
        .busqueda_container{
            width: 60%;
        }
    }
    
    @media (width <= 991px) {
        .busqueda{
            width: 90%;
        }
    
        .select2-selection__placeholder{
            color: rgb(31, 31, 31)!important;
        }
        
        .select2-container--krajee-bs3 .select2-selection--single .select2-selection__arrow b {
            border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
        }
        
        .select2-container--krajee-bs3.select2-container--open .select2-selection--single .select2-selection__arrow b {
            border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
        }
    
        #select2-hola-container > .select2-selection__placeholder{
            color: rgb(31, 31, 31)!important;
        }
        
        #select2-hola-container > .select2-container--krajee-bs3 .select2-selection--single .select2-selection__arrow b {
            border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
        }
        
        #select2-hola-container > .select2-container--krajee-bs3.select2-container--open .select2-selection--single .select2-selection__arrow b {
            border-color: rgb(31, 31, 31) transparent rgb(31, 31, 31) transparent !important;
        }
    }

    .btn-with-icon{
        margin-top: 0px;
    }

    .btn-with-icon .btn-text {
        max-width: 0;
        -webkit-transition: max-width 0.7s;
        transition: max-width 0.7s;
        display: inline-block;
        vertical-align: top;
        white-space: nowrap;
        overflow: hidden;
        
    }
    .btn-with-icon:hover .btn-text {
        max-width: 9rem;
        margin-left: .2rem;
    }

    button.btn-with-icon{
        margin-right: 6px;
    }

    .krajee-default .file-footer-caption {
        margin-bottom: 0px!important;
    }

    .krajee-default.file-preview-frame .file-thumbnail-footer {
        height: unset!important;
    }

    .paginate_button{
        cursor: pointer;
        border: none!important;
        box-shadow: none!important;
        transition: transform 0.2s ease-in-out;
    }

    .paginate_button:hover{
        transform: scale(1.2);
    }

.swal2-buttonswrapper{
    display: flex!important;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
}

.swal2-buttonswrapper > button {
    width: 70%;
    align-self: center;
}

/* --- Estilos Generales para Botones SweetAlert2 --- */
.swal2-confirm,
.swal2-cancel {
  /* Propiedades comunes para ambos botones */
  font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; /* Fuente moderna y legible */
  font-size: 1rem !important;
  font-weight: 600 !important; /* Un poco más de peso para la legibilidad */
  padding: 0.75rem 1.75rem !important; /* Más padding para una mejor área de clic */
  border-radius: 0.5rem !important; /* Bordes ligeramente más redondeados */
  border: none !important;
  cursor: pointer;
  transition: all 0.25s ease-in-out !important; /* Transiciones más suaves y rápidas */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important; /* Sombra más pronunciada pero difuminada */
  outline: none !important; /* Elimina el contorno de enfoque por defecto */
}

.swal2-confirm:active,
.swal2-cancel:active {
  transform: translateY(1px) !important; /* Pequeño "click" al presionar */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important; /* Sombra más pequeña al presionar */
}

/* --- Botón de Confirmación: Estilo "Success" --- */
.swal2-confirm {
  background-color: #4CAF50 !important; /* Verde más vibrante y universal */
  color: #ffffff !important; /* Texto blanco puro */
}

.swal2-confirm:hover {
  background-color: #43A047 !important; /* Un tono más oscuro en hover */
  transform: translateY(-2px) !important; /* Ligero levantamiento en hover */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important; /* Sombra ampliada en hover */
}

/* --- Botón de Cancelación: Estilo "Danger" --- */
.swal2-cancel {
  background-color: #F44336 !important; /* Rojo cálido y claro */
  color: #ffffff !important;
}

.swal2-cancel:hover {
  background-color: #E53935 !important; /* Un tono más oscuro en hover */
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
}

/* --- Mejoras Adicionales para el Contenedor de Botones (Opcional) --- */
/* Esto puede ayudar a centrar los botones o darles un mejor espaciado si SweetAlert2 no lo hace por defecto */
.swal2-actions {
    padding-top: 20px !important; /* Más espacio encima de los botones */
}

.swal2-modal{
    border-radius: 20px!important;
}

.text-decoration-none{
    text-decoration: none!important;
}


/* fullcalendar */

.fc-scrollgrid{
    border: none!important;
}

.fc-h-event, .fc-v-event {
    border: none!important;
    border-radius: 3px;
}

.fc-event-main{
    padding: 3px!important;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

}

.fc .fc-timegrid-slot {
    height: 25px;
}

:root {
    --fc-small-font-size: 1rem;
    --fc-today-bg-color: rgba(40, 165, 255, 0.15);
}

.fc .fc-highlight {
    background-color: rgb(0, 255, 0)!important;
    border: 1px solid #005900!important;
    border-radius: 8px; 
}

.fc .fc-button-group>* {
    float: left;
    margin: 0 0 0 5px!important;
    border-radius: 8px!important;
    border: none!important;
}

.fc button, .fc button.btn-primary {
  background-color: #2ca8ff!important;
  color: #fff;
}
.fc button.btn-primary.disabled, .fc button.btn-primary.disabled.active, .fc button.btn-primary.disabled.focus, .fc button.btn-primary.disabled:active, .fc button.btn-primary.disabled:focus, .fc button.btn-primary.disabled:hover, .fc button.btn-primary:disabled, .fc button.btn-primary:disabled.active, .fc button.btn-primary:disabled.focus, .fc button.btn-primary:disabled:active, .fc button.btn-primary:disabled:focus, .fc button.btn-primary:disabled:hover, .fc button.btn-primary[disabled], .fc button.btn-primary[disabled].active, .fc button.btn-primary[disabled].focus, .fc button.btn-primary[disabled]:active, .fc button.btn-primary[disabled]:focus, .fc button.btn-primary[disabled]:hover, .fc button.disabled, .fc button.disabled.active, .fc button.disabled.focus, .fc button.disabled:active, .fc button.disabled:focus, .fc button.disabled:hover, .fc button:disabled, .fc button:disabled.active, .fc button:disabled.focus, .fc button:disabled:active, .fc button:disabled:focus, .fc button:disabled:hover, .fc button[disabled], .fc button[disabled].active, .fc button[disabled].focus, .fc button[disabled]:active, .fc button[disabled]:focus, .fc button[disabled]:hover, fieldset[disabled] .fc button, fieldset[disabled] .fc button.active, fieldset[disabled] .fc button.btn-primary, fieldset[disabled] .fc button.btn-primary.active, fieldset[disabled] .fc button.btn-primary.focus, fieldset[disabled] .fc button.btn-primary:active, fieldset[disabled] .fc button.btn-primary:focus, fieldset[disabled] .fc button.btn-primary:hover, fieldset[disabled] .fc button.focus, fieldset[disabled] .fc button:active, fieldset[disabled] .fc button:focus, fieldset[disabled] .fc button:hover {
  background-color: #2ca8ff!important;
  border-color: #2ca8ff!important;
}

.fc button.active:hover, .fc button.btn-primary.active:hover, .fc button.btn-primary:active:hover, .fc button.btn-primary:focus, .fc button.btn-primary:hover, .fc button.btn-primary:not(:disabled):not(.disabled).active, .fc button.btn-primary:not(:disabled):not(.disabled).active:focus, .fc button.btn-primary:not(:disabled):not(.disabled):active, .fc button.btn-primary:not(:disabled):not(.disabled):active:focus, .fc button:active:hover, .fc button:focus, .fc button:hover, .fc button:not(:disabled):not(.disabled).active, .fc button:not(:disabled):not(.disabled).active:focus, .fc button:not(:disabled):not(.disabled):active, .fc button:not(:disabled):not(.disabled):active:focus, .show>.fc button.btn-primary.dropdown-toggle, .show>.fc button.btn-primary.dropdown-toggle:focus, .show>.fc button.btn-primary.dropdown-toggle:hover, .show>.fc button.dropdown-toggle, .show>.fc button.dropdown-toggle:focus, .show>.fc button.dropdown-toggle:hover {
  background-color: #2ca8ffa1!important;
  color: #fff;
  box-shadow: none;
}

.fc button {
    border-width: 2px!important;
    font-weight: 400!important;
    font-size: .8571em!important;
    line-height: 1.35em!important;
    margin: 5px 1px!important;
    border: none!important;
    margin: 0px 5px!important;
    border-radius: 8px!important;
    padding: 11px 22px!important;
    cursor: pointer!important;
    transition: all .2s ease-in-out;
    outline: none!important;
}

.fc-direction-ltr .fc-daygrid-more-link {
    float: right!important;
    color: #000;
}

/* fullcalendar */

/* diseno de citas */
    .cita{
        display: flex;
        flex-direction: column;
        font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: #333; 
        border: 2px solid rgba(0, 128, 0, 0.641);
        border-radius: 8px;
        padding: 10px 15px;
    }

    .cita-salida{
        border: 2px solid rgba(128, 0, 0, 0.641);
    }

    .cita > * {
        margin: -8px;
    }
    .cita-label {
        text-align: center;
        font-weight: bold;
        margin-bottom: 5px;
    }
    .cita span{
        font-size: 20px;
    }

    .control-label{
        font-weight: bold;
        margin-bottom: 0px;
        text-transform: capitalize;
    }
/* diseno de citas */


.off-canvas-sidebar[data-color=blue]:after, .sidebar[data-color=blue]:after {
    border-radius: 0px 15px 15px 0px;
    box-shadow: 0 2px 22px 0 rgba(0, 0, 0, .2), 0 2px 30px 0 rgba(0, 0, 0, .35);
}
.off-canvas-sidebar, .sidebar{
    box-shadow: none;
    z-index: 999!important;
}

.main-panel {
    width: calc(100% - 0px);
}

.navbar.fixed-top {
    padding-left: 290px;
    transition: all .5s cubic-bezier(.685,.0473,.346,1);
}
.main-panel>.content {
    padding-left: 290px;
    transition: all .5s cubic-bezier(.685,.0473,.346,1);
}
.panel-header{
    background: linear-gradient(90deg, #0754a0 0, #04407a 60%, #073e74)!important;
}

[color=blue]:after, .sidebar[data-color=blue]:after {
    background: #0856a4!important;
}

.off-canvas-sidebar .nav li>a, .sidebar .nav li>a {
    border-radius: 10px!important;
}

@media (min-width: 1130px) {

    .sidebar-mini .main-panel {
        width: calc(100% - 0px);
    }

    .sidebar-mini .navbar.fixed-top {
        padding-left: 90px;
    }

    .sidebar-mini .main-panel>.content {
        padding-left: 120px;
    }
}

@media screen and (max-width: 1130px) {
    .main-panel {
        width: 100%;
    }

    .navbar.fixed-top {
        padding-left: 30px;
    }
    .main-panel>.content {
        padding-left: 30px;
    }

    .nav-open .main-panel {
        right: 0;
        transform: none;
    }

    .nav-open .main-panel>.content {
        right: 0;
        transform: translate3d(260px, 0px, 0px);
    }

    .nav-open .navbar.fixed-top {
        transform: translate3d(260px, 0px, 0px);
    }

    .nav-open .fixed-top [class*=container-] {
        transform: none;
    }

    .nav-open .sidebar {
        box-shadow: none;
    }
}