/*global*/
/*.fa-angle-double-right{
	float: right;
}
.fa-angle-double-right:before {
    content: "\f101";
}

.active>a>.fa-angle-double-right:before {
    content: "\f103";
}*/

/******** OTROS STYLES ********/
.ui-widget-header{
	color: #000 !important;
}
/******** FIN OTROS STYLES ********/


/******** GLOBAL ********/
.linea-completa{
	border-top: 1px solid #b8bdcd !important;
	margin-bottom: 20px;
}
.ingresar_alumno{
	background-color: #fff !important;
}
#page-wrapper{
	padding-top: 20px !important;
	padding-bottom: 0px !important;
}
h3{
	margin-top: 0px;
}
.panel-heading{
	text-transform: uppercase;
}
.propio-head{
	padding: 10px !important;
	font-weight: bold;
	text-transform: uppercase;
}
.puntaje-item{
	width: 30%;
}
.guardar{
	float: right;
}
.bg-gray {
	background-color: #f9f9f9;
}
/****************************************/


/******** FOOTER ********/
/******** FOOTER ********/
footer {
    width: 100%;
    padding-top: 100px;
    background-color: #ffffff;
}

footer i {
    font-size: 35px !important;
}

footer i.fa-facebook-square {
    color: #3b5998;
}

footer i.fa-instagram {
    color: #e95950;
}

footer h6 {
    padding-bottom: 30px;
}

footer .fb-like {
    width: 10px !important;
}


footer .footer-bitel {
    background-color: #ffffff; /* Puedes personalizar el fondo del footer */
}

footer .footer-bitel .container {
    display: flex;
    justify-content: center;
    align-items: center;
}

footer .footer-bitel .row {
    display: flex;
    justify-content: center; /* Centra la imagen horizontalmente */
    align-items: center; /* Centra la imagen verticalmente */
}

footer .boton-ayuda a {
    display: flex; /* Activa flexbox para alinear los elementos en fila */
    align-items: center; /* Centra los elementos verticalmente */
    justify-content: center; /* Centra los elementos horizontalmente */
    gap: 10px; /* Espacio entre los elementos */
    background-color: #1D3973; /* Fondo azul */
    border: 2px solid #000; /* Borde negro */
    border-radius: 100px; /* Bordes redondeados */
    padding: 6px; /* Espaciado interno para una mejor apariencia */
	min-width: 300px;

    position: relative; /* Establece la posición relativa para que puedas moverla */
    top: 10px;
}


footer .boton-ayuda a img {
    width: 40px; /* Tamaño de las imágenes */
    height: auto;
}

footer .boton-ayuda a p {
    margin: 0; /* Elimina márgenes por defecto */
    font-size: 16px; /* Tamaño del texto */
    font-weight: bold;
    color: #ffffff; /* Ajusta el color del texto según tus necesidades */
}

footer .boton-ayuda a {
    text-decoration: none; /* Elimina el subrayado de los enlaces */
}

footer .boton-ayuda:hover p {
    color: #f2b705; /* Cambia el color del texto al pasar el puntero */
}


footer .bitel img {
    width: 80px; /* Ajusta el tamaño de la imagen */
    height: auto;
    position: relative; /* Establece la posición relativa para que puedas moverla */
    top: 10px; /* Desplaza la imagen hacia abajo 20 píxeles, sin afectar los elementos debajo */
    z-index: 10; /* Asegura que la imagen esté por encima de otros elementos */
}


footer .encabezado-superior2 {
    width: 100%;
    min-height: 120px;
    background: #1D3973;
    padding: 5px 0px;
    display: flex; /* Flexbox para alinear elementos */
    align-items: center; /* Alinea verticalmente al centro */
    justify-content: space-between; /* Espacio entre los elementos */
}

@media (max-width: 991px) {
	footer .encabezado-superior2 .footer-item{
		margin: 20px 0px;
	}
}

footer .footer-item {
    display: flex;
    align-items: center; /* Centra la imagen y el texto verticalmente */
}

footer .footer-item img {
    width: 50px; /* Ajusta el tamaño de la imagen */
    height: auto;
    margin-right: 15px; /* Espacio entre la imagen y el texto */
}

footer .footer-item p {
    margin: 0; /* Elimina el margen por defecto del párrafo */
	color: white;
}

footer .encabezado-superior2 .logo-img-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

footer .encabezado-superior2 .logo-img-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}

/****************************************/


/******** CONECTARSE ********/
.conectarse img{

}
.conectarse .linea-completa{
	margin-top: 100px;
	margin-bottom: 20px;
}
.conectarse header .linea-completa{
	margin-top: 10px;
	margin-bottom: 40px;
}
.conectarse .titulo-sistema{
	padding-top: 15px;
	font-family: Times New Roman;
	/*font-size: 35px;*/
}
/****************************************/


/******** HEADER ********/
header .sidebar{
	/*margin-bottom: 100px !important;*/
}
header .navbar{
	min-height: 80px;
}
header .navbar-brand img{
	width: 50px;
	margin-top: -5px;
	margin-right: 10px;
	display: inline-block;
}
@media(max-width: 510px){
	header .dropdown-toggle{
		margin-top: 20px;
	}
	header .navbar-brand span{
		font-size: 12px;
	}
}


.sidebar ul:first-of-type > li:first-of-type {
    border-top: solid 1px #e7e7e7;
}

.navbar-default{
	border-right: 1px solid #e7e7e7;
}

.navbar-default .sidebar-nav .nav li a:hover,
.navbar-default .sidebar-nav .nav li a:focus,
.navbar-default .sidebar-nav .nav li a:active{
    background-color: #F28705;
    color: #fff;
}
.navbar-default .sidebar-nav .nav li.active > a {
    background-color: #113A8C;
    color: #fff;
}

.navbar-default .sidebar-nav .nav .nav-second-level li.active > a {
    background-color: #117DBF !important; /* Color del fondo en estado activo o seleccionado */
}


.navbar-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; /* Mueve el contenido hacia la derecha */
    align-items: center; /* Alinea verticalmente los elementos */
	margin-top: 10px;
}


.nav-directo {
    display: flex;
    justify-content: center; /* Centra los elementos en dispositivos pequeños */
    text-align: center;
	margin-right: 30px;
}

.nav-directo a {
    display: inline-block;
    text-align: center;
    text-decoration: none; 
}

.nav-directo a:hover {
    text-decoration: none;
}

.nav-directo p {
    color: #fff; 
    background-color: #1D3973; 
    border-radius: 10px; 
    border: 2px solid #000000; 
    text-shadow: 1px 1px 2px black, -1px -1px 2px black; 
    font-size: 1.3rem; 
    font-weight: bold; 
    padding: 0px 5px;
    margin: 2px 0px 0px 0px; 
}

