/* =============================================================================
   🎨 IOX STYLES.CSS - APLICANDO DESIGN SYSTEM MODERNO
   ============================================================================= */
/* Actualizado: Julio 2025 - Fase 1 Rediseño UI Moderno */

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #1e293b !important; /* text-dark moderno */
}

/* Títulos con color corporativo (para compatibilidad) */
.title-corporate,
.main-header .logo,
.content-header h1 {
    color: #19486b !important; /* corporate-blue original */
}


hr {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    border: 0 !important;
    border-top: 2px solid #25597f !important;
}

.main-header .logo .logo-lg img {
    /* width: 90% !important; */
}

.wrapper {
    background-color: #FFFFFF !important;
}

.content-wrapper {
    margin-top: 0px !important;
}

.login {
    height: 100vh;
    background: url('../images/bg-login-nuevo.jpg') no-repeat center center fixed;
    background-repeat: no-repeat;
    background-size: cover;
}

.login .navbar-laravel {
    background-color: rgba(240, 248, 255, 0);
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .04);
    box-shadow: 0 2px 4px rgba(0, 0, 0, .04);
}

.invalid-feedback {
    font-size: 100% !important;
    color: #63daf5 !important;
}

/* * oviedo orden compra */
.fixTableHead-oviedo {
    overflow-y: auto;
    /* height: auto; */
    height: 500px;
}

.titlehead>th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.subhead>th {
    position: sticky;
    top: 37px;
    z-index: 2;
}

.buy-orders table {
    border-collapse: collapse;
    width: 98%;
}

.buy-orders th,
td {
    padding: 8px 15px;
    border: 2px solid #529432;
}

.buy-orders th {
    background: #25597F;
}

.sticky-cod {
    position: -webkit-sticky;
    position: sticky;
    left: -16px;
    background-color: white;
    z-index: 1;
}

.sticky-des {
    position: -webkit-sticky;
    position: sticky;
    left: 47px;
    background-color: white;
    z-index: 1;
}

.proveedor-cell, .delete-cell{
    cursor: pointer;
}

.tipo-orden-cell{
    /* display: none; */
}

.tipo-doc-cell{
    /* display: none; */
}

.spinner{
    display: none;
    width: 30px;
    margin-left: 30px
}

.spinner img{
    max-height: 50px;
}

.orders{
    display: inline-block;
    padding: 7px 7px 0 7px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}

.total-orders{
    display: inline-block;
    width: 100%;
    padding: 7px 7px;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
    color: #3476b0;
    font-size: 13px;
}

.total-order-line{
    display: inline;
    margin: 5px 0px;
    text-align: left;

}

.total-order-count span:first-child{
    display: inline-block;
    width: 50%;
    margin-right: 0px;
    padding-left: 5px;
}

.total-order-line span{
    font-weight: bold;
    margin-right: 10px;
}

.total-order-count{
    display: inline-block;
    width: 49%;
}

.total-order-mount{
    display: inline-block;
    width: 49%;
}

.orders-buscar{
    display: none;
    /* position: relative;
    top: -5px; */
    padding: 7px 7px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
     /* 0 0 5px; */
    text-align: center;
}

.orden-detalle{
    display: none;
    position: fixed; 
    width:auto;
    color: #fff;
    font-weight: bold;
    font-size: 1.3rem;
    background-color: #875bef; 
    border: 1px solid #ccc;
    border-radius: 4px 4px;
    box-shadow: 8px 8px 8px #515151;
    padding: 10px 20px 0px 20px;
    z-index: 1000;
}

.msj-flotante{
    display: none; 
    position: fixed; 
    width:30%;
    color: #fff;
    font-weight: bold;
    background-color: #ef5b5b; 
    border: 1px solid #ccc;
    border-radius: 4px 4px;
    box-shadow: 3px 3px 6px #515151;
    padding: 20px 10px; 
    z-index: 1000;
}

.orders-buscar-oc{
    /* display: none; */
    position: relative;
    top: -7px;
    padding: 9px 7px 8px 7px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0 0 0 5px;
    text-align: center;
}

.orders i {
    color: #3476b0;
}

.icon-text{
    /* display: none; */
    /* margin:-20px 0px 0 5px; */
    color: #3476b0;
    font-size: 11px;
}

.icon-text-file{
    color: #3476b0;
    font-size: 11px;
    font-weight: normal;
}

.icon-text-save{
    color: #3476b0;
    font-size: 11px;
    font-weight: normal;
    display: inline-block;
}

.icon-text-save button{
    color: #ffffff;
    /* position: relative;
    top: 10px; */
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    background-color:#3476b0;
    font-weight: normal;
    margin-left: 5px;
}

.icon-text hr {
    position: relative;
    top: 7px;
    border-top: 1px solid #5b9ad1 !important;
    margin: 4px -6px 0px -3px !important;
}

#file-error-msj{
    display: none;
    color: #FF0000;
}
#btn-guardar{
    display: none;
}
/* Estilos para tu botón personalizado */
#btn-upload {
    margin: 0px;
    /* cursor: pointer; Cambia el cursor al pasar sobre el botón */
}

#btn-upload .icon-text{
    margin-top: -7px;
    /* cursor: pointer; Cambia el cursor al pasar sobre el botón */
}

.fa-file, .fa-arrow-alt-circle-up {
    cursor: pointer;
}

.oc-proveedores{
    display: none;
    margin-top: 16px;
    height: 200px;
    padding-right: 0;
    overflow: scroll;
    overflow-x: auto;
}

.selection-tables{
    margin-top: 10px; height: auto; padding-right:0; overflow-y: auto; overflow-x: auto;
}

.titulo-select-tables{
    color: #3476b0;
    font-size: 13px;
}

.ordenes-mensajes{
    position: relative;
    right: -10000px;
    background-color: #FAFFFC;
    border: 1px solid #b3ffcd;
    box-shadow: 2px 3px 4px rgba(0,0,0,0.3);
    color: #737373;
    text-align: center;
    height: 40px;
    font-size: 2rem;
    line-height: 38px;
}

.container-filters{
    display: none;
    margin-bottom: 10px;
}

.filter-btn{
    display: inline-block;
    padding: 2px 5px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}

.patio-btns{
    float: right;
    color: #3476b0;
    /* font-size: 11px; */
    font-weight: bold;
    display: inline-block;
    padding: 2px 5px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}

.move-btn{
    width: 50%;
    float: right;
}

.move-btn>i{
    font-size: 22px !important;
}

.fix-btn-right{
    display: none;
    position: fixed;
    width: 50%;
    padding: 0 5px !important;
    top: 0;
    right: 0;
    background-color: white;
    z-index: 999900;
}

.fix-btn-right>i{
    font-size: 22px !important;
}

.fix-btn-left{
    display: none;
    position: fixed;
    width: 50%;
    padding: 0 5px !important;
    top: 0;
    left: 0;
    background-color: white;
    z-index: 999900;
}

