
.askany-chat-widget {
	font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
	font-size: 14px;
	line-height: 1.4;
	--primary-color: #4a6cf7;
	--primary-hover: #3c57d0;
	--text-color: #333;
	--light-text: #666;
	--bg-color: #fff;
	--light-bg: #f5f7fb;
	--border-color: #e3e8ef;
	--bubble-user: var(--primary-color);
	--bubble-ai: #f0f2f5;
	--bubble-user-text: #fff;
	--bubble-ai-text: #333;
	--shadow-soft: 0 5px 20px rgba(0, 0, 0, .08);
	--shadow-strong: 0 8px 30px rgba(0, 0, 0, .12);
	--radius-sm: 8px;
	--radius-lg: 16px;
	--radius-round: 50px;
	--anim-speed: .3s;
	font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	position: fixed;
	transition: all .4s cubic-bezier(.4, 0, .2, 1);
	z-index: 99999;
}

.askany-chat-widget.bottom-right {
	bottom: 20px;
	right: 20px;
}

.askany-chat-widget.bottom-left {
	bottom: 20px;
	left: 20px;
}

.askany-chat-widget.top-right {
	right: 20px;
	top: 20px;
}

.askany-chat-widget.top-left {
	left: 20px;
	top: 20px;
}

.askany-chat-widget.inline {
	bottom: auto;
	left: auto;
	max-width: 100%;
	position: relative;
	right: auto;
	top: auto;
	width: 100%;
}