.nav-directo a:hover p {
    color: #f2bb05; 
}

.nav-directo img {
    display: block;
    margin: 0 auto;
    height: 50px;
}

.navbar-top-links {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}




.big-icon {
    height: 30px;
    border-radius: 50%;
}



header .encabezado-superior{
	width: 100%;
	height: 80px;
	background-color: #e6f0f7;
	padding: 10px 0px;
}
header .encabezado-superior img{
	width: 200px;
}


header .encabezado-superior2 {
    width: 100%;
    height: 85px;
    background: linear-gradient(to bottom right, #142559, #0711D9);
    padding: 5px 0px;
    display: flex; /* Flexbox para alinear elementos */
    align-items: center; /* Alinea verticalmente al centro */
    justify-content: space-between; /* Espacio entre los elementos */
    border-bottom: 5px solid #f2b705; /* Línea inferior blanca de 3px */
}


header .encabezado-superior2 .logo-img-left {
    display: flex;
    justify-content: flex-start; /* Asegura que la primera imagen esté a la izquierda */
    align-items: center;
}

header .encabezado-superior2 .logo-img-right {
    display: flex;
    justify-content: center; /* Centra la segunda imagen */
    align-items: center;
    flex: 1; /* Ocupa el espacio necesario para centrar */
}

header .encabezado-superior2 .logo-img-left img {
    width: 70px;
    height: auto;
    margin-left: 60px;
}

header .encabezado-superior2 .logo-img-right img {
    width: 200px;
	margin-left: 100px;
}


@media (max-width: 470px) {
    header .encabezado-superior2 .logo-img-left img {
        width: 60px;
        height: auto;
        margin-left: 20px;
    }

    header .encabezado-superior2 .logo-img-right img {
        width: 170px;
        margin-right: 50px;
    }
}

.nav-directo {
    display: flex;
    flex-wrap: nowrap; /* Evita que los elementos se envuelvan en pantallas grandes */
    justify-content: center;
    gap: 15px; /* Espaciado entre elementos */
}

/* Ajuste para pantallas pequeñas */
@media (max-width: 768px) {
    .nav-directo {
        justify-content: center;
    }

    .nav-directo a {
        flex: 1 1 45%; /* Ocupa el 45% del ancho, asegurando dos columnas */
        max-width: 45%; /* Limita el ancho para evitar que se junten demasiado */
        text-align: center;
    }
}





.big-icon {
	width: 40px;
	height: 40px;
}

.menu-icon {
	width: 25px;
	height: 25px;
	margin-right: 5px;
}

.submenu-icon {
	width: 20px;
	height: 20px;
	margin-right: 0px;
}
/****************************************/


/*********************************** INICIO ****************************************/
.contenedor-inicio {
    max-width: 1545px; /* Ancho máximo específico */
    margin: 30px auto 0px; /* Centrar horizontalmente */
    padding: 0 15px; /* Espaciado interno */
}

.row-inicio {
    display: flex;
    flex-wrap: wrap;
}

.menu-rapido {
    flex: 0 0 25%; /* 25% para 4 columnas */
    max-width: 25%;
}

.menu-rapido img {
	padding: 10px 30px;
    max-width: 80%; /* Asegura que las imágenes no excedan el ancho del contenedor */
    height: auto; /* Mantiene las proporciones de la imagen */
}

.menu-rapido a {
    text-decoration: none; /* Elimina el subrayado en estado normal */
}

.menu-rapido a:hover {
    text-decoration: none; /* Asegura que no haya subrayado en hover */
}

.menu-rapido p {
    color: #fff; /* Texto blanco */
    background-color: #1D3973; /* Texto blanco */
    border-radius: 20px;
    border: 4px solid #000000;
    text-shadow: 1px 1px 2px black, -1px -1px 2px black; /* Borde negro usando sombra */
    font-size: 2.0rem; 
    font-weight: bold; 
    padding: 5px;
    margin-top: 5px; /* Ajusta el espacio superior si es necesario */
}

.menu-rapido a:hover p {
    color: #f2bb05; /* Cambia el color del texto */
}



@media (max-width: 1545px) {
    .contenedor-personalizado {
        max-width: 100%; /* Permite que el ancho se ajuste automáticamente */
        padding: 0 15px; /* Mantiene el espaciado interno */
    }

    .menu-rapido p {
        font-size: 1.6rem; 
        padding: 3px;
    }
}

@media (min-width: 991px) and (max-width: 1200px) {
    .menu-rapido {
        flex: 0 0 33.333%; /* Ocupa el 33.33% del ancho */
        max-width: 33.333%; /* Máximo ancho del 33.33% */
    }
}

@media (max-width: 991px) {
    .menu-rapido {
        flex: 0 0 50%; /* Ocupa el 50% del ancho */
        max-width: 50%; /* Máximo ancho del 50% */
    }
    
    .menu-rapido p {
        font-size: 1.6rem; 
        padding: 3px;
    }
}



@media (max-width: 768px) {
    .menu-rapido {
        margin-top: 20px; /* Reduce el espacio para pantallas pequeñas */
    }

    .menu-rapido p {
        font-size: 1.8rem; 
        padding: 3px;
    }
}

@media (max-width: 576px) {
    .menu-rapido img {
		padding: 5px 0px;
        max-width: 90%; /* Reduce el tamaño un poco más */
        margin: 0 auto; /* Centra las imágenes */
    }
    
}


/****************************************/



/******** INGRESAR ALUMNO ********/
.ingresar_alumno h3{
	margin-bottom: 30px;
}
.navbar.navbar-default.navbar-static-top{
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}
/****************************************/

/******** GRAFICOS ********/
.graficos{
	padding-bottom: 100px;
}
/****************************************/

/******** GRAFICOS ********/
.tabla-notas tr th{
	background-color: #bcccdc !important;
	/*background-color: lightblue*/
}
.tabla-notas td{
	text-align: center;
}
.tabla-notas td.td-alumnos{
	text-align: left;
}
.tabla-notas span.nota-borde{
	padding:5px; font-size:18px;
}
.tabla-notas .nota-borde.azul{
	outline:1px solid #337ab7;
	color:#337ab7;
}
.tabla-notas span.nota-borde.rojo{
	outline:1px solid red;
	color: red;
}
/****************************************/

/******** REPORTES ********/
.page-break {
    page-break-after: always;
}
.reportes.r-asistencia .cuerpo{
	margin-top: 50px;
}
.reportes.r-asistencia .cuerpo{
	margin-top: 50px;
}

.tabla.espacio{
	margin-top: 50px;
}
.reportes.notas table.tabla{
	border-spacing: 5px;
	/*border: 1px solid #000 !important;	*/
} /* cellspacing */
.reportes.notas table.tabla th, .reportes.notas table.tabla td{
	padding: 3px;
	width: 20px;
	/*border: 1px solid #000 !important;*/
	text-align: center;
	color: #000;
} /* cellpadding */
.reportes.notas table.tabla td{
	line-height: 1;
	font-size: 14px;
}
.reportes.notas table.tabla td.nombre-asignatura{
	font-size: 12px;
	text-align: left;
}
.reportes.notas table.tabla th{
	padding: 5px;
	/*background-color: #dedede;*/
	background-color: #bcccdc;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
}
.reportes.notas table.tabla th.th-in{
	width: 80px;
}
.reportes.notas table.tabla th.th-pf{
	width: 70px;
}
.reportes.notas table.tabla .tr-td-promedio{
	background-color: #bcccdc;
	text-align: left;
}
.reportes.notas table.tabla .tr-td{
	background-color: #bcccdc;
}
.reportes.notas table.tabla .margen{
	padding-left: 8px !important;
	padding-right: 8px !important;
	text-align: center !important;
}
.reportes.notas h5{
	margin: 0;
	padding: 0;
	text-align: center;
	font-weight: normal;
	margin-top: 5px;
	letter-spacing: 1px;
}
.reportes.notas .encabezado table.identificacion{
	text-transform: uppercase;
	margin-top: 20px;
}
.reportes.notas .encabezado .logo-encabezado img{
	margin-top: -75px;
}
/*.reportes.notas .pie{
	margin-top: 0px !important;
	position: fixed;
	bottom: 0px;
	bottom: 100px;
}*/

.reportes.general .cuerpo{
	/*text-align: center;*/
	margin-top: 20px;
}
.reportes.general .cuerpo table{
	/*margin: 0 auto;*/
	width: 100%;
}
.reportes.general .cuerpo table .fila-col{
	text-align: left;
}
.reportes.notas.promedio table.tabla th.th-pf{
	width: 150px;
}
.reportes.notas.general .fila-col{
	font-size: 12px !important;
	/*font-size: 9px !important;*/
	font-family: arial !important;
	height: 15px;
	text-transform: uppercase;
}
.reportes .encabezado h4{
	text-align: center;
}
.reportes .encabezado h5{
	/*font-weight: bold;*/
	text-align: center;
	text-transform: uppercase;
}
.reportes .t-asistencia{
	width: 101%;
	margin-bottom: 10px;
}
.reportes .t-asistencia th, .reportes .t-observaciones th{
	text-align: left !important;
}
.reportes .t-observaciones{
	width: 101% !important;
	margin-top: 10px;
	text-align: left !important;
}
.reportes .t-observaciones td{
	padding: 10px !important;
	text-align: left !important;
}
.reportes.general .td-nota{
	/*font-size: 10px !important;*/
}
.reportes.general .prom-f{
	/*font-size: 11px;*/
}
.reportes.general th.rotate{
  /*height: 80px;  */
  text-align:center;
  vertical-align: top;
  margin: 0 !important;
  padding: 0 !important;
}
.reportes.general .col-fila, .reportes.general .fila-col, .reportes.general th.rotate > div > span{
	font-size: 8px !important;
}
.reportes.general .col-fila{
	width: 190px !important;
	font-size: 10px !important;
}

.salto-no-print{
	margin-bottom: 100px;
}
.s-i-c{
	margin-top: 50px;
	font-size: 12px;
}
.general .s-i-c{
	margin-top: 0px;
}
.num-asig{
	margin: 0 auto;
}
.num-asig td{
	text-align: left !important;
}
.num-asig td{
	font-size: 10px !important;
}

th.rotate > div {
  transform:
    translate(0px, 0px)
    rotate(-90deg);
  	/*width:10px;*/
  	margin: 0 !important;
  	padding: 0 !important;
  	position: relative;
	top: 70px;
	text-align: left !important;
	overflow: visible;
}
th.rotate > div > span {
	text-align: left !important;
	overflow: visible;
   /*border-bottom: 1px solid #ccc;*/
   /*padding-right: 0px !important;
   margin-right: 0px !important;*/
}

.pagenum:before {
    content: counter(page);
}
.cuerpo_anotacion{
	margin-top: 50px;
}
.cuerpo_anotacion h5{
	text-align: left !important;
	margin-bottom: 3px;
	margin-top: 0 !important;
}
.cuerpo_anotacion p{
	font-size: 11px;
	margin-top: 2px;
	margin-bottom: 0 !important;
}
.cuerpo_anotacion .anotacion-fecha{
	text-align: right;
	margin-top: 5px;
	font-size: 10px;
}
.cuerpo_anotacion hr{
	border-bottom: 0px !important;
	border-color: #aaa;
}
.cuerpo_anotacion .anotaciones-marco{
	border: 1px solid #bbb;
	padding: 7px !important;
	margin-bottom: 10px;
}
/****************************************/

.check1{
	text-align: center !important;
}

/******	NOTAS ********/
.notas input[type="text"]{
	width: 30px;
}
.notas input[type="checkbox"]{
	float: right;
}
.notas-promedio span{
	font-size: 15px;
	padding: 5px;
}
.notas-promedio-general{
	background-color: #efe;
}
.notas-promedio-general span{
	font-size: 19px;
	padding: 7px;
}
.notas .izq-encabezado{
	text-align: left !important;
	text-transform: uppercase;
}
.notas .izq-encabezado-final{
	background-color: #ccc;
}
.general .asignatura-posicion{
	font-size: 12px !important;
}
/****************************************/

/***CERTIFICADOS****/
.certificados{
	padding: 0px 0px 0px 0px;
}
.certificados .encabezado{
	padding-top: 0px;
}
.certificados .encabezado h3, .certificados .encabezado h4, .certificados .encabezado h5{
	text-transform: uppercase;
	text-align: center;
	margin: 5px !important;
	font-weight: normal;
}
.certificados .encabezado h4{
	font-weight: normal;
	margin-top: 5px !important;
}
.certificados .encabezado .logo-encabezado img{
	width: 100px;
	float: right;
	margin-top: -60px;
}
.certificados .encabezado table.identificacion{
	margin-top: 75px;
	/*border-spacing-top: 10px;	*/
	/*border-spacing-bottom: 10px;	*/
}
.certificados .encabezado table.identificacion td{
	/*text-transform: uppercase;*/
	padding: 0px 0px;
	font-size: 12px;
}
.certificados .encabezado table.identificacion td b{
	/*text-transform: uppercase;	*/
}
.certificados .cuerpo{
	margin-top: 20px;
}
.certificados .cuerpo h4{
	font-weight: normal;
	letter-spacing: 0.6px;
	/*margin-top: 60px;*/
	text-align: justify;
	/*line-height: 22px !important;*/
}
.certificados .pie{
	margin-top: 330px;
}
.certificados .pie h5{
	text-align: center;
	font-weight: normal;
	margin-bottom: 0px;
	margin-top: 10px;
}
.certificados .pie hr{
	width: 300px;
	border-top: 1px solid #000;
	border-bottom: 0px;
	margin-top: 5px;
}
.certificados .pie .info-final{
	margin-top: 70px;
	/*position: fixed;
	margin-left: 30px !important;
	padding-left: 30px !important;*/
}
.certificados .pie .info-final h5{
	/*text-align: right !important;*/
	/*margin-left: 30px !important;*/
	margin-top: 5px;
}
/***************************************/

/*******INFORME********/
.menu-informe .caja-evaluacion{
	font-size: 13px;
	outline:1px solid #000;
	padding: 0px;
}
.menu-informe td{
	text-align: left !important;
}
/***************************************/

/******INFORMES CONCEPTUALES*******/
.certificados .conceptual table{
	/*border: 1;*/
	width: 100% !important;
}
.certificados .conceptual th{
	padding: 2px !important;
}
.certificados .conceptual th.th-sigla{
	font-size: 9px !important;
}
.certificados .conceptual table td.td-1, .certificados .conceptual table th.td-1{
	width: 70% !important;
	text-align: left;
}
.certificados .conceptual table td.td-2, .certificados .conceptual table th.td-2{
	width: 15% !important;
	font-size: 12px !important;
}
/*.certificados .conceptual h3{
	text-align: center;
} */
.certificados .conceptual h5, .certificados .conceptual h6, .certificados .conceptual h4, .certificados .conceptual h3{
	text-align: left;
	margin: 0px;
}
.certificados .conceptual .td-1{
	font-size: 12px !important;
}
.cuerpo.conceptual td{
	font-size: 12px !important;
}
.certificados .info-observacion{
	text-align: justify;
	padding: 5px;
}
.certificados .informe-observaciones{
	/*margin-top: 10px;*/
	font-size: 11px;
}
.certificados .informe-observaciones h4{
	margin-bottom: 5px;
}
.certificados .informe-observaciones .observacion{
	border: 1px solid #ccc;
	/*outline: 1px solid #000;*/
	padding: 10px;
	margin-top: 0px;
}
.pie_conceptual{
	/*margin-top: 150px !important;*/
}
.pie table{
	width: 100% !important;
	padding: 0px 30px;
}
.pie table td hr{
	/*border: 0px !important;*/
	border-top: 1px solid #777 !important;
	padding: 0px !important;
	margin: 0px !important;
	margin-top: 40px;
}
.pie table td hr{
	width: 180px !important;
	margin: 0 auto !important;
}
.pie table td.pie_izquierda{
	width: 32% !important;
}
.pie table td.pie_centro{
	width: 32% !important;
}
.pie table td.pie_derecha{
	width: 32% !important;
}
.pie table td.pie_espacio{
	width: 2% !important;
}
.pie h6{
	text-align: center !important;
	font-weight: normal !important;
	margin-top: 5px !important;
}
.certificados .cuerpo table.siglas td, .certificados .cuerpo table.siglas th{
   font-size:10px;
}
.certificados .cuerpoconceptual table th, .certificados .cuerpoconceptual table td{
	font-size:11px !important;
}
.reportes .cuerpoconceptual{
	margin-bottom: 10px !important;
}
/*.certificados .pie_conceptual table td h6{
	font-size: 10px;
	margin: 2px !important;
	text-align: center;
}*/

.mostrar_usuarios .paginate_button{
	/*font-size: 20px !important;
	margin-right: 10px;
	cursor:pointer;
	cursor: hand;*/
}
.mostrar_usuarios .dataTables_paginate{
	text-align: center;
	margin: 20px 0px;
}
.mostrar_usuarios input[type="search"]{
	padding-left: 5px !important;
}
.mostrar_usuarios .table-responsive{
	margin-top: 20px;
}
/***************************************/

input[type="submit"].eliminaralumno{
	float: right;
}


/******** ASISTENCIA ********/
.asistencia tr td.alumnos-td, .asistencia tr th{
	font-size: 10px !important;
	text-transform: uppercase;
}
.asistencia tr td, .asistencia tr th{
	/*padding: 0 !important;
	margin: 0 !important;*/
}
/***************************************/



.reportes .letra-grande td.nombre-asignatura, .reportes .letra-grande .th-pf, .reportes .letra-grande table.t-asistencia, .letra-grande th, .reportes .letra-grande .tr-td-promedio{
	font-size: 10px !important;
	padding: 5px !important;
}
.reportes .letra-grande .t-asistencia td{
	font-size: 15px !important;
}
.reportes .general.letra-grande td.td-nota, .reportes .letra-grande td.tr-td{
	font-size: 18px !important;
}


.reportes .table > thead > tr > th, .reportes .table > tbody > tr > th, .reportes .table > tfoot > tr > th, .reportes .table > thead > tr > td, .reportes .table > tbody > tr > td, .reportes .table > tfoot > tr > td{
	padding-left: 5px !important;
}
.reportes .table tr td{
	padding: 0px !important;
}

.reportes .pie.pie_conceptual, .reportes .footer1, .reporte-print{
	display: none;
}
th.th-in, .reportes .th-pf, .reportes .tr-td, .reportes .tr-td-promedio, .reportes.general .col-fila, .reportes .th-sigla{
	background-color: #bcccdc !important;
	text-transform: uppercase;
}


/****FICHA ACCIDENTE ******/
.datos-accidente p{
	text-align: center;
}
.datos-accidente hr, .datos-accidente p{
	margin: 0;
}
.datos-accidente hr{
	width: 90%;
	margin: 0 auto;
	margin-top: 4px;
	margin-bottom: 4px;
	border-color: #444;
}
.datos-accidente .rectangulo-v{
	display: inline-block;
	border: 1px solid #000;
	padding: 15px 10px !important;
	text-align: center;
}
.datos-accidente .num-form{
	text-align: right;
}
.datos-accidente .rectangulo-h{
	border: 1px solid #000;
	padding: 1px 2px;
	min-width: 110px;
	margin: 0 auto;
}
.datos-accidente .rectangulo-h-min{
	width: 40px;
}
.datos-accidente .table > tbody > tr > td{ /* Bootstrap css */
  border-top: 0px solid #ddd; /* Para que no se vean los bordes de la Tabla */
}
.datos-accidente .cuadrado{
	border: 1px solid #000;
	width: 30px;
	height: 30px;
	margin: 0 auto !important;
	line-height: 27px;
}
.datos-accidente p.c-grande{
	width: 50px;
	height: 40px;
}
.datos-accidente .cuadro-accidente{
	border: 1px solid #000;
	padding: 20px 10px 5px 5px;
}
.datos-accidente .espacio-horizontal{
	width: 100px;
}
.datos-accidente .espacio-horizontal-500{
	width: 500px;
}
.datos-accidente .espacio-vertical{
	margin-top: 100px;
}
.datos-accidente table tr{
	/*width: 100% !important;*/
}
.datos-accidente .grupo-palabra{
	/*float: left;			*/
	 display: inline-block;
	 vertical-align: top;
}
.datos-accidente .cuadrado-resultado{
	/*float: left;*/
	box-sizing: border-box;
	display: inline-block;
	border: 1px solid #000;
	/*outline: 1px solid #000;*/
	width: 30px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	margin: 10px 0px 0px 5px;
}
.datos-accidente .testigos{
	margin-left: 30px !important;
	border-bottom: 5px #000 solid !important;
	border-right: 5px #000 solid !important;
}
.datos-accidente .lineal{
	display: inline-block !important;
}

.datos-accidente td{
	padding: 3px !important;
}
.datos-accidente .titulo-accidente{
	text-align: center !important;
	font-size: 12px;
}
.datos-accidente .texto-accidente{
	font-size: 12px;
	text-align: center;
}
.datos-accidente .izquierda-a{
	text-align: left !important;
}

#imprimir{
	float: left;
	margin-bottom: 10px;
}
.espacio-pagina{
	margin-bottom: 200px;
}