.fix-btn-left>i{
    font-size: 22px !important;
}

.patio-oculto {
    color: #ccc;
}

.oculto {
    display: none;
}

.filter-btn i{
    color: #3476b0;
    font-size: 12px;
}

#aprobar-btn{
    margin-top: 5px;
}

#retenida-btn{
    margin-top: 5px;
}

.rounded-modal {
    border-radius: 8px;
}

.observacion-item{
    color: #3476b0;
    font-size: 12px;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    padding: 0 3px;
}

.container-observacion{
    display: none;
    margin: 10px 0;
    width: 100%;
}

.container-observacion-lista{
    display: none;
    margin: 10px 0;
    width: 100%;
}

.textarea-full-width{
    border:1px solid #d4d4d4;
    width: 100%;
    box-sizing: border-box;
    border-radius: 5px;
}
.buscar{
    border: none;
}

.buy-orders input:focus{
    outline: none;
    border: none;
}

/* input[type=text]:focus,  */
.buy-orders textarea:focus {
    outline: none;
    border:1px solid #a9c2d7 !important;
    background: transparent !important;
  }

.custom-file-input {
    display: none !important;
}

.generada {
    background-color: rgb(81 174 253 / 25%);
    border: 1px solid rgba(4, 77, 140, 0.72);
    color: rgba(4, 77, 140, 0.72);
    border-radius: 5px 5px;
    padding: 2px 5px;
    margin-left: 5px;
}

.aprobada {
    background-color: rgba(115, 253, 81, .25);
    border: 1px solid rgba(22, 75, 10, 0.72);
    color: rgba(22, 75, 10, 0.72);
    border-radius: 5px 5px;
    padding: 2px 5px;
    margin-left: 5px;
}

.retenida {
    background-color: rgba(253, 81, 145, .25);
    border: 1px solid rgba(97, 28, 53, 0.72);
    color: rgba(97, 28, 53, 0.72);
    border-radius: 5px 5px;
    padding: 2px 5px;
    margin-left: 5px;
}
.integrada {
    background-color: rgb(188 81 253 / 25%);
    border: 1px solid rgb(55 28 97 / 72%);
    color: rgb(52 28 97 / 72%);
    border-radius: 5px 5px;
    padding: 2px 5px;
    margin-left: 5px;
}
.cubicacion-tag {
    background-color: rgba(225, 4, 4, 0.2) !important;
    border: 1px solid rgba(225, 4, 4, 0.64) !important;
    /* color: rgba(225, 225, 225, 1); */
    /* border-radius: 5px 5px; */
    /* padding: 2px 5px; */
    /* margin-left: 5px; */
}

.orders-delete {
    display: inline-block;
    padding: 7px 7px;
    cursor: pointer;
    border: 1px solid #ff0000;
    background-color: rgba(253, 81, 145, .25);
    color: #000;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}
.msj-list  {
    display: none;
    width: 98%;
    color: #fff;
    font-weight: bold;
    background: rgb(255 0 0 / 57%);
    padding: 2px 10px;
}
/* * Fin oviedo orden compra */

/* * simulaciones */

.sim-multy-btn {
    display: inline-block;
    margin: 3px 3px;
    padding: 7px 7px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    text-align: center;
}
.list-group-sim {
    margin-top: 5px; /* Espacio superior */
    max-height: 200px; /* Altura máxima */
    overflow-y: auto; /* Habilitar desplazamiento vertical si hay demasiados elementos */
    border: 1px solid #ccc; /* Borde */
    border-radius: 4px; /* Bordes redondeados */
    padding: 0px;
    display: none;
}

/* Estilos para los elementos de la lista */
.list-group-item-sim {
    cursor: pointer; /* Cursor de puntero */
    padding: 8px 12px; /* Espaciado interno */
    list-style-type: none; /* Elimina las viñetas */
}

/* Estilos para los elementos de la lista al pasar el mouse */
.list-group-item-sim:hover {
    background-color: #f0f0f0; /* Color de fondo al pasar el mouse */
}

.selection-sim {
    display: none;
    padding: 7px 7px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}

.tiendas-btns{
    display: inline-block;
    color: #3476b0;
    /* font-size: 11px; */
    font-weight: bold;
    padding: 2px 5px;
    cursor: pointer;
    border: 1px solid #d4d4d4;
    border-radius: 5px;
    margin: 0;
    text-align: center;
}
/* * Oviedo PDF */
@page { 
    margin: 0pt 10pt 0pt 0pt;
}

.pdf-body { 
    margin: 10pt;
}

.pdf-main {
    color: #000;
}

.pdf-main p, .pdf-main h1, .pdf-main  h2, .pdf-main h3, .pdf-main h4, .pdf-main h5, .pdf-main span {
    color: #000 !important;
    margin: 0 !important;
}

.pdf-main h3{
    font-size: 12.5pt;
}

.pdf-main h4{
    font-size: 9.5pt;
}

.pdf-main h5{
    font-size: 8.5pt;
}

.pdf-main .p-10 { 
    font-size: 10pt;
    line-height: 10.4pt;
}

.pdf-main .p-9 { 
    font-size: 9pt;
    line-height: 9.4pt;
}

.pdf-main .p-8 { 
    font-size: 8pt;
    line-height: 8.4pt;
}
.pdf-main .p-7 { 
    font-size: 7pt;
    line-height: 7.4pt;
}
.pdf-main .p-6 { 
    font-size: 6pt;
    line-height: 6.4pt;
}

.pdf-bold{
    color: #000;
    font-weight: bold;
}
.pdf-header {
    width:100%;
    height: 200px;
    background: url('../images/header-orden.jpg');
    margin-bottom: 10px !important;
}

.pdf-table {
    border-collapse: collapse;
}

.pdf-table th,td {
    border: 1px solid #ccc;
    padding: 5px;
    text-align: left;
}

.pdf-table th {
    font-size: 7pt;
    line-height: 7.4pt;
}

.pdf-table td {
    font-size: 6pt;
    line-height: 6.4pt;
}

/* * Fin oviedo PDF */

.empresa-nombre {
    display: inline-block;
    width: 70%;
    height: 50px;
    padding: 5px;
    color: #FFF;
    font-size: 3vh;
    font-weight: bold;
    text-align: left;
}

.empresa-wrapper {
    display: inline-block;
    width: 40%;
    height: 40px;
    line-height: 40px;
    color: #1e293b !important;
    text-align: center;
    border: 1px solid rgba(218, 206, 208, 0.55) !important;
    box-shadow: 1px 1px 0px 0px #1e293b;
    border-radius: 5px;
    /* background-image: url('../images/empresa-nombre.gif'); */
    /* background-position: top center;
    background-size: 100% 100%; */
}

.main-header .navbar-custom-menu,
.main-header .navbar-right {
    text-align: center;
}

.card {
    background-color: rgba(22, 51, 88, 0.45) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    color: #FFFFFF !important;
}

.card-header:first-child {
    border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
    background-color: rgba(3, 15, 31, 0.25) !important;
    color: #FFFFFF !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: initial !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgba(39, 100, 181, .8) inset !important;
    box-shadow: 0 0 0 30px rgba(39, 100, 181, .8) inset !important;
    /* background-color: rgba(39, 100, 181, 0.4) !important; */
    background-image: none !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

.card .form-control {
    color: #FFFFFF !important;
    background-color: rgba(39, 100, 181, 0.4) !important;
    border: 1px solid rgba(218, 206, 208, 0.55) !important;
}

.card .form-control:focus {
    color: #FFFFFF !important;
    background-color: rgba(24, 180, 226, 0.46) !important;
    border: 1px solid rgba(255, 255, 255, 0.77) !important;
}

.card .btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    color: #fff !important;
    background-color: rgba(3, 15, 31, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.58) !important;
    border: 1px solid !important;
    background-image: none !important;
}

.card .btn-link {
    color: #FFFFFF !important;
    background-color: transparent;
    background-image: none !important;
}

.card .btn-link:hover, .card .btn-link:focus, .card .btn-link:active, .card .btn-link:visited, .card .btn-link:focus-within{
    color: #FFFFFF !important;
    background-color: transparent;
    background-image: none !important;
    text-shadow: 0px 0px 5px #05ffff;
    text-decoration: none !important;
}

.card .btn-primary:hover {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, .5);
    box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, .5);
    color: #fff !important;
    background-color: rgba(3, 15, 31, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.58) !important;
    border: 1px solid !important;
    background-image: none !important;
}

