/*Poppins Font*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;400;700;900&display=swap');
*{
    font-family: 'Poppins', sans-serif;
}

/*Color Theme - Ceiba Brand*/
.bg-p1{
    background-color: #111C4E; /* Verde Ceiba Principal */
}
.bg-p2{
    background-color: #003D34; /* Verde Ceiba Oscuro */
}
.bg-s1{
    background-color: #111C4E!important; /* Verde Ceiba Principal */
}
.bg-s2{
    background-color: #37474F; /* Gris Ceiba */
}
.bg-c1{
    background-color: #4CAF50; /* Verde Ceiba Claro */
}
.bg-c2{
    background-color: #ffffff; /* Blanco */
}
.bc-s1{
    border-color: #111C4E;
}

/* Fix navbar border-radius */
#navbar-container,
.navbar-inner,
.navbar,
.bg-s1 {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
}


.text-p1{
    color: #111C4E; /* Verde Ceiba Principal */
}
.text-p2{
    color: #003D34; /* Verde Ceiba Oscuro */
}
.text-s1{
    color: #111C4E; /* Verde Ceiba Principal */
}
.text-s2{
    color: #4CAF50; /* Verde Ceiba Claro */
}
.text-c2{
    color: white !important;
}
.btn-p2{
    background-color: #111C4E; /* Verde Ceiba Principal */
    color:#fff;
}
.btn-p2:hover{
    background-color: #003D34; /* Verde Ceiba Oscuro */
    color:#fff;
}
.btn-s1{
    background-color: #111C4E; /* Verde Ceiba Principal */
    color:#fff;
}
.btn-s1:hover{
    background-color: #003D34; /* Verde Ceiba Oscuro */
    color:#fff;
}

.btn-s2{
    background-color: #4CAF50; /* Verde Ceiba Claro */
    color:#fff;
}
.btn-s2:hover{
    background-color: #388E3C; /* Verde Ceiba Medio */
    color:#fff;
}
.logout-dropdown{
    margin-left: -74px!important;
    width: 300px!important;
    max-width: 128px;
  }