/******************************************/

th.th-rojo, td.td-rojo{
	background-color: #ff9999 !important;
}
th.th-rojo-claro, td.th-rojo-claro{
	background-color: #ffcccc !important;
}
th.th-azul, td.td-azul{
	background-color: #d9edf7 !important;
}
th.th-amarillo, td.td-amarillo{
	background-color: #faebcc !important;
}
th.th-amarillo-2, td.td-amarillo-2{
	background-color: #ff0 !important;
}
th.th-verde, td.td-verde{
	background-color: #d4edda !important;
}

.diseno-calificacion{
	border-radius: 1em;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;
	display: inline-block;
	font-weight: bold;
	line-height: 2em;
	/*margin-right: 15px;*/
	text-align: center;
	width: 2em;
	/*font-size: 20px;*/
}
.diseno-calificacion.d-c-azul{
	background: #5178D0;
	color: #ffffff;
}
.diseno-calificacion.d-c-rojo{
	background: #a94442;
	color: #ffffff;
}
.diseno-calificacion.d-c-verde{
	background: #5EA226 !important;
	color: #ffffff;
}
.diseno-calificacion.d-c-grey{
	background: #cccccc;
	color: #fff;
}

.texto-rojo{
	color: #ff1919 !important;
}
.texto-azul{
	color: #2f2fff !important;
}
.texto-negro{
	color: #000000 !important;
}