.back {
    height: 85vh;
    /* background: #1e282c; */
}

.small-box h3 {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    color: #1e293b !important;
}

.user-name {
    float: right;
    margin-top: -5px;
    min-width: 100px;
    height: 17px;
    text-transform: capitalize;
}

.user-role {
    float: right;
    margin-top: -3px;
    min-width: 100px;
    height: 17px;
    font-size: 70%;
    text-transform: capitalize;
}

.navbar-nav>.user-menu>.dropdown-menu {
    max-height: 50px !important;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer {
    background-color: #a7c0e8 !important;
    text-align: center;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer a {
    color: #333 !important;
    font-weight: bold;
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer a:hover {
    color: #19486B !important;
    font-weight: bold;
}

.search-input {
    float: right;
    width: 65%;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    border-top: 1px #ccc solid;
    border-right: 1px transparent;
    border-bottom: 1px #ccc solid;
    border-left: 1px #ccc solid;
    border-radius: 3px 0 0 3px;
    white-space: nowrap;
    vertical-align: middle;
}

.search-button {
    float: right;
    width: 30%;
    padding: 6px 5px;
    border-radius: 0 3px 3px 0;
}

#no-result-box {
    display: none;
}

.no-result {
    color: #ea4966;
    background: #FFF;
    padding: 3vh 2vw;
    text-align: center;
    border: 1px solid #9fc3e6;
    border-radius: 5px;
    box-shadow: 3px 3px 5px #ccc;
}

.no-result h3 {
    margin: 0;
}

em {
    color: #126ca0;
    font-weight: bold;
    font-style: normal;
    text-decoration: underline;
}

/* =============================================================================
   🎨 LAYOUT MODERNIZADO - FASE 2 REDISEÑO UI
   ============================================================================= */

.content-wrapper,
.right-side {
    /* Eliminar imagen de fondo antigua */
    background-image: none !important;
    /* Aplicar gradiente moderno */
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    min-height: 100vh !important;
    transition: all 300ms ease-in-out !important;
}

/* Área de contenido principal */
.content {
    padding: 2rem !important;                         /* 32px padding */
    font-family: 'Inter', sans-serif !important;
}

/* Responsive design mejorado */
@media (max-width: 768px) {
    .content {
        padding: 1rem !important;                     /* 16px en móvil */
    }
    
    .sidebar-menu>li>a {
        padding: 0.625rem 0.75rem !important;         /* 10px 12px en móvil */
        font-size: 0.875rem !important;               /* 14px en móvil */
    }
    
    .main-header .logo {
        transform: none !important;                   /* Sin animaciones en móvil */
    }
}

/* =============================================================================
   🎨 TABLAS MODERNIZADAS - FASE 2 REDISEÑO UI
   ============================================================================= */

/* Tabla base moderna */
.table {
    font-family: 'Inter', sans-serif !important;
    border-radius: 0.75rem !important;               /* 12px redondeado */
    overflow: hidden !important;                     /* Para bordes redondeados */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) !important;
    background-color: #ffffff !important;
}

/* Header de tabla */
.table thead th {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;                  /* 14px */
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    border-bottom: 2px solid #e5e7eb !important;
    padding: 1rem 1.5rem !important;                 /* 16px 24px */
}

/* Filas de tabla */
.table tbody tr {
    transition: all 150ms ease-in-out !important;
}

.table tbody tr:hover {
    background-color: rgba(59, 130, 246, 0.05) !important;  /* Hover azul suave */
}

.table tbody td {
    padding: 1rem 1.5rem !important;                 /* 16px 24px */
    border-bottom: 1px solid #f3f4f6 !important;
    color: #374151 !important;
    font-size: 1.2rem !important;                  /* 14px */
    vertical-align: middle !important;
}

/* Tabla striped moderna */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(248, 250, 252, 0.5) !important;
}

/* DataTables modernizadas */
.dataTables_wrapper {
    font-family: 'Inter', sans-serif !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    font-family: 'Inter', sans-serif !important;
    margin-bottom: 1rem !important;
}

.dataTables_wrapper .dataTables_paginate {
    margin-top: 1rem !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 0.375rem !important;              /* 6px */
    margin: 0 0.125rem !important;                   /* 2px separación */
    transition: all 150ms ease-in-out !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    color: #ffffff !important;
}

/* =============================================================================
   🎨 ALERTAS MODERNIZADAS - FASE 2 REDISEÑO UI
   ============================================================================= */

/* Alerta base moderna */
.alert {
    border-radius: 0.75rem !important;               /* 12px redondeado */
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    padding: 1rem 1.5rem !important;                 /* 16px 24px */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) !important;
}

/* Alert success */
.alert-success {
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%) !important;
    color: #065f46 !important;
    border-left: 4px solid #10b981 !important;
}

/* Alert danger */
.alert-danger {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%) !important;
    color: #991b1b !important;
    border-left: 4px solid #ed6789 !important;
}

/* Alert warning */
.alert-warning {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
    color: #92400e !important;
    border-left: 4px solid #f59e0b !important;
}

/* Alert info */
.alert-info {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%) !important;
    color: #1e40af !important;
    border-left: 4px solid #3b82f6 !important;
}

.box {
    padding: 10px !important;
}

