#divLoading {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: blue;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(254, 254, 255, .65);
	z-index: 9999;
	display: none;
}

#divLoading img {
	width: 150px;
	height: 150px;
}

.notBlock{
	display: none;
}

.mapdiv path{
	fill:brown;
}

/*upload fotos*/
#containerImages{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}

#containerImages > div{
	margin-right: 30px;
	margin-bottom: 8px;
}

.prevImage{
	border: 1px solid #CCC;
	width: 250px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.prevImage img {
	width: 100%;
}

.inputUploadfile{
	display: none;
}

.btnUploadfile,.btnDeleteImage{
	border: 0;
	background-color: #009688;
	text-align: center;
	padding: 2px 3px;
	color: #FFF;
	font-size: 12pt;
	cursor: pointer;
	width: 100%;
}

.btnDeleteImage{
	background-color: red;
}

.prevImage .loading{
	width: 30px;
	height: 30px;
}

.notblock{
	display: none !important;
}

/* ============================================
   ESTILOS RESPONSIVOS PARA CALENDARIO DE CITAS
   ============================================ */

/* Mejoras generales para el calendario */
#calendar {
	padding: 0.5rem;
}

/* Estilos para dispositivos móviles */
@media (max-width: 767.98px) {
	/* Calendario en móviles */
	#calendar {
		padding: 0.25rem;
	}
	
	/* Header del calendario más compacto */
	.fc-header-toolbar {
		flex-direction: column;
		gap: 0.5rem;
		margin-bottom: 0.5rem !important;
	}
	
	.fc-header-toolbar .fc-toolbar-chunk {
		display: flex;
		justify-content: center;
		width: 100%;
	}
	
	.fc-header-toolbar .fc-toolbar-chunk:first-child,
	.fc-header-toolbar .fc-toolbar-chunk:last-child {
		justify-content: space-between;
	}
	
	/* Botones más grandes y táctiles */
	.fc-button {
		padding: 0.5rem 0.75rem !important;
		font-size: 0.875rem !important;
		min-height: 44px; /* Tamaño mínimo táctil recomendado */
	}
	
	/* Título del calendario */
	.fc-toolbar-title {
		font-size: 1.25rem !important;
		margin: 0.5rem 0;
		text-align: center;
	}
	
	/* Eventos más grandes y legibles */
	.fc-event {
		font-size: 0.75rem !important;
		padding: 0.25rem 0.5rem !important;
		margin: 0.125rem 0 !important;
		cursor: pointer;
		min-height: 32px;
		display: flex;
		align-items: center;
	}
	
	.fc-event-title {
		font-weight: 500;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	
	/* Celdas del calendario */
	.fc-daygrid-day {
		min-height: 60px;
	}
	
	.fc-daygrid-day-number {
		padding: 0.5rem !important;
		font-size: 0.875rem;
	}
	
	/* Vista de lista mejorada */
	.fc-list-event {
		padding: 0.75rem !important;
		margin-bottom: 0.5rem;
		border-radius: 0.375rem;
	}
	
	.fc-list-event-title {
		font-size: 0.875rem;
		font-weight: 500;
	}
	
	.fc-list-event-time {
		font-size: 0.75rem;
		margin-right: 0.5rem;
	}
	
	/* En vista de lista SOLO en móviles, aumentar el ancho de la columna de tiempo */
	.fc-list-view .fc-list-event-time {
		font-size: 0.875rem;
		font-weight: 600;
		min-width: 85px !important;
		width: auto !important;
		padding-right: 1rem !important;
		white-space: nowrap;
		text-align: left;
	}
	
	/* Asegurar que la columna de tiempo tenga suficiente espacio SOLO EN MÓVILES Y VISTA DE LISTA */
	.fc-list-view .fc-list-table .fc-list-event-time {
		min-width: 85px !important;
		width: auto !important;
		padding-right: 1rem !important;
	}
	
	/* Espaciado para el nombre del paciente SOLO EN MÓVILES Y VISTA DE LISTA */
	.fc-list-view .fc-list-event-title {
		font-size: 0.875rem;
		font-weight: 500;
		padding-left: 0.5rem;
		text-align: left;
	}
	
	/* Espaciado para el punto gráfico SOLO EN MÓVILES Y VISTA DE LISTA */
	.fc-list-view .fc-list-event-graphic {
		padding-right: 0.75rem !important;
		padding-left: 0.5rem !important;
	}
	
	/* Asegurar que la vista de mes muestre la hora correctamente EN MÓVILES */
	.fc-daygrid-view .fc-event-time,
	.fc-daygrid-view .fc-event-title {
		display: inline !important;
	}
	
	.fc-daygrid-view .fc-event {
		display: block !important;
	}
	
	/* Estilos para la hora en eventos de la vista de mes en PC (fuera del media query) */
	.fc-daygrid-view .fc-event-time {
		font-weight: 600;
		margin-right: 0.25rem;
	}
	
	.fc-daygrid-view .fc-event-title {
		font-weight: 500;
	}
	
	/* Contenido personalizado para eventos en móviles */
	.fc-event-mobile-content {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		width: 100%;
	}
	
	.fc-event-time-mobile {
		font-weight: 600;
		font-size: 0.875rem;
		color: #fff;
		min-width: 65px;
		flex-shrink: 0;
	}
	
	.fc-event-title-mobile {
		font-size: 0.875rem;
		font-weight: 500;
		color: #fff;
		flex: 1;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	
	/* Ocultar el guion y hora de fin en vista de lista en móviles */
	.fc-list-view .fc-list-event-time::after {
		content: '';
		display: none;
	}
	
	/* Asegurar que el título no muestre el número de cita en móviles */
	.fc-list-view .fc-list-event-title {
		font-size: 0.875rem;
		font-weight: 500;
	}
	
	/* Ocultar cualquier texto que contenga el patrón #número al inicio */
	.fc-list-view .fc-list-event-title:has-text("#") {
		/* Esto se manejará con JavaScript */
	}
	
	/* Popover de eventos mejorado */
	.fc-popover {
		max-width: 90vw;
		border-radius: 0.5rem;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	}
	
	.fc-popover-header {
		padding: 0.75rem;
		font-size: 0.875rem;
	}
	
	.fc-popover-body {
		padding: 0.5rem;
	}
	
	/* Mejoras para la vista de día */
	.fc-timegrid-slot {
		height: 2.5rem !important;
	}
	
	.fc-timegrid-slot-label {
		font-size: 0.75rem;
		padding: 0.25rem;
	}
	
	/* Card del calendario */
	.card-body {
		padding: 0.5rem !important;
	}
}

/* Estilos para tablets */
@media (min-width: 768px) and (max-width: 1023.98px) {
	#calendar {
		padding: 0.5rem;
	}
	
	.fc-header-toolbar {
		margin-bottom: 1rem !important;
	}
	
	.fc-button {
		padding: 0.4rem 0.65rem !important;
		font-size: 0.875rem !important;
	}
	
	.fc-event {
		font-size: 0.8125rem !important;
		padding: 0.25rem 0.5rem !important;
	}
	
	.fc-toolbar-title {
		font-size: 1.5rem !important;
	}
}