/* Formulario Curso */
.acceso_rapido {
    margin-top: .5em;
    font-size: .8em;
}

.acceso_rapido .btn {
    padding: .1em .6em;
}

.logo-encabezado-izquierda img{
	width: 130px;
	margin-left: 1%;
}

.folio{
	float: right;
	margin-right: 2%;
	font-weight: bold;
	font-size: 17px;
	margin-top: 50px;
}
/************************************************/


/*********************************** PIE >> RPEAC ****************************************/

/* Select con botón alineados (formulario Docentes de Educación Regular) */
.select-button-container {
    display: flex; 
    align-items: center; 
}

.select-button-container select {
    margin-right: 10px; 
    flex-grow: 1; 
}


/* Modales personalizadas */

/* Ancho modal */
.modal-width-l{
    min-width: 70%;
}

.modal-width-xl{
    min-width: 80%;
}

/* Estilo para mover el botón de cierre hacia arriba */
.modal-close-btn {
    position: relative;
    top: -25px !important; 
}


.select2-container {
    width: 100% !important; 
}

.wide-modal-dialog {
	max-width: none; 
}

.wide-modal-content {
	width: 100%; 
	min-width: 50%; 
}

.invisible-content {
    display: none;
}

/* DISEÑO DE SELECT PERSONALIZADO */
.custom-select {
    padding: 6px 12px;
    border-radius: 4px; 
    border: 1px solid #ccc;
    width: 100%;
    height: 34px;
    background-color: #fff;
    font-size: 16px;
    color: #555;
    transition: all 0.3s ease;
    -webkit-appearance: none; 
    -moz-appearance: none;    
    appearance: none;         
}