/* =============================================================================
   🎨 CONTENEDORES MODERNIZADOS - FASE 1B REDISEÑO UI
   ============================================================================= */

.box.box-primary {
    border-top: 3px solid #3b82f6 !important;    /* Azul moderno */
    background: #ffffff !important;
    border-radius: 0.75rem !important;           /* Cards redondeadas 12px */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) !important;
    transition: all 300ms ease-in-out !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
}

.box.box-primary:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15), 0 2px 4px rgba(0,0,0,0.12) !important;
}

/* =============================================================================
   🎨 BOTONES MODERNIZADOS - FASE 1A REDISEÑO UI
   ============================================================================= */

.btn{
    border: none !important;
    /* Eliminar imágenes de fondo antiguas */
    background-image: none !important; 
    /* Aplicar estilos modernos */
    border-radius: 0.5rem !important;        /* 8px moderno vs 3px original */
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    transition: all 300ms ease-in-out !important;
    transform: translateY(0) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24) !important;
    padding: 0.5rem 1.5rem !important;       /* Mejor padding */
}

.btn:hover, .btn:active, .btn.hover {
    border: none !important;
    background-image: none !important;       /* Eliminar imágenes antiguas */
    /* Efectos modernos */
    transform: translateY(-1px) !important;  /* Efecto lift moderno */
    box-shadow: 0 4px 12px rgba(0,0,0,0.15), 0 2px 4px rgba(0,0,0,0.12) !important;
}

.btn-xs{
    padding: 6px 5px !important;
    margin: 2px 0;
}

.btn-bg{
    border: none !important;
    /* background-image: url('../images/bg-buttons.fw.png'); */
    background-position: top center;
    background-size: 100% 100%;
}

.btn-bg:hover, .btn-bg:active, .btn-bg.hover {
    border: none !important;
    /* background-image: url('../images/bg-buttons-act.fw.png'); */
    background-position: top center;
    background-size: 100% 100%;
}

/* Botón Éxito - Verde moderno */
.btn-success {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.btn-success:hover,
.btn-success:active,
.btn-success.hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

/* Botón Primario - Azul moderno con gradiente */
.btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.lable {
    font-size: 1rem !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
}

/* Botón Peligro - Rojo moderno */
.btn-danger {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    color: #ffffff !important;
} */

.btn-danger:hover,
.btn-danger:active,
.btn-danger.hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
}

/* Botón Advertencia - Amarillo moderno */
.btn-warning {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning.hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
}

/* Botón Información - Celeste moderno */
.btn-info {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

.btn-info:hover,
.btn-info:active,
.btn-info.hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
}

/* =============================================================================
   🎨 FORMULARIOS MODERNIZADOS - FASE 1A REDISEÑO UI
   ============================================================================= */

/* Input general moderno */
.form-control {
    border-radius: 0.5rem !important;                    /* 8px redondeado */
    border: 1px solid #e2e8f0 !important;               /* Borde suave */
    font-family: 'Inter', sans-serif !important;
    transition: all 150ms ease-in-out !important;
    padding: 0.5rem 0.75rem !important;                 /* Mejor padding */
    font-size: 1rem !important;                     /* 14px */
    background-color: #ffffff !important;
}

.form-control:focus {
    border-color: #3b82f6 !important;                   /* Azul moderno en focus */
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;  /* Focus ring moderno */
    outline: none !important;
    background-color: #ffffff !important;
}

.form-control::placeholder {
    color: #9ca3af !important;                          /* Placeholder suave */
    opacity: 1 !important;
}

/* =============================================================================
   🎨 SIDEBAR MODERNIZADO - FASE 2 REDISEÑO UI
   ============================================================================= */

/* Sidebar general - Color fintech profesional */
.main-sidebar {
    background: linear-gradient(180deg, #1e1b4b 0%, #312e81 100%) !important;
    border-right: 1px solid #3730a3 !important;
}

/* Menú sidebar moderno */
.sidebar-menu>li {
    white-space: normal !important;
}

/* Enlaces del sidebar - Colores fintech matching */
.sidebar-menu>li>a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    border-radius: 0.5rem !important;                /* 8px redondeado */
    margin: 0.125rem 0 !important;                   /* 2px vertical */
    padding: 0.75rem 1rem !important;                /* 12px 16px */
    transition: all 200ms ease-in-out !important;
    color: #c7d2fe !important;                       /* Azul claro matching */
    background-color: transparent !important;
}

/* .sidebar-menu>li>a:hover {
    background: rgba(99, 102, 241, 0.15) !important;
    color: #ffffff !important;
    transform: translateX(4px) !important;
    border-radius: 0.5rem !important;
} */

/* Item activo - Gradiente matching imagen */
.sidebar-menu>li.active>a,
.sidebar-menu>li.active>a:hover {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.4) !important;
    transform: translateX(0) !important;
}

/* Iconos del sidebar */
.sidebar-menu>li>a>i {
    width: 1.25rem !important;                       /* 20px ancho fijo */
    text-align: center !important;
    margin-right: 0.75rem !important;                /* 12px separación */
    font-size: 0.875rem !important;                  /* 14px tamaño - más pequeño */
}

/* Headers de sección */
.sidebar-menu>.header {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1rem !important;                   /* 12px */
    /* text-transform: uppercase !important; */
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;                       /* Gris medio */
    padding: 1rem 1rem 0.5rem 1rem !important;      /* 16px 16px 8px 16px */
    margin: 1rem 0.75rem 0.5rem 0.75rem !important; /* Margen superior */
    border-bottom: 1px solid #475569 !important;    /* Línea separadora */
}

/* =============================================================================
   🎨 HEADER MODERNIZADO - FASE 2 REDISEÑO UI
   ============================================================================= */

/* Header principal */
.main-header {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) !important;
}

/* Logo del header */
.main-header .logo {
    background-color: #26238C !important;  
    /* linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important; */
    border-right: 1px solid #26238C !important;
    /* transition: all 300ms ease-in-out !important; */
}

/* Navbar del header */
.main-header .navbar {
    background: transparent !important;
    border: none !important;
}

/* Botón toggle sidebar */
.main-header .sidebar-toggle {
    color: #64748b !important;
    padding: 1rem !important;
    transition: all 200ms ease-in-out !important;
}

.main-header .sidebar-toggle:hover {
    background: rgba(59, 130, 246, 0.1) !important;
    color: #3b82f6 !important;
    border-radius: 0.5rem !important;
}

/* Menú usuario */
.navbar-custom-menu .dropdown-toggle {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    color: #334155 !important;
    padding: 1rem !important;
    transition: all 200ms ease-in-out !important;
}

.navbar-custom-menu .dropdown-toggle:hover {
    background-color: #FFFFFF !important;
    color: #1e293b !important;
}

.finder{
    margin-top: 10px;
    font-size: 1.2rem;
}

.finder:focus, .finder:focus-visible{
    outline: inherit !important;
    box-shadow: none !important;
}
/* Empresa nombre en header */
.empresa-nombre {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin: 0 2rem !important;
    border-radius: 5px;
}