.askany-chat-toggle {
	align-items: center;
	backdrop-filter: blur(10px);
	background: linear-gradient(135deg, #667eea, #764ba2);
	border: 2px solid hsla(0, 0%, 100%, .2);
	border-radius: 50%;
	box-shadow: 0 8px 32px rgba(102, 126, 234, .4), 0 4px 12px rgba(0, 0, 0, .1);
	cursor: pointer;
	display: flex;
	height: 60px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
	width: 60px;
}

.askany-chat-toggle:before {
	background: linear-gradient(90deg, transparent, hsla(0, 0%, 100%, .3), transparent);
	content: "";
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transition: left .6s ease;
	width: 100%;
}

.askany-chat-toggle:hover {
	background: linear-gradient(135deg, #5a6fd8, #6b42a0);
	box-shadow: 0 12px 40px rgba(102, 126, 234, .5), 0 6px 20px rgba(0, 0, 0, .15);
	transform: translateY(-3px) scale(1.05);
}

.askany-chat-toggle:hover:before {
	left: 100%;
}

.toggle-icon-container {
	align-items: center;
	display: flex;
	justify-content: center;
	position: relative;
}

.askany-chat-icon img {
	width: 100%;
}

.askany-chat-icon {
	color: #fff;
	transition: all .3s ease;
}

.askany-chat-toggle:hover .askany-chat-icon {
	transform: scale(1.1) rotate(5deg);
}

.notification-badge {
	animation: askany-pulse 2s infinite;
	background: linear-gradient(135deg, #ff6b6b, #ff5252);
	box-shadow: 0 4px 12px hsla(0, 100%, 71%, .4);
	right: -8px;
	top: -8px;
}

@keyframes askany-pulse {
	0%, to {
		box-shadow: 0 4px 12px hsla(0, 100%, 71%, .4);
		transform: scale(1);
	}
	
	50% {
		box-shadow: 0 6px 20px hsla(0, 100%, 71%, .6);
		transform: scale(1.1);
	}
}

.askany-chat-container {
	animation: askany-slide-up .4s cubic-bezier(.4, 0, .2, 1);
	backdrop-filter: blur(20px);
	background: linear-gradient(135deg, hsla(0, 0%, 100%, .95), hsla(0, 0%, 100%, .9));
	border: 1px solid hsla(0, 0%, 100%, .3);
	border-radius: 20px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .15), 0 8px 32px rgba(0, 0, 0, .1);
	display: flex;
	flex-direction: column;
	height: 620px;
	overflow: hidden;
	position: relative;
	width: 395px;
}

.askany-chat-container:before {
	animation: askany-gradient-flow 3s ease infinite;
	background: linear-gradient(90deg, #667eea, #764ba2, #667eea);
	background-size: 200% 100%;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

@keyframes askany-gradient-flow {
	0%, to {
		background-position: 0 50%;
	}
	
	50% {
		background-position: 100% 50%;
	}
}

@keyframes askany-slide-up {
	0% {
		opacity: 0;
		transform: translateY(30px) scale(.95);
	}
	
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.askany-chat-widget.inline .askany-chat-container {
	border-radius: 16px;
	height: 700px;
	margin: 0 auto;
	max-width: 800px;
	width: 100%;
}

.askany-chat-header {
	align-items: center;
	background: linear-gradient(135deg, #d1edff, hsla(0, 0%, 100%, .7));
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	display: flex;
	justify-content: space-between;
	padding: 20px;
}

.askany-chat-header:after {
	bottom: 0;
	content: "";
	height: 1px;
	left: 20px;
	position: absolute;
	right: 20px;
}

.header-left {
	gap: 12px;
}

.assistant-avatar, .header-left {
	align-items: center;
	display: flex;
}

.assistant-avatar {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(102, 126, 234, .3);
	color: #fff;
	height: 40px;
	justify-content: center;
	overflow: hidden;
	transition: all .3s ease;
	width: 40px;
}

.assistant-avatar:hover {
	box-shadow: 0 6px 20px rgba(102, 126, 234, .4);
	transform: scale(1.05);
}

.assistant-avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.header-info h3 {
	background: linear-gradient(135deg, #667eea, #764ba2);
	-webkit-background-clip: text;
	color: #2d3748;
	font-size: 16px;
	font-weight: 700;
	margin: 0;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.status-indicator {
	align-items: center;
	color: #48bb78;
	display: flex;
	font-size: 12px;
	font-weight: 600;
	gap: 4px;
}

.status-indicator:before {
	animation: askany-status-pulse 2s infinite;
	background: #48bb78;
	border-radius: 50%;
	content: "";
	height: 8px;
	width: 8px;
}

@keyframes askany-status-pulse {
	0%, to {
		opacity: 1;
		transform: scale(1);
	}
	
	50% {
		opacity: .7;
		transform: scale(1.2);
	}
}

.header-actions {
	display: flex;
	gap: 8px;
}

.action-btn {
	align-items: center;
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .8);
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 8px;
	color: #718096;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding: 8px;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.action-btn:hover {
	background: hsla(0, 0%, 100%, .9);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
	color: #667eea;
	transform: translateY(-1px);
}

.askany-chat-close:hover {
	background: linear-gradient(135deg, #fed7d7, #feb2b2);
	color: #e53e3e;
}

.askany-get-started-page {
	align-items: center;
	background: linear-gradient(180deg, rgba(247, 250, 252, .8), hsla(0, 0%, 100%, .9));
	display: flex;
	flex: 1;
	justify-content: center;
	overflow-y: auto;
	padding: 32px 24px;
}

.get-started-content {
	max-width: 400px;
	width: 100%;
}

.get-started-header {
	margin-bottom: 32px;
	text-align: center;
}

.get-started-logo {
	height: auto;
	margin-bottom: 20px;
	max-width: 120px;
}

.get-started-header h2 {
	color: #333;
	font-size: 24px;
	font-weight: 600;
	margin: 0 0 12px;
}

.get-started-header p {
	color: #666;
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.get-started-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.get-started-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.get-started-form label {
	color: #333;
	font-size: 14px;
	font-weight: 600;
}

.get-started-form label .required {
	color: #dc3232;
	margin-left: 2px;
}

.get-started-form input {
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
	padding: 12px 16px;
	transition: border-color .2s ease;
}

.get-started-form input:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(74, 108, 247, .1);
	outline: none;
}

.get-started-submit-btn {
	background: var(--primary-color);
	border: none;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	margin-top: 8px;
	padding: 14px 24px;
	transition: all .2s ease;
}

.get-started-submit-btn:hover {
	background: var(--primary-hover);
	box-shadow: 0 4px 12px rgba(74, 108, 247, .3);
	transform: translateY(-1px);
}

.get-started-submit-btn:active {
	transform: translateY(0);
}

.get-started-submit-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
	transform: none;
}

.askany-home-content {
	background: linear-gradient(180deg, rgba(247, 250, 252, .8), hsla(0, 0%, 100%, .9));
	flex: 1;
	padding: 24px;
}

.askany-home-content::-webkit-scrollbar {
	width: 6px;
}

.askany-home-content::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, .05);
	border-radius: 3px;
}

.askany-home-content::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 3px;
}

.home-logo-section {
	margin-bottom: 24px;
}

.home-logo {
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
}

.home-agents-section {
	margin-bottom: 20px;
}

.agents-avatars {
	gap: -8px;
}

.agent-avatar {
	border: 3px solid hsla(0, 0%, 100%, .9);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
	margin-left: -8px;
	transition: all .3s ease;
}

.agent-avatar:first-child {
	margin-left: 0;
}

.agent-avatar:hover {
	box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
	transform: translateY(-2px) scale(1.05);
	z-index: 10;
}

.home-welcome-section {
	margin-bottom: 32px;
}

.welcome-title {
	background: linear-gradient(135deg, #667eea, #764ba2);
	-webkit-background-clip: text;
	background-clip: text;
	font-size: 28px;
	font-weight: 800;
}

.wave-emoji {
	animation: askany-wave 2s infinite;
}

@keyframes askany-wave {
	0%, 50%, to {
		transform: rotate(0deg);
	}
	
	25% {
		transform: rotate(20deg);
	}
}

.welcome-subtitle {
	color: #718096;
	font-weight: 500;
}

.home-actions-section {
	space-y: 12px;
}

.home-action-item {
	margin-bottom: 12px;
}

.action-link {
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .7);
	border: 1px solid hsla(0, 0%, 100%, .3);
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.action-link:before {
	background: linear-gradient(90deg, transparent, hsla(0, 0%, 100%, .6), transparent);
	content: "";
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transition: left .5s ease;
	width: 100%;
}

.action-link:hover {
	background: hsla(0, 0%, 100%, .9);
	border-color: rgba(102, 126, 234, .3);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
	transform: translateY(-2px);
}

.action-link:hover:before {
	left: 100%;
}

.action-icon {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(102, 126, 234, .3);
	transition: all .3s ease;
}

.action-link:hover .action-icon {
	box-shadow: 0 6px 20px rgba(102, 126, 234, .4);
	transform: scale(1.05) rotate(5deg);
}

.action-title {
	color: #2d3748;
	font-size: 15px;
	font-weight: 700;
}

.action-subtitle {
	color: #718096;
	font-size: 13px;
	font-weight: 500;
}

.home-faq-section {
	margin-top: 24px;
}

.faq-title {
	color: #2d3748;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px;
	text-align: center;
}

.faq-list {
	space-y: 8px;
}

.faq-item {
	margin-bottom: 8px;
}

.faq-question {
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .7);
	border: 1px solid hsla(0, 0%, 100%, .3);
	border-radius: 10px;
	color: #2d3748;
	font-weight: 600;
	transition: all .3s ease;
}

.faq-question:hover {
	background: hsla(0, 0%, 100%, .9);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
	color: #393939;
	transform: translateY(-1px);
}

.faq-question svg {
	color: #667eea;
	transition: transform .3s ease;
}

.faq-question.active svg {
	transform: rotate(180deg);
}

.faq-answer {
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .8);
	border: 1px solid hsla(0, 0%, 100%, .4);
	border-radius: 10px;
	color: #4a5568;
	font-size: 14px;
	margin-top: 4px;
	padding: 12px 16px;
}

.askany-main-tabs {
	background: linear-gradient(135deg, hsla(0, 0%, 100%, .9), hsla(0, 0%, 100%, .7));
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.askany-main-tabs:before {
	background: linear-gradient(90deg, transparent, rgba(102, 126, 234, .3), transparent);
	content: "";
	height: 1px;
	left: 20px;
	position: absolute;
	right: 20px;
	top: 0;
}

.main-tab-btn {
	align-items: center;
	background: none;
	border: none;
	color: #718096;
	cursor: pointer;
	display: flex;
	flex: 1;
	flex-direction: column;
	font-size: 12px;
	font-weight: 600;
	gap: 4px;
	padding: 8px 12px;
	position: relative;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.main-tab-btn:before {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 0 0 3px 3px;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	transition: width .3s ease;
	width: 0;
}

.main-tab-btn:hover {
	background: rgba(102, 126, 234, .05);
	color: #667eea;
}

.main-tab-btn.active {
	background: rgba(102, 126, 234, .1);
	color: #667eea;
}

.main-tab-btn.active:before {
	width: 60%;
}

.main-tab-btn svg {
	transition: all .3s ease;
}

.main-tab-btn.active svg, .main-tab-btn:hover svg {
	transform: scale(1.1);
}

.askany-chat-messages {
	background: linear-gradient(180deg, rgba(247, 250, 252, .8), hsla(0, 0%, 100%, .9));
	flex: 1;
	position: relative;
}

.askany-chat-messages::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, .05);
}

.askany-chat-messages::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, #667eea, #764ba2);
}

.askany-message {
	animation: askany-message-slide-in .4s cubic-bezier(.4, 0, .2, 1);
	display: flex;
	margin-bottom: 16px;
}

@keyframes askany-message-slide-in {
	0% {
		opacity: 0;
		transform: translateY(15px) scale(.95);
	}
	
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.askany-message.user {
	justify-content: flex-end;
}

.askany-message.agent, .askany-message.assistant {
	justify-content: flex-start;
}

.askany-message-bubble {
	backdrop-filter: blur(10px);
	border-radius: 18px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
	max-width: 80%;
	overflow: hidden;
	padding: 12px 16px;
	position: relative;
	transition: all .3s ease;
}

.askany-message-bubble:before {
	background: linear-gradient(90deg, transparent, hsla(0, 0%, 100%, .3), transparent);
	content: "";
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transition: left .6s ease;
	width: 100%;
}

.askany-message-bubble:hover:before {
	left: 100%;
}

.askany-message.user .askany-message-bubble {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-bottom-right-radius: 6px;
	color: #fff;
}

.askany-message.agent .askany-message-bubble, .askany-message.assistant .askany-message-bubble {
	background: hsla(0, 0%, 100%, .9);
	border: 1px solid rgba(102, 126, 234, .2);
	border-bottom-left-radius: 6px;
	color: #2d3748;
}

.askany-message-content {
	font-weight: 500;
	line-height: 1.5;
	word-wrap: break-word;
}

.askany-message-time {
	font-size: 10px;
	font-weight: 600;
	margin-top: 4px;
	opacity: .7;
}

.suggested-prompts {
	animation: askany-fade-in .4s ease;
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .7);
	border: 1px solid hsla(0, 0%, 100%, .3);
	border-radius: 12px;
	overflow: hidden;
}

.prompt-header {
	align-items: center;
	background: linear-gradient(135deg, rgba(102, 126, 234, .1), rgba(118, 75, 162, .1));
	border-bottom: 1px solid rgba(0, 0, 0, .05);
	display: flex;
	justify-content: space-between;
	padding: 12px 16px;
}

.prompt-label {
	color: #667eea;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.close-prompts-btn {
	background: none;
	border: none;
	border-radius: 4px;
	color: #718096;
	cursor: pointer;
	padding: 4px;
	transition: all .3s ease;
}

.close-prompts-btn:hover {
	background: rgba(102, 126, 234, .1);
	color: #667eea;
	transform: scale(1.1);
}

.prompt-items {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px;
}

.prompt-item {
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .8);
	border: 1px solid hsla(0, 0%, 100%, .4);
	border-radius: 10px;
	color: #4a5568;
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	padding: 10px 14px;
	text-align: left;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.prompt-item:hover {
	background: hsla(0, 0%, 100%, .95);
	border-color: rgba(102, 126, 234, .3);
	box-shadow: 0 4px 12px rgba(102, 126, 234, .15);
	color: #667eea;
	transform: translateY(-1px);
}

.askany-chat-messages {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 400px;
	overflow-y: auto;
	padding: 20px;
}

.askany-chat-messages::-webkit-scrollbar {
	width: 6px;
}

.askany-chat-messages::-webkit-scrollbar-track {
	background: #f1f5f9;
	border-radius: 3px;
}

.askany-chat-messages::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 3px;
	transition: background .3s ease;
}

.askany-chat-messages::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

.chat-message {
	animation: slideIn .3s ease-out;
	margin-bottom: 12px;
}

.chat-message.assistant-message {
	justify-content: flex-start;
}

.message-bubble {
	border-radius: 18px;
	font-size: 14px;
	line-height: 1.5;
	max-width: 75%;
	padding: 12px 16px;
	word-wrap: break-word;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
	position: relative;
}

.chat-message.user-message .message-bubble {
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	border-bottom-right-radius: 4px;
	color: #fff;
}

.chat-message.assistant-message .message-bubble {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-bottom-left-radius: 4px;
	color: #334155;
}

.askany-chat-input {
	background: linear-gradient(135deg, hsla(0, 0%, 100%, .9), hsla(0, 0%, 100%, .7));
	border-top: 1px solid rgba(0, 0, 0, .08);
	padding: 16px 20px 20px;
	position: relative;
}

.input-container {
	align-items: flex-end;
	backdrop-filter: blur(10px);
	background: hsla(0, 0%, 100%, .9);
	border: 2px solid rgba(102, 126, 234, .2);
	border-radius: 10px;
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
	padding: 0;
	position: relative;
	transition: all .3s ease;
}

.input-container:focus-within {
	border-color: rgba(102, 126, 234, .5);
	box-shadow: 0 0 0 3px rgba(102, 126, 234, .1);
	transform: translateY(-1px);
}

.attachment-btn, .emoji-btn, .submit-btn {
	align-items: center;
	background: none;
	border: none;
	border-radius: 8px;
	color: #718096;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding: 8px;
	position: relative;
	top: -5px;
	transition: all .3s ease;
}

.attachment-btn:hover, .emoji-btn:hover, .submit-btn:hover {
	background: rgba(102, 126, 234, .1);
	color: #667eea;
	transform: scale(1.1);
}

.send-btn {
	align-items: center;
	background-color: rgba(102, 126, 234, .1);
	border: none;
	border-radius: var(--radius-round);
	box-shadow: var(--shadow-soft);
	color: #718096;
	cursor: pointer;
	display: flex;
	height: 40px;
	justify-content: center;
	transition: all .2s;
	width: 40px;
}

.send-btn:hover {
	background-color: rgba(86, 116, 248, .1);
	box-shadow: var(--shadow-strong);
	transform: scale(1.05);
}

.input-container input {
	background: transparent;
	border: none;
	color: #2d3748;
	flex: 1;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	outline: none;
	padding: 10px 12px;
}

.input-container input::placeholder {
	color: #a0aec0;
	font-weight: 500;
}

.emoji-picker {
	animation: fade-in .2s forwards;
	background-color: #fff;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	bottom: 70px;
	box-shadow: var(--shadow-strong);
	display: none;
	opacity: 0;
	padding: 10px;
	position: absolute;
	right: 20px;
	transform: translateY(10px);
	z-index: 100;
}

@keyframes fade-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.emoji-group {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(4, 1fr);
}

.emoji {
	align-items: center;
	border-radius: var(--radius-sm);
	cursor: pointer;
	display: flex;
	font-size: 18px;
	height: 30px;
	justify-content: center;
	transition: all .2s;
	width: 30px;
}

.emoji:hover {
	background-color: var(--light-bg);
	transform: scale(1.1);
}

.chat-footer {
	background-color: var(--bg-color);
	border-top: 1px solid var(--border-color);
	padding: 8px 15px;
}

.powered-by {
	color: var(--light-text);
	display: block;
	font-size: 11px;
	text-align: center;
}

.typing-indicator {
	gap: 4px;
	justify-content: center;
	padding: 8px 16px;
}

.typing-dot {
	animation: typing-dot-animation 1s infinite;
	background-color: var(--light-text);
	opacity: .6;
}

.remote-typing-indicator {
	animation: slideIn .3s ease-out;
	margin-bottom: 12px;
}

.remote-typing-indicator .message-bubble {
	background: rgba(102, 126, 234, .1);
	border: 1px solid rgba(102, 126, 234, .2);
	border-radius: 18px;
	border-bottom-left-radius: 4px;
	color: #667eea;
	font-style: italic;
	padding: 8px 12px;
}

.typing-text {
	font-size: 13px;
	font-weight: 500;
}

.typing-dots {
	gap: 3px;
}

.typing-dots .typing-dot {
	animation: typing-dot-animation 1.2s infinite;
	background-color: #667eea;
}

.typing-dots .typing-dot:first-child {
	animation-delay: 0s;
}

.typing-dots .typing-dot:nth-child(2) {
	animation-delay: .2s;
}

.typing-dots .typing-dot:nth-child(3) {
	animation-delay: .4s;
}

.search-indicator {
	align-items: center;
	background: linear-gradient(135deg, #e3f2fd, #f3e5f5);
	border: 1px solid rgba(102, 126, 234, .2);
	border-radius: var(--radius-sm);
	display: flex;
	gap: 8px;
	justify-content: center;
	padding: 12px 16px;
}

.search-icon {
	animation: search-spin 2s linear infinite;
	flex-shrink: 0;
}

.search-icon, .search-text {
	color: var(--primary-color);
}

.search-text {
	font-size: 13px;
	font-weight: 500;
	margin-right: 4px;
}

.search-dots {
	display: flex;
	gap: 3px;
}

.search-dots .typing-dot {
	background-color: var(--primary-color);
	height: 6px;
	width: 6px;
}

@keyframes search-spin {
	0% {
		transform: rotate(0deg);
	}
	
	to {
		transform: rotate(1turn);
	}
}

@media (max-width:480px) {
	.input-container {
		width: 80%;
	}
	
	.askany-chat-header h3, .send-btn {
		font-size: 13px;
	}
	
	.askany-chat-container {
		bottom: 10px;
		height: 522px;
		height: 85vh;
		left: 10px;
		margin: 0 auto;
		max-height: 600px;
		max-width: 380px;
		right: 10px;
		width: 325px;
		width: 95vw;
	}
	
	.input-container {
		align-items: center;
		flex-wrap: nowrap;
		margin-bottom: 8px;
		padding: 8px;
		width: 100% !important;
	}
	
	.input-container input {
		flex: 1;
		font-size: 14px;
		margin: auto;
		min-width: 0;
		padding: 8px 10px;
	}
	
	.attachment-btn, .emoji-btn, .send-btn, .submit-btn {
		flex-shrink: 0;
		height: 36px;
		margin: 0 2px;
		padding: 6px;
		width: 36px;
	}
	
	.askany-chat-input {
		padding: 12px 15px 15px;
	}
	
	.askany-chat-messages {
		height: calc(100% - 200px);
		min-height: 250px;
	}
	
	.suggested-prompts {
		margin-bottom: 8px;
	}
	
	.prompt-items {
		gap: 6px;
		padding: 8px;
	}
	
	.prompt-item {
		font-size: 12px;
		padding: 8px 12px;
	}
	
	.product-image {
		height: 50px;
		width: 50px;
	}
}

.askany-chat-tabs {
	background-color: var(--bg-color);
	border-bottom: 1px solid var(--border-color);
	position: relative;
	z-index: 5;
}

.askany-chat-tabs, .tab-btn {
	align-items: center;
	display: flex;
	justify-content: center;
}

.tab-btn svg {
	flex-shrink: 0;
	margin-right: 5px;
}

.tab-btn span {
	display: inline-block;
	line-height: 1;
}

.tab-btn.active {
	border-bottom-color: #3182ce;
	color: #3182ce;
}

.tab-btn.active svg {
	stroke: #3182ce;
}

.tab-btn:focus {
	outline: none;
}

.askany-chat-tabs .tab-btn {
	align-items: center;
	background: none;
	border: none;
	color: var(--light-text);
	cursor: pointer;
	flex: 1;
	font-size: 14px;
	font-weight: 500;
	justify-content: center;
	padding: 12px 15px;
	position: relative;
	text-align: center;
	transition: all .2s ease;
}

.askany-chat-tabs .tab-btn:hover {
	color: var(--primary-color);
}

.askany-chat-tabs .tab-btn.active {
	color: var(--primary-color);
	font-weight: 600;
}

.askany-chat-tabs .tab-btn.active:after {
	animation: tab-highlight .3s ease forwards;
	background-color: var(--primary-color);
	bottom: -1px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

@keyframes tab-highlight {
	0% {
		opacity: .5;
		transform: scaleX(.5);
	}
	
	to {
		opacity: 1;
		transform: scaleX(1);
	}
}

.askany-chat-tab-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.askany-contact-form {
	background-color: var(--light-bg);
	flex: 1;
	overflow-y: auto;
	padding: 15px;
}

.askany-contact-form form {
	max-width: 100% !important;
}

.askany-contact-form input[type=email], .askany-contact-form input[type=tel], .askany-contact-form input[type=text], .askany-contact-form textarea {
	background-color: var(--bg-color);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	color: var(--text-color);
	margin-bottom: 12px;
	padding: 10px;
	width: 100%;
}

.askany-contact-form textarea {
	min-height: 120px;
	resize: vertical;
}

.askany-contact-form input[type=submit] {
	background-color: var(--primary-color);
	border: none;
	border-radius: var(--radius-sm);
	color: #fff;
	cursor: pointer;
	font-weight: 500;
	padding: 10px 15px;
	transition: background-color .2s;
}

.askany-contact-form input[type=submit]:hover {
	background-color: var(--primary-hover);
}

.askany-chat-widget.with-tabs .askany-chat-messages {
	height: 80%;
}

.askany-chat-widget.dark-mode {
	--text-color: #e4e6eb;
	--light-text: #b0b3b8;
	--bg-color: #242526;
	--light-bg: #3a3b3c;
	--border-color: #3e4042;
	--bubble-ai: #3a3b3c;
	--bubble-ai-text: #e4e6eb;
	--shadow-soft: 0 2px 10px rgba(0, 0, 0, .3);
	--shadow-strong: 0 5px 15px rgba(0, 0, 0, .4);
}

.askany-chat-widget.dark-mode .askany-chat-tabs {
	background-color: var(--bg-color);
}

.askany-chat-widget.dark-mode .askany-contact-form input[type=email], .askany-chat-widget.dark-mode .askany-contact-form input[type=tel], .askany-chat-widget.dark-mode .askany-contact-form input[type=text], .askany-chat-widget.dark-mode .askany-contact-form textarea {
	background-color: var(--light-bg);
	border-color: var(--border-color);
	color: var(--text-color);
}

.message-bubble.product-message {
	background-color: #fff;
	max-width: 100%;
	overflow: hidden;
	padding: 0;
}

.message-bubble.product-message .product-item {
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	display: flex;
	padding: 12px;
}

.message-bubble.product-message .product-image {
	height: 80px;
	margin-right: 12px;
	width: 80px;
}

.message-bubble.product-message .product-details {
	flex: 1;
	min-width: 0;
}

.message-bubble.product-message .product-title {
	font-size: 14px;
	margin-bottom: 4px;
}

.message-bubble.product-message .product-description {
	color: #666;
	font-size: 12px;
	margin-bottom: 8px;
}

.message-bubble.product-message .product-price {
	color: #e63946;
	font-weight: 600;
	margin-bottom: 8px;
}

.message-bubble.product-message .product-actions {
	display: flex;
	gap: 8px;
}

.message-bubble.product-message .add-to-cart-button, .message-bubble.product-message .view-button {
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	padding: 6px 12px;
	text-align: center;
	text-decoration: none;
	transition: all .2s ease;
}

.message-bubble.product-message .view-button {
	background-color: #f1f1f1;
	color: #333;
}

.message-bubble.product-message .add-to-cart-button {
	background-color: #4caf50;
	color: #fff;
}

.message-bubble.product-message .view-button:hover {
	background-color: #e5e5e5;
}

.message-bubble.product-message .add-to-cart-button:hover {
	background-color: #43a047;
}

.message-bubble.product-message .product-item.enhanced {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	flex-direction: column;
	margin-bottom: 8px;
	padding: 16px;
}

.message-bubble.product-message .product-item.enhanced .product-image {
	align-self: flex-start;
	height: 100px;
	margin-bottom: 12px;
	margin-right: 0;
	width: 100px;
}

.message-bubble.product-message .product-sku {
	color: #888;
	font-size: 11px;
	margin-bottom: 4px;
}

.message-bubble.product-message .sale-badge {
	background: #f44;
	border-radius: 3px;
	color: #fff;
	font-size: 10px;
	margin-left: 8px;
	padding: 2px 6px;
}

.message-bubble.product-message .product-stock {
	font-size: 11px;
	font-weight: 500;
	margin-bottom: 4px;
}

.message-bubble.product-message .product-stock.in-stock {
	color: #28a745;
}

.message-bubble.product-message .product-stock.out-of-stock {
	color: #dc3545;
}

.message-bubble.product-message .product-categories {
	color: #666;
	font-size: 11px;
	margin-bottom: 4px;
}

.message-bubble.product-message .product-rating {
	color: orange;
	font-size: 11px;
	margin-bottom: 6px;
}

@media (max-width:480px) {
	.message-bubble.product-message .product-item {
		flex-direction: column;
	}
	
	.message-bubble.product-message .product-image {
		height: 120px;
		margin-bottom: 12px;
		margin-right: 0;
		width: 100%;
	}
	
	.message-bubble.product-message .product-details {
		padding: 0;
	}
}

button.submit-button.sf-form-submit {
	width: 100%;
}

.simple_form_content .text-fields {
	align-items: baseline;
	display: flex;
	flex-direction: column;
	justify-content: left;
	margin-top: 5px;
	overflow: hidden;
	text-align: left;
}

.askany-content-wrapper {
	display: flex;
	flex: 1;
	flex-direction: column;
	position: relative;
}

.askany-main-tabs {
	background: var(--light-bg);
	border-top: 1px solid var(--border-color);
	display: flex;
	flex-shrink: 0;
	padding: 0;
	position: relative;
	z-index: 10;
}

.main-tab-btn svg {
	height: 16px;
	width: 16px;
}

.askany-main-tab-content {
	display: none;
	flex: 1;
	overflow: hidden;
}

.askany-main-tab-content#home-tab, .askany-main-tab-content.active {
	display: flex;
	flex-direction: column;
}

.askany-main-tab-content#home-tab:not(.active), .askany-main-tab-content#messages-tab {
	display: none;
}

.askany-direct-chat-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
}