/* Mejoras para eventos en móviles */
.fc-event-mobile {
	font-size: 0.75rem !important;
	padding: 0.375rem 0.5rem !important;
	border-radius: 0.25rem;
}

/* Estilos generales para botones del modal */
.modal-footer {
	padding: 1.25rem;
	gap: 0.75rem;
}

.modal-footer .btn {
	font-size: 1rem;
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	font-weight: 500;
	transition: all 0.2s ease;
}

.modal-footer .btn-lg {
	font-size: 1.125rem;
	padding: 0.875rem 1.75rem;
	min-height: 52px;
}

.modal-footer .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.modal-footer .btn:active {
	transform: translateY(0);
}

/* Mejoras para el modal en móviles */
@media (max-width: 767.98px) {
	.modal-dialog {
		margin: 0.5rem;
		max-width: calc(100% - 1rem);
	}
	
	.modal-content {
		border-radius: 0.5rem;
	}
	
	.modal-header {
		padding: 1rem 0.75rem;
	}
	
	.modal-title {
		font-size: 1.125rem;
	}
	
	.modal-body {
		padding: 1rem 0.75rem;
	}
	
	/* Botones más grandes en móviles */
	.modal-footer .btn {
		font-size: 1rem;
		padding: 0.875rem 1rem;
		min-height: 50px;
		width: 100%;
		margin-bottom: 0.5rem;
	}
	
	.modal-footer .btn:last-child {
		margin-bottom: 0;
	}
	
	.modal-footer .btn-lg {
		font-size: 1.125rem;
		padding: 1rem 1.25rem;
		min-height: 54px;
	}
	
	.modal-footer {
		padding: 1rem 0.75rem;
		flex-wrap: wrap;
		gap: 0.75rem;
	}
	
	.modal-footer .btn {
		flex: 1 1 auto;
		min-width: calc(50% - 0.375rem);
		font-size: 1rem;
		padding: 0.75rem 1rem;
		min-height: 48px;
		font-weight: 500;
	}
	
	.modal-footer .btn-lg {
		font-size: 1.125rem;
		padding: 0.875rem 1.25rem;
		min-height: 52px;
	}
	
	/* Formulario más compacto */
	.form-label {
		font-size: 0.875rem;
		margin-bottom: 0.375rem;
	}
	
	.form-control,
	.form-select {
		font-size: 0.875rem;
		padding: 0.5rem 0.75rem;
	}
	
	/* Columnas del formulario apiladas en móviles */
	.modal-body .row > [class*="col-"] {
		margin-bottom: 0.75rem;
	}
	
	/* Select2 más compacto */
	.select2-container {
		font-size: 0.875rem;
	}
	
	.select2-selection {
		min-height: 42px;
		padding: 0.375rem;
	}
}