.box-wrapper {
    color: #1e293b;
    padding: 0px 0px;
    text-align: center;
    border: 1px solid #1e293b;
    border-radius: 5px;
}

.box-wrapper:hover{
    background-color: rgba(231, 231, 231, .30);
}

.box-wrapper-light {
    color: #1e293b;
    padding: 0px 0px;
    text-align: center;
    border: 1px solid #1e293b;
}



.on-use{
    background-image: url('../images/bg-box-light2.gif') !important;
    background-size: 100% 100%;
}

.toogle-btn{
    width: 100%;
    text-align: center !important;
}

.toogle-btn img {
    display: inline-block !important;
    max-width: 30px;
    height: auto;
}

.toogle-btn img:hover {
    cursor: pointer !important;
}

.switch{
    background-image: url('../images/off.fw.png');
    background-position: top left;
}

.section-wrapper {
    text-align: left !important;
    padding-left: 10px;
    font-size: 1.2rem;
    line-height: 30px;
}

.section-general {
    width: 100%;
    margin: 10px 0px;
    padding: 10px;
    color: #FFFFFF;
    background-color: #6183A6;
    line-height: 6vw;
    font-size: 1.8vw;
}

.section-title {
    width: 100%;
    margin: 10px 0px;
    padding: 10px;
    color: #FFFFFF;
    background-color: #6183A6;
    line-height: 4vw;
    font-size: 1.8vw;
}

.section-msj-sug {
    width: 100%;
    margin: 10px 0px;
    padding: 15px 0;
    color: #FFFFFF;
    background-color: #6183A6;
    line-height: 3vw;
    font-size: 1.4vw;
    border: 1px solid #FFFFFF;
    box-shadow: 0px 0px 5px #00ffe7;
}

.msj-error{
    background-image: url('../images/bg-box-light-error.gif');
    background-size: 100% 100%;
}

.msj-error .error{
    color: #FFFF00;
}

.section-msj-small {
    width: 100%;
    margin: 10px 0px;
    padding: 15px 0;
    color: #FFFFFF;
    background-color: #6183A6;
    line-height: initial !important;
    font-size: initial !important;
    border: 1px solid #FFFFFF;
    box-shadow: 0px 0px 5px #00ffe7;
}

.section-general h2,
.section-general h3 {
    color: #FFFFFF !important;
}

.msj-ejecutando{
    display: inline-block;
    width: 72%;
    line-height: 1vw;
}

.msj-loading{
    display: inline-block;
    width: 25%;
    vertical-align: text-bottom;
}

.msj-loading img{
    margin: 0 auto;
}

.toogle-inact {
    color: #c7c7c7;
}

.description-wrapper {
    background-color: #6183A6;
    width: 100%;
    margin: 10px 0px;
    padding: 10px;
    text-align: justify;
}

