/* Fuente Lato global - SIN aplicar a iconos */
html,
body{
	height:100%;
	padding:0px;
	margin:0px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}

/* Preservar fuentes de iconos FontAwesome */
.fa, .fas, .far, .fab, .fal, .fad,
[class^="fa-"], [class*=" fa-"],
i[class^="fa"], i[class*=" fa"] {
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
	font-weight: 900 !important;
}

.principal{
	background:  rgba(0, 183, 74, 0.2);
}

.input-group-prepend{
	position: relative;
	z-index: 0;
}

.consecutivo{
	color:red;
	font-size:16px;
}

.error{
	color:red;
}

#resultado_busqueda table tbody tr{
	cursor: pointer;
}

.modal-body{
	position: relative;
	z-index: 0;
}

.table thead{
	background-color:#F2F2F2;
}

.table-sm{
	font-size: 13px;
}

h1,
h2,
h3,
h4{
	margin:0px;
}

textarea{
	resize:none;
	height:80px;
}

.links{
	color:#5BC0DE;
	cursor: pointer;
}

.links:hover{
	text-decoration: underline;
}

#cargando{
	display: none;
	width:100%;
	height: 100%;
	min-height: 100%;
	z-index: 99999;
	position: fixed;
	top:0;bottom:0;left:0;right:0;
	background: rgba(15,23,42,0.35);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	align-items: center;
	justify-content: center;
}
#cargando[style*="display: block"],
#cargando[style*="display:block"]{
	display: flex !important;
}

/* Snippet de carga: tarjeta blanca + spinner azul + texto "Cargando..." */
.app-loading__card{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 18px 24px;
	background: #FFFFFF;
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(15,23,42,0.18), 0 4px 12px rgba(15,23,42,0.08);
	border: 1px solid rgba(15,23,42,0.06);
	min-width: 180px;
}
.app-loading__spinner{
	width: 24px;
	height: 24px;
	border: 2px solid rgba(6,74,130,0.18);
	border-top-color: #064A82;
	border-radius: 50%;
	animation: app-loading-spin 0.75s linear infinite;
	flex-shrink: 0;
}
@keyframes app-loading-spin{
	to{ transform: rotate(360deg); }
}
.app-loading__text{
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #0f172a;
	letter-spacing: 0.02em;
}

#cargando img{
	width:100px;
	height: 100px;
	position: fixed;
	top:0;bottom:0;left:0;right:0;
	margin: auto;
}

.fondo_default,
.modal .modal-header{
	color:#FFF;
	background-color:#364252;
}

#contenedor{			
	min-height: 100%;
}

.inline-block{
	font-size: 0px;
}

.inline-block > div,
.inline-block > li{
	display:inline-block;
	font-size:14px;
}

.vertical-align-top > div,
.vertical-align-top > li{
	vertical-align: top;
}

.tr-td-1{
	margin-bottom:5px;
	padding:0px 10px;
	width:100%;
}

.tr-td-2{
	margin-bottom:5px;
	padding:0px 10px;
	width:50%;
}

.tr-td-3{
	margin-bottom:5px;
	padding:0px 10px;
	width:33.33%;
}

.btn-primary{
	background-color:#337AB7;
	color:#FFF;
	cursor: pointer;
}

.btn-warning{
	background-color:#F0AD4E;
	color:#FFF;
	cursor: pointer;
}

label{
	font-weight: normal;
}

.dropdown-menu{
	padding: 0px;
}

.dropdown-menu li{
	display: block;
	list-style: none;
	padding:5px 10px;
	border-bottom:1px solid #CCC;
	cursor: pointer;
}

.dropdown-menu li:hover{
	background-color: #F7FAFF;
}

#msj_php{	
	z-index: 999999;
	display: none;
	position: fixed;
	right:0;top:0;
	padding:10px 20px;
}

/* .tabla-adicionados thead th{

} */


.form-m{
	width:100%;
	max-width: 600px;
}

.form-l{
	width:100%;
	max-width: 800px;
}

.form-xl{
	width:100%;
	max-width: 1000px;
}

.tab-pane{
padding:15px 0px;
}

.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12
{
	margin-bottom:10px;
}

.nav-tabs .nav-link{
	font-size:14px;
}

.titulos-form {
	border-radius: 0px;
	padding: 8px 10px;
	background-color: #2E3440;
	color: #FFF;
	border-bottom: 1px solid #CCC;
}

.thead-sticky{	
	overflow-y:auto;
}

.thead-sticky table{
	border-collapse: collapse;
}

.thead-sticky table thead{
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	z-index: 1;
	background-color:#FAFAFA;
	border-bottom:1px solid #E9EFFA;
}

.thead-sticky table thead th{
	border-top:1px solid #E9EFFA;
	border-left:0px;
	border-right:0px;
}