#content-container{
    padding-left: 0px!important;
}
.navBar-header-custom{
    display: flex;
}
@media only screen and (max-width: 760px) {
    .navBar-header-custom{
        width: 100%!important;
    }
    .navbarCustom {
        padding-left: 0px!important;
        width:100%;
    }
    .navbarCustom .navbar-collapse{
        border:none;
    }
    .custom-logout{
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .logout-dropdown{
        margin-left:0px!important;
    }
    header .dropdown-menu{
        height: 50vh!important;
        overflow: auto;
    }
}

/* Navbar Styles - Ceiba Brand */
/* Logo clickeable y organización del header */
.navBar-header-custom {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.logo-container {
    flex: 0 0 auto;
    margin-right: 10px;
}

.toggle-container {
    flex: 0 0 auto;
}

.logo-link {
    display: inline-block;
    text-decoration: none;
    position: relative;
    z-index: 10001;
    cursor: pointer;
    /* padding: 5px; */
    border-radius: 4px;
    transition: all 0.3s ease;
}

.logo-link:hover {
    text-decoration: none;
    opacity: 0.8;
    background-color: rgba(255, 255, 255, 0.1);
}

.logo-link img {
    cursor: pointer;
    pointer-events: auto;
    display: block;
}

#demo-toggle-aside {
    z-index: 10000;
    position: relative;
}

/* Estilos para botones del navbar */
.navbar-nav > li > a {
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    padding: 15px 20px !important;
    transition: all 0.3s ease;
}

.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus {
    color: var(--ceiba-light-green) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.navbar-nav > li.active > a {
    color: var(--ceiba-light-green) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Mejorar alineación de iconos y texto */
.navbar-nav > li > a i {
    margin-right: 8px !important;
    font-size: 16px !important;
    width: 20px !important;
    text-align: center !important;
}

.navbar-nav > li > a .menu-title {
    color: inherit !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

/* Dropdown del usuario */
.navbar-nav .dropdown-toggle.logout {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.navbar-nav .dropdown-toggle.logout:hover {
    color: var(--ceiba-light-green) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.navbar-nav .dropdown-toggle.logout i {
    margin-right: 5px !important;
}

/* Dropdown menu styles */
.logout-dropdown {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    margin-top: 5px;
}

.logout-dropdown li a {
    color: #333333 !important;
    padding: 10px 20px !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.logout-dropdown li a:hover {
    background-color: #f5f5f5 !important;
    color: var(--ceiba-dark-green) !important;
    text-decoration: none !important;
}

.logout-dropdown li a i {
    margin-right: 8px !important;
    width: 16px !important;
    text-align: center !important;
}

/* Caret (flecha) del dropdown */
.navbar-nav .caret {
    color: #ffffff !important;
    margin-left: 5px !important;
}

/* Alineación general del navbar */
.navbar-nav {
    margin: 0 !important;
}

.navbar-nav > li {
    margin: 0 2px !important;
}

/* Responsive navbar improvements */
@media (max-width: 768px) {
    .navbar-nav > li > a {
        padding: 12px 15px !important;
    }
    
    .navbar-nav > li > a i {
        font-size: 14px !important;
        margin-right: 6px !important;
    }
}

/* Fix global para iconos FontAwesome en botones con btn-labeled */
.btn-labeled {
    font-family: inherit !important;
    font-weight: normal !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: relative;
}

/* Para botones que usan la sintaxis antigua (clase en el botón) */
.btn-labeled.fas::before,
.btn-labeled.fa-solid::before {
    content: attr(data-icon) !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

.btn-labeled.far::before,
.btn-labeled.fa-regular::before {
    content: attr(data-icon) !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    margin-right: 8px !important;
}

.btn-labeled.fab::before,
.btn-labeled.fa-brands::before {
    content: attr(data-icon) !important;
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    margin-right: 8px !important;
}

/* Para botones con iconos separados (nueva sintaxis) */
.btn-labeled i.fas,
.btn-labeled i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 0 !important;
    font-size: 14px !important;
    display: inline-block !important;
}

.btn-labeled i.far,
.btn-labeled i.fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    margin-right: 0 !important;
    font-size: 14px !important;
    display: inline-block !important;
}

.btn-labeled i.fab,
.btn-labeled i.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    margin-right: 0 !important;
    font-size: 14px !important;
    display: inline-block !important;
}

/* Retrocompatibilidad: Fix para sintaxis antigua con clases FontAwesome directas en el botón */
.btn-labeled.fas,
.btn-labeled.fa-solid {
    font-family: inherit !important;
    font-weight: normal !important;
}

.btn-labeled.fas:before,
.btn-labeled.fa-solid:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

.btn-labeled.far:before,
.btn-labeled.fa-regular:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    margin-right: 8px !important;
}

.btn-labeled.fab:before,
.btn-labeled.fa-brands:before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    margin-right: 8px !important;
}

/* Asegurar separación correcta */
.btn-labeled:not(:has(i)):before {
    margin-right: 8px !important;
}

/* Fix para botones que solo tienen clases FontAwesome (sin btn-labeled) */
.btn.fas,
.btn.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.btn.far,
.btn.fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.btn.fab,
.btn.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Botones que usan :before para iconos sin texto */
.btn.fas:before,
.btn.fa-solid:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.btn.far:before,
.btn.fa-regular:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.btn.fab:before,
.btn.fa-brands:before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Fix global para TODOS los botones con clases FontAwesome */
/* Botones con btn-icon */
.btn-icon.fas,
.btn-icon.fa-solid,
.btn-icon.far,
.btn-icon.fa-regular,
.btn-icon.fab,
.btn-icon.fa-brands {
    font-family: inherit !important;
    font-weight: normal !important;
}

.btn-icon.fas:before,
.btn-icon.fa-solid:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.btn-icon.far:before,
.btn-icon.fa-regular:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.btn-icon.fab:before,
.btn-icon.fa-brands:before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Botones pequeños (btn-sm, btn-xs) con FontAwesome */
.btn-sm.fas,
.btn-sm.fa-solid,
.btn-xs.fas,
.btn-xs.fa-solid {
    font-family: inherit !important;
    font-weight: normal !important;
}

.btn-sm.fas:before,
.btn-sm.fa-solid:before,
.btn-xs.fas:before,
.btn-xs.fa-solid:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.btn-sm.far:before,
.btn-sm.fa-regular:before,
.btn-xs.far:before,
.btn-xs.fa-regular:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.btn-sm.fab:before,
.btn-sm.fa-brands:before,
.btn-xs.fab:before,
.btn-xs.fa-brands:before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Fix para PostLink buttons con clases FontAwesome */
.btn[class*="fas fa-"],
.btn[class*="fa-solid fa-"],
.btn[class*="far fa-"],
.btn[class*="fa-regular fa-"],
.btn[class*="fab fa-"],
.btn[class*="fa-brands fa-"] {
    font-family: inherit !important;
    font-weight: normal !important;
}

.btn[class*="fas fa-"]:before,
.btn[class*="fa-solid fa-"]:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.btn[class*="far fa-"]:before,
.btn[class*="fa-regular fa-"]:before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.btn[class*="fab fa-"]:before,
.btn[class*="fa-brands fa-"]:before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Regla adicional super específica para casos problemáticos */
.table-toolbar-left .btn-labeled i.fas,
.table-toolbar-left .btn-labeled i.fa-solid,
#demo-custom-toolbar2 .btn-labeled i.fas,
#demo-custom-toolbar2 .btn-labeled i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

/* Asegurar que los botones labeled con iconos separados funcionen */
.btn-labeled i {
    margin-right: 6px !important;
    font-size: 14px !important;
}

/* Dashboard Styles - Ceiba Brand */
.dashboard-container {
    background-color: #ffffff; /* Blanco */
    min-height: 84vh;
    padding: 20px 0;
}

.dashboard-header {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 30px;
    box-shadow: 0 4px 16px rgba(0, 79, 66, 0.15);
    border: 2px solid #111C4E;
}

.dashboard-title {
    color: #111C4E; /* Verde Ceiba Principal */
    font-weight: 700;
    font-size: 2.5rem;
    margin: 0;
    text-align: center;
}

.dashboard-subtitle {
    color: #666;
    font-weight: 300;
    font-size: 1.1rem;
    text-align: center;
    margin-top: 5px;
}

.stats-row {
    margin-bottom: 30px;
}

.stat-card {
    background-color: #E8F5E8; /* Verde muy suave */
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    border: 2px solid #4CAF50;
    box-shadow: 0 4px 16px rgba(76, 175, 80, 0.15);
    transition: all 0.3s ease;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.25);
    border-color: #111C4E;
    background-color: #D4E8D4; /* Verde suave más intenso */
}

.stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #111C4E; /* Verde Ceiba Principal */
    margin: 0;
}

.stat-label {
    font-size: 0.9rem;
    color: #666;
    margin-top: 5px;
}



.menu-card {
    background-color: var(--ceiba-yellow);
    border-radius: 15px;
    padding: 25px 20px;
    text-align: center;
    border: 2px solid var(--ceiba-yellow);
    box-shadow: 0 3px 12px rgba(212, 255, 120, 0.15);
    transition: all 0.3s ease;
    margin-bottom: 15px;
    height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}

.menu-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 24px rgba(0, 79, 66, 0.25);
    border-color: var(--ceiba-yellow);
    background-color: #D4E8D4; /* Verde suave más intenso */
    text-decoration: none;
    color: inherit;
}

