/* --- Reseteo y Fuentes --- */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Roboto', 'Google Sans', Arial, sans-serif;
    background-color: #f0f4f9;
    overflow: hidden; /* Evita el scroll en la página principal */
}

/* --- Barra Lateral (Sidebar) --- */
.sidebar {
    position: fixed; /* Fijo en la pantalla */
    left: 0;
    top: 0;
    height: 100%;
    width: 260px; /* Ancho por defecto */
    background-color: #ffffff;
    border-right: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    transition: width 0.3s ease; /* Animación de encoger/expandir */
}

.sidebar-header {
    padding: 20px;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sidebar-header h3 {
    margin: 0;
    font-size: 20px;
    color: #202124;
    white-space: nowrap; /* Evita que el texto se parta */
    overflow: hidden;
}

.menu-toggle-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #5f6368;
}

.lista-menu {
    list-style: none;
    padding: 15px 0;
    margin: 0;
    overflow-y: auto; /* Scroll si hay muchos archivos */
    overflow-x: hidden; /* Oculta el scroll horizontal */
}

.lista-menu li a {
    display: flex; /* Para alinear icono y texto */
    align-items: center;
    padding: 12px 20px;
    margin: 4px 10px;
    text-decoration: none;
    color: #3c4043;
    font-size: 15px;
    border-radius: 25px;
    transition: background-color 0.2s ease;
    white-space: nowrap; /* Evita que el texto se parta */
    overflow: hidden;
}

.nav-link-icon {
    margin-right: 15px;
    font-size: 18px;
}

.lista-menu li a:hover {
    background-color: #f1f3f4;
}

.lista-menu li a.activo {
    background-color: #e8f0fe;
    color: #1967d2;
    font-weight: 500;
}

/* --- Contenido Principal (Iframes) --- */
.contenido-principal {
    /* El margen izquierdo debe ser igual al ancho del sidebar */
    margin-left: 260px; 
    width: calc(100% - 260px); /* Ocupa el resto */
    height: 100vh;
    transition: margin-left 0.3s ease, width 0.3s ease; /* Animación */
}

.frame-contenido {
    display: none; /* Oculta todos los iframes por defecto */
    width: 100%;
    height: 100%;
    border: none;
}

.frame-contenido.activo {
    display: block; /* Muestra solo el iframe activo */
}


/* === INICIO DEL CAMBIO (ANTI-PARPADEO) === */
/* --- LÓGICA DE MINIMIZAR (Usa 'html' en lugar de 'body') --- */

html.sidebar-minimized .sidebar {
    width: 80px; /* Ancho del sidebar minimizado */
}

html.sidebar-minimized .sidebar-header h3 {
    display: none; /* Oculta el título "Mis Proyectos" */
}

html.sidebar-minimized .sidebar-header {
    justify-content: center; /* Centra el botón de menú */
}

html.sidebar-minimized .nav-link-text {
    display: none; /* Oculta el texto del enlace */
}

html.sidebar-minimized .lista-menu li a {
    justify-content: center; /* Centra el icono */
}

html.sidebar-minimized .nav-link-icon {
    margin-right: 0; /* Quita el margen del icono */
    font-size: 22px;
}

/* Ajusta el contenido principal cuando el menú está minimizado */
html.sidebar-minimized .contenido-principal {
    margin-left: 80px;
    width: calc(100% - 80px);
}
/* === FIN DEL CAMBIO === */