.codabot-widget {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 350px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	display: flex;
	flex-direction: column;
	z-index: 1000;
	overflow: hidden;
}

.codabot-header {
	background: var(--primary);
	color: white;
	padding: 15px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
}

.codabot-body {
	display: flex;
	flex-direction: column;
	height: 500px;
}

.chat-box {
	flex: 1;
	padding: 15px;
	overflow-y: auto;
	background: #f9f9f9;
}

.chat-input-area {
	display: flex;
	border-top: 1px solid #ddd;
	padding: 10px;
	background: #fff;
}

.chat-input-area input {
	flex: 1;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	margin-right: 10px;
	margin-bottom: 2px !important;
}

.chat-input-area button {
	background: var(--primary);
	color: white;
	border: none;
	padding: 10px 15px;
	border-radius: 5px;
	cursor: pointer;
	height: 40px;
	align-self: center;
}

.message {
	margin-bottom: 10px;
}

.message.chat-user .message-body {
	background: #e1f5fe;
	padding: 10px;
	border-radius: 10px 10px 0 10px;
	text-align: right;
	margin-left: 20px;
}

.message.chat-bot .message-body {
	background: #fff;
	border: 1px solid #eee;
	padding: 10px;
	border-radius: 10px 10px 10px 0;
	margin-right: 20px;
}

@keyframes typing {
	0% {
		content: '\00a0';
	}
	25% {
		content: '.';
	}
	50% {
		content: '..';
	}
	75% {
		content: '...';
	}
	100% {
		content: '\00a0';
	}
}

.typing::after {
	content: '';
	animation: typing 1s steps(4, end) infinite;
}

.message-body a {
	color: var(--primary) !important;
}

@media (max-width: 390px) {
	#codabot-client-widget {
		left: 50%;
		transform: translateX(-50%);
		width: 90%;
	}

	#codabot-body {
		height: 450px;
	}
}