.ai-agent-nova-container {
	border: 1px solid #565869;
	border-radius: 8px;
	padding: 16px;
	background: #343541;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	font-family: 'Alexandria', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: #ececf1;
}

.ai-agent-nova-title {
	margin: 0 0 8px 0;
	font-size: 1.125rem;
	line-height: 1.5rem;
}

.ai-agent-nova-body {
	color: #ececf1;
	font-size: 12px;
}

/* Floating action button */

.ai-agent-nova-fab {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: none;
	background:
		radial-gradient(circle at 22% 20%, rgba(66, 240, 191, 0.22) 0%, rgba(66, 240, 191, 0) 45%),
		radial-gradient(circle at 78% 78%, rgba(86, 120, 255, 0.2) 0%, rgba(86, 120, 255, 0) 48%),
		linear-gradient(130deg, #17181c 0%, #22242a 46%, #101114 100%);
	background-size: 150% 150%, 160% 160%, 100% 100%;
	background-position: 0% 0%, 100% 100%, 50% 50%;
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
	display: flex;
	align-items: center;
	opacity: 1;
	justify-content: center;
	font-weight: 700;
	font-family: 'Alexandria', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	z-index: 999999;
	animation: ai-agent-nova-fab-ai-bg 5.5s ease-in-out infinite;
}

/* Green dot indicator on top right */
.ai-agent-nova-fab::before {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #11da11;
	z-index: 1;
}

/* Notification badge for new messages */
.ai-agent-nova-notification-badge {
	position: absolute;
	top: -4px;
	left: -4px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ff0000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: scale(0);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.ai-agent-nova-notification-badge.active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
	animation: ai-agent-nova-notification-pulse 1.5s ease-in-out infinite;
}

.ai-agent-nova-notification-badge::after {
	content: "!";
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

@keyframes ai-agent-nova-notification-pulse {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

/* Pulsing ring around the FAB */
.ai-agent-nova-fab::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(1);
	box-shadow: 0 0 0 0 rgba(239, 67, 179, 0.5);
	pointer-events: none;
	animation: ai-agent-nova-fab-ring 1.8s ease-out infinite;
}

.ai-agent-nova-fab:hover {
	filter: brightness(1.08);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.45), 0 0 16px rgba(86, 120, 255, 0.28);
}

@keyframes ai-agent-nova-fab-ai-bg {
	0%, 100% {
		background-position: 8% 10%, 92% 88%, 50% 50%;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(66, 240, 191, 0.0);
	}
	50% {
		background-position: 24% 26%, 70% 72%, 50% 50%;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.42), 0 0 12px rgba(86, 120, 255, 0.26);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ai-agent-nova-fab {
		animation: none;
	}
}

/* Click flash effect */
.ai-agent-nova-fab.ai-flash {
	animation: ai-agent-nova-fab-flash 240ms ease-out;
}

@keyframes ai-agent-nova-fab-flash {
	0% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.0), 0 6px 16px rgba(0,0,0,0.35);
	}
	40% {
		transform: scale(1.06);
		box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.08), 0 10px 24px rgba(0,0,0,0.45);
	}
	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.0), 0 6px 16px rgba(0,0,0,0.35);
	}
}

@keyframes ai-agent-nova-fab-ring {
	0% {
		transform: translate(-50%, -50%) scale(1);
		box-shadow: 0 0 0 0 rgba(239, 67, 179, 0.5);
	}
	70% {
		transform: translate(-50%, -50%) scale(1.3);
		box-shadow: 0 0 0 8px rgba(239, 67, 179, 0.08);
	}
	100% {
		transform: translate(-50%, -50%) scale(1.3);
		box-shadow: 0 0 0 0 rgba(239, 67, 179, 0.0);
	}
}

.ai-agent-nova-fab-icon {
	letter-spacing: 0.5px;
}

/* Make FAB image cover the circular button */
.ai-agent-nova-fab-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

