@charset "UTF-8";

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.poppins {
    font-family: "Poppins-Regular";
}

.archia {
    font-family: "Archia-Regular";
}

.bg-extralight{
    background-color: rgb(250,250,250);
}

/*
SCROLLBAR
*/
/* Personaliza la barra de desplazamiento completa */
::-webkit-scrollbar {
    width: 3px; /* Ancho de la barra de desplazamiento */
    height: 3px; /* Ancho de la barra de desplazamiento */
    background-color: rgba(0,0,0,0); /* Fondo transparente */
}

/* Personaliza la "manija" de la barra de desplazamiento */
::-webkit-scrollbar-thumb {
    background: #888; /* Color de la "manija" */
    border-radius: 5px; /* Bordes redondeados para la "manija" */
}

/* Personaliza el track de la barra de desplazamiento */
::-webkit-scrollbar-track {
    background-color: rgba(0,0,0,0); /* Fondo transparente */
    border-radius: 0; /* Bordes redondeados para el track */
}

/* Opcional: Personaliza el estado hover de la "manija" */
::-webkit-scrollbar-thumb:hover {
    background: #555; /* Color de la "manija" al pasar el mouse */
}


/*
*****************
***** LOGIN *****
*****************
*/

.form-signin {
    width: 100%;
    max-width: 400px;
    padding: 15px;
    margin: 0 auto;
}

.form-signin .checkbox {
    font-weight: 400;
}

.form-signin .form-control {
    position: relative;
    box-sizing: border-box;
    height: auto;
    padding: 10px;
    font-size: 16px;
}

.form-signin .form-control:focus {
    z-index: 2;
}

.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


/*
*****************
***** HOME ******
*****************
*/

#app-menu,
#app-container {
    height: calc(100vh - 80px); 
    overflow-y: auto; 
    overflow-x: hidden;
}

#grid-container {
    height: calc(100% - 65px); 
}

.text-center.d-flex.h-100.flex-column.justify-content-center {
    height: 100%;
}

main>.container {
    padding: 90px 15px 0;
}

.dropdown-menu {
    z-index: 1050; /* Nivel adecuado para el menú desplegable */
}

.floating-user-menu {
    position: fixed;
    top: 2px;
    right: 0;
    z-index: 1060; /* Superior al contenido del tabbar */
}


.btn-menu {
    background-color: transparent;
}
.dx-datagrid{  
    font:9px  Archia-Regular; 
}  
.dx-toolbar-button.dx-toolbar-text-auto-hide .dx-button .dx-icon {
    height: 36px !important;
    width: 36px !important;
    font-size: 24 !important;
}
.dx-button-has-icon .dx-icon {
    height: 36px !important;
    width: 36px !important;
    font-size: 24 !important;
}

.dx-toolbar-icon-pk:hover{
    background-color: rgba(0, 0, 0, 0.1);
}

.dx-toolbar-icon-pk{
    cursor: pointer;
    background-color: transparent;
    border-radius: 10px;
    font-size: 15px;

}
.dx-toolbar{
    margin-bottom: 5px !important;
    font:9px  Archia-Regular !important;
}
.dx-state-disabled {
    opacity: 0.8 !important; /* Cambia 1 a cualquier valor entre 0 y 1 que prefieras, donde 1 es totalmente opaco y 0 es completamente transparente */
}

.logo-overlay {
    position: relative;
    display: inline-block; /* Asegura que se ajuste al tamaño de la imagen */
}

.logo-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--bs-light-rgb), 0.5); /* Blanco con 50% de opacidad */
    pointer-events: none; /* Permite interactuar con la imagen debajo */
}


/*
*******************
****** Menú *******
*******************
*/

#tabMenuPpal {
    background-color: rgb(250, 250, 250);
}

#tabMenuPpal>.nav-item {
    /*background-color: #D9D9D6;*/
    margin-right: 1px;
    /*border-top: 1px solid #dee2e6;
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
    border-radius: 10px 10px 0px 0px;
    */
    color: rgb(var(--bs-dark-rgb));
    font-weight: normal;
    font-size: 1.1rem;
}

#tabMenuPpal>.nav-item>.nav-link {
    color: rgb(var(--bs-dark-rgb));
}

#tabMenuPpal>.nav-item>.active {
    /*
    background-color: rgb(var(--bs-primary-rgb));
    color:rgb(var(--bs-light-rgb));
    font-weight: normal;
    */
    /*
    border-top: 1px solid #00D7AC;
    border-left: 1px solid #00D7AC;
    border-right: 1px solid #00D7AC;
    border-radius: 10px 10px 0px 0px;
    */
}