.askany-home-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
	overflow-y: auto;
	padding: 20px;
}

.home-logo-section {
	margin-bottom: 10px;
	text-align: center;
}

.home-logo {
	height: auto;
	max-height: 60px;
	max-width: 120px;
}

.home-agents-section {
	margin-bottom: 10px;
	text-align: center;
}

.agents-avatars {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.agent-avatar {
	border: 2px solid var(--border-color);
	border-radius: 50%;
	height: 40px;
	overflow: hidden;
	transition: transform var(--anim-speed) ease;
	width: 40px;
}

.agent-avatar:hover {
	border-color: var(--primary-color);
	transform: scale(1.1);
}

.agent-avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.home-welcome-section {
	margin-bottom: 20px;
	text-align: center;
}

.welcome-title {
	align-items: center;
	color: var(--text-color);
	display: flex;
	font-size: 24px;
	font-weight: 600;
	gap: 8px;
	justify-content: center;
	margin: 0 0 8px;
}

.welcome-title .user-name {
	background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
	-webkit-background-clip: text;
	color: var(--primary-color);
	font-weight: 700;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.wave-emoji {
	animation: wave 2s ease-in-out infinite;
	font-size: 24px;
}

@keyframes wave {
	0%, to {
		transform: rotate(0deg);
	}
	
	25% {
		transform: rotate(20deg);
	}
	
	75% {
		transform: rotate(-10deg);
	}
}

.welcome-subtitle {
	color: var(--light-text);
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
}

.home-actions-section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.home-action-item {
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: transform var(--anim-speed) ease;
}

.home-action-item:hover {
	transform: translateY(-2px);
}

.action-link {
	align-items: center;
	background: var(--light-bg);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	display: flex;
	gap: 12px;
	padding: 16px;
	transition: all var(--anim-speed) ease;
}

.action-link, .action-link:hover {
	color: var(--text-color);
	text-decoration: none;
}

.action-link:hover {
	background: var(--bg-color);
	border-color: var(--primary-color);
	box-shadow: var(--shadow-soft);
}

.action-icon {
	align-items: center;
	background: var(--primary-color);
	border-radius: var(--radius-sm);
	color: #fff;
	display: flex;
	flex-shrink: 0;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.action-icon svg {
	height: 20px;
	width: 20px;
}

.action-content {
	flex: 1;
}

.action-title {
	color: var(--text-color);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 4px;
}

.action-subtitle {
	color: var(--light-text);
	font-size: 12px;
	line-height: 1.4;
}

.home-faq-section {
	margin-top: 10px;
}

.faq-title {
	color: var(--text-color);
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 12px;
}

.faq-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.faq-item {
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: border-color var(--anim-speed) ease;
}

.faq-item:hover {
	border-color: var(--primary-color);
}

.faq-question {
	align-items: center;
	background: var(--light-bg);
	border: none;
	color: var(--text-color);
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 500;
	justify-content: space-between;
	padding: 12px 16px;
	text-align: left;
	transition: all var(--anim-speed) ease;
	width: 100%;
}

.faq-question:hover {
	background: rgba(74, 108, 247, .05);
}

.faq-question svg {
	color: var(--light-text);
	height: 16px;
	transition: transform var(--anim-speed) ease;
	width: 16px;
}

.faq-answer {
	background: var(--bg-color);
	border-top: 1px solid var(--border-color);
	color: var(--text-color);
	font-size: 13px;
	line-height: 1.5;
	padding: 16px;
}

.faq-answer p {
	margin: 0 0 8px;
}

.faq-answer p:last-child {
	margin-bottom: 0;
}

@media (max-width:480px) {
	.askany-home-content {
		gap: 16px;
		padding: 16px;
	}
	
	.welcome-title {
		font-size: 20px;
	}
	
	.welcome-subtitle {
		font-size: 14px;
	}
	
	.action-link {
		padding: 12px;
	}
	
	.action-icon {
		height: 36px;
		width: 36px;
	}
	
	.agents-avatars {
		gap: 6px;
	}
	
	.agent-avatar {
		height: 36px;
		width: 36px;
	}
}

.askany-main-tab-content#messages-tab .askany-chat-tab-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.askany-main-tab-content#messages-tab .askany-chat-messages {
	flex: 1;
	margin-top: -14px;
	min-height: 0;
	overflow-y: auto;
	padding: 15px;
}

.askany-main-tab-content#messages-tab .askany-contact-form {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 15px;
}

.askany-direct-chat-content .askany-chat-tab-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.askany-direct-chat-content .askany-chat-messages, .askany-direct-chat-content .askany-contact-form {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 15px;
}

.askany-direct-chat-content .askany-chat-tabs, .askany-main-tab-content#messages-tab .askany-chat-tabs {
	background-color: var(--bg-color);
	border-bottom: 1px solid var(--border-color);
	display: flex;
	flex-shrink: 0;
}