.menu-card:focus, .menu-card:active {
    text-decoration: none;
    color: inherit;
}

.menu-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    color: #333333;
}

/* Menu title para cards del dashboard */
.menu-card .menu-title,
.card .menu-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333333;
    margin: 0;
    line-height: 1.2;
}

/* Menu title para navbar - debe ser blanco */
.navbar-nav .menu-title {
    font-size: 1rem;
    font-weight: 500;
    color: #ffffff !important;
    margin: 0;
    line-height: 1.2;
}

.menu-description {
    display: none; /* Ocultar descripciones para un diseño más limpio */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .dashboard-title {
        font-size: 2rem;
    }
    
    .menu-card {
        height: 160px;
        padding: 20px 15px;
    }
    
    .menu-icon {
        font-size: 2.5rem;
        margin-bottom: 10px;
    }
    
    .menu-title {
        font-size: 1.1rem;
    }
    
    .stat-card {
        height: 100px;
        margin-bottom: 15px;
    }
}

/* Paleta de colores Ceiba completa */
:root {
    --ceiba-dark-green: #111C4E;
    --ceiba-green: #004A98;
    --ceiba-light-green: #FFDD00;
    --ceiba-orange: #E1251B;
    --ceiba-red: #C10230;
    --ceiba-lime: #FFDD00;
    --ceiba-yellow: #F7BE00;
}

/* Nueva Paleta de Colores del Libro de Marca */
:root {
    --brand-yellow-light: #FFDD00;
    --brand-yellow-dark: #F7BE00;
    --brand-blue-light: #004A98;
    --brand-blue-dark: #111C4E;
    --brand-red-light: #E1251B;
    --brand-red-dark: #C10230;
    --brand-gray-light: #CCCCCC;
    --brand-gray-dark: #808080;
}

