.hlai-chatbot {
	--hlai-navy: #12304a;
	--hlai-blue: #1769aa;
	--hlai-cyan: #e9f5fc;
	--hlai-border: #d5e1e8;
	--hlai-text: #243746;
	--hlai-muted: #637887;
	display: flex;
	color: var(--hlai-text);
	background: transparent;
	border: 0;
	box-shadow: none;
	font: inherit;
}
.hlai-chatbot--floating {
	position: fixed !important;
	z-index: 2147483000 !important;
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	width: min(420px, calc(100vw - var(--hlai-offset-x, 24px) - 24px));
	max-width: none;
	margin: 0;
	padding: 0;
}
.hlai-chatbot.hlai-chatbot--bottom-right { top: auto !important; right: 24px !important; bottom: 24px !important; left: auto !important; }
.hlai-chatbot--inline {
	position: relative;
	flex-direction: column;
	width: min(780px, 100%);
	max-width: 100%;
	gap: 0;
	margin: 1.5rem auto;
	padding: 0;
}
.hlai-chatbot *,
.hlai-chatbot *::before,
.hlai-chatbot *::after { box-sizing: border-box; }
.hlai-chatbot__panel {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: min(620px, calc(100vh - 110px));
	min-height: 320px;
	max-height: 620px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--hlai-border);
	border-radius: 18px;
	box-shadow: 0 12px 38px rgba(18, 48, 74, .2);
	font: inherit;
}
.hlai-chatbot__panel[hidden] { display: none !important; }
.hlai-chatbot--inline .hlai-chatbot__panel {
	height: min(620px, 65vh);
	min-height: 420px;
	max-height: 620px;
	box-shadow: 0 8px 28px rgba(18, 48, 74, .12);
}
.hlai-chatbot__header {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 68px;
	padding: 11px 14px;
	color: #fff;
	background: var(--hlai-navy);
}
.hlai-chatbot__header-avatar {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border: 2px solid rgba(255, 255, 255, .75);
	border-radius: 50%;
	object-fit: cover;
}
.hlai-chatbot__header-avatar.hlai-chatbot__avatar--fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--hlai-blue);
	font-size: 12px;
	font-weight: 700;
}
.hlai-chatbot__heading { display: flex; flex: 1 1 auto; min-width: 0; flex-direction: column; gap: 2px; }
.hlai-chatbot__heading strong { overflow: hidden; color: #fff; font-size: 15px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.hlai-chatbot__heading span { color: #d7e8f5; font-size: 12px; line-height: 1.35; }
.hlai-chatbot__close {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	font: inherit;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
}
.hlai-chatbot__close:hover { color: #fff; background: rgba(255, 255, 255, .15); }
.hlai-chatbot__messages {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 12px;
	min-height: 0;
	max-height: none;
	overflow-y: auto;
	padding: 15px 13px;
}
.hlai-chatbot__message { display: flex; width: 100%; }
.hlai-chatbot__message--user { justify-content: flex-end; }
.hlai-chatbot__message--assistant { justify-content: flex-start; align-items: flex-start; gap: 9px; }
.hlai-chatbot__avatar {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	margin-top: 2px;
	border: 1px solid var(--hlai-border);
	border-radius: 50%;
	object-fit: cover;
}
.hlai-chatbot__avatar--fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--hlai-blue);
	font-size: 11px;
	font-weight: 700;
}
.hlai-chatbot__bubble {
	max-width: min(88%, 640px);
	padding: 10px 13px;
	border-radius: 14px;
	font-size: 14px;
	line-height: 1.6;
	white-space: pre-wrap;
	word-break: break-word;
}
.hlai-chatbot__message--assistant .hlai-chatbot__bubble {
	max-width: min(calc(100% - 45px), 640px);
	background: var(--hlai-cyan);
	border: 1px solid #d8eaf5;
	border-bottom-left-radius: 4px;
}
.hlai-chatbot__message--user .hlai-chatbot__bubble {
	color: #fff;
	background: var(--hlai-navy);
	border-bottom-right-radius: 4px;
}
.hlai-chatbot__sources {
	margin: 9px 0 0;
	padding: 9px 0 0 19px;
	border-top: 1px solid rgba(18, 48, 74, .13);
	font-size: 12px;
}
.hlai-chatbot__sources-title { margin: 0 0 4px; font-weight: 700; }
.hlai-chatbot__sources a { color: var(--hlai-blue); text-decoration: underline; }
.hlai-chatbot__status {
	flex: 0 0 auto;
	min-height: 20px;
	margin: 0 13px 6px;
	color: var(--hlai-muted);
	font-size: 12px;
}
.hlai-chatbot__form {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
	gap: 8px;
	margin: 0;
	padding: 11px 13px 0;
	border-top: 1px solid var(--hlai-border);
}
.hlai-chatbot__input {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 44px;
	max-height: 120px;
	margin: 0;
	padding: 9px 11px;
	color: var(--hlai-text);
	background: #fff;
	border: 1px solid #b8c9d4;
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
	line-height: 1.45;
	resize: vertical;
}
.hlai-chatbot__input:focus { border-color: var(--hlai-blue); outline: 2px solid rgba(23, 105, 170, .16); }
.hlai-chatbot__send {
	flex: 0 0 auto;
	min-height: 42px;
	margin: 0;
	padding: 9px 13px;
	color: #fff;
	background: var(--hlai-blue);
	border: 1px solid var(--hlai-blue);
	border-radius: 10px;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}