.custom-select:focus {
    border-color: #007bff;
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.5);
    outline: none;
}

.custom-select option {
    padding: 10px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 20px !important; 
}

.custom-select option:hover {
    background-color: #f0f0f0;
}

.custom-select option:checked {
    background-color: #007bff;
    color: #fff;
}

.form-control:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
}


.disabled-field {
    background-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
    border: 1px solid #ced4da;
    padding: 6px 12px;
}



/* DISEÑO DE TEXTAREA PERSONALIZADO */
.custom-textarea {
	resize: vertical;
    border-radius: 5px;          /* Bordes redondeados */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra */
    padding: 10px;               /* Espaciado interno */
    width: 100%;            /* Ancho mínimo */
    min-width: 300px;            /* Ancho mínimo */
    min-height: 100px;           /* Altura mínima */
    box-sizing: border-box;      /* Incluye padding y borde en el tamaño */
}



/* Si usas un contenedor alrededor */
.textarea-container {
    height: 100%; 
    display: flex;
    flex-direction: column;
}






/* DISEÑO DE SELECT BANCO DE SUGERIDOS */
/* Estilo personalizado para el select con clase select-banco-sugerido */
.select-banco-sugerido {
	margin-bottom: 10px;
    background-color: #f8f9fa; 
    border-radius: 5px;         
    transition: border-color 0.3s ease;  
}

.select-banco-sugerido:focus {
    border-color: #0056b3;      
    outline: none;              
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);  
}



/* ================ DISEÑO DE MENU  ================ */

/* Estilo base para los recuadros */
.recuadro {
    flex: 1;
    text-align: center;
    background-color: #f0f0f0;
    border: 1px solid #d3d3d3;
    border-right: none; 
    align-items: center;
    justify-content: center;
}
.recuadro:hover {
    background-color: #d5e1ff ;
}

.recuadro:hover a {
    text-decoration: none;
}


.recuadro:last-child {
    border-right: 1px solid #d3d3d3; 
}

/* Estilo específico para el recuadro principal */
.recuadro-principal {
    flex: 1;
    text-align: center;
    background-color: #d5e1ff;
    border: 1px solid #d3d3d3;
    border-top: 5px solid #024fc2;
}

.recuadro-principal:hover a {
    text-decoration: none;
}

