   body,
        html {
            height: 100%;
            margin: 0;
            overflow: hidden;
            background-color: #f5f7fa;
        }

        .container-flex {
            display: flex;
            height: 100vh;
            /* toda la pantalla */
        }
        
     

        /* === CSS LOGIN === */
        /* CENTRADO TOTAL EN PANTALLA LOGIN */
        .main-layout-login {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100vh;
        }

        .dashboard-main-login {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        background-color: #f5f7fa;
        }

        .login-container {
        display: flex;
        width: 850px;
        height: 600px;
        background-color: #fff;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }

        /* Columna izquierda */
        .login-left {
        width: 50%;
        background-color: #09365c;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 10px;
        text-align: center;
        }

        .login-logo {
        width: 250px;
        margin-bottom: 30px;
        }

        /* Columna derecha */
        .login-right {
        width: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        }

        .login-form-box {
        width: 80%;
        max-width: 350px;
        }

        .login-form-box h2 {
        margin-bottom: 10px;
        font-size: 26px;
        color: #0e4a7b;
        margin-top: -1.5rem;
        }

        .login-form-box label {
        display: flex;
        margin-bottom: 5px;
        font-weight: bold;
        align-items: center;
        }

        .login-form-box i {
        margin-right: 8px;
        }

        .login-form-box input {
        width: 95%;
        padding: 10px;
        margin-bottom: 10px;
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        font-size: 16px;
        }

        .login-form-box button {
        width: 100%;
        padding: 12px;
        background-color: #0e4a7b;
        color: white;
        border: none;
        border-radius: 6px;
        font-size: 16px;
        cursor: pointer;
        transition: background-color 0.3s ease;
        }

        .login-form-box button:hover {
        background-color: #09365c;
        }

        /* Responsive para móviles */
        @media (max-width: 768px) {
        .login-container {
            flex-direction: column;
            height: auto;
            width: 90%;
        }

        .login-left,
        .login-right {
            width: 100%;
            height: 300px;
        }

        .login-logo {
            width: 180px;
        }

        .login-form-box {
            width: 100%;
            padding: 20px;
        }
        }
        /* === FIN CSS LOGIN === */

        /* Sidebar fijo vertical */
        .sidebar {
            width: 250px;
            background-color: #f8f9fa;
            border-right: 1px solid #dee2e6;
            display: flex;
            flex-direction: column;
            padding: 1rem;
            /* Para que ocupe toda la altura */
            height: 100vh;
            position: fixed;
            top: 0;
            left: 0;
            overflow-y: auto;
        }
        
        .sidebar .nav-link {
            color: #212529; /* color original */
            transition: background-color 0.3s, color 0.3s, border-radius 0.3s;
        }
        
        .sidebar .nav-link:hover {
            background-color: #06ac9b; /* turquesa */
            color: white !important;
            border-radius: 0.5rem; /* más redondeado */
        }
        
        .sidebar .nav-link:hover i {
            color: white; /* Asegura que el ícono también sea blanco */
        }
        
        /* Estilos para el enlace activo */
        .sidebar .nav-link.active {
          background-color: #06ac9b;
          color: white !important;
          border-radius: 0.5rem;
        }
        .sidebar .nav-link.active i {
          color: white;
        }

        /* Logo centrado dentro del sidebar */
        .sidebar-logo {
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 2.5rem;
            color: #563d7c;
        }


        /* Logo centrado dentro del sidebar */
        .sidebar-logo {
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 2.5rem;
            color: #563d7c;
        }

        /* Contenedor que incluye header + contenido, a la derecha del sidebar */
        .main-content {
            margin-left: 250px;
            /* igual al ancho del sidebar */
            display: flex;
            flex-direction: column;
            height: 100vh;
            width: calc(100% - 250px);
        }

        header {
            height: 60px;
            border-bottom: 1px solid #dee2e6;
            background: white;
            padding: 0 1rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        /* Info tutor debajo del header */
        .tutor-info {
            display: flex;
            align-items: center;
            padding: 0.5rem 1rem;
            gap: 0.75rem;
            border-bottom: 1px solid #dee2e6;
            background: #f1f3f5;
            font-weight: 600;
        }

        .tutor-info img {
            width: 50px;
            height: 50px;
            object-fit: cover;
            border-radius: 50%;
        }

        main {
            padding: 1rem;
            flex-grow: 1;
            overflow-y: auto;
            background: #fff;
        }

        /* Nav links y submenu */
        .nav-link {
            font-weight: 500;
            cursor: pointer;
        }

        .submenu .nav-link {
            padding-left: 2rem;
            font-size: 0.95rem;
        }

        .icon-button {
            background: none;
            border: none;
            padding: 0.3rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: none;
            transition: background-color 0.2s, color 0.2s;
        }

        .icon-button:hover {
            background-color: transparent;
            /* sin sombra ni fondo */
        }

        .icon-button i {
            color: #413f3f;
            font-size: 1rem;
            transition: color 0.2s;
        }

        .icon-button:hover i {
            color: #40e0d0;
            /* turquesa al pasar el mouse */
        }

        /* Clase para botón salir con hover rojo */
        .icon-button.exit-btn:hover i {
            color: #dc3545;
            /* icono blanco */
        }
        
        


/*====INICIO CSS DASHBOARD ====*/

.contenedor-bienvenida-accesos {
    display: flex;
}

/* Welcome Section */
.welcome-section {
  margin-bottom: 2rem;
  width: 40%;
}

.titulos {
  font-weight: 700;
  font-size: 1.5rem;
  color: #1e4262;
  margin: 0;
}

.welcome-subtitle {
  font-size: 1rem;
  color: #555;
  margin-top: 0.25rem;
  line-height: 1.2;
}

/* ACCESOS DIRECTOS NEW */

.accesos-directos-2 {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 20px;
  width: 60%;
  height: 30px;
  margin-top: 10px;
}

.acceso-card-2 {
  display: flex;
  align-items: center;
  gap: 15px;
  background-color: white;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 1rem 1rem 1rem 1rem;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: box-shadow 0.2s ease;
  min-width: 100px;
  height: 40px;
}

.acceso-card-2:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}


.icono-circulo-2 i {
  font-size: 1.2rem;
  color: #00abb6;
}


/* PERFIL USUARIO */

.perfil-container {
    display: flex;
    width: 100%;
    gap: 15px;
}

.resumen-dashboard {
    width: 70%;
    background-color: #fff;

}


.perifl-usuario-caja {
    width: 30%;
    justify-content: flex-end;
}

.perfil-usuario {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 1.5rem;
  width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  color: #1e4262;
  justify-content: flex-end;
}

.avatar-container {
  position: relative;
  width: 150px;
  height: 150px;
}

.perfil-usuario .avatar-user {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.editar-foto {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: #00abb6;
  color: white;
  border-radius: 50%;
  padding: 7px;
  cursor: pointer;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  box-shadow: 0 0 8px rgba(0, 171, 182, 0.6);
  border: 2px solid white;
}

.editar-foto:hover {
  background-color: #00848a;
}

.nombre-usuario {
  font-weight: 600;
  font-size: 1.25rem;
  margin: 0;
  color: #005973;
}

.info-usuario p {
  margin: 0.3rem 0;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #505050;
}

.info-usuario .icon {
  color: #00abb6;
  min-width: 18px;
  text-align: center;
}


/* Afecta solo los botones dentro del contenedor del paginador */
/* Paginacion Usuarios */
#paginacion-usuarios button.btn-outline-primary {
  border-color: #00abb6 !important;
  color: #00abb6 !important;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

#paginacion-usuarios button.btn-outline-primary:hover {
  background-color: #00abb6;
  color: #fff !important;
}

#paginacion-usuarios button.btn-secondary {
  background-color: #dee2e6;
  color: #6c757d;
  border-color: #dee2e6;
  font-weight: 500;
}

