#base3-chatbot-launcher {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99990;
	display: flex;
	align-items: center;
	gap: 10px;
}

#base3-chatbot-fab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	min-width: 52px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: #2f6fed;
	color: #ffffff;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

#base3-chatbot-fab:hover {
	filter: brightness(0.96);
}

#base3-chatbot-close-mini {
	display: none;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: #333333;
	cursor: pointer;
	font: inherit;
	font-size: 22px;
	line-height: 1;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

#base3-chatbot-launcher.panel-open #base3-chatbot-close-mini {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#base3-chatbot-panel {
	--base3-chatbot-panel-width: 720px;
	--base3-chatbot-panel-height: 420px;

	position: fixed;
	right: 20px;
	bottom: 84px;
	z-index: 99989;
	display: none;
	flex-direction: column;
	width: min(var(--base3-chatbot-panel-width), calc(100vw - 24px));
	height: min(var(--base3-chatbot-panel-height), calc(100vh - 110px));
	min-width: 420px;
	min-height: 350px;
	max-width: calc(100vw - 24px);
	max-height: calc(100vh - 110px);
	background: #ffffff;
	border: 1px solid #d9dee8;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
	transition: width 160ms ease, height 160ms ease;
	box-sizing: border-box;
}

#base3-chatbot-panel.is-open {
	display: flex;
}

#base3-chatbot-panel-body {
	flex: 1 1 auto;
	overflow: auto;
	background: #ffffff;
	padding: 10px;
	box-sizing: border-box;
	min-width: 0;
	min-height: 0;
}

.base3-chatbot-loading,
.base3-chatbot-error {
	padding: 24px;
}

@media (max-width: 767px) {
	#base3-chatbot-launcher {
		right: 12px;
		bottom: 12px;
	}

	#base3-chatbot-panel {
		right: 12px;
		bottom: 76px;
		width: calc(100vw - 24px);
		min-width: 0;
		max-width: calc(100vw - 24px);
		border-radius: 16px;
	}
}
