@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

:root {
    --sidebar-width: 260px;
    --sidebar-collapsed-width: 80px;
    --primary-color: #0d6efd;
    --sidebar-bg: #1e293b;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #f4f6f9;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

/* =========================================
   ESTILOS DEL LOGIN (RECUPERADOS)
   ========================================= */
.login-body {
    background: linear-gradient(135deg, #0d6efd 0%, #00d2ff 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-login {
    border: none;
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    width: 100%;
    max-width: 400px;
    background: white;
}

/* =========================================
   ESTILOS DEL DASHBOARD & SIDEBAR
   ========================================= */
#wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
}

#sidebar-wrapper {
    min-width: var(--sidebar-width);
    max-width: var(--sidebar-width);
    min-height: 100vh;
    background: var(--sidebar-bg);
    color: #fff;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    z-index: 1000;
}

.sidebar-heading {
    padding: 1.5rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-group-item {
    border: none;
    padding: 1rem 1.5rem;
    background-color: transparent;
    color: #cbd5e1;
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.2s;
}

.list-group-item:hover {
    background-color: rgba(255,255,255,0.1);
    color: #fff;
}

.list-group-item.active {
    background-color: var(--primary-color);
    color: #fff;
    font-weight: 600;
}

.list-group-item i {
    font-size: 1.2rem;
    min-width: 30px;
    display: inline-block;
    text-align: center;
}

/* --- ESTADO CONTRAÍDO (ICONOS) --- */
body.sb-sidenav-toggled #sidebar-wrapper {
    min-width: var(--sidebar-collapsed-width);
    max-width: var(--sidebar-collapsed-width);
}

body.sb-sidenav-toggled .sidebar-text,
body.sb-sidenav-toggled .sidebar-heading span {
    display: none; /* Oculta el texto */
}

body.sb-sidenav-toggled .list-group-item {
    text-align: center;
    padding: 1rem 0;
}

body.sb-sidenav-toggled .sidebar-heading {
    justify-content: center;
    padding: 1.5rem 0;
}

/* --- CONTENIDO PRINCIPAL --- */
#page-content-wrapper {
    flex-grow: 1;
    width: 100%;
    overflow-y: auto;
}

/* Ajuste Mobile */
@media (max-width: 768px) {
    #sidebar-wrapper {
        margin-left: calc(-1 * var(--sidebar-width));
    }
    body.sb-sidenav-toggled #sidebar-wrapper {
        margin-left: 0;
        min-width: var(--sidebar-width);
    }
    body.sb-sidenav-toggled .sidebar-text { display: inline; } 
}