.bar{
    width: 90%;
    height: 11px;
    margin: 5px auto;
    border-radius: 3px;
    background-image: url('../images/bar-bg.fw.png');
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.bar-progres{
    position: relative;
    left: -100%;
}

/*-------------------------TAGS ____________________________*/

td>.btn-show,
td>.btn-show:link {
    color: #444;
    background-color: rgba(90, 38, 86, 0.2);
    border-color: rgba(90, 38, 86, 0.6);
}

td>.btn-show:hover,
td>.btn-show:active,
td>.btn-show:focus {
    color: #444;
    background-color: rgba(90, 38, 86, 0.4);
    border-color: rgba(90, 38, 86, 0.6);
}

td>.btn-edit,
td>.btn-edit:link {
    color: #444;
    background-color: rgba(90, 38, 86, 0.4);
    border-color: rgba(90, 38, 86, 0.6);
}

td>.btn-edit:hover,
td>.btn-edit:active,
td>.btn-edit:focus {
    color: #444;
    background-color: rgba(90, 38, 86, 0.6);
    border-color: rgba(90, 38, 86, 0.6);
}

td>.btn-delete,
td>.btn-delete:link {
    color: #444;
    background-color: rgba(90, 38, 86, 0.6);
    border-color: rgba(90, 38, 86, 0.6);
}

td>.btn-delete:hover,
td>.btn-delete:active,
td>.btn-delete:focus {
    color: #444;
    background-color: rgba(90, 38, 86, 0.8);
    border-color: rgba(90, 38, 86, 0.6);
}

.label {
    margin: 3px 0;
    display: inline-block;
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: 1.1vh 1vw !important;
    color: #1e293b !important;
    font-size: 0.9rem !important;
}

.label.bg-blue {
    background-color: #ffffff !important;
    border: 1px solid #3b82f6 !important;
}

.bg-orange {
    background-color: #ffffff !important;
    border: 1px solid #3b82f6 !important;
    
}

.bg-gray {
    background-color: #ffffff !important;
    border: 1px solid #3b82f6 !important;

}

.bg-gray-light {
    background-color: #ffffff !important;
    border: 1px solid #3b82f6 !important;
}

.bg-black {
    background-color: #ffffff !important;
    border: 1px solid #3b82f6 !important;
}

.bg-red,
.callout.callout-danger,
.alert-danger,
.alert-error,
.label-danger,
.modal-danger .modal-body {
    background-color: #ff6666 !important;
    border: 1px solid rgba(221, 76, 57, 0.8) !important;
}

.bg-yellow,
.callout.callout-warning,
.alert-warning,
.label-warning,
.modal-warning .modal-body {
    background-color: rgba(243, 157, 18, 0.7) !important;
    border: 1px solid rgba(243, 157, 18, 0.8) !important;
}

.bg-aqua,
.callout.callout-info,
.alert-info,
.label-info,
.modal-info .modal-body {
    background-color: rgba(0, 191, 239, 0.7) !important;
    border: 1px solid rgba(0, 191, 239, 0.8) !important;
}

.bg-blue {
    background-color: rgba(0, 116, 183, 0.7) !important;
    border: 1px solid rgba(0, 116, 183, 0.8) !important;
}

.bg-light-blue,
.label-primary,
.modal-primary .modal-body {
    background-color: rgba(60, 141, 188, 0.7) !important;
    border: 1px solid rgba(60, 141, 188, 0.8) !important;
}

.bg-green,
.callout.callout-success,
.alert-success,
.label-success,
.modal-success .modal-body {
    background-color: rgba(0, 166, 91, 0.7) !important;
    border: 1px solid rgba(0, 166, 91, 0.8) !important;
}

.bg-navy {
    background-color: rgba(0, 31, 63, 0.7) !important;
    border: 1px solid rgba(0, 31, 63, 0.8) !important;
}

.bg-teal {
    background-color: rgba(57, 204, 204, 0.7) !important;
    border: 1px solid rgba(57, 204, 204, 0.8) !important;
}

.bg-olive {
    background-color: rgba(61, 153, 112, 0.7) !important;
    border: 1px solid rgba(61, 153, 112, 0.8);
}

.bg-lime {
    background-color: rgba(1, 255, 111, 0.7) !important;
    border: 1px solid rgba(1, 255, 111, 0.8) !important;
}

/* .bg-orange {
    background-color: rgba(255, 133, 27, 0.7) !important;
    border: 1px solid rgba(255, 133, 27, 0.8) !important;
} */

.bg-fuchsia {
    background-color: rgba(240, 18, 188, 0.7) !important;
    border: 1px solid rgba(240, 18, 188, 0.8) !important;
}

.bg-purple {
    background-color: rgba(96, 92, 168, 0.7) !important;
    border: 1px solid rgba(96, 92, 168, 0.8) !important;
}

.bg-maroon {
    background-color: rgba(216, 27, 96, 0.7) !important;
    border: 1px solid rgba(216, 27, 96, 0.8) !important;
}

.bg-gray-active {
    color: #000;
    background-color: rgba(181, 187, 200, 0.7) !important;
    border: 1px solid rgba(181, 187, 200, 0.8) !important;
}

.bg-black-active {
    background-color: rgba(0, 0, 0, 0.7) !important;
    border: 1px solid rgba(0, 0, 0, 0.8) !important;
}

.bg-red-active,
.modal-danger .modal-header,
.modal-danger .modal-footer {
    background-color: rgba(211, 56, 36, 0.7) !important;
    border: 1px solid rgba(211, 56, 36, 0.8) !important;
}

.bg-yellow-active,
.modal-warning .modal-header,
.modal-warning .modal-footer {
    background-color: rgba(219, 139, 11, 0.7) !important;
    border: 1px solid rgba(219, 139, 11, 0.8) !important;
}

.bg-aqua-active,
.modal-info .modal-header,
.modal-info .modal-footer {
    background-color: rgba(0, 166, 208, 0.7) !important;
    border: 1px solid rgba(0, 166, 208, 0.8) !important;
}

.bg-blue-active {
    background-color: rgba(0, 84, 132, 0.7) !important;
    border: 1px solid rgba(0, 84, 132, 0.8) !important;
}

.bg-light-blue-active,
.modal-primary .modal-header,
.modal-primary .modal-footer {
    background-color: rgba(53, 124, 165, 0.7) !important;
    border: 1px solid rgba(53, 124, 165, 0.8) !important;
}

.bg-green-active,
.modal-success .modal-header,
.modal-success .modal-footer {
    background-color: rgba(0, 141, 75, 0.7) !important;
    border: 1px solid rgba(0, 141, 75, 0.8) !important;
}

.bg-navy-active {
    background-color: rgba(0, 26, 53, 0.7) !important;
    border: 1px solid rgba(0, 26, 53, 0.8) !important;
}

.bg-teal-active {
    background-color: rgba(48, 187, 187, 0.7) !important;
    border: 1px solid rgba(48, 187, 187, 0.8) !important;
}

.bg-olive-active {
    background-color: rgba(54, 135, 98, 0.7) !important;
    border: 1px solid rgba(54, 135, 98, 0.8) !important;
}

.bg-lime-active {
    background-color: rgba(0, 231, 100, 0.7) !important;
    border: 1px solid rgba(0, 231, 100, 0.8) !important;
}

.bg-orange-active {
    background-color: rgba(255, 120, 1, 0.7) !important;
    border: 1px solid rgba(255, 120, 1, 0.8) !important;
}

.bg-fuchsia-active {
    background-color: rgba(219, 14, 175, 0.7) !important;
    border: 1px solid rgba(219, 14, 175, 0.8) !important;
}

.bg-purple-active {
    background-color: rgba(86, 82, 153, 0.7) !important;
    border: 1px solid rgba(86, 82, 153, 0.8) !important;
}

.bg-maroon-active {
    background-color: rgba(202, 25, 90, 0.7) !important;
    border: 1px solid rgba(202, 25, 90, 0.8) !important;
}

/*---------------------------------------------------------------------*/

.table>thead {
    background: #25597f;
    color: #FFFFFF;
}

.table>thead>tr>th {
    vertical-align: middle !important;
}
/* botones de acciones */

.table>thead:first-child>tr:last-child>th {
    width: 5vw;
    vertical-align: middle !important;
}

td>a {
    width: 100%;
}

td>.btn-warning {
    background-color: rgba(18, 179, 243, 0.7);
    border-color: rgba(18, 179, 243, 0.8);
}

td>.btn-warning:hover,
td>.btn-warning:active,
td>.btn-warning:active:hover,
td>.btn-warning:focus,
td>.btn-warning:link {
    color: #fff;
    background-color: rgba(18, 139, 187, 0.8);
    border-color: rgba(18, 139, 187, 0.9);
}

td>.btn-primary,
td>.btn-primary:link {
    background-color: #487088;
    border-color: #1598e4;
}

td>.btn-primary:hover,
td>.btn-primary:active,
td>.btn-primary:focus {
    background-color: rgb(43, 148, 209);
}

td>.btn-danger:hover,
td>.btn-danger:active,
td>.btn-danger:focus,
td>.btn-danger:link {
    background-color: rgba(215, 58, 37, 0.8);
    border-color: rgba(215, 58, 37, 0.9);
}

.loading_abc {
    display: none;
    width: 100%;
    text-align: center;
    height: 30vh;
    vertical-align: middle;
    line-height: 30vh;
}

.box-multiple {
    background: #FFF;
    padding: 1vh 1vw 1vh 0.5vw;
    border: 1px solid #d2d6de;
    height: 20vh;
    min-width: 10vw;
    overflow-x: auto;
}

.abc .form-group {
    vertical-align: top;
    margin-right: 1vw;
}

.box-multiple input[type=checkbox] {
    margin-right: 3px;
}

.msj-abc {
    display: none;
    color: #de0c0c;
    background: #FFF;
    padding: 1vh 2vw;
    margin-bottom: 2vh;
    border: 1px solid #CCC;
    border-radius: 5px;
}

.actions {
    width: 5vw;
}

.empresas {
    table-layout: fixed;
    width: 100%;
}

.cont-emp{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.cont-emp>div{
    margin-bottom: 20px;
}
th {
    text-align: center;
    vertical-align: text-top !important;
}

td:last-child {
    width: 5% !important;
}

.empresas td div {
    /* table-layout: fixed; */
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    height: 85px;
    text-align: justify;
    vertical-align: middle !important;
}

.empresas td #description {
    float: left;
    width: 100%;
    height: 100px;
    margin-top: -92px;
    margin-bottom: -10px;
    z-index: 999;
    opacity: 0.5;
}

.empresas td.actions {
    white-space: initial;
}

#temp-msj {
    display: none;
    position: fixed;
    width: 15%;
    background: #FFF;
    border: 1px solid #b1c8dc;
    border-radius: 7px;
    box-shadow: 2px 2px 5px #777;
    padding: 5px 7px;
    text-align: justify;
}