/*********RIBBON PK *******/
main>.tabmenu {
    margin-top: 90px;
    height: 180px;
    z-index: 1040;
}

.pktabcontent>.card{
    min-width: 80px;
    height: 137px;    
}

.pktabcontent>.card>.card-header{
    height: 25px;
    /*padding-left: 0.1rem;*/
    padding-top: 0;
    font-size: 1rem;;
    text-align: center;
}

.pktabcontent>.card>.selected-group{
    background-color: #fd844a;
}


.pktabcontent>.card button{
    border: 0px;
    background-color: #FFF;
}

.pktabcontent>.card button:hover {
    --bs-bg-opacity: 0.2;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    border-radius: 4px;
    /* al ponerle el border y hacer el hover cambia el tamaño del card ligeramente y hace un efecto raro
    border: 1px solid rgba(var(--bs-primary-rgb), var(--bs-bg-opacity));
    border-radius: 4px 4px 4px 4px;
    */    
}

.pktabcontent>.card button:active {
    --bs-bg-opacity: 0.3; 
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;   
    /* 
    border: 1px solid rgba(var(--bs-primary-rgb), var(--bs-bg-opacity));
    border-radius: 4px 4px 4px 4px;
    */
}

.pktabrow{
    height: 81px;
}

.line3rows_button {
    
    display: flex !important;
    align-items: center !important;
    height: 25px;
    margin: 1px 0;
    float: left;
    clear: left;
    padding: 1px 8px;    
    font-size: 14px;
    white-space: nowrap;
    /*color: #404040;*/
}


/*********************/
/******SIDE MENU******/
/*********************/

.pk-side-menu {
    display: none; /* Oculto por defecto */
    position: fixed;
    width: 300px;
    background-color: #f9f9f9;
    height: 100%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.pk-side-menu.open {
    display: block; /* Visible cuando está abierto */
}

.pk-close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #333;
}

.pk-close-btn:hover {
    color: #ff0000;
}

.pk-tab-btn-side {
    width: 100%;
    padding: 15px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    transition: background 0.2s;
}

.pk-tab-btn-side:hover {
    background-color: #e9ecef;
}

/***************/

.pk-menu-tab {
    border-bottom: 1px solid #ddd;
}

.pk-submenu {
    display: none;
    padding: 10px;
    background-color: #fff;
}

.pk-submenu.open {
    display: block;
}

.pk-menu-block {
    margin-bottom: 15px;
}

.pk-block-title {
    font-size: 14px;
    font-weight: bold;
    color: #495057;
    margin-bottom: 10px;
}

.pk-menu-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    background: none;
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    color: #495057;
    transition: background 0.2s, color 0.2s;
}

.pk-menu-btn:hover {
    background-color: #e9ecef;
    color: #333;
}


.pk-tab-btn {
    width: 100%;
    padding: 15px;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    transition: background 0.2s;
}

.pk-tab-btn:hover {
    background-color: #e9ecef;
}

/*******************/



/*
*******************
***** BTNs PK *****
*******************
*/

.btn-outline-primary2 {
    --bs-btn-color: rgb(7, 39, 45);
    --bs-btn-border-color: rgb(0, 215, 172);
    --bs-btn-bg: rgb(0, 215, 172);
    --bs-btn-hover-color: rgb(7, 39, 45);
    --bs-btn-hover-border-color: rgb(7, 39, 45);
    --bs-btn-hover-bg: rgb(0, 215, 172);
    --bs-btn-focus-shadow-rgb: 0, 215, 172;
    --bs-btn-active-color: rgb(7, 39, 45);
    --bs-btn-active-border-color: rgb(7, 39, 45);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(7, 39, 45, 0.125);
    --bs-btn-disabled-color: rgb(7, 39, 45);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgb(7, 39, 45);
    --bs-gradient: none;
}


/*
**********************
***** documentos *****
**********************
*/

.btn-menu-vertical {
    /*--width: 250px;
    height: calc(var(--width)*58/180);*/
    height: 80px;
    border-radius: .50rem;
    margin-bottom: 10px;
    cursor: pointer;
}

.comment-menu {
    font-size: .90rem !important;
    font-family: "Poppins-Regular";
}


/*
**************************
***** boton-imagenes *****
**************************
*/

.active-nnn {
    color: rgb(0, 215, 172);
}

/*
**********************
***** dx-toolbar *****
**********************
*/