/* Overlay */
.ai-agent-nova-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 180ms ease, visibility 180ms ease;
	pointer-events: none;
}

.ai-agent-nova-overlay.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Chat popup */
.ai-agent-nova-chat {
	position: fixed;
	right: 20px;
	bottom: 88px;
	width: 320px;
	max-width: calc(100% - 40px);
	background: #343541;
	border: 1px solid #565869;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
	overflow: hidden;
	z-index: 9999;
	opacity: 0;
	transform: translateY(12px) scale(0.96) translateZ(0);
	transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
	font-family: 'Alexandria', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	backface-visibility: hidden;
	will-change: transform, opacity;
}

.ai-agent-nova-chat * {
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.ai-agent-nova-chat.open {
	opacity: 1;
	transform: translateY(0) scale(1) translateZ(0);
	animation: ai-agent-nova-pop 220ms cubic-bezier(.2,.8,.2,1);
}

@keyframes ai-agent-nova-pop {
	0% { opacity: 0; transform: translateY(12px) scale(0.96) translateZ(0); }
	100% { opacity: 1; transform: translateY(0) scale(1) translateZ(0); }
}

/* Closing animation */
.ai-agent-nova-chat.closing {
	animation: ai-agent-nova-pop-out 360ms cubic-bezier(.2,.8,.2,1) forwards;
}

@keyframes ai-agent-nova-pop-out {
	0% { opacity: 1; transform: translateY(0) scale(1) translateZ(0); }
	100% { opacity: 0; transform: translateY(12px) scale(0.96) translateZ(0); }
}

.ai-agent-nova-chat-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	background: #202123;
	color: #ececf1;
}

.ai-agent-nova-chat-left { display: flex; align-items: center; gap: 10px; }
.ai-agent-nova-chat-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}
.ai-agent-nova-chat-clear,
.ai-agent-nova-chat-download {
	border: none;
	background: transparent;
	color: #c9cbd1;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ai-agent-nova-chat-clear:hover,
.ai-agent-nova-chat-download:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
}
.ai-agent-nova-chat-brand { display: flex; align-items: center; gap: 8px; }
.ai-agent-nova-chat-logo { height: 22px; width: auto; display: block; }

.ai-agent-nova-chat-title {
	margin: 0;
	font-size: 1rem;
}

.ai-agent-nova-status { display: inline-flex; align-items: center; gap: 6px; }
.ai-agent-nova-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #11da11;
	box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.18);
	animation: ai-agent-nova-status-pulse 1.6s ease-in-out infinite;
}
.ai-agent-nova-status-text { font-size: 11px; color: #a6a7ab; text-transform: lowercase; }

@keyframes ai-agent-nova-status-pulse {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
		box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.18);
	}
	50% {
		transform: scale(1.25);
		opacity: 0.9;
		box-shadow: 0 0 0 6px rgba(16, 163, 127, 0.06);
	}
}