.title-dates{
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    width: 100%;
    height: auto;
}

.title-dates h4{
    display: inline-block;
    margin-right: 20px;
}

.title-dates>i{
    color: #19486b !important;
    margin: 10px 0;
    line-height: 1.1;
    font-size: 20px;
    cursor: pointer;
}

.wrap-form-dates{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    overflow: hidden;
    height: 0;
    /* transform: scaleY(0);
    transition: transform .7s ease-in; */
}

.wrap-form-dates form{
    align-self: flex-end;
}

.input-group-text{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.input-group-text input{
    width: 40%;
    margin-left: 15px;
    margin-right: -5px;
    height: 32px;
    border-top: 1px solid #365476;
    border-right: none;
    border-left: 1px solid #365476;
    border-bottom: 1px solid #365476;
    padding-right: 5px;
}

.input-group-text input[type=checkbox]{
    width: 17px;
    height: 17px;
}
/*
.form-group, .btn{
    opacity: 0;
} */

.modal-footer>.btn{
    opacity: 1;
}

.modal-footer>.btn-default {
    background-color: #f4f4f4;
    color: #ffffff;
    border-color: #ddd;
}

.appear{
    transition: opacity 1s ease-in-out;
    opacity: 1;
}

.wrap-list{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 10px;
    padding: 10px 0;
    border-top: 1px solid #25597f;
    border-bottom: 1px solid #25597f;
}

.date-out{
    height: 28px;
    padding: 3px 5px;
    margin: 5px;
    border: 1px solid #25597f;
    border-radius: 4px;
}

.date-new{
    animation-name: new;
    animation-duration: 2s;
    animation-delay: -1s;
    animation-iteration-count: 10;
}

@keyframes new{
    0%{ box-shadow: 0 0 0px #25597f; }
    50% { box-shadow: 0 0 7px #25597f; }
    100% { box-shadow: 0 0 0px #25597f; }
}

.date-out>.delete{
    color: #e80700;
    padding-left: 5px;
    cursor: pointer;
}

.date-out:hover{
    background: #accdff;
    transition: background 1s ease-in;
}

.error-msj{
    display: none;
    padding: 5px 10px;
    color: #FFF;
    background-color: #ff6666;
    border-radius: 4px;
}

.exist{
    background: #c3d5ff;
    box-shadow: 0px 0px 4px #0013fd;
}

.warning-msj{
    display: none;
    position: absolute;
    left: 30%;
    margin: 0 auto;
    text-align: center;
    padding: 10px 30px;
    background: rgba(71, 117, 169, 0.9);
    border: 1px solid #ffffff;
    border-radius: 5px;
    box-shadow: 4px 4px 6px #999;
}

.warning-msj>h4{
    color: #FFF !important;
    /* font-weight: bold !important; */
}

#erase-date{
    box-shadow: 0px 0px 10px #FFF;
    margin-left: 10px;
}

.chevron-down{
    transform: rotate(0deg);
    transition: transform .5s ease-in;
}
.chevron-up{
    transform: rotate(-180deg);
    transition: transform .5s ease-in;
}

.check-msj{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 3px 0;
    padding: 20px;
    background-image: url('../images/bg-box-light-sup.gif'), url('../images/bg-box-light-inf.gif');
    background-color: #6183a6;
    background-position: top, bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
}

.check-msj i{
    margin-right: 10px;
}
.check-msj h3,.check-msj h4,.check-msj h5{
    display: inline-block;
    color: #FFFFFF !important;
    margin: 0 20px;
}

.check-msj .msj-loading{
    float: left;
    width: 4%;
}
.msj-loading{
    display: none;
}

.upload-error{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 3px 0;
    padding: 20px;
    background-image: url('../images/bg-box-light-error-sup.gif'), url('../images/bg-box-light-error-inf.gif');
    background-color: #6183a6;
    background-position: top, bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
}

.wrap-error-msj{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.wrap-error-msj h2, .wrap-error-msj h3{
    color: #FFFFFF !important;
    margin: 0 20px;
}

.container-msj{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 8px;
    background-color: rgba(0, 0, 0, 0.555);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.68);
    box-shadow: 4px 4px 6px #333333;
}
.wrap-error-list{
    width: 100%;
}

.wrap-error-list h3{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 8px;
    color: #ffffff !important;
    background-color: rgba(0, 0, 0, 0.555);
    border-radius: 4px;
    border: 1px solid rgba(255, 88, 88, 0.68);
    box-shadow: 4px 4px 6px #333333;
}

.wrap-error-list h4{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 8px;
    color: #ffffff !important;
    background-color: rgba(0, 0, 0, 0.555);
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.68);
    box-shadow: 4px 4px 6px #333333;
}

.wrap-error-list h4>img{
    margin: 0 20px;
    max-width: 40px;
}

.upload-error>hr{
    width: 100%;
    border-top: 2px solid #ffffff !important;
}
.upload-error>h3{
    color: #FFFFFF !important;
}
.upload-error>h4{
    color: #ef4444 !important; /* error moderno */
    background-color: #FFFFFF !important;
}

/* =============================================================================
   🎨 COMPONENTES MODERNOS - FASE 1 REDISEÑO UI
   ============================================================================= */
/* Agregado: Julio 2025 - Sistema de componentes con nueva paleta */

/* --- Cards Modernas --- */
.card-modern {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;                /* 12px redondeado */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06) !important;
    transition: all 300ms ease-in-out !important;
}

.card-modern:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.15), 0 4px 8px rgba(0,0,0,0.08) !important;
    transform: translateY(-2px) !important;
}

.card-modern-header {
    padding: 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 600;
    color: #1e293b;
    font-family: 'Inter', sans-serif;
}

.card-modern-body {
    padding: 1.5rem;
}

/* --- Botones con Gradiente --- */
.btn-gradient-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border: none;
    color: #ffffff;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    border-radius: 0.5rem;
    padding: 0.5rem 1.5rem;
    transition: all 300ms ease-in-out;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.btn-gradient-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    color: #ffffff;
    text-decoration: none;
}

.btn-gradient-primary:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
}

/* --- Inputs Modernos --- */
.form-control-modern {
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    font-family: 'Inter', sans-serif;
    transition: all 150ms ease-in-out;
    background: #ffffff;
    font-size: 1rem;
}

.form-control-modern:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
    outline: none;
}