.dx-datagrid-headers .dx-header-row {  
    background-color: lightgray;  
  }  
  
/*
*************************
***** pop-up editar *****
*************************
*/

.modal-header{
    color:white;
    background-color: rgb(7, 39, 45);
}

.modal-title{
    font-size: medium;
}

.modal-header{
    padding-top:3px;
    padding-bottom:3px;
}


/*
***********************
***** formularios *****
***********************
*/

input[readonly]{
    background-color: rgb(217,217,214);
}

input[readonly]:focus {
    background-color: rgb(217,217,214);
}

textarea[readonly] {
    background-color: rgb(217, 217, 214);
}

textarea[readonly]:focus {
    background-color: rgb(217, 217, 214);
}
.form-error{
    border: 1px solid #dc3545;
}

.par-img{
    max-height: 250px;
    max-width: 100%;
}
/*
***************************
***** Cards documents *****
***************************
*/

#docs-container .card .doc-img-vertical{
    display: block;
    font-size: 500%;
    margin-top: 1rem;
    margin-bottom: 2rem;
    text-align: center;
    
}

#docs-container .card .doc-img-horizontal{
    display: block;
    font-size: 350%;
    margin-left: 1rem;
    margin-right: 2rem;
    text-align: center;
    float: left;
    
}

#docs-container .card .card-body-info{
    display: block;
    float:left
}

#docs-container .card .card-text{
    color: rgb(217, 217, 214);
}

#docs-container .card .horizontal-card-buttons{
    float: right;
}

#docs-container .card .vertical-card-buttons{
    text-align: center;
    margin-top: 1rem;
}


/* Preview */
#grid-preview-body embed{
    min-width: 100% !important;
    min-height: 100% !important;
    width: auto !important;
    height: auto !important;
}

#grid-preview-body img{
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: 100%;
}

.center-preview{
    display: flex;
    align-items: center;
    justify-content: center;
}
.pdf-preview{
    position: relative;
    padding-bottom: 67.5%;
    height: 0;
    margin: 10px 0;
    overflow: hidden;
}

.pdf-preview embed{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*** ajuste devextreme ***/

.dx-tabs {
    max-width: 100%;
}
  
.dx-tabs-vertical {
    height: 216px;
}

.dx-button-mode-contained {
     box-shadow: 0 0px 0px rgba(255,255,255,0); 
}
.dx-button {
   border-radius: 10px;
   background-color: #fff;
}

/*texteditor => select con filtro*/
.dx-texteditor-input {
    font-size: 15px;
}

.dx-dropdowneditor-overlay .dx-list-group-header, .dx-dropdowneditor-overlay .dx-list-item-content {
    font-size: 15px;
    line-height: 10px;
}



#medicamento-pedidos-list.smaller-font-grid,
#medicamento-pedidos-list.smaller-font-grid .dx-datagrid .dx-row > td,
#medicamento-pedidos-list.smaller-font-grid .badge {
    font-size: 0.9rem !important; /* El !important fuerza la aplicación del estilo */
}
/********** pkSideTab**********/
.pk-side-tab {
    display: flex;
    height: 100%;
    background: rgba(var(--bs-light-rgb), 0.8) !important;
    border-top: 2px solid rgba(var(--bs-light-rgb), 0.8) !important;
    border-bottom: 2px solid rgba(var(--bs-light-rgb), 0.8) !important;
    border-right: 2px solid rgba(var(--bs-light-rgb), 0.8) !important;    
}
.pk-tabs {
    display: flex;
    flex-direction: column;
    /*width: 100px;*/
    /*background: #e9ecef;*/
    padding-top: 10px;
    align-items: center;
    gap: 20px;
    font-size: 0.9rem;
}
.pk-tab {
    padding: 20px 10px; /* Ajustamos el padding vertical */
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    border-radius: 5px;
    transition: 0.3s;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pk-tab:hover {
    --bs-bg-opacity: 0.2;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    border-radius: 4px;
}

.pk-tab.active {
    --bs-bg-opacity: 0.2;
    /*background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;*/
    border-radius: 0px;
    border-right: 3px solid rgb(var(--bs-primary-rgb)) !important;;
}
.pk-contentV1 {
    flex-grow: 1;
    padding: 20px;
    background: #fff;

    display: flex;
    justify-content: left;
    align-items: start;
}

.pk-content {
    flex-grow: 1;
    padding: 20px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: start;
    overflow-y: auto;  /* Habilita el scroll vertical */
    max-height: 100vh; /* Asegura que no se desborde fuera de la pantalla */
    scroll-behavior: smooth;
}

.pk-tab-content {
    display: none;
}
.pk-tab-content.active {
    display: block;
}


/* Ribbon Container */
/* Estilos para el nuevo Ribbon */
.ribbonContainer {
    background-color: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    margin-bottom: 10px;
}

/* Estilos para las pestañas */
.ribbonTabs {
    background-color: #f8f9fa;
    border-bottom: none;
    padding: 0 10px;
}

.ribbonTabs .nav-item .nav-link {
    color: #333;
    border: none;
    padding: 10px 15px;
    font-weight: 500;
    transition: all 0.2s ease;
    border-radius: 0;
    margin-right: 2px;
}

.ribbonTabs .nav-item .nav-link:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.ribbonTabs .nav-item .nav-link.active {
    color: #0c5ba6;
    background-color: #fff;
    border-bottom: 2px solid rgba(var(--bs-primary-rgb));;
}

/* Estilos para el contenido del ribbon */
.ribbon-content {
    padding: 10px;
    background-color: #fff;
}

/* Estilos para las secciones del ribbon */
.ribbon-section {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Estilos para los grupos del ribbon */
.ribbon-group {
    min-width: 150px;
    padding: 5px;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.1);
    margin-bottom: 5px;
}

.ribbon-group:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.ribbon-group-title {
    font-size: 15px;
    color: #6c757d;
    text-align: center;
    margin-bottom: 5px;
    font-weight: 500;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 1.5px;
    padding-bottom: 1.5px;
}

.selected-group{
    background-color: rgba(var(--bs-primary-rgb));
    color: rgba(var(--bs-white-rgb));
}

.ribbon-group-content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 5px;
}