/* Card hierarchy for visual organization */
.menu-card.card-primary {
    background-color: var(--ceiba-dark-green);
    color: #ffffff;
    border: 3px solid var(--ceiba-dark-green);
    box-shadow: 0 8px 25px rgba(0, 79, 66, 0.3);
    transform: scale(1.02);
}

.menu-card.card-primary:hover {
    transform: scale(1.05);
    box-shadow: 0 12px 35px rgba(0, 79, 66, 0.4);
    background-color: var(--ceiba-green);
}

.menu-card.card-primary .menu-icon {
    color: #ffffff;
    font-size: 3rem;
}

.menu-card.card-primary .menu-title {
    color: #ffffff;
    font-weight: 700;
}

.menu-card.card-secondary {
    background-color: var(--ceiba-orange);
    color: #ffffff;
    border: 3px solid var(--ceiba-orange);
    box-shadow: 0 6px 20px rgba(255, 106, 65, 0.25);
}

.menu-card.card-secondary:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 30px rgba(255, 106, 65, 0.35);
    background-color: var(--ceiba-red);
}

.menu-card.card-secondary .menu-icon {
    color: #ffffff;
    font-size: 2.5rem;
}

.menu-card.card-secondary .menu-title {
    color: #ffffff;
    font-weight: 600;
}

/* Nuevas clases para módulo de registro */
.menu-card.card-highlight {
    background-color: var(--ceiba-light-green);
    color: #ffffff;
    border: 3px solid var(--ceiba-light-green);
    box-shadow: 0 6px 20px rgba(113, 210, 0, 0.25);
}

.menu-card.card-highlight:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 30px rgba(113, 210, 0, 0.35);
    background-color: var(--ceiba-yellow);
}

.menu-card.card-highlight .menu-icon {
    color: #ffffff;
    font-size: 2.5rem;
}

.menu-card.card-highlight .menu-title {
    color: #ffffff;
    font-weight: 600;
}

.menu-card.card-back {
    background-color: #6c757d;
    color: #ffffff;
    border: 3px solid #6c757d;
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.2);
}

.menu-card.card-back:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(108, 117, 125, 0.3);
    background-color: #495057;
}

.menu-card.card-back .menu-icon {
    color: #ffffff;
    font-size: 2.5rem;
}

.menu-card.card-back .menu-title {
    color: #ffffff;
    font-weight: 600;
}

.menu-card.card-secondary {
    background-color: var(--ceiba-orange);
    border: 2px solid var(--ceiba-orange);
    box-shadow: 0 4px 15px rgba(255, 106, 65, 0.25);
    transform: scale(1.01);
    height: 140px;
}

.menu-card.card-secondary .menu-icon {
    font-size: 2.8rem;
    margin-bottom: 12px;
    color: #ffffff;
}

.menu-card.card-secondary .menu-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #ffffff;
    margin: 0;
}

.menu-card.card-secondary:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 6px 20px rgba(255, 106, 65, 0.35);
    background-color: var(--ceiba-red);
}

/* Hover effect para cards base (ceiba-yellow) */
.menu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(212, 255, 120, 0.25);
    background-color: var(--ceiba-lime);
}

/* Espaciado mejorado para el grid */
.menu-grid {
    padding: 0 15px;
    margin-bottom: 1rem;
}

.menu-grid:last-child {
    margin-bottom: 2rem;
}

/* Animation for cards */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.menu-card, .stat-card {
    animation: fadeInUp 0.6s ease forwards;
}

.menu-card:nth-child(1) { animation-delay: 0.1s; }
.menu-card:nth-child(2) { animation-delay: 0.2s; }
.menu-card:nth-child(3) { animation-delay: 0.3s; }
.menu-card:nth-child(4) { animation-delay: 0.4s; }
.menu-card:nth-child(5) { animation-delay: 0.5s; }
.menu-card:nth-child(6) { animation-delay: 0.6s; }


.btn-primary,
.btn-primary:focus,
.btn-hover-primary:hover,
.btn-hover-primary:active,
.btn-hover-primary.active,
.btn.btn-active-primary:active,
.btn.btn-active-primary.active,
.dropdown.open > .btn.btn-active-primary,
.btn-group.open .dropdown-toggle.btn.btn-active-primary {
    background-color: #004A98!important;
    border-color: #004A98!important;
    color: #fff;
}