/* --- Utilidades de Color --- */
.text-primary-blue { color: #3b82f6 !important; }
.text-primary-purple { color: #8b5cf6 !important; }
.text-corporate { color: #19486b !important; }
.text-muted-modern { color: #64748b !important; }
.text-success-modern { color: #10b981 !important; }
.text-warning-modern { color: #f59e0b !important; }
.text-error-modern { color: #ef4444 !important; }

/* --- Utilidades de Fondo --- */
.bg-gradient-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    color: #ffffff;
}

.bg-gradient-light {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%) !important;
}

.bg-primary-blue { background-color: #3b82f6 !important; color: #ffffff; }
.bg-primary-purple { background-color: #8b5cf6 !important; color: #ffffff; }

/* --- Badges Modernos --- */
.badge-modern {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
}

.badge-modern.badge-primary {
    background-color: #dbeafe;
    color: #1e40af;
}

.badge-modern.badge-success {
    background-color: #d1fae5;
    color: #065f46;
}

.badge-modern.badge-warning {
    background-color: #fef3c7;
    color: #92400e;
}

.badge-modern.badge-error {
    background-color: #fee2e2;
    color: #991b1b;
}

/* --- Métricas Cards --- */
.metric-card {
    background: #ffffff;
    border-radius: 0.75rem;
    padding: 1.5rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: all 300ms ease-in-out;
}

.metric-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.metric-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.5rem;
    font-family: 'Inter', sans-serif;
}

.metric-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 1rem;
    font-family: 'Inter', sans-serif;
}

.metric-change {
    font-size: 0.875rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
}

.metric-change.positive {
    color: #10b981;
}

.metric-change.negative {
    color: #ef4444;
}

/* =============================================================================
   🎯 BODY ULTRA PREMIUM - FONDO FINTECH SOFISTICADO
   ============================================================================= */

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    background: linear-gradient(135deg, 
                #f8fafc 0%, 
                #f1f5f9 25%,
                #e2e8f0 50%,
                #f1f5f9 75%,
                #f8fafc 100%) !important;
    background-size: 400% 400% !important;
    animation: gradientShift 30s ease infinite !important;
    position: relative !important;
    overflow-x: hidden !important;
}

/* Fondo animado sutil ultra elegante */
body::before {
    content: '';
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: radial-gradient(circle at 20% 80%, 
                rgba(59, 130, 246, 0.04) 0%,
                transparent 50%),
                radial-gradient(circle at 80% 20%, 
                rgba(139, 92, 246, 0.04) 0%,
                transparent 50%),
                radial-gradient(circle at 50% 50%, 
                rgba(79, 70, 229, 0.02) 0%,
                transparent 70%) !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Animación de gradiente ultra sutil */
@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    25% { background-position: 100% 25%; }
    50% { background-position: 100% 50%; }
    75% { background-position: 0% 75%; }
}

.btn, .form-control, .input-group-text, .dropdown-item, 
.sidebar-menu a, .navbar-nav a, .breadcrumb-item {
    font-family: 'Inter', sans-serif !important;
}

/* =============================================================================
   🎯 BODY ULTRA PREMIUM - FONDO FINTECH SOFISTICADO
   ============================================================================= */

/* Fondo animado sutil ultra elegante para toda la aplicación */
body::after {
    content: '';
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: radial-gradient(circle at 20% 80%, 
                rgba(59, 130, 246, 0.04) 0%,
                transparent 50%),
                radial-gradient(circle at 80% 20%, 
                rgba(139, 92, 246, 0.04) 0%,
                transparent 50%),
                radial-gradient(circle at 50% 50%, 
                rgba(79, 70, 229, 0.02) 0%,
                transparent 70%) !important;
    pointer-events: none !important;
    z-index: -1 !important;
    animation: floatingOrbs 25s ease-in-out infinite !important;
}

/* Animación orbes flotantes sutil */
@keyframes floatingOrbs {
    0%, 100% { opacity: 0.8; transform: scale(1); }
    25% { opacity: 0.6; transform: scale(1.1); }
    50% { opacity: 0.9; transform: scale(0.9); }
    75% { opacity: 0.7; transform: scale(1.05); }
}

/* =============================================================================
   🎯 EFECTOS EXTRA PREMIUM - FINTECH NIVEL PROFESIONAL
   ============================================================================= */

/* Hover effects para todos los elementos interactivos */
a, button, .btn, .clickable {
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Cursor personalizado ultra elegante */
* {
    cursor: default !important;
}

a, button, .btn, [role="button"], .clickable {
    cursor: pointer !important;
}

/* Focus ring ultra premium para accesibilidad */
*:focus {
    outline: none !important;
    box-shadow: 0 0 0 0px rgba(59, 130, 246, 0.2) !important;
}

/* Selección de texto ultra elegante */
::selection {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.3) 0%, rgba(139, 92, 246, 0.3) 100%) !important;
    color: #1e293b !important;
}

::-moz-selection {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.3) 0%, rgba(139, 92, 246, 0.3) 100%) !important;
    color: #1e293b !important;
}

/* Scrollbar ultra premium */
::-webkit-scrollbar {
    width: 8px !important;
}

::-webkit-scrollbar-track {
    background: rgba(248, 250, 252, 0.8) !important;
    border-radius: 4px !important;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.6) 0%, rgba(139, 92, 246, 0.6) 100%) !important;
    border-radius: 4px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.8) 0%, rgba(139, 92, 246, 0.8) 100%) !important;
}

/* =============================================================================
   🎯 LOADING ANIMATIONS ULTRA PREMIUM
   ============================================================================= */

/* Pulse animation para elementos que cargan */
.loading-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Shimmer effect ultra premium */
.shimmer {
    background: linear-gradient(
        90deg,
        rgba(248, 250, 252, 0) 0%,
        rgba(248, 250, 252, 0.2) 20%,
        rgba(248, 250, 252, 0.5) 60%,
        rgba(248, 250, 252, 0)
    ) !important;
    background-size: 200% 100% !important;
    animation: shimmer 2s ease-in-out infinite !important;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* ========================================
   COMPONENTE DE CARGA DE ARCHIVOS DRAG & DROP
   ======================================== */

.custom-file-upload {
    border: 2px dashed #3498db;
    border-radius: 10px;
    padding: 5px;
    text-align: center;
    background-color: #f8f9fa;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    min-height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.custom-file-upload:hover {
    border-color: #2980b9;
    background-color: #e3f2fd;
    transform: translateY(-2px);
}

.custom-file-upload.dragover {
    border-color: #27ae60;
    background-color: #e8f5e8;
}

.file-input {
    position: absolute;
    width: 100%;
    height: auto;
    opacity: 0;
    cursor: pointer;
}

.file-upload-content {
    pointer-events: none;
}

.panel-title a{
    color: #3b82f6 !important;
}

.remove-file {
    pointer-events: auto !important;
    background: none !important;
    border: none !important;
    color: #dc3545 !important;
    padding: 2px 6px !important;
}

.file-upload-text {
    margin: 0;
    color: #2c3e50;
}

.file-info {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    border-radius: 5px;
    padding: 10px;
    margin-top: 10px;
    color: #155724;
}

.custom-file-upload.has-file {
    border-color: #27ae60;
    background-color: #d4edda;
}

.remove-file:hover {
    background-color: #dc3545 !important;
    color: white !important;
}