/* Estilo para los enlaces dentro de los recuadros */
.recuadro-link {
    display: block;
    padding: 20px;
    text-decoration: none;
    color: black;
    font-weight: bold;
    font-size: 14px; 
    text-transform: uppercase;
}

/* Estilo específico para el enlace del recuadro principal */
.recuadro-principal-link {
    color: #004cc7 !important;
}


/* ================== RESPONSIVIDAD ================== */
/* Estilos base */
.menu-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.menu-container .menu-toggle {
    display: none; /* Ocultar el botón de menú por defecto */
    background-color: #007bff;
    color: #fff;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
}

.menu-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.menu-items ul {
    width: 100%;
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-items ul li .recuadro {
    border: 1px solid #d3d3d3;
    border-top: none;
}

.menu-items ul li:first-child .recuadro {
    border-top: 1px solid #d3d3d3;
}

.menu-items ul li a {
    text-decoration: none;
    color: #333;
}

/* Estilos para pantallas pequeñas */
@media screen and (max-width: 991px) {
    .menu-toggle {
        display: block; /* Mostrar el botón de menú en pantallas pequeñas */
    }

    .menu-items {
        width: 100%;
    }

    .menu-items ul {
        display: block; /* Mostrar lista como desplegable */
    }
}

/* Asegurarse de que el botón del menú no se vea en pantallas grandes */
@media screen and (min-width: 992px) {
    .menu-container {
        display: none !important; /* Asegurarse de que el botón no se vea en pantallas grandes */
    }
}


/* Ocultar el menú en pantallas pequeñas */
@media screen and (max-width: 991px) {
    .ocultar-menu {
        display: none !important; /* Oculta el contenedor .row en pantallas menores a 991px */
    }
}
/* ==================================== */


/* ===================== SUBMENU PERSONALIZADO ======================== */

.submenu {
    display: flex;
    gap: 0;
    margin: 0 30px;
    padding: 0;
}

.submenu a {
    flex: 1; /* Hace que cada enlace ocupe el mismo espacio */
    text-align: center;
}

.submenu a:last-child .recuadro2 {
    border-right: 1px solid #d3d3d3; /* Aplica borde derecho solo al último recuadro */
}

/* Estilo base para los recuadros */
.recuadro2 {
    padding: 20px;
    flex: 1;
    text-align: center;
    background-color: #f0f0f0;
    border: 1px solid #d3d3d3;
    height: 100%;
}

.recuadro2:hover {
    background-color: #d5e1ff;
}

.submenu:hover a {
    text-decoration: none;
}

/* Estilo específico para el recuadro principal */
.recuadro2-principal {
    padding: 20px;
    flex: 1;
    text-align: center;
    background-color: #d5e1ff;
    border: 1px solid #d3d3d3;
    border-top: 5px solid #0c92d0;
    height: 100%;
}

.submenu a:last-child .recuadro2-principal {
    border-right: 1px solid #d3d3d3; /* Aplica borde derecho solo al último recuadro */
}


/* Estilo para los enlaces dentro de los recuadros */
.recuadro2-link {
    display: block;
    text-decoration: none;
    color: black;
    font-weight: bold;
    font-size: 12px;
}

.recuadro2-link-principal {
    display: block;
    text-decoration: none;
    color: #0c92d0 !important;
    font-weight: bold;
    font-size: 12px;
}


/* ================== RESPONSIVIDAD ================== */
/* Estilos base */
.submenu-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.submenu-container .menu-toggle {
    background-color: #007bff !important;
    color: #fff;
    padding: 10px 15px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
}

.submenu-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.submenu-items ul {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
}

.submenu-items ul li .recuadro {
    border: 1px solid #d3d3d3;
    border-top: none;
}

.submenu-items ul li:first-child .recuadro {
    border-top: 1px solid #d3d3d3;
}

.submenu-items ul li a {
    text-decoration: none;
    color: #333;
}

/* Estilos para pantallas pequeñas */
@media screen and (max-width: 991px) {
    

    .submenu-toggle {
        display: block; /* Mostrar el botón de menú en pantallas pequeñas */
    }

    .submenu-items {
        width: 100%;
    }

    .submenu-items ul {
        display: block; /* Mostrar lista como desplegable */
    }

    .submenu-items ul li .recuadro2 {
        border-top: none; /* Elimina el borde superior en todos los recuadros */
    }

    .submenu-items ul li:first-child .recuadro2 {
        border-top: 1px solid #d3d3d3; /* Mantiene el borde solo en el primer elemento */
    }
}

/* Asegurarse de que el botón del menú no se vea en pantallas grandes */
@media screen and (min-width: 992px) {
    .recuadro2 {
        border-right: none; 
    }
    
    .recuadro2-principal {
        border-right: none; 
    }
    
    .submenu-toggle {
        display: none !important; /* Asegurarse de que el botón no se vea en pantallas grandes */
    }

    /* Mantener el borde izquierdo solo en el primer recuadro */
    .submenu-items ul li:first-child .recuadro2 {
        border-left: 1px solid #d3d3d3;
    }

    /* Mantener el borde derecho solo en el último recuadro */
    .submenu-items ul li:last-child .recuadro2 {
        border-right: 1px solid #d3d3d3;
    }
}
/* ============================================= */



/* Diseño de popover para banco de sugeridos */
.popover-content-wrapper {
    background-color: #ffffff; 
    padding: 10px; 
    border-radius: 5px; 
}

.popover-content-wrapper .table-wrapper {
    max-height: 200px; 
    overflow-y: auto;  
    margin-top: 10px;   
}

/* Efecto hover para las filas de la tabla */
.popover-content-wrapper .table-popover tr:hover {
    background-color: #f0f0f0; 
    cursor: pointer; 
}

/* Asegurarse de que el color de fondo de las celdas se ajuste al hover */
.popover-content-wrapper .table-popover tr:hover td {
    background-color: #f0f0f0; 
}


.popover-banco .popover-title {
    background-color: #ffffff; 
    margin-bottom: 0; 
    margin-left: 4px; 
    padding: 10px;
    font-weight: bold; 
    font-size: 20px; 
    border-bottom: none; 
}

.popover-text {
    color: #333; 
}

.table-popover {
    width: 100%; 
    border-collapse: collapse; 
    border: none; 
    margin-top: 0;
}

.close-btn-popover {
    background: none;
    border: none;
    color: #000;
    font-size: 2.0em;
    cursor: pointer;
    position: absolute;
    top: 5px;
    right: 10px;
}

.popover {
    max-width: 500px; 
    border: 1px solid #c2c2c2; 
    border-radius: 8px; 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
}

/* Aplica bordes internos a las celdas de la tabla */
.popover-content-wrapper .table-popover th,
.popover-content-wrapper .table-popover td {
    border: 1px solid #ddd; 
    padding: 8px;
    text-align: left; 
}

/* Fondo claro para los encabezados */
.popover-content-wrapper .table-popover th {
    background-color: #f9f9f9; 
}

.popover-content-wrapper .table-popover td {
    background-color: #fff; 
}

/* Elimina el borde superior de la primera fila */
.popover-content-wrapper .table-popover tr:first-child th {
    border-top: none;
}

/* Aplica el borde inferior solo en las celdas de la última fila */
.popover-content-wrapper .table-popover tr:last-child td {
    border-bottom: 1px solid #ddd; 
}




/* Centrar verticalmente contenido dentro de una tabla */
.centrado-vertical {
    vertical-align: middle !important;
    text-align: left !important;
}

.checkbox-text-container {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 10px; 
}

.checkbox-text-container span {
    white-space: normal;
    word-wrap: break-word;
}





/* Estilo para los botones de las opciones dentro del dropdown */
.periodo-btn {
    font-size: 14px;  /* Tamaño de fuente adecuado */
    padding: 8px 16px;  /* Aumento del tamaño de los botones */
    border-radius: 4px;  /* Bordes redondeados */
    width: 100%;  /* Botones que ocupan todo el ancho del dropdown */
    text-align: left;  /* Alinear el texto a la izquierda */
    background-color: white;  /* Fondo blanco */
    border: none;  /* Eliminar borde negro */
    transition: background-color 0.3s ease, color 0.3s ease;  /* Transición suave */
}

/* Estilo cuando se pasa el ratón por encima (hover) */
/* Cuando el puntero está sobre el botón */
.periodo-btn:hover {
    background-color: white;  /* Mantiene el fondo blanco */
    color: #000;  /* Mantiene el texto negro */
    border: 1px solid #000 !important;  /* Aplica un borde negro */
    box-shadow: none;  /* Elimina cualquier sombra */
}


/* Estilo para el botón activo */
.periodo-btn.active {
    background-color: #007bff;  /* Fondo más oscuro cuando está activo */
    color: white;  /* Texto blanco en el botón activo */
}

/* Estilo cuando el botón tiene el enfoque */
.periodo-btn:focus {
    outline: none;  /* Eliminar el borde de enfoque predeterminado */
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);  /* Sombra sutil de enfoque */
}


