:root {
	--rojoFondo: #a8123e;
	--gris: #7e7e7b;
	--grisFondo: #f1f1f1;
	--amarillofondo: #fffded;
	--grisFondoFooter: #5f1b2d;
	--rojoTxt: #c62038;

	--rojo-1: #840f31;
	--rojo-2: #a8123e;
	--rojoTxt: #c62038;
	--brown-1: #ebe7e0;
	--negro-1: #3c4145;
	--negro-2: #636569;
	--gris-1: #d6d1c4;
	--gris-2: #ebe7e0;
	--gris-3: #f5f5f5;
	--gris-4: #eaeaed;
	--gris-5: #a6a6a8;
	--gris-6: #dedde3;
	--gris-7: #f1f1f1;
	--white: #ffffff;
	--black: #000000;

	--color-identidad: #5f1b2d;
	--color-principal: #007bff;
	/* Azul vibrante */
	--color-secundario: #28a745;
	/* Verde para estatus OK */
	--color-fondo: #f8f9fa;
	/* Fondo claro */
	--color-tarjeta: #ffffff;
	/* Fondo de tarjeta */
	--color-texto: #343a40;
	/* Texto oscuro */
	--color-borde: #dee2e6;
	--color-sombra: rgba(0, 0, 0, 0.1);
}

.login-page,
.register-page {
	background-color: #c62038 !important;
}

.login-logo,
.register-logo {
	font-size: 2.1rem;
	font-weight: 300;
	margin-bottom: 0.9rem;
	text-align: center;
}

.login-logo a,
.register-logo a {
	color: #495057;
}

.login-page,
.register-page {
	-ms-flex-align: center;
	align-items: center;
	background-color: #e9ecef;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100vh;
	-ms-flex-pack: center;
	justify-content: center;
}

.login-box,
.register-box {
	width: 360px;
}

