/* Estilo general del cuerpo */
body {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    background: #119243; /* Verde oscuro */
    color: #333;
    height: 100vh;
    overflow: hidden;
}

/* Contenedor principal */
.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Topbar */
.topbar {
    width: 100%;
    background: #0a2f24; /* Verde muy oscuro para el topbar */
    position: relative;
    z-index: 2;
}

/* Fondo de partículas para el topbar */
.topbar-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: transparent; /* Fondo transparente para las partículas */
}

/* Contenido del topbar (logo y navegación en una línea) */
.topbar-content {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    position: relative;
    z-index: 1;
}

/* Marca del topbar (logo y texto) */
.topbar-brand {
    display: flex;
    align-items: center;
    color: #f5f5f5; /* Blanco suave */
    font-family: 'Orbitron', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin-right: 20px; /* Espacio entre la marca y los enlaces */
}

.topbar-logo {
    width: 40px; /* Tamaño del logo en el topbar */
    height: auto;
    margin-right: 10px;
}

/* Navegación del topbar */
.topbar-nav {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1;
}

.nav-item {
    margin-right: 5px;
}

.nav-link {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    color: #f5f5f5; /* Blanco suave */
    text-decoration: none;
    font-size: 1rem;
    transition: background 0.3s ease, color 0.3s ease;
}

.nav-link i {
    font-size: 1.2rem;
    margin-right: 8px;
}

.nav-link:hover {
    background: #146b4e; /* Verde más claro al hover */
    color: #ffffff; /* Blanco puro */
}

/* Asegurar que "Cerrar Sesión/Iniciar Sesión" esté al final */
.nav-item.ms-auto {
    margin-left: auto;
    margin-right: 0;
}

/* Estilo específico para el enlace de "Cerrar Sesión/Iniciar Sesión" */
.session-link .nav-link {
    padding-right: 15px; /* Asegurar espacio a la derecha */
}

.session-link .nav-link .fa-user-circle {
    font-size: 1.5rem; /* Tamaño del ícono de carita */
    color: #f5f5f5; /* Blanco suave */
    transition: color 0.3s ease;
}

.session-link .nav-link:hover .fa-user-circle {
    color: #ffffff; /* Blanco puro al hover */
}

/* Contenido principal */
.main-content {
    flex: 1;
    background: #f8f9fa; /* Fondo claro para el contenido principal */
    padding: 20px;
    overflow-y: auto;
}

/* Estilo del contenido */
main {
    background: #ffffff; /* Fondo blanco para el contenido */
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

main h1 {
    font-family: 'Orbitron', sans-serif;
    font-size: 2rem;
    color: #0a2f24; /* Verde oscuro */
    margin-bottom: 15px;
}

main p {
    font-size: 1rem;
    color: #37474f; /* Gris oscuro */
}

/* Responsividad */
@media (max-width: 768px) {
    .topbar-content {
        padding: 10px 15px;
    }

    .topbar-brand {
        font-size: 1.2rem;
        margin-right: 10px;
    }

    .topbar-logo {
        width: 30px;
    }

    .nav-link {
        padding: 8px 10px;
        font-size: 0.9rem;
    }

    .nav-link i {
        margin-right: 5px;
    }

    .nav-item {
        margin-right: 2px;
    }

    .session-link .nav-link .fa-user-circle {
        font-size: 1.2rem; /* Tamaño más pequeño en pantallas pequeñas */
    }
}