/*
    Estilos Generales
*/
body {
    font-family: 'Poppins', sans-serif;
    background: #f4f6f9; /* Color de fondo general */
}

p {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1em;
    font-weight: 300;
    line-height: 1.7em;
    color: #999;
}

a, a:hover, a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

.navbar {
    padding: 15px 10px;
    background: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 20px; /* Reducido de 40px */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Sombra sutil */
}

.navbar-btn {
    box-shadow: none;
    outline: none !important;
    border: none;
}

.line {
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #ddd;
    margin: 40px 0;
}

/* ---------------------------------------------------
    SIDEBAR STYLE
----------------------------------------------------- */
.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

#sidebar {
    min-width: 250px;
    max-width: 250px;
    background: #fff; /* Fondo blanco para el sidebar */
    color: #333; /* Texto oscuro */
    transition: all 0.3s;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para el sidebar */
}

#sidebar.active {
    min-width: 80px;
    max-width: 80px;
    text-align: center;
}

#sidebar.active .sidebar-header h3,
#sidebar.active .nav-link span {
    display: none;
}

#sidebar.active .sidebar-header strong {
    display: block;
}

#sidebar .sidebar-header {
    padding: 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #e7e7e7;
    cursor: pointer;
}

#sidebar .sidebar-header strong {
    display: none;
    font-size: 1.8em;
}

#sidebar ul.components {
    padding: 20px 0;
}

#sidebar ul li a {
    padding: 10px 20px;
    font-size: 1.1em;
    display: flex; /* Usar flexbox para alinear ícono y texto */
    align-items: center;
    color: #555;
    transition: all 0.2s;
}

#sidebar.active ul li a {
    padding: 20px 10px;
    justify-content: center; /* Centrar el ícono */
    font-size: 1.2em;
}

#sidebar ul li a:hover {
    color: #007bff;
    background: #f0f0f0;
}

#sidebar ul li a i {
    flex-shrink: 0; /* Evita que el ícono se encoja */
}

#sidebar.active ul li a i {
    margin-right: 0;
}


#sidebar ul li a.active {
    font-weight: bold;
    color: #007bff;
    background: #e7f3ff;
    border-left: 3px solid #007bff;
}

#sidebar.active ul li a.active {
    border-left: none;
    border-radius: 5px; 
}


/* ---------------------------------------------------
    CONTENT STYLE
----------------------------------------------------- */
#content {
    width: 100%;
    min-height: 100vh;
    transition: all 0.3s;
}

/* ---------------------------------------------------
    MEDIAQUERIES
----------------------------------------------------- */
@media (max-width: 768px) {
    #sidebar {
        min-width: 80px;
        max-width: 80px;
        text-align: center;
    }

    #sidebar.active {
        min-width: 250px;
        max-width: 250px;
        text-align: left;
    }

    #sidebar .sidebar-header h3,
    #sidebar .nav-link span {
        display: none;
    }

    #sidebar.active .sidebar-header h3,
    #sidebar.active .nav-link span {
        display: inline;
    }

    #sidebar .sidebar-header strong {
        display: block;
    }

     #sidebar.active .sidebar-header strong {
        display: none;
     }
     }

     /* ---------------------------------------------------
     ESTILOS PARA IMPRESIÓN
     ----------------------------------------------------- */
     @media print {
     #sidebar, .navbar, .d-print-none, .btn, form {
        display: none !important;
     }

     #content {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 0 !important;
     }

     .container-fluid {
        padding: 0 !important;
     }

     .card {
        border: 1px solid #ddd !important;
        box-shadow: none !important;
        break-inside: avoid;
        margin-bottom: 10px !important;
     }

     .card-header {
        background-color: #f8f9fa !important;
        border-bottom: 1px solid #ddd !important;
        color: #000 !important;
     }

     body {
        background-color: #fff !important;
        color: #000 !important;
        font-size: 10pt;
     }

     .bg-success, .bg-danger, .bg-info {
        background-color: transparent !important;
        color: #000 !important;
        border: 1px solid #ddd !important;
     }

     .text-white, .text-success, .text-danger, .text-info {
        color: #000 !important;
     }

     h1, h2, h3, h4, h5, h6 {
        color: #000 !important;
     }

     .table {
        width: 100% !important;
        border-collapse: collapse !important;
     }

     .table th, .table td {
        border: 1px solid #ddd !important;
        padding: 4px !important;
     }
     }