/* Estilos para los botones grandes */
.ribbon-big-buttons {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-bottom: 5px;
}

.ribbon-button.big {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: none;
    background: transparent;
    border-radius: 4px;
    color: #333;
    min-width: 70px;
    transition: all 0.2s ease;
}

.ribbon-button.big:hover {   
    /* 
    background-color: rgba(12, 91, 166, 0.1);
    color: #0c5ba6;    
    */
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    color: rgba(var(--bs-primary-rgb));/*#0c5ba6;*/    
}

.ribbon-button.big .ribbon-button-icon {
    font-size: 24px;
    margin-bottom: 5px;
}

.ribbon-button.big .ribbon-button-text {
    font-size: 14px;
    text-align: center;
}

/* Estilos para los botones pequeños */
.ribbon-small-buttons {
    display: flex;
    gap: 5px;
}

.ribbon-small-column {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ribbon-button.small {
    display: flex;
    align-items: center;
    padding: 4px 8px;
    border: none;
    background: transparent;
    border-radius: 4px;
    color: #333;
    transition: all 0.2s ease;
    width: 100%;
    text-align: left;
}

.ribbon-button.small:hover {
    /*background-color: rgba(0, 0, 0, 0.05);*/
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    color: rgba(var(--bs-primary-rgb));
}

.ribbon-button.ribbon-button-selected  {
    background-color: rgba(var(--bs-primary-rgb), 0.15);
    color: rgba(var(--bs-primary-rgb));
    font-weight: 500;
}

.ribbon-button.small i {
    margin-right: 5px;
    font-size: 18px;
}

.ribbon-button.small .ribbon-button-text {
    font-size: 15px;
}

/* Estilos para los combos */
.ribbon-combo-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 5px;
}

.ribbon-combo {
    display: flex;
    align-items: center;
    gap: 5px;
}

.ribbon-combo select {
    font-size: 12px;
    padding: 4px 8px;
}

/* Colores para los iconos */
.text-success {
    color: #28a745;
}

.text-danger {
    color: #dc3545;
}

/* Responsive */
@media (max-width: 768px) {
    .ribbon-section {
        flex-direction: column;
    }
    
    .ribbon-group {
        width: 100%;
    }
    
    .ribbon-small-buttons {
        flex-direction: column;
    }
    
    .ribbon-small-column {
        width: 100%;
    }
}

/* form-switch */
/* Color info solo cuando esté marcado */
.chk-info:checked {
    background-color: rgb(0, 215, 172) !important; /* Color info de Bootstrap */
    border-color: rgb(0, 215, 172) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}

/* Color de la sombra (focus) también en info para coherencia */
.chk-info:focus {
    border-color:rgb(0, 215, 172);;
    box-shadow: 0 0 0 0.25rem rgba(0, 215, 172, 0.25) !important;
}