.askany-direct-chat-content .suggested-prompts, .askany-main-tab-content#messages-tab .suggested-prompts {
	background-color: var(--bg-color);
	border-top: 1px solid var(--border-color);
	bottom: 144px;
	display: block;
	flex-shrink: 0;
	position: relative;
}

.askany-direct-chat-content .askany-chat-input, .askany-main-tab-content#messages-tab .askany-chat-input {
	background-color: var(--bg-color);
	border-top: 1px solid var(--border-color);
	bottom: -15px;
	flex-shrink: 0;
	padding: 10px 15px;
	position: absolute;
	width: 100%;
}

.askany-main-tab-content#messages-tab, .askany-main-tab-content#messages-tab.active {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.askany-direct-chat-content .askany-contact-form form, .askany-main-tab-content#messages-tab .askany-contact-form form {
	height: auto;
	max-width: 100%;
}

.askany-direct-chat-content .askany-contact-form input, .askany-direct-chat-content .askany-contact-form textarea, .askany-main-tab-content#messages-tab .askany-contact-form input, .askany-main-tab-content#messages-tab .askany-contact-form textarea {
	box-sizing: border-box;
	width: 100%;
}

@media (max-width:480px) {
	.askany-direct-chat-content .askany-chat-messages, .askany-direct-chat-content .askany-contact-form, .askany-main-tab-content#messages-tab .askany-chat-messages, .askany-main-tab-content#messages-tab .askany-contact-form {
		padding: 10px;
	}
}