#paginacion-usuarios span {
  color: #6c757d;
  font-weight: bold;
}

/* Paginacion Estudiantes */
#paginacion-estudiantes button.btn-outline-primary {
  border-color: #00abb6 !important;
  color: #00abb6 !important;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

#paginacion-estudiantes button.btn-outline-primary:hover {
  background-color: #00abb6;
  color: #fff !important;
}

#paginacion-estudiantes button.btn-secondary {
  background-color: #dee2e6;
  color: #6c757d;
  border-color: #dee2e6;
  font-weight: 500;
}

#paginacion-estudiantes span {
  color: #6c757d;
  font-weight: bold;
}

/* Paginacion PPFF */
#paginacion-padres button.btn-outline-primary {
  border-color: #00abb6 !important;
  color: #00abb6 !important;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

#paginacion-padres button.btn-outline-primary:hover {
  background-color: #00abb6;
  color: #fff !important;
}

#paginacion-padres button.btn-secondary {
  background-color: #dee2e6;
  color: #6c757d;
  border-color: #dee2e6;
  font-weight: 500;
}

#paginacion-padres span {
  color: #6c757d;
  font-weight: bold;
}

/* Paginacion Docentes */
#paginacion-docentes button.btn-outline-primary {
  border-color: #00abb6 !important;
  color: #00abb6 !important;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

#paginacion-docentes button.btn-outline-primary:hover {
  background-color: #00abb6;
  color: #fff !important;
}

#paginacion-docentes button.btn-secondary {
  background-color: #dee2e6;
  color: #6c757d;
  border-color: #dee2e6;
  font-weight: 500;
}

#paginacion-docentes span {
  color: #6c757d;
  font-weight: bold;
}