.navbar-system {
	background-color: #a8123e;
	color: #1f2d3d;
}
.navbar-system.navbar-light .form-control-navbar::-webkit-input-placeholder {
	/* color: rgba(52, 58, 64, 0.8); */
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar::-moz-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:-ms-input-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar::-ms-input-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar::placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar,
.navbar-system.navbar-light .form-control-navbar + .input-group-append > .btn-navbar {
	background-color: #f2b500;
	border-color: #d8a200;
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus::-webkit-input-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus::-moz-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus:-ms-input-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus::-ms-input-placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus::placeholder {
	color: #ffffff;
}
.navbar-system.navbar-light .form-control-navbar:focus,
.navbar-system.navbar-light .form-control-navbar:focus + .input-group-append .btn-navbar {
	background-color: #edb100;
	border-color: #d8a200 !important;
	color: #ffffff;
}
.navbar-system.navbar-dark .form-control-navbar::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar::-moz-placeholder {
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar:-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar::-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar::placeholder {
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar,
.navbar-system.navbar-dark .form-control-navbar + .input-group-append > .btn-navbar {
	background-color: #ffc61b;
	border-color: #ffcc35;
	color: rgba(255, 255, 255, 0.8);
}
.navbar-system.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder {
	color: #fff;
}
.navbar-system.navbar-dark .form-control-navbar:focus::-moz-placeholder {
	color: #fff;
}
.navbar-system.navbar-dark .form-control-navbar:focus:-ms-input-placeholder {
	color: #fff;
}
.navbar-system.navbar-dark .form-control-navbar:focus::-ms-input-placeholder {
	color: #fff;
}
.navbar-system.navbar-dark .form-control-navbar:focus::placeholder {
	color: #fff;
}
.navbar-system.navbar-dark .form-control-navbar:focus,
.navbar-system.navbar-dark .form-control-navbar:focus + .input-group-append .btn-navbar {
	background-color: #ffc721;
	border-color: #ffcc35 !important;
	color: #fff;
}

.main-sidebar .logo-text {
	transition: margin-left 0.3s linear, opacity 0.3s ease, visibility 0.3s ease;
	color: #ffffff;
}

.bg-alert {
	background-color: #ffffff !important;
	border-color: #ffcc35 !important;
}
a.bg-alert:hover,
a.bg-alert:focus,
button.bg-alert:hover,
button.bg-alert:focus {
	background-color: #ffffff !important;
}

.bg-system {
	background-color: #a8123e !important;
	color: #ffffff;
}
a.bg-system:hover,
a.bg-system:focus,
button.bg-system:hover,
button.bg-system:focus {
	background-color: #312d8a !important;
}

/* ICONOS */
.cursorLink {
	color: white;
	cursor: pointer;
}

/* CARD INFO EVAL */
.project-info {
	padding: 25px 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
	top: -50px;
}
.project-title {
	font-weight: 700;
	font-size: 2em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: black;
}
.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.account {
	font-weight: bold;
}
.tag {
	font-weight: lighter;
	color: grey;
}
/*DELETE THIS TWO LINE*/
.delete {
	background-color: #a8123e;
	color: #c2c1c1;
}
.cardInfoEv-img div {
	width: 90%;
}
/*IF USING IMAGES*/
.cardInfoEv {
	background-color: white;
	color: black;
	width: auto;
	max-height: 150px;
	border-radius: 8px;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}
.cardInfoEv-img {
	position: relative;
	top: -30px;
	height: 80px;
	display: flex;
	justify-content: center;
}
/* Change the .card-img div to .card-img img to use img*/
.cardInfoEv-img a,
.cardInfoEv-img div {
	height: 50px;
	width: 85%;
	/* Change this width here to change the width of the color/image */
	object-fit: cover;
	border-radius: 8px;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	text-align: center;
	/*vertical-align: middle;*/
	padding: 10px;
}
.pv:hover {
	transform: scale(1.12);
}
.cardInfoEv-imgs {
	transition: all 0.5s;
}

/* CARD PERFIL USR */
.cardPerfil {
	--bg-card: #27272a;
	--primary: #312d8a;
	--primary-800: #5f1b2d;
	--primary-shadow: #a8123e;
	--light: #d9d9d9;
	--zinc-800: #18181b;
	--bg-linear: linear-gradient(0deg, var(--primary) 50%, var(--light) 125%);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem;
	width: 14rem;
	background-color: var(--bg-light);
	border-radius: 1rem;
}
.image_perfil {
	overflow: hidden;
	cursor: pointer;
	position: relative;
	z-index: 5;
	width: 100%;
	height: 12rem;
	background-color: var(--light);
	border-radius: 0.5rem;
}
.image_perfil .image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 3rem;
	fill: var(--light);
}
.titlePerfil {
	overflow: clip;
	width: 100%;
	font-size: 1rem;
	font-weight: 600;
	color: var(--primary-shadow);
	text-wrap: nowrap;
	text-overflow: ellipsis;
	text-align: center;
}
.sizePerfil {
	place-items: center;
	text-align: center;
	font-size: 0.75rem;
	color: var(--light);
}
.actionPerfil {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.avatar {
	transition: all 0.3s ease-out;
	position: relative;
}

@keyframes animateBorder {
	to {
		--angle: 360deg;
	}
}

@property --angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}
/**/
.bg-azul {
	background-color: #007bff !important;
	color: #ffffff;
}
a.bg-azul:hover,
a.bg-azul:focus,
button.bg-azul:hover,
button.bg-azul:focus {
	background-color: #312d8a !important;
}
.bg-verde {
	background-color: #4caf50 !important;
	color: #ffffff;
}
a.bg-verde:hover,
a.bg-verde:focus,
button.bg-verde:hover,
button.bg-verde:focus {
	background-color: #19c21e !important;
}
.bg-rojo {
	background-color: #f44336 !important;
	color: #ffffff;
}
a.bg-rojo:hover,
a.bg-rojo:focus,
button.bg-rojo:hover,
button.bg-rojo:focus {
	background-color: #dd2114 !important;
}
.bg-amarillo {
	background-color: #ffcc35 !important;
	color: #ffffff;
}
a.bg-amarillo:hover,
a.bg-amarillo:focus,
button.bg-amarillo:hover,
button.bg-amarillo:focus {
	background-color: #e8b417 !important;
}

/* BOTON PARA EDITAR */
.Btn {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: auto;
	height: auto;
	border: none;
	border-radius: 0px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition-duration: 0.3s;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.199);
	background-color: black;
}
/* plus sign */
.sign {
	width: 100%;
	font-size: 2em;
	color: white;
	transition-duration: 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* text */
.text {
	position: absolute;
	right: 0%;
	width: 0%;
	opacity: 0;
	color: white;
	font-size: 1.2em;
	font-weight: 500;
	transition-duration: 0.3s;
}
/* hover effect on button width */
.Btn:hover {
	width: 125px;
	border-radius: 0px;
	transition-duration: 0.3s;
}

.Btn:hover .sign {
	width: 30%;
	transition-duration: 0.3s;
	padding-left: 20px;
}
/* hover effect button's text */
.Btn:hover .text {
	opacity: 1;
	width: 70%;
	transition-duration: 0.3s;
	padding-right: 20px;
}
/* button click effect*/
.Btn:active {
	transform: translate(2px, 2px);
}

/* BOTON CON EFECTO */
.btnIcon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 50px;
	height: 50px;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.199);
	background-color: rgb(132, 15, 49);
	transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	/* transition-duration: 0.3s; */
}
/* .btnIcon .iconBtn {
	position: relative;
	background-color: rgb(255, 65, 65);
	transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
} */
/* plus btnIconEfect */
.btnIconEfect {
	width: 100%;
	transition-duration: 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* text */
.text {
	position: absolute;
	right: 0%;
	width: 0%;
	opacity: 0;
	color: white;
	font-size: 1em;
	font-weight: 600;
	transition-duration: 1.5s;
}
/* hover effect on button width */
.btnIcon:hover {
	width: 145px;
	border-radius: 40px;
	transition-duration: 0.3s;
}
.btnIcon:hover .btnIconEfect {
	width: 30%;
	transition-duration: 0.3s;
	padding-left: 20px;
}
/* hover effect button's text */
.btnIcon:hover .text {
	opacity: 1;
	width: 70%;
	transition-duration: 0.3s;
	padding-right: 10px;
}
/* button click effect*/
.btnIcon:active {
	transform: translate(2px, 2px);
}

/* ESTILO CREDENCIALES */
/* Cred Docente */
.cardCredencialDocente {
	width: auto;
	height: 145px;
	/* background: #262626; */
}
.cardCredencialDocente:hover {
	border-color: #ffc800;
	box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
}
.smallIconDoc {
	width: 100%;
	height: 100%;
	background-color: #5f1b2d;
	border-radius: 10px;
}

.smallIconDoc div {
	background: linear-gradient(120deg, #f5f5f5 30%, #eaeaed 38%, #eaeaed 40%, #f5f5f5 48%);
	margin-top: 10px;
	background-size: 200% 100%;
	background-position: 100% 0;
	animation: load89234 2s infinite;
	color: #262626;
	font-weight: bold;
	font-size: 15px;
}
/* .IconDoc {
	margin: 10px;
	width: 80px;
	height: 90px;
	float: left;
	border-radius: 5px;
} */
.NameDoc {
	width: 95%;
	height: 25px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.RolesDoc {
	width: 40px;
	height: 20px;
	float: left;
	transform: translate(20px, 0px);
	border-radius: 5px;
}
.titMateria {
	width: 30%;
	height: 25px;
	float: left;
	text-align: justify;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.materiaDoc {
	margin: 10px;
	width: 60%;
	height: 95px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
/* Cred Alumno */
.cardCredencialAlumno {
	width: auto;
	height: 145px;
	/* background: #262626; */
}
.cardCredencialAlumno:hover {
	border-color: #ffc800;
	box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
}
.smallIconAlm {
	width: 100%;
	height: 100%;
	background-color: #a8123e;
	border-radius: 10px;
}
.smallIconAlm div {
	background: linear-gradient(120deg, #f5f5f5 30%, #eaeaed 38%, #eaeaed 40%, #f5f5f5 48%);
	margin-top: 10px;
	background-size: 200% 100%;
	background-position: 100% 0;
	animation: load89234 2s infinite;
	color: #262626;
	font-weight: bold;
	font-size: 15px;
}
/* .IconAlm {
	margin: 10px;
	width: 80px;
	height: 90px;
	float: left;
	border-radius: 5px;
} */
.NameAlm {
	width: 95%;
	height: 25px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.titCurpAlm {
	width: 20%;
	height: 25px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.titMatriculaAlm {
	width: 35%;
	height: 25px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.titSemAlm {
	width: 35%;
	height: 25px;
	float: left;
	transform: translate(10px, 0px);
	border-radius: 5px;
}
.titGradoAlm {
	width: 25%;
	height: 25px;
	float: left;
	transform: translate(30px, 0px);
	border-radius: 5px;
}
.curpAlm {
	width: 70%;
	height: 25px;
	float: left;
	transform: translate(20px, 0px);
	border-radius: 5px;
}
.matriculaAlm {
	width: 55%;
	height: 25px;
	float: left;
	transform: translate(20px, 0px);
	border-radius: 5px;
}
.semAlm {
	width: 10%;
	height: 25px;
	float: left;
	transform: translate(20px, 0px);
	border-radius: 5px;
}
.gradoAlm {
	width: 15%;
	height: 25px;
	float: left;
	transform: translate(40px, 0px);
	border-radius: 5px;
}
.DescripionAlm {
	margin: 10px;
	width: 140px;
	height: 45px;
	float: left;
	transform: translate(0px, -5px);
	border-radius: 5px;
}
@keyframes load89234 {
	100% {
		background-position: -100% 0;
	}
}

/* tarjeta eval  */
.cardTEval {
	width: auto;
	height: 145px;
	border-radius: 10px;
	background: #f5f5f5;
	position: relative;
	padding: 1.8rem;
	border: 2px solid #c3c6ce;
	transition: 0.5s ease-out;
	overflow: visible;
}
.cardTEval-details {
	color: black;
	height: 100%;
	gap: 0.5em;
	display: grid;
	place-content: center;
}
.cardTEval-button {
	transform: translate(-50%, 125%);
	width: 60%;
	border-radius: 1rem;
	border: none;
	background-color: #ffc800;
	color: #ffffff;
	font-size: 1rem;
	padding: 0.5rem 1rem;
	position: absolute;
	left: 50%;
	bottom: 0;
	opacity: 0;
	transition: 0.3s ease-out;
}
.text-body {
	color: #262626;
	align-items: center;
	text-align: center;
	font-size: 1.1em;
	font-weight: bold;
	padding: 10px 10px 0 10px;
}
/*Text*/
.text-title {
	margin: 20px;
	align-items: center;
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
}
/*Hover*/
.cardTEval:hover {
	border-color: #ffc800;
	box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.25);
}
.cardTEval:hover .cardTEval-button {
	transform: translate(-50%, 50%);
	opacity: 1;
}

/* Frame Info*/
.frame {
	background-color: #efefee;
	padding: 25px;
	margin: 35px;
	border-radius: 5px;
	border-left: 3px solid #24396e;
	position: relative;
}
footer {
	display: flex;
	flex-wrap: wrap;
}
.personal-data {
	flex-basis: 50%;
	margin-bottom: 10px;
}
.personal-data span {
	color: gray;
}
.personal-data b {
	display: inline-block;
	width: 25%;
}

.contenedor-proyecto {
	width: 100%;
	max-width: 900px;
	/* Ancho máximo para mantener compacto */
	margin: auto;
}

.tarjeta-proyecto {
	background-color: var(--color-tarjeta);
	border-radius: 12px;
	box-shadow: 0 6px 15px var(--color-sombra);
	padding: 30px;
	border-top: 5px solid var(--color-principal);
	/* Borde de color */
}

/* --- Encabezado --- */
.tarjeta-proyecto h1 {
	color: var(--color-principal);
	font-size: 1.8em;
	margin-bottom: 5px;
	border-bottom: 2px solid var(--color-borde);
	padding-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.estatus-badge {
	font-size: 0.9em;
	font-weight: bold;
	padding: 5px 10px;
	border-radius: 50px;
	color: var(--color-tarjeta);
	background-color: var(--color-secundario);
}

/* --- Diseño de la Información Principal (GRID) --- */
.grid-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	/* Responsivo y compacto */
	gap: 20px;
	margin-top: 20px;
}

.info-item {
	padding: 15px;
	border-radius: 8px;
	background-color: #f1f7fe;
	/* Color de fondo sutil */
	border-left: 3px solid var(--color-principal);
}

.info-item .etiqueta {
	font-size: 0.8em;
	color: #6c757d;
	/* Gris sutil */
	display: block;
	margin-bottom: 4px;
	font-weight: 500;
	text-transform: uppercase;
}

.info-item .valor {
	font-size: 1.1em;
	font-weight: bold;
	color: var(--color-texto);
	word-break: break-word;
	/* Para textos largos */
}
.info-item1 {
	padding: 15px;
	border-radius: 8px;
	background-color: #dfc9ccff;
	/* Color de fondo sutil */
	border-left: 3px solid var(--color-identidad);
}

.info-item1 .etiqueta {
	font-size: 0.8em;
	color: #000000;
	/* Gris sutil */
	display: block;
	margin-bottom: 4px;
	font-weight: 500;
	text-transform: uppercase;
}

.info-item1 .valor {
	font-size: 1.1em;
	font-weight: bold;
	color: var(--color-texto);
	word-break: break-word;
	/* Para textos largos */
}

/* --- Sección PED y Estructura (Separadas y destacadas) --- */
.seccion-adicional {
	margin-top: 25px;
	padding-top: 15px;
	border-top: 1px dashed var(--color-borde);
}

.ped-item,
.estructura-item {
	margin-bottom: 15px;
}

.ped-item .valor,
.estructura-item .valor {
	font-style: italic;
	font-size: 0.95em;
	background-color: #e9ecef;
	padding: 10px;
	border-radius: 6px;
	border: 1px solid var(--color-borde);
}

/* Estilo para el Monto Contratado */
#montoContratado .valor {
	color: #c80000;
	/* Rojo para destacar el valor monetario */
	font-size: 1.2em;
}

.cardInf {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	padding: 8px 12px;
	width: 180px;
	/* más chica */
	gap: 10px;
}

.iconBlue {
	background: #007bff;
	color: #fff;
	border-radius: 8px;
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	flex-shrink: 0;
}

.iconRed {
	background: #d32f2f;
	color: #fff;
	border-radius: 8px;
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	flex-shrink: 0;
}

.iconGreen {
	background: #4caf50;
	color: #fff;
	border-radius: 8px;
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	flex-shrink: 0;
}

.iconYellow {
	background: #e8b417;
	color: #fff;
	border-radius: 8px;
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	flex-shrink: 0;
}

.textInf {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.titleInf {
	font-size: 14px;
	font-weight: bold;
	color: #840f31;
}

.valueInf {
	font-size: 14px;
	color: #333;
	margin-top: 2px;
}