.hlai-chatbot__send:hover { color: #fff; background: var(--hlai-navy); border-color: var(--hlai-navy); }
.hlai-chatbot__send:focus-visible,
.hlai-chatbot__close:focus-visible,
.hlai-chatbot__launcher:focus-visible { outline: 3px solid #f0ae48; outline-offset: 3px; }
.hlai-chatbot__send:disabled { opacity: .6; cursor: wait; }
.hlai-chatbot__privacy {
	flex: 0 0 auto;
	margin: 8px 13px 12px;
	color: var(--hlai-muted);
	font-size: 11px;
	line-height: 1.45;
}
.hlai-chatbot__launcher {
	position: relative;
	flex: 0 0 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0;
	padding: 3px;
	color: #fff;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 5px 20px rgba(18, 48, 74, .28);
	cursor: pointer;
	transition: transform .18s ease;
}
.hlai-chatbot__launcher:hover { transform: translateY(-2px); }
.hlai-chatbot__launcher-label {
	position: absolute;
	right: calc(100% + 10px);
	top: 50%;
	width: max-content;
	max-width: min(60vw, 260px);
	transform: translateY(-50%);
	padding: 8px 12px;
	color: var(--hlai-text);
	background: #fff;
	border: 1px solid var(--hlai-border);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(18, 48, 74, .16);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	white-space: normal;
}
.hlai-chatbot.is-open .hlai-chatbot__launcher-label { display: none; }
.hlai-chatbot__launcher-avatar,
.hlai-chatbot__launcher-fallback {
	width: 54px;
	height: 54px;
	border-radius: 50%;
}
.hlai-chatbot__launcher-avatar { object-fit: cover; }
.hlai-chatbot .hlai-chatbot__launcher {
	display: inline-flex !important;
	flex: 0 0 64px !important;
	width: 64px !important;
	height: 64px !important;
	min-width: 64px !important;
	min-height: 64px !important;
	padding: 3px !important;
	background: #fff !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.hlai-chatbot .hlai-chatbot__launcher-fallback {
	border-radius: 50% !important;
	clip-path: circle(50%) !important;
}
.hlai-chatbot img.hlai-chatbot__header-avatar,
.hlai-chatbot img.hlai-chatbot__avatar,
.hlai-chatbot img.hlai-chatbot__launcher-avatar {
	max-width: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	overflow: hidden !important;
	clip-path: circle(50%) !important;
}
.hlai-chatbot img.hlai-chatbot__header-avatar { width: 42px !important; height: 42px !important; }
.hlai-chatbot img.hlai-chatbot__avatar { width: 36px !important; height: 36px !important; }
.hlai-chatbot img.hlai-chatbot__launcher-avatar { width: 54px !important; height: 54px !important; }
.hlai-chatbot__launcher-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--hlai-blue);
	font-size: 15px;
	font-weight: 700;
}
.hlai-chatbot.is-open .hlai-chatbot__launcher { display: none !important; }
@media (max-width: 600px) {
	.hlai-chatbot--floating { width: calc(100vw - 24px); gap: 9px; }
	.hlai-chatbot.hlai-chatbot--bottom-right { right: 12px !important; bottom: 12px !important; }
	.hlai-chatbot__panel { height: min(620px, calc(100vh - 94px)); min-height: 280px; border-radius: 15px; }
	.hlai-chatbot--inline { width: 100%; margin: 1rem 0; }
	.hlai-chatbot--inline .hlai-chatbot__panel { height: min(620px, 70vh); min-height: 360px; }
	.hlai-chatbot__launcher { flex-basis: 58px; width: 58px; height: 58px; }
	.hlai-chatbot .hlai-chatbot__launcher { flex-basis: 58px !important; width: 58px !important; height: 58px !important; min-width: 58px !important; min-height: 58px !important; }
	.hlai-chatbot__launcher-avatar,
	.hlai-chatbot__launcher-fallback { width: 48px; height: 48px; }
	.hlai-chatbot img.hlai-chatbot__launcher-avatar { width: 48px !important; height: 48px !important; }
	.hlai-chatbot__launcher-label { max-width: min(58vw, 220px); font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.hlai-chatbot__launcher { transition: none; }
}
