*{
	margin:0px;
	padding:0px;
}

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

body,
html{	
	height: 100%;
}

label{
	font-weight: normal;
	display: inline-block;
}

textarea{
	resize:none;
}

.btn-primary{
	color:#fff;
	background-color:#337ab7;
	border-color:#2e6da4
}

.modal{
	overflow-y:scroll;
}

#contenedor{
	min-height: 100%;
}

.ui-datepicker select{	
	color:#000;
}

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

.titulos{	
	margin-bottom:15px;
	padding-bottom:5px;
	padding-left:5px;
	border-bottom:1px solid #CCC;
}

.dropdown ul{
	margin:0px;
	padding:0px;
}

.dropdown li{
	padding:5px 10px;
	display: block;
	cursor: pointer;
}

.dropdown li:hover{
	color:#000;
	background-color: #EEE;
}

.grilla .input-group{
	max-width: 300px;
	margin:5px 0px;
}

.grilla .input-group-addon{
	cursor: pointer;
}

.top_bar{
	position: relative;
	z-index: 1;
	background-color:#F8F8F8;
	box-shadow: 0px 0px 10px #000;
	border-bottom:1px solid #666;
}

.top_bar,
.logo_panel{
	height:45px;
}

.modal-header{	
	padding:0px 0px;
	background-color:#F0B800;
	color:#FFF;
}

.modal-title,
.modal-footer{
	padding:10px 15px;
}

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

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

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

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

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

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

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

.col-md-12,
.col-md-6{
	padding:0px 15px;
	padding-bottom:10px;
}

.tr-td-1,
.tr-td-2,
.tr-td-3{
	padding:4px 6px;
	box-sizing:border-box;
}

.tr-td-1{
	width:100%;
}

.tr-td-2{
	width:50%;
}

.tr-td-3{
	width:33.33%;
}

#msj_php{
	display: none !important;
}

/* ── Toast notifications ── */
#toast-container {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 400px;
	width: calc(100% - 40px);
	pointer-events: none;
}

.saempa-toast {
	pointer-events: auto;
	position: relative;
	min-width: 300px;
	max-width: 400px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 10px 40px rgba(15, 45, 92, 0.14), 0 2px 8px rgba(15, 45, 92, 0.06);
	opacity: 0;
	transform: translateX(30px) scale(0.97);
	transition: opacity 0.3s ease, transform 0.3s ease;
	overflow: hidden;
}

.saempa-toast.show {
	opacity: 1;
	transform: translateX(0) scale(1);
}

.saempa-toast-inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	padding: 14px 14px 14px 16px;
}

.saempa-toast-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
}

.saempa-toast-msg {
	flex: 1;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #1e293b;
	min-width: 0;
}

.saempa-toast-close {
	flex-shrink: 0;
	align-self: flex-start;
	margin-top: 2px;
	background: none;
	border: none;
	color: #94a3b8;
	cursor: pointer;
	padding: 4px;
	font-size: 13px;
	line-height: 1;
	border-radius: 4px;
	transition: color 0.2s, background 0.2s;
}

.saempa-toast-close:hover {
	color: #475569;
	background: rgba(0, 0, 0, 0.05);
}

.saempa-toast-bar {
	height: 3px;
	width: 100%;
	animation: saempa-toast-progress 4s linear forwards;
}

.saempa-toast-success .saempa-toast-icon {
	background: #d1fae5;
	color: #059669;
}
.saempa-toast-success .saempa-toast-bar {
	background: #10b981;
}

.saempa-toast-info .saempa-toast-icon {
	background: #dbeafe;
	color: #2563eb;
}
.saempa-toast-info .saempa-toast-bar {
	background: #3b82f6;
}

.saempa-toast-error .saempa-toast-icon {
	background: #fee2e2;
	color: #dc2626;
}
.saempa-toast-error .saempa-toast-bar {
	background: #ef4444;
}

@keyframes saempa-toast-progress {
	from { width: 100%; }
	to { width: 0%; }
}

/* ── Modern loading overlay ── */
#cargando{
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
}

#cargando .cargando-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 45, 92, 0.35);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

#cargando .cargando-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	background: #fff;
	padding: 32px 40px;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(15, 45, 92, 0.25);
}

#cargando .spinner-ring {
	width: 48px;
	height: 48px;
	border: 4px solid #e2e8f0;
	border-top-color: #0f2d5c;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

#cargando .cargando-text {
	font-size: 14px;
	font-weight: 600;
	color: #0f2d5c;
	letter-spacing: 0.3px;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Legacy loading gif fallback */
#cargando > img {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	border-radius: 50%;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
	z-index: 1;
}

.success{
	border:1px solid #009E37;
	background-color:#009E37;
	color:#FFF;
}

.info{
	border:1px solid #00A8EF;
	background-color:#00A8EF;
	color:#FFF;
}

.error{
	border:1px solid #DD0024;
	background-color:#DD0024;
	color:#FFF;
}

.input-group-addon button{
	border:0px;
	background-color:rgba(0,0,0,0);
}