/* Mejoras de accesibilidad táctil */
@media (hover: none) and (pointer: coarse) {
	.fc-button,
	.fc-event,
	.fc-daygrid-day-number {
		min-height: 44px;
		min-width: 44px;
	}
	
	.fc-event {
		touch-action: manipulation;
	}
	
	/* Botones del modal más grandes para mejor accesibilidad táctil */
	.modal-footer .btn {
		min-height: 50px;
		min-width: 120px;
	}
	
	.modal-footer .btn-lg {
		min-height: 54px;
	}
}

/* Animaciones suaves */
.fc-event {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fc-event:active {
	transform: scale(0.98);
}

/* Mejoras de contraste para mejor legibilidad */
.fc-daygrid-day.fc-day-today {
	background-color: rgba(0, 123, 255, 0.1) !important;
}

.fc-event:hover {
	opacity: 0.9;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ============================================
   BOTÓN FLOTANTE PARA AGREGAR NUEVA CITA
   ============================================ */

.btn-floating {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 1000;
	border-radius: 50px;
	padding: 1rem 1.5rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
	border: none;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	min-height: 56px; /* Tamaño mínimo táctil */
}

.btn-floating:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.btn-floating:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.btn-floating i {
	font-size: 1.25rem;
}

.btn-floating-text {
	font-size: 1rem;
	margin-left: 0.25rem;
}

/* Estilos para móviles */
@media (max-width: 767.98px) {
	.btn-floating {
		bottom: 1.5rem;
		right: 1.5rem;
		padding: 0.875rem 1.25rem;
		min-height: 56px;
		min-width: 56px;
		border-radius: 50%;
		justify-content: center;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	.btn-floating i {
		font-size: 1.5rem;
	}
	
	.btn-floating-text {
		display: none !important;
	}
	
	/* Botón solo con icono en móviles */
	.btn-floating.btn-add-cita {
		width: 56px;
		height: 56px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* Estilos para tablets */
@media (min-width: 768px) and (max-width: 1023.98px) {
	.btn-floating {
		bottom: 1.75rem;
		right: 1.75rem;
		padding: 0.9375rem 1.375rem;
	}
}

/* Animación de entrada */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.btn-floating {
	animation: fadeInUp 0.3s ease-out;
}

/* Asegurar que el botón esté por encima del calendario */
.btn-floating {
	z-index: 1050; /* Por encima de modales de Bootstrap que usan z-index 1050 */
}

/* Mejora de accesibilidad */
.btn-floating:focus {
	outline: 2px solid rgba(0, 123, 255, 0.5);
	outline-offset: 2px;
}

/* ============================
   Ajustes login (evitar salto)
   ============================ */
/* Evita que el contenedor de autenticación cambie de alto al abrir el teclado
   o al interactuar con los campos, reduciendo el efecto de "contracción". */
.auth-wrapper.auth-cover .auth-inner {
	min-height: 100vh;
	height: auto !important;
}

/* Efecto de pulso opcional (puedes activarlo si quieres) */
.btn-floating.pulse {
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 0 rgba(0, 123, 255, 0.7);
	}
	70% {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 10px rgba(0, 123, 255, 0);
	}
	100% {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 0 rgba(0, 123, 255, 0);
	}
}





