.root{
	--verdePrimario: #00786D;
}
.fondobody{
	      background-image: url('<?= media(); ?>/images/banner.jpg');
	      background-size: cover; /* Opcional: ajusta el tamaño de la imagen */
	      background-repeat: no-repeat; /* Opcional: evita el mosaico */
}
.app-sidebar__user-avatar {
    width: 48px;
    background: gray;
    padding: 6px;
}

/* CSS de la tabla Calificaciones Parciales */
#tablaCalificaciones {
    /* Forzar un ancho mínimo para activar el scroll horizontal en contenedores pequeños. 
       Cálculo aproximado: 3 cols de alumno (400px) + 6 cols de datos (6 * 100px) = 1000px */
    min-width: 800px; 
}

#tablaCalificaciones .input-calificacion {
    width: 100%;       /*Ocupar los input el 100% del ancho de la columna*/
    text-align: center;
}

/* Columna # (1ra) */
#tablaCalificaciones thead th:nth-child(1),
#tablaCalificaciones tbody td:nth-child(1) {
    width: 40px;
    min-width: 40px;
}

/* Columna Matrícula (2da) */
#tablaCalificaciones tbody td:nth-child(2) {
    width: 140px; 
    min-width: 140px;
}

/* Columna Nombre Alumno (3ra) */

#tablaCalificaciones tbody td:nth-child(3) {
    width: 280px; 
    min-width: 280px;
}

#tablaCalificaciones thead th:nth-child(n+4),
#tablaCalificaciones tbody td:nth-child(n+4) {
    /* Ancho fijo de las columnas */
    width: 140px;
    min-width: 140px;
    max-width: 140px;
    padding: 5px !important; 
    text-align: center;
}

.form-control.is-invalid {
    border-color: #dc3545; /* Rojo del error de Bootstrap */
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3cpath stroke-linejoin='round' d='M6 8.2v.2'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); /* Sombra roja al enfocar */
}

.delPhoto{
	color: #FFF;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	background: red;
	position: absolute;
	right: 265px;
	/*top: -10px;
	z-index: 10;*/
}
.divAsistentes{
	/*display: grid;
	grid-template-columns: 2fr 1fr 0.2fr;*/	
}
.btn-niveles{{
	display:flex;
	justify-content: flex-end;
}
.app-sidebar__toggle{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15pt;
}
.app-sidebar__toggle::before{
	display: none;
}
.headerRegister, .header-primary{
	background: #009688;
	color: #FFF;
}
.headerUpdate{
	background: #007bff;
	color: #FFF;
}
.textcenter{
	text-align: center;
}
.textright{
	text-align: right;
}
.textleft{
	text-align: left;
}
.bootstrap-select > .dropdown-toggle{
	border: 1px solid #CCC;
}
.botwidguet{
	width: 100%;
	background-color: #00786D;
	border: none;
	color: #FFFFFF;
	text-align: right;
	padding: 0.5rem;
	margin-left: -1.3rem;
	margin-right: -5rem;
	font-size: 12pt;
}
.botwidguet__blue{
	width: 100%;
	background-color: #128293;
	border: none;
	color: #FFFFFF;
	text-align: right;
	padding: 0.5rem;
	margin-left: -1.3rem;
	margin-right: -5rem;
	font-size: 12pt;
	font-weight: bold; 
}
/*Estilos login*/
#divLoading{
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(254,254,255, .65);
	/*background: #d12018;*/
	z-index: 9999;
	display: none;
	font-weight: bold; 
}
#divLoading img{
	width: 50px;
	height: 50px;
}

.divAsistentes{
 
 
}

.cbAsistentes{
	
	margin-left: 20px;
	margin-right: 4px;
	justify-content: space-between;
	
}

.required{
	color: red;
	font-size: 13pt;
	font-weight: bold;
}
/* style portada categoría */
.prevPhoto {
    display: flex;
    justify-content: space-between;
    width: 300px;
    height: 200px;
    border: 1px solid #CCC;
    position: relative;
    cursor: pointer;
    background: url(../images/avatar.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin: auto;
}
.prevPortada{
	width: 100%;
	min-width: 200px;
	background: none;
}
.prevPhoto label{
	cursor: pointer;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.checkAsistentes{
	margin-left: 20px;
}
.prevPhoto img{
	width: 100%;
	height: 100%;
}
.upimg, .notblock{
	display: none !important;
}
.errorArchivo{
	font-size: 16px;
	font-family: arial;
	color: #cc0000;
	text-align: center;
	font-weight: bold; 
	margin-top: 10px;
}
.delPhoto{
	color: #FFF;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	background: red;
	position: absolute;
	right: -10px;
	top: -10px;
	z-index: 10;
}
#tbl_list_productos img{
	width: 50px;
}
.imgProductoDelete{
	width: 175px;
}

#imgCategoria{
	text-align: center;
}
#imgCategoria img{
	width: 200px;
	margin: auto;
}

/* Upload fotos*/
#containerImages{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
#containerImages > div{
	margin-right: 10px;
	margin-bottom: 8px;
}
.prevImage{
	border: 1px solid #CCC;
	width: 120px;
	height: 148px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.prevImage img{
	width: 100%;
}
.inputUploadfile{
	display: none;
}
.btnUploadfile, .btnDeleteImage{
	border: 0;
	background-color: #009688;
	text-align: center;
	padding: 2px 3px;
	color: #FFF;
	font-size: 9pt;
	cursor: pointer;
	width: 100%;
}
.btnDeleteImage{
	background-color: #dc3545;
}
.prevImage .loading{
	width: 30px;
	height: 30px;
}
#celFotos img{
	width: 150px;
	margin: 10px;
}

/* TIENDA VIRTUAL */
.divmetodpago label, #divCondiciones{
	width: 100%;
	display: flex;
}
.divmetodpago label input, #divCondiciones input{
	margin-right: 15px;
}
#divCondiciones a{
	margin-left: 5px;
}

#divCondiciones  label{
	margin-bottom: 0;
}
.linkw:hover{
	text-decoration: none;
}
.container-title{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.container-title input{
	border: 1px solid #CCC;
	padding: 4px;
	border-radius: 5px;
	margin-right: 5px;
}
.dflex{
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.ui-datepicker-calendar {
    display: none;
}

.page-content ul li { 
   list-style-type: disc;
   margin-left: 15px; 
   margin-bottom: 10px; 
}
.page-content ol li { 
   list-style-type: decimal;
   margin-left: 15px; 
   margin-bottom: 10px; 
}
.page-content ul li ul li, .page-content ol li ul li { 
   list-style-type: circle; 
   list-style-position: inside; 
   margin-left: 15px; 
}
.page-content ol li ol li, .page-content ul li ol li { 
   list-style-type: lower-latin; 
   list-style-position: inside; 
   margin-left: 15px; 
}

.page-error {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: calc(100vh - 110px);
    margin-bottom: 0;
}

.page-error h1 {
    margin: 10px;
    color: #dc3545;
    font-size: 42px;
}