main {
	font-size: 0.8rem;
}

.sidebar {
	min-height: 100vh;
	background: #343a40;
	color: white;
}

.sidebar .nav-link {
	color: rgba(255, 255, 255, 0.8);
}

.sidebar .nav-link:hover {
	color: #fff;
}

.main-content {
	min-height: 100vh;
}

.login-container {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f8f9fa;
}

.login-form {
	width: 100%;
	max-width: 330px;
	padding: 15px;
	margin: auto;
}

.footer {
	background-color: #343a40;
	color: white;
	padding: 1rem 0;
	width: 100%;
	position: relative;
	bottom: 0;
	text-align: center;
}

.footer .container-fluid {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* Estilos para las tarjetas del dashboard */
.border-left-primary {
	border-left: 0.25rem solid #4e73df !important;
}

.border-left-success {
	border-left: 0.25rem solid #1cc88a !important;
}

.border-left-info {
	border-left: 0.25rem solid #36b9cc !important;
}

.border-left-warning {
	border-left: 0.25rem solid #f6c23e !important;
}

.text-gray-300 {
	color: #dddfeb !important;
}

.text-gray-800 {
	color: #5a5c69 !important;
}

.cursor-pointer {
	cursor: pointer;
}

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid #e3e6f0;
	border-radius: 0.35rem;
}

.card-header {
	background-color: #f8f9fc;
	border-bottom: 1px solid #e3e6f0;
}

.loader-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.loader-spinner {
	width: 50px;
	height: 50px;
	border: 5px solid #f3f3f3;
	border-top: 5px solid #3498db;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

.icon-alert {
	font-size: 40px;
	display: block;
	text-align: center;
	margin: 15px 0;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