/* Cuando el dropdown está abierto, no cambiar el fondo del botón */
.btn-bank:focus, .btn-bank[aria-expanded="true"] {
    background-color: white !important;  /* Asegura que el fondo sea blanco */
    color: #000 !important;  /* Asegura que el texto sea negro */
    box-shadow: none !important;  /* Elimina la sombra del enfoque */
    outline: none !important;  /* Elimina el borde que aparece al dar click (outline) */
}





/* Estilo para los botones de los meses */
.meses {
    justify-content: left;
    min-width: 50px !important;
}

.btn-mes {
    /* Ajustar el diseño para alinear el texto a la izquierda */
    display: flex;
    justify-content: flex-start; /* Alinear el texto a la izquierda */
    align-items: center; /* Centrar verticalmente */
    padding: 10px;
    background-color: white; /* Fondo blanco por defecto */
    border: none; /* Sin borde */
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    transition: background-color 0.3s, color 0.3s; /* Transiciones suaves */
    text-align: left; /* Asegura que el texto esté alineado a la izquierda */
}

.btn-mes:hover {
    background-color: #f0f0f0; /* Fondo gris claro cuando el mouse pasa */
}

.btn-mes.active {
    background-color: #007bff; /* Fondo verde cuando está activo */
    color: white; /* Texto blanco */
}






/* Estilos para tablas informativas */
.bg-dark-light {
	background-color: #f1f1f1;  /* Fondo ligeramente oscuro */
}

.bg-title {
	color: #fff;
	background-color: #337ab7;  /* Fondo ligeramente oscuro */
}

@media screen and (max-width: 767px) {
    .break-word > .table > thead > tr > th, 
    .break-word > .table > tbody > tr > th, 
    .break-word > .table > tfoot > tr > th, 
    .break-word > .table > thead > tr > td, 
    .break-word > .table > tbody > tr > td, 
    .break-word > .table > tfoot > tr > td {
        white-space: normal; /* Permite saltos de línea */
        word-wrap: break-word; /* Fuerza el corte de palabras largas si es necesario */
    }
}

/* Estilos para el mensaje de no datos, adaptados a Betel Colegios */
.betel-no-data-message {
    background: #e6f0fa; /* Fondo azul claro, como el menú lateral */
    border: 1px solid #b3d4fc; /* Borde azul claro */
    border-radius: 10px; /* Bordes redondeados, como el mensaje actual */
    padding: 20px;
    margin: 30px auto;
    max-width: 500px; /* Más estrecho para encajar con el diseño */
    box-shadow: 0 2px 10px rgba(0, 83, 125, 0.1); /* Sombra suave con tono azul */
    animation: noDataFadeIn 0.5s ease-in-out;
    color: #333333; /* Texto gris oscuro */
}

.betel-no-data-icon {
    font-size: 40px;
    color: #00537d; /* Azul oscuro del header */
    margin-bottom: 15px;
    display: block;
}

.betel-no-data-message h3 {
    font-size: 20px; /* Más pequeño para encajar con el estilo */
    margin-bottom: 10px;
    color: #00537d; /* Azul oscuro para el título */
    font-weight: 600; /* Negrita ligera */
}

.betel-no-data-message p {
    font-size: 14px; /* Texto más pequeño */
    color: #666666; /* Gris claro */
    line-height: 1.5;
}