.askany-chat-container.minimized {
	height: auto !important;
	min-height: auto !important;
	transition: all .4s cubic-bezier(.4, 0, .2, 1);
}

.askany-chat-container.minimized .askany-chat-header {
	border-radius: 20px 20px 20px 20px;
	cursor: pointer;
	overflow: hidden;
	position: relative;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.askany-chat-container.minimized .askany-chat-header:hover {
	background: rgba(0, 123, 186, .03);
	box-shadow: 0 2px 8px rgba(0, 123, 186, .08);
	transform: translateY(-1px);
}

.askany-chat-container.minimized .askany-chat-header:hover .assistant-avatar {
	background: linear-gradient(135deg, #667eea, #764ba2);
	transform: none;
}

.askany-chat-container.minimized .askany-chat-header:hover .assistant-avatar img {
	filter: none;
	opacity: 1;
}

.askany-chat-container.minimized .askany-content-wrapper, .askany-chat-container.minimized .askany-main-tabs {
	display: none !important;
}

.askany-content-wrapper {
	overflow: hidden;
}

.askany-content-wrapper, .askany-main-tabs {
	transition: all .4s cubic-bezier(.4, 0, .2, 1);
}

.askany-chat-header {
	position: relative;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.minimize-btn {
	transition: all .3s ease;
}

.minimize-btn:hover {
	background: rgba(0, 123, 186, .1);
	color: #007cba;
	transform: scale(1.1);
}

.askany-chat-widget .askany-chat-container.minimized {
	position: relative;
	transform: none;
}

@media (max-width:480px) {
	.askany-chat-container.minimized .askany-chat-header:after {
		display: none;
	}
	
	.askany-chat-container.minimized .askany-chat-header:hover {
		transform: none;
	}
}

.askany-stats-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin-top: 10px;
}

.askany-stats-column {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.askany-stats-column p {
	background: hsla(0, 0%, 100%, .7);
	border: 1px solid rgba(0, 0, 0, .05);
	border-radius: 6px;
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
	padding: 8px 12px;
	transition: all .2s ease;
}

.askany-stats-column p:hover {
	background: hsla(0, 0%, 100%, .9);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
	transform: translateY(-1px);
}

.askany-stats-column strong {
	color: #667eea;
	font-weight: 700;
}

.askany-health-good {
	color: #48bb78 !important;
}

.askany-health-warning {
	color: #ed8936 !important;
}

.askany-health-critical {
	color: #e53e3e !important;
}

@media (max-width:768px) {
	.askany-stats-grid {
		gap: 15px;
		grid-template-columns: 1fr;
	}
	
	.askany-stats-column p {
		font-size: 12px;
		padding: 6px 10px;
	}
}

@media (max-width:480px) {
	.askany-stats-grid {
		gap: 10px;
	}
	
	.askany-stats-column {
		gap: 6px;
	}
}

.askany-chat-widget.encrypted .askany-chat-toggle:before {
	background: #10b981;
	border: 2px solid #fff;
	border-radius: 50%;
	content: "";
	height: 8px;
	position: absolute;
	right: -2px;
	top: -2px;
	width: 8px;
	z-index: 1;
}

.encryption-status {
	align-items: center;
	bottom: 5px;
	color: #10b981;
	display: flex;
	gap: 2px;
	opacity: .7;
}

.encryption-status.disabled {
	color: #ef4444;
}

.encryption-status:before {
	content: "🔒";
	font-size: 8px;
}

.encryption-status.disabled:before {
	content: "🔓";
}

.encrypting-indicator {
	align-items: center;
	color: #10b981;
	display: inline-flex;
	font-size: 11px;
	gap: 5px;
	opacity: .8;
}

.encrypting-indicator:before {
	animation: pulse 1.5s infinite;
	content: "🔐";
}

@keyframes pulse {
	0%, to {
		opacity: .5;
	}
	
	50% {
		opacity: 1;
	}
}

.security-notice {
	align-items: center;
	background: linear-gradient(135deg, #10b981, #059669);
	border-radius: 6px;
	color: #fff;
	display: flex;
	font-size: 11px;
	gap: 5px;
	margin: 5px 0;
}

.security-notice:before {
	content: "🛡️";
	font-size: 12px;
}

.security-notice.warning {
	background: linear-gradient(135deg, #f59e0b, #d97706);
}

.security-notice.warning:before {
	content: "⚠️";
}

.message-bubble a {
	color: var(--primary-color);
	transition: all .2s ease;
}

.message-bubble a:hover {
	border-bottom-color: var(--primary-hover);
	color: var(--primary-hover);
}

.external-source-ref {
	background: rgba(74, 108, 247, .1);
	border-left: 3px solid var(--primary-color);
	border-radius: 4px;
	font-size: 13px;
	margin: 8px 0;
	padding: 8px 12px;
}

.external-source-ref strong {
	color: var(--primary-color);
	font-weight: 600;
}

.external-source-ref a {
	color: var(--primary-color);
	font-weight: 500;
}

.message-bubble ol, .message-bubble ul {
	margin: 8px 0;
	padding-left: 20px;
}

.message-bubble li {
	margin: 4px 0;
}

.message-bubble br+br {
	content: "";
	display: block;
	margin: 8px 0;
}

.chat-messages.user-scrolling {
	scroll-behavior: auto;
}

.chat-messages:not(.user-scrolling) {
	scroll-behavior: smooth;
}

.chat-message.new-message {
	animation: messageHighlight 2s ease-out;
}

@keyframes messageHighlight {
	0% {
		background-color: rgba(74, 108, 247, .1);
		transform: translateX(-5px);
	}
	
	to {
		background-color: transparent;
		transform: translateX(0);
	}
}

.message-bubble a[href^=http]:after {
	content: " 🔗";
	font-size: 12px;
	opacity: .7;
}

.message-bubble a[href^=mailto]:after {
	content: " ✉️";
	font-size: 12px;
	opacity: .7;
}

.message-bubble p {
	margin: 8px 0;
}

.message-bubble p:first-child {
	margin-top: 0;
}

.message-bubble p:last-child {
	margin-bottom: 0;
}

.attachment-preview-container {
	backdrop-filter: blur(10px);
	background: rgba(248, 249, 250, .98);
	border: 1px solid var(--border-color);
	border-left: 3px solid var(--primary-color);
	border-radius: var(--radius-sm);
	bottom: 100px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
	margin: 5px 7px 5px 14px;
	max-height: 100px;
	overflow-y: auto;
	padding: 10px;
	position: relative;
	z-index: 1;
}

.attachment-preview-item {
	align-items: center;
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 6px;
	display: flex;
	padding: 8px;
	position: relative;
}

.attachment-preview-image {
	border-radius: 4px;
	flex-shrink: 0;
	height: 40px;
	margin-right: 10px;
	overflow: hidden;
	width: 40px;
}

.attachment-preview-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.attachment-preview-icon {
	align-items: center;
	background: var(--light-bg);
	border-radius: 4px;
	color: var(--light-text);
	display: flex;
	flex-shrink: 0;
	height: 40px;
	justify-content: center;
	margin-right: 10px;
	width: 40px;
}

.attachment-preview-info {
	flex: 1;
	min-width: 0;
}

.attachment-preview-name {
	color: var(--text-color);
	font-size: 13px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.attachment-preview-size {
	color: var(--light-text);
	font-size: 11px;
	margin-top: 2px;
}

.attachment-remove-btn {
	align-items: center;
	background: #fff;
	border: none;
	border-radius: 50%;
	color: #dc3545;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: center;
	position: absolute;
	right: 6px;
	top: 6px;
	transition: all .2s ease;
}

.attachment-remove-btn:hover {
	background: #fff;
	color: #dc3545;
	transform: scale(1.1);
}

.attachment-remove-btn svg {
	height: 12px;
	width: 12px;
}

.attachment-preview-actions {
	margin-top: 8px;
	text-align: right;
}

.attachment-clear-all-btn {
	background: none;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	color: var(--light-text);
	cursor: pointer;
	font-size: 11px;
	padding: 4px 8px;
	transition: all .2s ease;
}

.attachment-clear-all-btn:hover {
	background: var(--light-bg);
	color: var(--text-color);
}

.askany-chat-messages.drag-over {
	background: rgba(74, 108, 247, .05);
	border: 2px dashed var(--primary-color);
	position: relative;
}

.askany-chat-messages.drag-over:after {
	background: var(--primary-color);
	border-radius: var(--radius-sm);
	color: #fff;
	content: "📎 Drop files here to attach";
	font-weight: 500;
	left: 50%;
	padding: 12px 20px;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

.attachment-btn {
	position: relative;
}

.attachment-btn.has-files:after {
	align-items: center;
	background: var(--primary-color);
	border-radius: 50%;
	color: #fff;
	content: attr(data-count);
	display: flex;
	font-size: 10px;
	font-weight: 600;
	height: 16px;
	justify-content: center;
	position: absolute;
	right: -4px;
	top: -4px;
	width: 16px;
}

.message-bubble .file-attachment-info {
	background: rgba(74, 108, 247, .1);
	border-left: 3px solid var(--primary-color);
	border-radius: 4px;
	color: var(--primary-color);
	font-size: 12px;
	margin: 4px 0;
	padding: 8px 12px;
}

.message-bubble .file-attachment-list {
	margin: 8px 0;
}

.message-bubble .file-attachment-item {
	align-items: center;
	background: rgba(0, 0, 0, .05);
	border-radius: 4px;
	display: flex;
	font-size: 12px;
	margin: 4px 0;
	padding: 6px 8px;
}

.message-bubble .file-attachment-item svg {
	flex-shrink: 0;
	margin-right: 6px;
}

.attachment-preview-header {
	color: var(--primary-color);
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
}

.attachment-preview-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.product-actions .add-to-cart-button, .product-actions .view-button {
	background: var(--primary-color);
	border: none;
	border-radius: var(--radius-sm);
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	margin-right: 8px;
	padding: 8px 16px;
	text-decoration: none;
	transition: all .2s ease;
}

.product-actions .view-button {
	background: var(--light-bg);
	border: 1px solid var(--border-color);
	color: var(--text-color);
}

.product-actions .view-button:hover {
	background: var(--primary-color);
	box-shadow: 0 4px 12px rgba(74, 108, 247, .3);
	color: #fff;
	transform: translateY(-1px);
}

.product-actions .add-to-cart-button:hover {
	background: var(--primary-hover);
	box-shadow: 0 4px 12px rgba(74, 108, 247, .3);
	transform: translateY(-1px);
}

.product-actions .add-to-cart-button.added {
	background: #28a745;
	transform: scale(1.05);
}

.product-actions .add-to-cart-button:disabled, .product-actions .view-button:disabled {
	cursor: not-allowed;
	opacity: .6;
	transform: none;
}

.askany-product-modal-overlay {
	background: rgba(0, 0, 0, .7);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999999;
}

.askany-product-modal {
	animation: modalFadeIn .3s ease;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 3px 9px rgba(0, 0, 0, .3);
	left: 50%;
	max-height: 90vh;
	max-width: 800px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
}

@keyframes modalFadeIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -48%);
	}
	
	to {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

.modal-header {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	display: flex;
	justify-content: space-between;
	padding: 20px 24px;
}

.modal-header h3 {
	color: #333;
	font-size: 20px;
	font-weight: 600;
	margin: 0;
}

.modal-close-btn {
	align-items: center;
	background: transparent;
	border: none;
	color: #999;
	cursor: pointer;
	display: flex;
	font-size: 28px;
	height: 32px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	transition: color .2s ease;
	width: 32px;
}

.modal-close-btn:hover {
	color: #333;
}

.modal-body {
	background: #fff;
	max-height: calc(90vh - 180px);
	overflow-y: auto;
	padding: 24px;
}

.modal-body::-webkit-scrollbar {
	width: 8px;
}

.modal-body::-webkit-scrollbar-track {
	background: #f5f5f5;
}

.modal-body::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb:hover {
	background: #999;
}

.modal-product-image {
	background: #f9f9f9;
	border-radius: 4px;
	margin-bottom: 24px;
	padding: 20px;
	text-align: center;
}

.modal-product-image img {
	border-radius: 4px;
	height: auto;
	max-height: 400px;
	max-width: 100%;
}

.modal-product-details>* {
	margin-bottom: 16px;
}

.modal-product-price {
	align-items: center;
	color: #333;
	display: flex;
	font-size: 24px;
	font-weight: 600;
	gap: 10px;
	margin-bottom: 12px;
}

.modal-product-price .sale-badge {
	background: #e74c3c;
	border-radius: 3px;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .5px;
	padding: 4px 10px;
	text-transform: uppercase;
}

.modal-product-sku {
	color: #777;
	font-size: 13px;
	margin-bottom: 8px;
}

.modal-product-stock {
	align-items: center;
	border-radius: 3px;
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	gap: 6px;
	margin-bottom: 12px;
	padding: 6px 12px;
}

.modal-product-stock:before {
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 8px;
	width: 8px;
}

.modal-product-stock.in-stock {
	background: #ecf7ed;
	color: #46b450;
}

.modal-product-stock.in-stock:before {
	background: #46b450;
}

.modal-product-stock.out-of-stock {
	background: #f9e2e2;
	color: #dc3232;
}

.modal-product-stock.out-of-stock:before {
	background: #dc3232;
}

.modal-product-description {
	border-bottom: 1px solid #e5e5e5;
	border-top: 1px solid #e5e5e5;
	color: #555;
	font-size: 14px;
	line-height: 1.6;
	margin: 16px 0;
	padding: 16px 0;
}

.modal-product-categories, .modal-product-rating {
	display: inline-block;
	font-size: 13px;
	margin-right: 16px;
	padding: 4px 0;
}

.modal-product-categories {
	color: #666;
}

.modal-product-rating {
	color: #f90;
	font-weight: 600;
}

.modal-product-attributes {
	background: #f9f9f9;
	border-radius: 4px;
	margin-top: 20px;
	padding: 16px;
}

.modal-product-attributes h4 {
	color: #333;
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 12px;
}

.modal-product-attributes ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.modal-product-attributes li {
	border-bottom: 1px solid #e5e5e5;
	color: #555;
	font-size: 14px;
	padding: 8px 0;
}

.modal-product-attributes li:last-child {
	border-bottom: none;
}

.modal-product-attributes li strong {
	color: #333;
	font-weight: 600;
	margin-right: 8px;
}

.modal-footer {
	align-items: center;
	background: #f9f9f9;
	border-top: 1px solid #e5e5e5;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 20px 24px;
}

.modal-quantity-selector {
	align-items: center;
	display: flex;
	gap: 8px;
}

.modal-quantity-selector label {
	color: #333;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
}

.modal-quantity-selector input {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
	color: #333;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 10px;
	text-align: center;
	width: 60px;
}

.modal-quantity-selector input:focus {
	border-color: #999;
	outline: none;
}

.modal-add-to-cart-btn {
	background: #0071a1;
	border: none;
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	min-width: 140px;
	padding: 10px 24px;
	transition: background .2s ease;
}

.modal-add-to-cart-btn:hover {
	background: #005177;
}

.modal-add-to-cart-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
}

.modal-add-to-cart-btn.added {
	background: #46b450;
}

.modal-view-product-btn {
	align-items: center;
	background: transparent;
	border: 1px solid #0071a1;
	border-radius: 3px;
	color: #0071a1;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	gap: 6px;
	padding: 10px 20px;
	text-decoration: none;
	transition: all .2s ease;
}

.modal-view-product-btn:hover {
	background: #0071a1;
	color: #fff;
}

@media (max-width:768px) {
	.askany-product-modal {
		max-width: 95%;
		width: 95%;
	}
	
	.modal-header {
		padding: 16px 20px;
	}
	
	.modal-header h3 {
		font-size: 18px;
	}
	
	.modal-body {
		padding: 20px;
	}
	
	.modal-product-image {
		padding: 16px;
	}
	
	.modal-product-image img {
		max-height: 300px;
	}
	
	.modal-product-price {
		font-size: 20px;
	}
	
	.modal-footer {
		align-items: stretch;
		flex-direction: column;
		padding: 16px 20px;
	}
	
	.modal-quantity-selector {
		justify-content: flex-start;
	}
	
	.modal-add-to-cart-btn, .modal-view-product-btn {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width:480px) {
	.modal-header h3 {
		font-size: 16px;
	}
	
	.modal-product-price {
		align-items: flex-start;
		flex-direction: column;
		font-size: 18px;
	}
	
	.modal-view-product-btn {
		font-size: 13px;
		padding: 14px 20px;
	}
}

.ajax-add-to-cart:disabled, .ajax-view-product:disabled {
	color: transparent;
	cursor: not-allowed;
	opacity: .7;
	position: relative;
}

.ajax-add-to-cart:disabled:after, .ajax-view-product:disabled:after {
	animation: modernSpin 1s linear infinite;
	border: 3px solid transparent;
	border-radius: 50%;
	border-top-color: currentcolor;
	content: "";
	height: 20px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
}

@keyframes modernSpin {
	0% {
		border-top-color: currentColor;
		transform: translate(-50%, -50%) rotate(0deg);
	}
	
	25% {
		border-right-color: currentColor;
	}
	
	50% {
		border-bottom-color: currentColor;
	}
	
	75% {
		border-left-color: currentColor;
	}
	
	to {
		border-top-color: currentColor;
		transform: translate(-50%, -50%) rotate(1turn);
	}
}

@media (prefers-color-scheme:dark) {
	.askany-product-modal {
		background: linear-gradient(135deg, #1e293b, #334155);
		border: 1px solid hsla(0, 0%, 100%, .1);
	}
	
	.modal-body {
		background: linear-gradient(180deg, #1e293b, #334155);
	}
	
	.modal-footer {
		background: linear-gradient(135deg, #1e293b, #334155);
		border-top: 1px solid hsla(0, 0%, 100%, .1);
	}
	
	.modal-quantity-selector input {
		background: rgba(15, 23, 42, .8);
		border-color: hsla(0, 0%, 100%, .2);
		color: #f1f5f9;
	}
	
	.modal-quantity-selector input:focus {
		background: rgba(15, 23, 42, .9);
		border-color: #667eea;
	}
	
	.modal-quantity-selector label {
		color: #cbd5e1;
	}
	
	.modal-product-description {
		background: rgba(15, 23, 42, .8);
		color: #cbd5e1;
	}
	
	.modal-product-attributes {
		background: linear-gradient(135deg, #1e293b, #334155);
		border: 1px solid hsla(0, 0%, 100%, .1);
	}
	
	.modal-product-attributes h4 {
		color: #f1f5f9;
	}
	
	.modal-product-attributes li {
		background: rgba(15, 23, 42, .8);
		border: 1px solid hsla(0, 0%, 100%, .1);
		color: #cbd5e1;
	}
}

.add-to-cart-button.added {
	position: relative;
}

.add-to-cart-button.added:before {
	content: "✓";
	font-weight: 700;
	left: 8px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.product-item.enhanced {
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	margin: 8px 0;
	overflow: hidden;
	transition: all .2s ease;
}

.product-item.enhanced:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
}

.cart-success-message {
	background: rgba(40, 167, 69, .1);
	border: 1px solid rgba(40, 167, 69, .3);
	border-left: 4px solid #28a745;
	border-radius: var(--radius-sm);
	margin: 8px 0;
	padding: 12px 16px;
}

.cart-success-message .success-text {
	color: #155724;
	font-weight: 500;
	margin-bottom: 8px;
}

.cart-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.checkout-btn, .view-cart-btn {
	align-items: center;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	padding: 8px 16px;
	text-decoration: none;
	transition: all .2s ease;
}

.view-cart-btn {
	background: #fcfcfc;
	color: #fff;
}

.view-cart-btn:hover {
	background: #fdf4f4;
	box-shadow: 0 4px 12px rgba(74, 108, 247, .3);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

.checkout-btn {
	background: #a7ffbb;
	color: #fff;
}

.checkout-btn:hover {
	background: #8ef1a5;
	box-shadow: 0 4px 12px rgba(40, 167, 69, .3);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

.view-cart-btn:before {
	content: "🛒";
	margin-right: 6px;
}

.checkout-btn:before {
	content: "💳";
	margin-right: 6px;
}

@media (max-width:480px) {
	.cart-actions {
		flex-direction: column;
	}
	
	.checkout-btn, .view-cart-btn {
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

.cart-summary {
	margin: 8px 0;
}

.cart-total {
	color: #155724;
	font-size: 14px;
	font-weight: 600;
}

.continue-shopping-btn {
	background: var(--light-bg);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	color: var(--text-color);
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	padding: 8px 16px;
	transition: all .2s ease;
}

.continue-shopping-btn:hover {
	background: var(--border-color);
	color: var(--text-color);
}

.continue-shopping-btn:before {
	content: "🛍️";
	margin-right: 6px;
}

.chat-message.message-entering {
	opacity: 0;
	transform: translateY(20px) scale(.95);
	transition: all .4s cubic-bezier(.4, 0, .2, 1);
}

.chat-message.message-entered {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.chat-message.assistant-message .product-message {
	animation: productSlideIn .5s ease-out;
}

@keyframes productSlideIn {
	0% {
		opacity: 0;
		transform: translateX(-20px);
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.askany-chat-messages {
	scroll-behavior: smooth;
}

.typing-indicator {
	animation: typingPulse 1.5s ease-in-out infinite;
}

@keyframes typingPulse {
	0%, to {
		opacity: .6;
	}
	
	50% {
		opacity: 1;
	}
}

.user-typing-indicator {
	color: #666;
	font-style: italic;
	justify-content: flex-end;
}

.user-typing-indicator .typing-text {
	opacity: .8;
}

.user-typing-indicator .typing-dots {
	display: flex;
	gap: 3px;
}

.user-typing-indicator .typing-dot {
	animation: userTypingDot 1.2s ease-in-out infinite;
	border-radius: 50%;
	height: 4px;
	width: 4px;
}

.user-typing-indicator .typing-dot:first-child {
	animation-delay: 0s;
}

.user-typing-indicator .typing-dot:nth-child(2) {
	animation-delay: .2s;
}

.user-typing-indicator .typing-dot:nth-child(3) {
	animation-delay: .4s;
}

@keyframes userTypingDot {
	0%, 60%, to {
		opacity: .4;
		transform: translateY(0);
	}
	
	30% {
		opacity: 1;
		transform: translateY(-8px);
	}
}

#user-typing-indicator .message-bubble {
	animation: fadeInUp .3s ease-out;
	background-color: rgba(74, 108, 247, .1);
	border: 1px solid rgba(74, 108, 247, .2);
	color: var(--primary-color);
}

.remote-typing-indicator-content {
	align-items: center;
	color: #666;
	display: flex;
	font-size: 12px;
	font-style: italic;
	gap: 8px;
	padding: 6px 10px;
}

.remote-typing-indicator-content .typing-text {
	font-weight: 500;
	opacity: .8;
}

.remote-typing-indicator-content .typing-dots {
	display: flex;
	gap: 2px;
}

.remote-typing-indicator-content .typing-dot {
	animation: remoteTypingDot 1.4s ease-in-out infinite;
	background-color: #999;
	border-radius: 50%;
	height: 4px;
	width: 4px;
}

.remote-typing-indicator-content .typing-dot:first-child {
	animation-delay: 0s;
}

.remote-typing-indicator-content .typing-dot:nth-child(2) {
	animation-delay: .2s;
}

.remote-typing-indicator-content .typing-dot:nth-child(3) {
	animation-delay: .4s;
}

@keyframes remoteTypingDot {
	0%, 60%, to {
		opacity: .3;
		transform: translateY(0);
	}
	
	30% {
		opacity: .8;
		transform: translateY(-6px);
	}
}

.remote-typing-indicator .message-bubble {
	animation: fadeInUp .3s ease-out;
	background-color: hsla(0, 0%, 60%, .1);
	border: 1px solid hsla(0, 0%, 60%, .2);
	color: #666;
}

@media (max-width:480px) {
	.remote-typing-indicator-content, .user-typing-indicator {
		font-size: 11px;
		padding: 6px 8px;
	}
	
	.remote-typing-indicator-content .typing-dot, .user-typing-indicator .typing-dot {
		height: 3px;
		width: 3px;
	}
}

.product-item.enhanced:first-child {
	animation-delay: 0s;
}

.product-item.enhanced:nth-child(2) {
	animation-delay: .2s;
}

.product-item.enhanced:nth-child(3) {
	animation-delay: .4s;
}

.product-item.enhanced:nth-child(4) {
	animation-delay: .6s;
}

.product-item.enhanced:nth-child(5) {
	animation-delay: .8s;
}

.product-item.enhanced {
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.product-item.enhanced:hover {
	box-shadow: 0 8px 25px rgba(0, 0, 0, .15);
	transform: translateY(-2px);
}

.message-bubble {
	transition: all .2s ease;
}

.chat-message:hover .message-bubble {
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.askany-chat-messages.smooth-scrolling {
	scroll-behavior: auto;
}

.chat-message.system-message {
	margin: 10px 0;
	text-align: center;
}

.message-bubble.system-bubble {
	animation: systemMessageSlide .5s ease-out;
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(102, 126, 234, .3);
	color: #fff;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	max-width: 80%;
	padding: 12px 16px;
}

@keyframes systemMessageSlide {
	0% {
		opacity: 0;
		transform: translateY(-10px) scale(.95);
	}
	
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.typing-indicator {
	align-items: center;
	background: #f0f2f5;
	border-radius: 18px;
	display: flex;
	gap: 8px;
	margin: 8px 0;
	padding: 12px 16px;
}

.typing-dots {
	display: flex;
	gap: 4px;
}

.typing-dot {
	animation: typing-dot-animation 1.4s ease-in-out infinite;
	background-color: #999;
	border-radius: 50%;
	height: 8px;
	width: 8px;
}

.typing-dot:first-child {
	animation-delay: 0s;
}

.typing-dot:nth-child(2) {
	animation-delay: .2s;
}

.typing-dot:nth-child(3) {
	animation-delay: .4s;
}

@keyframes typing-dot-animation {
	0%, 60%, to {
		opacity: .4;
		transform: translateY(0);
	}
	
	30% {
		opacity: 1;
		transform: translateY(-8px);
	}
}

.remote-typing-indicator {
	animation: fadeInUp .3s ease-out;
	background: rgba(74, 108, 247, .1);
	border: 1px solid rgba(74, 108, 247, .2);
	border-radius: 12px;
	color: #4a6cf7;
	font-size: 13px;
	font-style: italic;
	margin: 8px 0;
	padding: 8px 12px;
}

.remote-typing-indicator .typing-text {
	font-weight: 500;
}

.remote-typing-indicator .typing-dots {
	display: inline-flex;
	margin-left: 8px;
}

.remote-typing-indicator .typing-dot {
	background-color: #4a6cf7;
	height: 4px;
	width: 4px;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.user-typing-indicator {
	align-items: center;
	background: rgba(74, 108, 247, .1);
	border-radius: 12px;
	color: #fafafa;
	display: flex;
	font-size: 12px;
	gap: 8px;
	padding: 8px 12px;
}

.user-typing-indicator .typing-text {
	font-weight: 500;
}

.admin-typing-indicator {
	animation: adminTypingSlide .4s ease-out;
	background: linear-gradient(135deg, #e3f2fd, #bbdefb);
	border: 1px solid #2196f3;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(33, 150, 243, .2);
	margin-bottom: 15px;
	padding: 12px 16px;
}

@keyframes adminTypingSlide {
	0% {
		opacity: 0;
		transform: translateX(-20px);
	}
	
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.typing-indicator-content {
	align-items: center;
	color: #1976d2;
	display: flex;
	gap: 10px;
}

.typing-text {
	font-size: 14px;
	font-weight: 600;
}

.typing-dots .typing-dot {
	animation: admin-typing-dot-animation 1.2s infinite;
	background-color: #1976d2;
	border-radius: 50%;
	height: 6px;
	width: 6px;
}

@keyframes admin-typing-dot-animation {
	0%, 60%, to {
		opacity: .4;
		transform: translateY(0);
	}
	
	30% {
		opacity: 1;
		transform: translateY(-6px);
	}
}

.notification-badge {
	align-items: center;
	animation: notificationPulse 2s infinite;
	background: #f44;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 11px;
	font-weight: 700;
	height: 20px;
	justify-content: center;
	position: absolute;
	right: -5px;
	top: -5px;
	width: 20px;
}

@keyframes notificationPulse {
	0%, to {
		transform: scale(1);
	}
	
	50% {
		transform: scale(1.1);
	}
}

.encryption-status {
	border-radius: 12px;
	bottom: 4px;
	color: #c30000;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .5px;
	padding: 4px 8px;
	position: absolute;
	right: 10px;
	text-transform: uppercase;
}

.encryption-status.disabled {
	background: #ff9800;
}

.security-notice {
	animation: securityNoticeSlide .5s ease-out;
	background: #e8f5e8;
	border: 1px solid #4caf50;
	border-radius: 8px;
	color: #2e7d32;
	font-size: 12px;
	margin: 10px 0;
	padding: 8px 12px;
	text-align: center;
}

.security-notice.warning {
	background: #fff3e0;
	border-color: #ff9800;
	color: #e65100;
}

@keyframes securityNoticeSlide {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.chat-message {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
}

.message-avatar {
	align-items: center;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 32px;
	justify-content: center;
	overflow: hidden;
	width: 32px;
}

.message-avatar .avatar-image {
	border-radius: 50%;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.message-avatar .avatar-icon {
	align-items: center;
	border-radius: 50%;
	display: flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.message-avatar .user-icon {
	background: linear-gradient(135deg, #667eea, #764ba2);
	color: #fff;
}

.message-avatar .assistant-icon {
	background: linear-gradient(135deg, #f093fb, #f5576c);
	color: #fff;
}

.message-avatar .agent-icon {
	background: linear-gradient(135deg, #4facfe, #00f2fe);
	color: #fff;
}

.message-avatar svg {
	height: 18px;
	width: 18px;
}

.user-message {
	flex-direction: row-reverse;
}

.user-message .message-bubble {
	margin-left: 0;
	margin-right: 0;
}

.assistant-message {
	flex-direction: row;
}

.message-bubble h1, .message-bubble h2, .message-bubble h3, .message-bubble h4, .message-bubble h5, .message-bubble h6 {
	font-weight: 600;
	line-height: 1.3;
	margin: .5em 0 .3em;
}

.message-bubble h1 {
	font-size: 1.5em;
}

.message-bubble h2 {
	font-size: 1.3em;
}

.message-bubble h3 {
	font-size: 1.1em;
}

.message-bubble h4 {
	font-size: 1em;
}

.message-bubble h5 {
	font-size: .9em;
}

.message-bubble h6 {
	font-size: .85em;
}

.message-bubble p {
	font-size: 14px;
	line-height: 1.6;
	margin: .5em 0;
}

.message-bubble code {
	background: rgba(0, 0, 0, .05);
	border-radius: 3px;
	font-family: Courier New, Courier, monospace;
	font-size: .9em;
	padding: 2px 6px;
}

.message-bubble pre {
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 5px;
	margin: 10px 0;
	overflow-x: auto;
	padding: 12px;
}

.message-bubble pre code {
	background: none;
	border-radius: 0;
	font-size: 14px;
	line-height: 1.5;
	padding: 0;
}

.message-bubble ol, .message-bubble ul {
	margin: 10px 0;
	padding-left: 25px;
}

.message-bubble li {
	line-height: 1.6;
	margin: 5px 15px;
}

.message-bubble blockquote {
	border-left: 4px solid #ddd;
	color: #666;
	font-style: italic;
	margin: 10px 0;
	padding-left: 15px;
}

.message-bubble strong {
	font-weight: 600;
}

.message-bubble em {
	font-style: italic;
}

.message-bubble del {
	opacity: .7;
	text-decoration: line-through;
}

.message-bubble a {
	border-bottom: 1px solid transparent;
	color: #4361ee;
	text-decoration: none;
	transition: border-color .2s;
}

.message-bubble a:hover {
	border-bottom-color: #4361ee;
}

.theme-dark .message-bubble code {
	background: hsla(0, 0%, 100%, .1);
}

.theme-dark .message-bubble pre {
	background: rgba(0, 0, 0, .3);
	border-color: hsla(0, 0%, 100%, .1);
}

.theme-dark .message-bubble blockquote {
	border-left-color: hsla(0, 0%, 100%, .2);
	color: hsla(0, 0%, 100%, .7);
}

@media (max-width:480px) {
	.message-avatar, .message-avatar .avatar-icon {
		height: 28px;
		width: 28px;
	}
	
	.message-avatar svg {
		height: 16px;
		width: 16px;
	}
	
	.chat-message {
		gap: 8px;
	}
}
