:root { --color_principal: #d3a916; --color_destacado: #4BB468; --color_secundario: #ffffff; --fontsize: 1rem;}	/* panel*/
	.titulo_menu
	{
		height: 10vh;
		font-size: 1.2rem;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0px solid white;
		background-color: var(--color_principal);
		border-radius: 0px 0px 10px 0px;
		text-align: center;

	}
	.titulo_submenu
	{
		height: 45px;
		font-size: 0.7rem;
		color: #999999;
		display: flex;
		align-items: center;
		padding-left: 20px;
		cursor: pointer;
	}
	.titulo_submenu_uss
	{
		height: 45px;
		font-size: 0.7rem;
		color: #999999;
		display: flex;
		align-items: center;
		padding-left: 20px;
		cursor: pointer;
		padding-top: 20px;
		border-bottom: 1px solid grey;
		padding-bottom: 10px;
	}
	.titulo_submenu_uss_ple
	{
		height: 45px;
		font-size: 1.2rem;
		color: #fff;
		display: flex;
		align-items: center;
		cursor: pointer;
		background-color: var(--color_principal);
		border-radius: 0px 0px 10px 0px;
		padding-top: 20px;
		border-bottom: 1px solid grey;
		padding-bottom: 10px;
		justify-content: center;
	}
	.titulo_submenu:hover
	{
		color: var(--color_principal);
	}
	.titulo_submenu i
	{
		height: 45px;
		font-size: 1.2rem;
		color: #999999;
		display: flex;
		align-items: center;
		width: 12px;
		padding-right: 20px;
	}
	.titulo_submenu_sel
	{
		height: 45px;
		font-size: 0.7rem;
		color: #FFF;
		display: flex;
		align-items: center;
		padding-left: 20px;
		cursor: pointer;
		background-color: var(--color_principal);
	}
	.titulo_submenu_sel:hover
	{
		background-color: var(--color_principal);
	}

	.titulo_submenu_sel i
	{
		height: 45px;
		font-size: 1.2rem;
		color: #FFF;
		display: flex;
		align-items: center;
		width: 12px;
		padding-right: 20px;
	}
	.vistafullboton
	{
		position: absolute;
		bottom: 10px;
		width: 2vw;/* display: flex; */
		margin-left: 9.5vw;
		font-size: 1.6rem;
		color: #999999;
		cursor: pointer;
		z-index: 1000;
	}
	.vistafullboton:hover
	{
		color: var(--color_principal);
	}
	.vistafullboton_plegado
	{
		position: absolute;
		bottom: 10px;
		width: 2vw;/* display: flex; */
		margin-left: 1.5vw;
		font-size: 1.6rem;
		color: #999;
		cursor: pointer;
		z-index: 1000;
	}
	.vistafullboton_plegado:hover
	{
		color: var(--color_principal);
		margin-left: 1.5vw;
	}
	.titulo_pagina
	{
		height: 10vh;
		background-color: var(--color_secundario);
		color: #999999;
		font-size: 1.4rem;
		display: flex;
		align-items: center;
		padding-left: 25px;
		justify-content: space-between
	}
	.titulo_pagina_opciones
	{
		width: 70%;
		display: flex;
		justify-content: flex-end;
		margin-right: 50px;
		align-items: flex-end;
		height: 10vh;
	}

	.subcontentpage
	{
		/*width: 88vw;*/
		height: 85vh;
		color: white;
		overflow-x: hidden;
		overflow-y: auto;
		border: 1px solid #999;
		border-radius: 10px 0px 0px 10px;
	}
	.piecontentpage
	{
		/*width: 88vw;*/
		height: 5vh;
		background-color: var(--color_secundario);
		color: white;
		display: flex;
		justify-content: space-between;
	}
	.subcontentpage_plegado
	{
		width: 96vw;
		height: 85vh;
		overflow-x: hidden;
		overflow-y: auto;
		border: 1px solid #999;
		border-radius: 10px 0px 0px 10px;
	}
	.piecontentpage_plegado
	{
		width: 96vw;
		height: 5vh;
		background-color: var(--color_secundario);
		color: white;
		display: flex;
		justify-content: space-between;
	}
	

	table
	{
		width: 100%;
		border: none;
	}
	thead, th
	{
		background-color: var(--color_secundario);
		color: white;
		text-align: center;
		font-size: var(--fontsize);
	}
	tbody, td
	{
		text-align: left;
		font-size: var(--fontsize);
		padding-left: 10px;
		background-color: rgba(255,255,255,0.2);
	}
	.boton_tabla
	{
		cursor: pointer;
		font-size: 1.2rem;
		text-align: center;
		padding: 5px;
	}
	.boton_tabla:hover
	{
		background-color: rgba(255,255,255,0.4);
	}
	.enlace_xx
	{
		width: 40px;
		height: 40px;
		border-radius: 0px 10px 10px 0px;
		z-index: 10000;
		margin-top: -10px;
		cursor: pointer;
		margin-left: 10px;
		position: relative;
		font-size: 2.2rem;
		display: flex !important;
		align-items: center;
		justify-content: center;
		color: white;
	}

	.enlace_xx:hover
	{
		color: var(--color_destacado);
	}

	.menu-page
	{
		width: 12vw;
		height: 100vh;
		background-color: #4c4c4c;
		left: 0vw;
	}

	.menu-page_plegado
	{
		width: 4.5vw;
		height: 100vh;
		background-color: var(--color_destacado);
		overflow: hidden;
	}

	.content-page
	{
		width: 88vw;
		height: 100vh;
	}

	.content-page_plegado
	{
		width: 97vw;
		height: 100vh;
	}
	.aviso
	{
		color: var(--color_destacado);
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		flex-direction: column;
	}
	.th1
	{
		background-color: var(--color_principal);
		color: #fff;
		cursor: pointer;
		border-top: 2px solid white;
	}
	.th1_center
	{
		background-color: var(--color_principal);
		color: #fff;
		cursor: pointer;
		border-top: 2px solid white;
		text-align: center !important;
		padding-left: 0px !important;
		width: 50px;
	}
	.th0
	{
		border-radius: 10px 0px 0px 0px;
		background-color: var(--color_principal);
		color: #fff;
		cursor: pointer;
		border-top: 2px solid white;
	}
	th.sort-asc::after
	{
		content: " ▲";
	}
	th.sort-desc::after
	{
		content: " ▼";
	}
	td
	{
		border-bottom: 1px solid #eaeaea;
		color: #000;
	}
	.progress
	{
		background-color: var(--color_destacado);
		border-radius: 8px;
		border: 1px solid var(--color_destacado);
		width: 300px;
		height: 12px;
	}

	progress::-webkit-progress-bar
	{
		background-color: #eee;
		border-radius: 8px;
	}

	progress::-webkit-progress-value
	{
		background-color: var(--color_destacado);
		border-radius: 8px;
	}

	progress::-moz-progress-bar
	{
		background-color: var(--color_destacado);
		border-radius: 8px;
	}
	.us-btn-style_5
	{
		font-family: 'Open Sans',sans-serif;
		font-size: 16px;
		line-height: 1.2!important;
		font-weight: 400;
		font-style: normal;
		text-transform: none;
		letter-spacing: 0em;
		border-radius: 0.3em;
		padding: 0.6em 1.2em;
		background: var(--color_destacado) !important;
		border-color: transparent;
		color: #ffffff!important;
		box-shadow: 0 0em 0em rgb(0 0 0 / 20%);
		cursor: pointer;
	}
	.us-btn-style_5:hover
	{
		background: var(--color_destacado);
		color: #ffffff!important;
	}
	.input-error
	{
		background-color: var(--color_destacado);
	}
	.form-input-h3
	{
		width: 100%;
		display: flex;
		margin-top: 8px;
		margin-bottom: 8px;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 1.1rem;
		flex-direction: row;
		align-items: center;
		justify-content: space-around;
	}
	h1,h2,h3,h4,h5,h6,p,div
	{
		font-family: "Open Sans", sans-serif;
	}
	.login-page
	{
		display: flex;
		overflow: hidden;
		height: 100vh;
		width: 100vw;
		align-items: center;
		justify-content: center;
		background-image: url(/img/fondo_principal.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		filter: drop-shadow(2px 4px 6px black);
	}
	.dashboard-page
	{
		display: flex;
		overflow: hidden;
		height: 100vh;
		width: 100vw;
		align-items: flex-start;
		justify-content: flex-start;
		background-color: #FFFFFF;/* #e9ecef; */
		margin: 0px;
	}

	.login-box
	{
		width: 360px;
		align-items: center;
		justify-content: center;
		background-color: #fff;
		border: 1px solid #e3e3e3
	}
	.box-box
	{
		width: 100%;
		height: 100%;
		background-color: #FFF;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin-right: 10px;
		justify-content: flex-start;
		overflow-y: auto;
		overflow-x: hidden;
		padding-bottom: 10px;
	}
	.box-box-body
	{
		display: flex;
		padding: 25px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background-color: #FFF;
		width: 30%;
		max-height: 90%;
		margin: auto;
		border-radius: 1.4rem;
		color: black;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
		
	}
	.box-row
	{
		display: flex;
		padding: 10px;
		width: 100%;
	}
	.box
	{
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #fff;
		border: 1px solid #e3e3e3;
		flex-direction: column;
		margin-right: 10px;
		height: -webkit-fill-available;
		justify-content: flex-start;
		overflow-y: auto;
		overflow-x: hidden;
		padding-bottom: 10px;
	}
	.card
	{
		position: relative;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: column;
		flex-direction: column;
		min-width: 0;
		word-wrap: break-word;
		background-color: #fff;
		background-clip: border-box;
		border: 0 solid rgba(0,0,0,.125);
		border-radius: 0.25rem;
	}
	.login-box-body
	{
		display: flex;
		padding: 25px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.input-form
	{
		width: 100%;
		border: none;
		height: 35px;
		font-size: var(--fontsize);
	}
	.us-btn-style_1
	{
		font-family: 'Open Sans',sans-serif;
		font-size: 16px;
		line-height: 1.2!important;
		font-weight: 400;
		font-style: normal;
		text-transform: none;
		letter-spacing: 0em;
		border-radius: 0.3em;
		padding: 0.6em 1.2em;
		background: #000;
		border-color: transparent;
		color: #ffffff!important;
		box-shadow: 0 0em 0em rgb(0 0 0 / 20%);
		cursor: pointer;
	}
	.us-btn-style_1:hover
	{
		background: #000;
		color: #ffffff!important;
	}
	.us-btn-style_2
	{
		font-family: 'Open Sans',sans-serif;
		font-size: 16px;
		line-height: 1.2!important;
		font-weight: 400;
		font-style: normal;
		text-transform: none;
		letter-spacing: 0em;
		border-radius: 0.3em;
		padding: 0.6em 1.2em;
		background: #a5a5a5;
		border-color: transparent;
		color: #ffffff!important;
		box-shadow: 0 0em 0em rgb(0 0 0 / 20%);
		cursor: pointer;
	}
	.us-btn-style_2:hover
	{
		background: #164b76;
		color: #ffffff!important;
	}

	.centrar_contenido
	{
		display: flex;
		justify-content: center;
		align-items: center;
	}

	/* FORMULARIOS */
	.form-group
	{
		width: 100%;
		display: flex;
		margin-top: 8px;
		margin-bottom: 8px;
		justify-content: space-between;
		padding-left: 10px;
		border: 1px solid #e3e3e3
	}
	.form-group i
	{
		width: 15%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.1rem;
	}
	.form-group .input-form
	{
		width: 80%;
	}

	.form-group .msj
	{
		color: red;
		width: 50%;
	}
	.row-input
	{
		width: 100%;
		display: flex;
		/*margin-top: 8px;*/
		/*margin-bottom: 8px;*/
		padding-left: 10px;
		padding-right: 10px;
		font-size: var(--fontsize);
		flex-direction: row;
		margin-top: 15px;
	}

	.center
	{
		justify-content: space-between;
	}

	.left
	{
		justify-content: flex-start;
	}

	.right
	{
		justify-content: flex-end;
	}

	.boton_cuadrado
	{
		width: 100%;
		display: flex;
		/*margin-top: 8px;*/
		/*margin-bottom: 8px;*/
		justify-content: space-between;
		padding-left: 10px;
		padding-right: 10px;
		font-size: var(--fontsize);
		flex-direction: column;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: var(--fontsize);
		height: 80px;
		width: 80px;
		border-radius: 15px;
		margin: 20px;
		cursor: pointer;
	}
	.boton_cuadrado:hover
	{
		background-color: rgba(255,255,255,0.5) !important;
	}
	.form-input
	{
		width: 100%;
		display: flex;
		/*margin-top: 8px;*/
		/*margin-bottom: 8px;*/
		justify-content: space-between;
		padding-left: 10px;
		padding-right: 10px;
		font-size: var(--fontsize);
		flex-direction: column;
	}

	.form-input input
	{
		width: 100%;
		border: 1px solid #bbb9b9 !important;
		font-size: var(--fontsize);
		min-height: 30px;
	}
	.form-input input[number]
	{
		width: 100%;
		border: 1px solid #bbb9b9 !important;
		font-size: var(--fontsize);
		min-height: 30px;
	}
	.form-input textarea
	{
		width: 100%;
		border: 1px solid #bbb9b9 !important;
		font-size: var(--fontsize);
		min-height: 60px;
	}
	.form-input select
	{
		width: 100%;
		border: 1px solid #bbb9b9 !important;
		font-size: var(--fontsize);
		min-height: 30px;
	}
	.form-input span
	{
		margin-bottom: 0px;
		margin-top: 0px;
	}

	.form-group-boton
	{
		width: 100%;
		align-items: center;
		font-size: 1.1rem;
		display: flex;
		justify-content: flex-end;
		border: none !important;
		margin-top: 20px;
	}


	/* FORMULARIOS */


	/* MODAL */
	.marco_modal
	{
		background-color: #fff;
		padding: 10px;
		border-radius: 3px;
		margin-left: auto;
		margin-right: auto;
		display: none;
	}
	.caja_enlace_xx
	{
		text-align: right;
		width: 1px;
	}
	.marco_contenido_publico
	{
		overflow-y: hidden;
		overflow-x: hidden;
		color: black;
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	/* MODAL */

	#toast-container
	{
		position: fixed;
		top: 20px;
		right: 20px;
		display: flex;
		flex-direction: column;
		gap: 10px;
		z-index: 29999;
	}

	.toast
	{
		background: #cb9a07;
		color: white;
		padding: 12px 18px;
		border-radius: 6px;
		opacity: 0;
		transform: translateX(50px);
		animation: slideIn 0.4s forwards;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	}

	.toastdarkred
	{
		background: darkred;
		color: white;
		padding: 12px 18px;
		border-radius: 6px;
		opacity: 0;
		transform: translateX(50px);
		animation: slideIn 0.4s forwards;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	}

	.toastdarkgreen
	{
		background: darkgreen;
		color: white;
		padding: 12px 18px;
		border-radius: 6px;
		opacity: 0;
		transform: translateX(50px);
		animation: slideIn 0.4s forwards;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	}
	
	.toastorange
	{
		background: orange;
		color: white;
		padding: 12px 18px;
		border-radius: 6px;
		opacity: 0;
		transform: translateX(50px);
		animation: slideIn 0.4s forwards;
		box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	}
	/* Animación de entrada */
	@keyframes slideIn
	{
		from
		{
			opacity: 0;
			transform: translateX(50px);
		}
		to
		{
			opacity: 1;
			transform: translateX(0);
		}
	}

	/* Animación de salida (solo fade, sin movimiento) */
	.fade-out
	{
		animation: fadeOut 0.5s forwards;
	}

	@keyframes fadeOut
	{
		from
		{
			opacity: 1;
		}
		to
		{
			opacity: 0;
		}
	}

	.form_float
	{
		bottom: 10px;
		width: 100%;
		padding: 10px;
		border-radius: 5px;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid white;
		background-color: rgba(255, 255, 255, 0.5);
	}

	.dropzone
	{
		display: flex;
		width: 350px;
		margin: 30px auto;
		padding: 40px;
		border: 3px dashed #4A90E2;
		border-radius: 12px;
		text-align: center;
		font-size: 16px;
		color: #555;
		cursor: pointer;
		transition: 0.2s ease-in-out;
	}

	.dropzone.dragover
	{
		background-color: #eef6ff;
		border-color: #2f70c8;
	}

	.dropzone i
	{
		font-size: 40px;
		margin-bottom: 10px;
		color: #4A90E2;
	}

	#archivo
	{
		display: none;
	}

	.filename
	{
		margin-top: 15px;
		font-size: 14px;
		font-weight: 600;
		color: #333;
	}