/* Animación de aparición */
@keyframes noDataFadeIn {
    0% { opacity: 0; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Hover para interactividad */
.betel-no-data-message:hover {
    box-shadow: 0 4px 15px rgba(0, 83, 125, 0.2);
    transition: box-shadow 0.3s ease;
}




/*========================================== Estilos Modulo Detalles PIE ==========================================*/

/* Estilo para el row con gap */
.row-with-gap {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px; /* Reestablece los márgenes negativos de Bootstrap */
    margin-right: -15px;
    row-gap: 20px; /* Espaciado vertical entre filas */
}

.row-with-gap > .col-md-3 {
    padding-left: 15px; /* Reestablece el padding interno de las columnas */
    padding-right: 15px;
}



.area-titulo {
    border: 4px solid #007bff; /* Borde azul alrededor del título */
    border-radius: 10px; /* Bordes redondeados */
    padding: 15px; /* Espaciado interno */
    text-align: center; /* Centra el texto dentro del contenedor */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra sutil */
    transition: all 0.3s ease; /* Efecto suave en el hover */

    /* Flexbox para centrar contenido */
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
}

/* Media query para pantallas entre 992px y 1400px */
@media (min-width: 992px) and (max-width: 1400px) {
    .area-titulo {
        min-height: 82px; /* Altura mínima de 82px */
    }
    
    .row.row-with-gap .custom-area-titulo {
        min-height: 82px; /* Altura mínima de 82px */
    }
}

.area-titulo h2 {
    margin: 0; /* Elimina el margen por defecto en h2 */
    font-size: 20px; /* Tamaño de fuente */
    color: #333; /* Color del texto */
    transition: color 0.3s ease; /* Transición suave para el color */
}

.area-titulo:hover {
    transform: translateY(-5px); /* Efecto de elevación al hacer hover */
    cursor: pointer; /* Cambia el cursor a una mano */
}


/* Colores asignados manualmente */
.area-1 {
    background-color: #ADD8E6; /* Rojo anaranjado */
    border-color: #ADD8E6; /* para cuando se active: #337ab7*/
}

.area-2 {
    background-color: #40E0D0; /* Azul claro */
    border-color: #40E0D0;
}

.area-3 {
    background-color: #FFFACD; /* Verde claro */
    border-color: #FFFACD;
}

.area-4 {
    background-color: #FF33B5; /* Rosa vibrante */
    border-color: #FF33B5;
}

.area-5 {
    background-color: #FFC233; /* Amarillo */
    border-color: #FFC233;
}

.area-6 {
    background-color: #9B33FF; /* Morado */
    border-color: #9B33FF;
}

.area-titulo.active {
    border-color: #337ab7; /* Borde azul oscuro */
}






/* Contenedor para subáreas y periodos */
.subareas-container {
    display: flex;
    flex-wrap: wrap; /* Permite que los botones salten a la siguiente fila si no caben */
    gap: 10px; /* Espaciado entre botones */
    margin-top: 15px; /* Separación superior */
    align-items: center; /* Alineación vertical de los elementos */
}

/* Botones de subáreas */
.subarea-button, .asignatura-button {
    padding: 10px 15px;
    background-color: #e0e0e0; /* Fondo gris claro por defecto */
    color: black; /* Texto negro por defecto */
    border: none;
    border-radius: 5px 5px 0 0;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Botón activo */
.subarea-button.active, .asignatura-button.active {
    background-color: #337ab7; /* Fondo azul para el botón activo */
    color: white; /* Texto blanco para el botón activo */
}

.subarea-button:hover, .asignatura-button:hover {
    background-color: #0056b3; /* Fondo azul más oscuro al pasar el mouse */
}

/* Contenedor de botones de periodo */
.periodo-buttons {
    display: flex;
    gap: 10px; /* Espaciado horizontal entre los botones */
    margin-left: auto; /* Empuja los botones hacia la derecha */
}

/* Botones de periodo */
.periodo-button {
    padding: 10px 15px;
    background-color: #e0e0e0; /* Fondo gris claro por defecto */
    color: black; /* Texto negro por defecto */
    border: none;
    border-radius: 5px 5px 0 0;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Botón activo */
.periodo-button.active {
    background-color: #28a745; /* Fondo verde para el botón activo */
    color: white; /* Texto blanco para el botón activo */
}

.periodo-button:hover {
    background-color: #218838; /* Fondo verde más oscuro al pasar el mouse */
}






th.fondo-azul,tr.fondo-azul{
    background-color: #337ab7; /* Color de fondo para diferenciar la columna de alumnos */
    color: #ffffff;
}



.titulo-unidad {
    font-weight: bold; 
    color: rgb(50, 156, 255);
    margin: 0px;
}




.status-box {
    position: relative;
    display: inline-block;
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    padding: 4px;
    border-radius: 4px;
    cursor: pointer;
    z-index: 10;
}

.status-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin: 0 auto;
    display: block;
}

/* Colores de estado */
.status-no-iniciado { background-color: #f56565; }
.status-no-aplica   { background-color: #a0aec0; }
.status-en-proceso  { background-color: #ecc94b; }
.status-terminado   { background-color: #48bb78; }

/* Leyenda desplegable */
.status-legend {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 4px;
    margin-top: 4px;
    display: none;
    width: 160px;
    z-index: 100;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* Cada ítem como bloque completo */
.status-legend-item {
    display: block;
    width: 100%;
    padding: 8px;
    cursor: pointer;
    color: #333;
    text-decoration: none;
    border-left: 1px solid transparent; /* Evita desplazamiento del hover */
    border-right: 1px solid transparent;
}

/* Hover que cubra todo el ancho */
.status-legend-item:hover {
    background-color: #004cc7;
    color: #fff;
    border-color: #004cc7; /* Coincide con el fondo del hover */
}

/* Círculo dentro de cada ítem */
.status-legend-item .status-circle {
    float: left;
    margin-right: 8px;
}

  




/* El td conserva el texto vertical */
.columna-alumnos {
    color: #fff !important;
    background-color: #337ab7 !important;
    width: 20px;
    position: relative;  /* Necesario para posicionar el texto */
    height: 300px;
}

/* Estilo del texto vertical */
.columna-alumnos .vertical-alumnos {
    writing-mode: vertical-rl;  /* Rotar el texto a vertical */
    transform: rotate(180deg);  /* Ajuste para invertir el texto */
    position: absolute;         /* Posicionar el texto de forma precisa */
    bottom: 5px;                  /* Alinear el texto hacia abajo en la celda */
    left: 25%;                    /* Alinear el texto a la izquierda */
    text-align: left;           /* Alinear el texto a la izquierda */
    white-space: nowrap;        /* Evitar el salto de línea */
}


/* Reset de escritura/transformación dentro del menú */
.columna-alumnos .alumno-menu {
    position: absolute;
    bottom: 0px; /* Ajusta según el diseño */
    left: 0%;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: none;
    width: 210px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 1000;
}
  

/* Todo el td es clicable */
.alumno-box {
    position: relative;  /* aquí “ancla” el posicionamiento absoluto */
    cursor: pointer;
}

/* Menú desplegable */
.alumno-menu {
    position: absolute;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 1000;
    transform: translate(-70%, 100px) !important; /* Ajusta para un desplazamiento fino */
}



/* Ítems del menú */
.alumno-menu-item {
    padding: 8px 12px;
    cursor: pointer;
    color: #333;
}
.alumno-menu-item:hover {
    background-color: #f5f5f5;
}


/*========================================== Estilos Modulo Detalles PIE Fin ==========================================*/

/* ========================================== FULL CALENDAR ========================================== */

#calendar .fc-day-sat, 
#calendar .fc-day-sun {
  width: 8.333%;  /* dos días de fin de semana = 1 día de semana */
}


#calendar .fc-timegrid-slot .fc-scrollgrid-sync-inner > tr {
  height: 60px !important;
}

.fc .fc-timegrid-slot {
    height: 2.0em !important;
}