.ai-agent-nova-chat-close,
.ai-agent-nova-chat-maximize {
	background: transparent;
	border: none;
	color: #ececf1;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	padding: 4px;
	transition: opacity 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-agent-nova-chat-maximize svg {
	width: 14px;
	height: 14px;
	display: block;
}

.ai-agent-nova-chat-close:hover,
.ai-agent-nova-chat-maximize:hover {
	opacity: 0.7;
}

.ai-agent-nova-chat.minimized {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.95);
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.ai-agent-nova-chat.maximized {
	width: 95vw !important;
	height: 95vh !important;
	max-width: 95vw !important;
	max-height: 95vh !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	right: auto !important;
	bottom: auto !important;
}

@media (max-width: 768px) {
	.ai-agent-nova-fab {
		right: max(12px, env(safe-area-inset-right));
		bottom: max(12px, env(safe-area-inset-bottom));
		width: 52px;
		height: 52px;
	}

	.ai-agent-nova-chat {
		left: 10px;
		right: 10px;
		bottom: calc(74px + env(safe-area-inset-bottom));
		width: auto;
		max-width: none;
		max-height: calc(100dvh - 92px);
		border-radius: 14px;
	}

	.ai-agent-nova-chat-header {
		padding: 10px;
	}

	.ai-agent-nova-chat-actions {
		gap: 6px;
	}

	.ai-agent-nova-chat-clear,
	.ai-agent-nova-chat-download,
	.ai-agent-nova-chat-close,
	.ai-agent-nova-chat-maximize {
		min-width: 30px;
		min-height: 30px;
	}

	.ai-agent-nova-chat-body {
		padding: 10px;
		gap: 6px;
		max-height: calc(100dvh - 150px);
	}

	.ai-agent-nova-chat-messages {
		flex: 1;
		height: auto;
		min-height: 180px;
		max-height: calc(100dvh - 300px);
	}

	.ai-agent-nova-chat .ai-agent-nova-quick-prompts {
		align-items: center;
		padding: 2px 0 6px;
	}

	.ai-agent-nova-chat .ai-agent-nova-prompt-chip {
		min-height: 30px;
		padding: 6px 12px;
		border-radius: 999px !important;
	}

	.ai-agent-nova-lead-card {
		width: 100%;
	}

	.ai-agent-nova-lead-actions {
		flex-wrap: wrap;
	}

	.ai-agent-nova-lead-actions button {
		flex: 1 1 120px;
	}

	.ai-agent-nova-message-avatar {
		width: 24px;
		height: 24px;
		min-width: 24px;
	}

	.ai-agent-nova-bubble {
		max-width: 86%;
	}

	.ai-agent-nova-voice-note {
		min-width: 0;
		max-width: 100%;
	}

	.ai-agent-nova-chat.maximized {
		top: 40px !important;
		left: 50% !important;
		height: calc(100vh - 40px) !important;
		max-height: calc(100vh - 40px) !important;
		transform: translateX(-50%) !important;
	}
	
	.ai-agent-nova-chat.maximized .ai-agent-nova-chat-body {
		max-height: calc(100vh - 100px);
	}
	
	.ai-agent-nova-chat.maximized .ai-agent-nova-chat-messages {
		height: calc(100vh - 240px);
		min-height: 300px;
	}
}

.ai-agent-nova-chat.maximized .ai-agent-nova-chat-body {
	max-height: calc(95vh - 60px);
}

.ai-agent-nova-chat.maximized .ai-agent-nova-chat-messages {
	height: calc(95vh - 200px);
	min-height: 400px;
}

/* Confirmation Dialog */
.ai-agent-nova-confirm-dialog {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.ai-agent-nova-confirm-dialog.active {
	opacity: 1;
	visibility: visible;
}

.ai-agent-nova-confirm-content {
	background: #202123;
	border-radius: 8px;
	padding: 20px;
	min-width: 300px;
	max-width: 90%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.ai-agent-nova-confirm-content p {
	margin: 0 0 20px 0;
	color: #ececf1;
	font-size: 14px;
	text-align: center;
}

.ai-agent-nova-confirm-buttons {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.ai-agent-nova-confirm-yes,
.ai-agent-nova-confirm-no {
	padding: 8px 20px;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.ai-agent-nova-confirm-yes {
	background: #11da11;
	color: #fff;
}

.ai-agent-nova-confirm-yes:hover {
	opacity: 0.9;
}

.ai-agent-nova-confirm-no {
	background: #343541;
	color: #ececf1;
	border: 1px solid #565869;
}

.ai-agent-nova-confirm-no:hover {
	opacity: 0.8;
}

.ai-agent-nova-chat-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px;
}

.ai-agent-nova-status-banner {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 11px;
	background: #2f3136;
	color: #ececf1;
}

.ai-agent-nova-status-banner.active { display: flex; }
.ai-agent-nova-status-banner.type-error { background: #4a2a2e; border: 1px solid #7a3a44; }
.ai-agent-nova-status-retry {
	border: none;
	border-radius: 6px;
	padding: 4px 8px;
	font-size: 11px;
	cursor: pointer;
	background: #ececf1;
	color: #202123;
}

.ai-agent-nova-quick-prompts {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding-bottom: 2px;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.ai-agent-nova-quick-prompts::-webkit-scrollbar {
	display: none;
}

.ai-agent-nova-prompt-chip {
	border: 1px solid #565869;
	background: #2e3037;
	color: #ececf1;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: 11px;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	white-space: nowrap;
	cursor: pointer;
}
.ai-agent-nova-prompt-chip:hover { background: #3a3d47; }

.ai-agent-nova-followups {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.ai-agent-nova-lead-card {
	width: min(100%, 320px);
}

.ai-agent-nova-lead-title {
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 8px;
}

.ai-agent-nova-lead-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
}

.ai-agent-nova-chat .ai-agent-nova-lead-form input:not([type="radio"]):not([type="checkbox"]),
.ai-agent-nova-chat .ai-agent-nova-lead-form select {
	background: #343541 !important;
	border: 1px solid #565869 !important;
	color: #ececf1 !important;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 12px;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

.ai-agent-nova-chat .ai-agent-nova-lead-form input::placeholder {
	color: rgba(236, 236, 241, 0.62) !important;
}

.ai-agent-nova-chat .ai-agent-nova-lead-form input:focus,
.ai-agent-nova-chat .ai-agent-nova-lead-form select:focus {
	border-color: #6b6d7e !important;
	outline: none !important;
	box-shadow: none !important;
}

.ai-agent-nova-chat .ai-agent-nova-lead-form select option {
	background: #343541;
	color: #ececf1;
}

.ai-agent-nova-chat .ai-agent-nova-lead-form input[name="lead_consent"] {
	-webkit-appearance: radio !important;
	appearance: auto !important;
	accent-color: #1f6feb;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: 16px;
	height: 16px;
	padding: 0;
	margin: 0;
	flex: 0 0 auto;
	cursor: pointer;
}

.ai-agent-nova-lead-consent {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	opacity: 0.9;
	cursor: pointer;
}
.ai-agent-nova-lead-trust {
	font-size: 10px;
	opacity: 0.75;
}

.ai-agent-nova-lead-actions {
	display: flex;
	gap: 6px;
}

.ai-agent-nova-lead-actions button {
	border-radius: 8px;
	border: 1px solid #565869;
	background: #2f3138;
	color: #ececf1;
	padding: 7px 10px;
	font-size: 11px;
	cursor: pointer;
}

.ai-agent-nova-lead-actions button[type="submit"] {
	background: #1f6feb;
	border-color: #1f6feb;
	color: #fff;
}

.ai-agent-nova-lead-form.is-submitting .ai-agent-nova-lead-actions button {
	opacity: 0.75;
	cursor: not-allowed;
}

.ai-agent-nova-lead-loading {
	font-size: 11px;
	color: #a6a7ab;
	padding-top: 2px;
}

.ai-agent-nova-welcome {
	text-align: center;
	color: #ececf1;
	opacity: 0.85;
	font-size: 12px;
	padding: 6px 4px 2px 4px;
}

.ai-agent-nova-recording-notice {
	text-align: center;
	color: #aeb2bf;
	font-size: 10px;
	line-height: 1.35;
	padding: 2px 6px 6px 6px;
	opacity: 0.9;
}

.ai-agent-nova-join-message {
	text-align: center;
	color: #565869;
	font-size: 11px;
	padding: 8px 4px;
	margin-bottom: 8px;
	opacity: 0.7;
	font-style: italic;
}

.ai-agent-nova-chat-messages {
	height: 220px;
	overflow: auto;
	border: 1px solid #565869;
	border-radius: 8px;
	padding: 8px;
	font-size: 0.95rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	transform: translateZ(0);
	scrollbar-width: thin;
	scrollbar-color: #565869 #202123;
	position: relative;
}

.ai-agent-nova-new-message-indicator {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	background: rgba(17, 218, 17, 0.95);
	color: #111;
	border: none;
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	z-index: 3;
}

.ai-agent-nova-new-message-indicator.active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Dark grey scrollbar styling for WebKit browsers (Chrome, Safari, Edge) */
.ai-agent-nova-chat-messages::-webkit-scrollbar {
	width: 8px;
}

.ai-agent-nova-chat-messages::-webkit-scrollbar-track {
	background: #202123;
	border-radius: 4px;
}

.ai-agent-nova-chat-messages::-webkit-scrollbar-thumb {
	background: #565869;
	border-radius: 4px;
}

.ai-agent-nova-chat-messages::-webkit-scrollbar-thumb:hover {
	background: #6b6d7e;
}

.ai-agent-nova-message { display: flex; }
.ai-agent-nova-message-user { justify-content: flex-end; }
.ai-agent-nova-message-agent { justify-content: flex-start; align-items: flex-end; gap: 8px; }

.ai-agent-nova-message-avatar {
	width: 28px;
	height: 28px;
	min-width: 28px;
	border-radius: 50%;
	background: #202123;
	border: 1px solid #565869;
	color: #ececf1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 600;
	overflow: hidden;
}

.ai-agent-nova-message-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ai-agent-nova-bubble {
	max-width: 80%;
	padding: 8px 12px;
	border-radius: 16px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
	word-wrap: break-word;
	word-break: break-word;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	transform: translateZ(0);
}

.ai-agent-nova-bubble-user {
	background: #343541; /* user bubble */
	color: #ececf1;
	border-top-right-radius: 4px;
	border: 1px solid #565869;
}

.ai-agent-nova-bubble-agent {
	background: #444654; /* assistant bubble */
	color: #ececf1;
	border-top-left-radius: 4px;
}
.ai-agent-nova-msg-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
	font-size: 9px;
	line-height: 1;
	opacity: 0.5;
	color: rgba(236, 236, 241, 0.62);
}
.ai-agent-nova-delivery-state {
	display: inline-flex;
	align-items: center;
	min-width: 12px;
	justify-content: center;
	font-size: 9px;
	letter-spacing: -0.5px;
}
.ai-agent-nova-msg-meta[data-state="sending"] .ai-agent-nova-delivery-state { opacity: 0.7; }
.ai-agent-nova-msg-meta[data-state="sent"] .ai-agent-nova-delivery-state { opacity: 0.85; }
.ai-agent-nova-msg-meta[data-state="delivered"] .ai-agent-nova-delivery-state {
	color: rgba(236, 236, 241, 0.72);
	opacity: 0.95;
}
.ai-agent-nova-msg-meta[data-state="read"] .ai-agent-nova-delivery-state {
	color: #8ab4f8;
	opacity: 1;
}
.ai-agent-nova-delivery-state.is-read {
	color: #8ab4f8 !important;
	opacity: 1 !important;
	font-weight: 700;
	letter-spacing: -0.7px;
	text-shadow: 0 0 0.01px currentColor, 0 0 0.01px currentColor;
}
.ai-agent-nova-message-user .ai-agent-nova-msg-meta {
	width: 100%;
	justify-content: flex-end;
	text-align: right;
	padding-right: 2px;
}
.ai-agent-nova-message-agent .ai-agent-nova-msg-meta {
	width: 100%;
	justify-content: flex-start;
	text-align: left;
	padding-left: 2px;
}
.ai-agent-nova-msg-meta[data-state="failed"] .ai-agent-nova-delivery-state {
	color: #ff8f8f;
	opacity: 1;
}
.ai-agent-nova-retry-btn {
	border: none;
	background: rgba(255,255,255,0.12);
	color: #ececf1;
	border-radius: 999px;
	padding: 2px 8px;
	font-size: 10px;
	cursor: pointer;
}

.ai-agent-nova-tts-btn {
	margin-top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(32, 33, 35, 0.5);
	color: #ececf1;
	cursor: pointer;
	padding: 0;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ai-agent-nova-tts-btn svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.ai-agent-nova-tts-btn:hover {
	background: rgba(32, 33, 35, 0.8);
}

.ai-agent-nova-tts-btn.is-loading {
	color: #ffd166;
	border-color: #ffd166;
	cursor: progress;
	box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.16);
	animation: ai-agent-nova-tts-loading-pulse 1.2s ease-in-out infinite;
}

.ai-agent-nova-tts-btn.is-loading svg {
	animation: none;
}

.ai-agent-nova-tts-btn.is-playing {
	color: #11da11;
	border-color: #11da11;
	box-shadow: 0 0 0 0 rgba(17, 218, 17, 0.45);
	animation: ai-agent-nova-tts-pulse 1.3s ease-in-out infinite;
}

.ai-agent-nova-tts-btn.is-playing svg {
	animation: ai-agent-nova-tts-wave 0.8s ease-in-out infinite alternate;
}

.ai-agent-nova-tts-btn.is-playing::after {
	content: "";
	position: absolute;
	inset: -3px;
	border-radius: 50%;
	border: 1px solid rgba(17, 218, 17, 0.55);
	animation: ai-agent-nova-tts-ring 1.3s ease-out infinite;
	pointer-events: none;
}

@keyframes ai-agent-nova-tts-wave {
	0% {
		transform: scale(1);
		opacity: 0.9;
	}
	100% {
		transform: scale(1.12);
		opacity: 1;
	}
}

@keyframes ai-agent-nova-tts-loading-pulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 2px rgba(255, 209, 102, 0.14);
	}
	50% {
		transform: scale(1.04);
		box-shadow: 0 0 0 6px rgba(255, 209, 102, 0.20);
	}
}

@keyframes ai-agent-nova-tts-pulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(17, 218, 17, 0.35);
	}
	50% {
		transform: scale(1.06);
		box-shadow: 0 0 0 6px rgba(17, 218, 17, 0.16);
	}
}

@keyframes ai-agent-nova-tts-ring {
	0% {
		opacity: 0.7;
		transform: scale(0.9);
	}
	100% {
		opacity: 0;
		transform: scale(1.4);
	}
}

/* Typing/loading dots */
.ai-agent-nova-dots {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
}
.ai-agent-nova-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(17, 218, 17, 0.6);
	animation: ai-agent-nova-blink 1.2s infinite ease-in-out;
}
.ai-agent-nova-dot:nth-child(2) { animation-delay: 0.2s; }
.ai-agent-nova-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes ai-agent-nova-blink {
	0%, 80%, 100% { opacity: 0.2; }
	40% { opacity: 1; }
}

/* Optional wrapper for typed text */
.ai-agent-nova-bubble-content { white-space: pre-wrap; }
.ai-agent-nova-bubble-content p { margin: 0 0 6px 0; }
.ai-agent-nova-bubble-content p:last-child { margin-bottom: 0; }
.ai-agent-nova-bubble-content ul { margin: 0 0 6px 18px; padding: 0; }
.ai-agent-nova-bubble-content code {
	background: rgba(0,0,0,0.25);
	padding: 1px 4px;
	border-radius: 4px;
	font-family: Consolas, monospace;
	font-size: 11px;
}
.ai-agent-nova-bubble-content pre {
	background: rgba(0,0,0,0.3);
	border-radius: 6px;
	padding: 8px;
	overflow-x: auto;
	margin: 6px 0;
}
.ai-agent-nova-bubble-content a { color: #9ad5ff; text-decoration: underline; }

.ai-agent-nova-message-actions {
	display: flex;
	gap: 6px;
	margin-top: 8px;
	align-items: center;
}

.ai-agent-nova-insights {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
	align-items: center;
}

.ai-agent-nova-confidence-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 7px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1px;
	border: 1px solid rgba(255,255,255,0.2);
	background: rgba(255,255,255,0.08);
	color: #ececf1;
}

.ai-agent-nova-confidence-badge.is-high {
	background: rgba(37, 211, 102, 0.18);
	border-color: rgba(37, 211, 102, 0.45);
	color: #9df2bf;
}

.ai-agent-nova-confidence-badge.is-medium {
	background: rgba(255, 193, 7, 0.16);
	border-color: rgba(255, 193, 7, 0.38);
	color: #ffe08a;
}

.ai-agent-nova-confidence-badge.is-low {
	background: rgba(255, 107, 107, 0.15);
	border-color: rgba(255, 107, 107, 0.38);
	color: #ffb3b3;
}

.ai-agent-nova-source-chips {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ai-agent-nova-source-chip {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 999px;
	font-size: 10px;
	border: 1px solid rgba(154, 213, 255, 0.35);
	background: rgba(154, 213, 255, 0.12);
	color: #c9e8ff;
}

.ai-agent-nova-handoff-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px 8px;
	border-radius: 7px;
	font-size: 10px;
	font-weight: 600;
	background: rgba(31, 111, 235, 0.2);
	border: 1px solid rgba(31, 111, 235, 0.45);
	color: #b8d6ff;
	text-decoration: none;
}

.ai-agent-nova-handoff-btn:hover {
	background: rgba(31, 111, 235, 0.3);
}

.ai-agent-nova-action-btn {
	border: 1px solid rgba(255,255,255,0.2);
	background: rgba(32,33,35,0.45);
	color: #ececf1;
	font-size: 10px;
	border-radius: 6px;
	padding: 2px 6px;
	cursor: pointer;
}

.ai-agent-nova-message-actions .ai-agent-nova-action-btn:first-child {
	margin-right: 2px;
}

.ai-agent-nova-reaction-btn {
	width: 24px;
	height: 24px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(255,255,255,0.07);
	border-color: rgba(255,255,255,0.2);
	color: #d7d9df;
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.ai-agent-nova-reaction-btn svg {
	width: 13px;
	height: 13px;
	transition: transform 0.18s ease;
}

.ai-agent-nova-reaction-btn:hover {
	transform: scale(1.05);
	background: rgba(255,255,255,0.14);
}

.ai-agent-nova-reaction-btn.active {
	transform: scale(1.06);
	box-shadow: 0 4px 10px rgba(0,0,0,0.22);
}

.ai-agent-nova-reaction-btn[aria-label*="Like"].active {
	background: rgba(37, 211, 102, 0.18);
	border-color: rgba(37, 211, 102, 0.5);
	color: #25d366;
}

.ai-agent-nova-reaction-btn[aria-label*="Dislike"].active {
	background: rgba(255, 107, 107, 0.18);
	border-color: rgba(255, 107, 107, 0.5);
	color: #ff6b6b;
}

.ai-agent-nova-reaction-btn.active svg {
	transform: scale(1.08);
}

.ai-agent-nova-reaction-btn.just-reacted {
	animation: ai-agent-nova-reaction-pop 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ai-agent-nova-reaction-btn.just-reacted::after {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: 999px;
	border: 1px solid currentColor;
	opacity: 0;
	animation: ai-agent-nova-reaction-ring 320ms ease-out;
}

@keyframes ai-agent-nova-reaction-pop {
	0% { transform: scale(0.9); }
	55% { transform: scale(1.14); }
	100% { transform: scale(1.06); }
}

@keyframes ai-agent-nova-reaction-ring {
	0% { opacity: 0.38; transform: scale(0.88); }
	100% { opacity: 0; transform: scale(1.45); }
}

.ai-agent-nova-chat-input {
	display: flex;
	gap: 8px;
}

.ai-agent-nova-chat-input input[type="text"],
.ai-agent-nova-chat-input textarea[name="message"] {
	flex: 1;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 8px 10px;
	background: #40414F;
	color: #ececf1;
	font-family: inherit;
	resize: none;
	min-height: 38px;
	max-height: 120px;
}

.ai-agent-nova-chat-input input[type="text"]:focus,
.ai-agent-nova-chat-input textarea[name="message"]:focus {
	outline: none;
	border-color: transparent;
	box-shadow: none;
}

.ai-agent-nova-chat-input button[type="submit"] {
	background: #202123;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 8px 12px;
	cursor: pointer;
	transition: background 150ms ease-in-out;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-agent-nova-chat-input button[type="submit"] svg {
	display: block;
	width: 20px;
	height: 20px;
}

.ai-agent-nova-chat-input button[type="submit"]:hover { background: #2a2b30; }

.ai-agent-nova-mic-btn {
	background: #202123;
	color: #ececf1;
	border: none;
	border-radius: 6px;
	padding: 8px 10px;
	cursor: pointer;
	transition: background 150ms ease-in-out, transform 150ms ease-in-out, box-shadow 150ms ease-in-out;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ai-agent-nova-mic-btn svg {
	display: block;
	width: 18px;
	height: 18px;
}

.ai-agent-nova-mic-btn:hover {
	background: #2a2b30;
}

.ai-agent-nova-mic-btn.is-listening {
	background: #7d2f3b;
	color: #ffe5e8;
	box-shadow: 0 0 0 3px rgba(255, 120, 140, 0.2);
	animation: ai-agent-nova-mic-pulse 1s ease-in-out infinite;
}

.ai-agent-nova-mic-btn.is-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

@keyframes ai-agent-nova-mic-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.06); }
}

.ai-agent-nova-voice-note {
	min-width: 200px;
	max-width: 280px;
	padding: 8px 10px;
	border-radius: 14px;
	background: rgba(52, 53, 65, 0.88);
	border: 1px solid rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.ai-agent-nova-voice-note-label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	opacity: 0.75;
	margin-bottom: 4px;
}

.ai-agent-nova-voice-note-audio {
	width: 100%;
	height: 30px;
	border-radius: 999px;
	filter: saturate(0.95) contrast(1.02);
}

.ai-agent-nova-voice-note-meta {
	font-size: 10px;
	opacity: 0.62;
	margin-top: 3px;
	text-align: right;
}

.ai-agent-nova-chat-input button[type="submit"].is-stop-action {
	background: rgba(110, 48, 56, 0.9);
	color: #ffd8d8;
}

.ai-agent-nova-chat-input button[type="submit"].is-stop-action:hover {
	background: rgba(128, 54, 64, 0.95);
}

.ai-agent-nova-powered-by {
	text-align: center;
	color: #565869;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.5px;
	padding: 6px 0 4px 0;
	margin-top: 2px;
	opacity: 0.7;
}

.ai-agent-nova-powered-by a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease, color 0.2s ease;
	cursor: pointer;
}

.ai-agent-nova-powered-by a:hover {
	opacity: 1;
	color: #ececf1;
}

@media (max-width: 768px) {
	.ai-agent-nova-chat-input {
		position: sticky;
		bottom: 0;
		background: #343541;
		padding-top: 6px;
		padding-bottom: calc(2px + env(safe-area-inset-bottom));
		z-index: 3;
	}

	.ai-agent-nova-chat-input textarea[name="message"] {
		min-height: 42px;
		font-size: 16px !important;
		line-height: 1.35;
	}

	.ai-agent-nova-chat input,
	.ai-agent-nova-chat textarea,
	.ai-agent-nova-chat select {
		font-size: 16px !important;
	}
}

