.mebia-ai-assistant {
	position: fixed;
	bottom: var(--mebia-ai-desktop-y);
	z-index: 2147483000;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
}

.mebia-ai-assistant--right { right: var(--mebia-ai-desktop-x); }
.mebia-ai-assistant--left { left: var(--mebia-ai-desktop-x); }

.mebia-ai-assistant__launcher {
	display: grid;
	width: var(--mebia-ai-button-size);
	height: var(--mebia-ai-button-size);
	margin-left: auto;
	padding: 0;
	place-items: center;
	color: var(--mebia-ai-text);
	background: var(--mebia-ai-primary);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 8px 24px rgb(0 0 0 / 22%);
	cursor: pointer;
}

.mebia-ai-assistant__launcher:focus-visible,
.mebia-ai-assistant__close:focus-visible,
.mebia-ai-assistant__send:focus-visible,
.mebia-ai-assistant__input:focus-visible {
	outline: 3px solid #2271b1;
	outline-offset: 3px;
}

.mebia-ai-assistant__icon { width: 55%; height: 55%; }

.mebia-ai-assistant__dialog {
	position: absolute;
	bottom: calc(var(--mebia-ai-button-size) + 16px);
	display: flex;
	flex-direction: column;
	width: min(var(--mebia-ai-panel-width), calc(100vw - 32px));
	height: min(var(--mebia-ai-panel-height), calc(100vh - 120px));
	overflow: hidden;
	color: #1f2937;
	background: var(--mebia-ai-panel);
	border: 1px solid rgb(0 0 0 / 12%);
	border-radius: 16px;
	box-shadow: 0 16px 48px rgb(0 0 0 / 24%);
}

.mebia-ai-assistant__dialog[hidden] { display: none; }
.mebia-ai-assistant--right .mebia-ai-assistant__dialog { right: 0; }
.mebia-ai-assistant--left .mebia-ai-assistant__dialog { left: 0; }

.mebia-ai-assistant__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	color: var(--mebia-ai-text);
	background: var(--mebia-ai-primary);
}

.mebia-ai-assistant__title { margin: 0; color: inherit; font: inherit; font-weight: 700; }
.mebia-ai-assistant__close { width: 44px; height: 44px; padding: 10px; color: inherit; background: transparent; border: 0; cursor: pointer; }
.mebia-ai-assistant__close svg { width: 100%; height: 100%; }
.mebia-ai-assistant__messages { flex: 1; padding: 16px; overflow-y: auto; }
.mebia-ai-assistant__message { max-width: 85%; margin-bottom: 10px; padding: 10px 12px; background: rgb(0 0 0 / 6%); border-radius: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.mebia-ai-assistant__message--user { margin-left: auto; color: var(--mebia-ai-text); background: var(--mebia-ai-primary); }
.mebia-ai-assistant__message--loading { display: flex; width: fit-content; min-width: 52px; align-items: center; color: #374151; background: #e5e7eb; }
.mebia-ai-assistant__typing-dots { display: inline-flex; align-items: center; gap: 6px; color: #374151; }
.mebia-ai-assistant__typing-dot { display: block; width: 7px; height: 7px; flex: 0 0 7px; background: currentcolor; border-radius: 50%; opacity: 0.48; animation: mebia-ai-typing 1.2s ease-in-out infinite; }
.mebia-ai-assistant__typing-dot:nth-child(1) { animation-delay: 0ms; }
.mebia-ai-assistant__typing-dot:nth-child(2) { animation-delay: 160ms; }
.mebia-ai-assistant__typing-dot:nth-child(3) { animation-delay: 320ms; }
.mebia-ai-assistant__sources { margin: -4px 0 12px; color: #50575e; font-size: 13px; }
.mebia-ai-assistant__sources a { color: inherit; text-decoration: underline; }
.mebia-ai-assistant__images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: -4px 0 12px; }
.mebia-ai-assistant__images img { display: block; width: 100%; height: auto; border-radius: 8px; }
.mebia-ai-assistant__form { position: relative; display: block; width: 100%; box-sizing: border-box; padding: 12px 16px 4px; border-top: 1px solid rgb(0 0 0 / 10%); }
.mebia-ai-assistant__input {
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 52px;
	max-height: 116px;
	box-sizing: border-box;
	padding: 13px 64px 13px 16px;
	overflow-y: hidden;
	resize: none;
	color: #1f2937;
	background: var(--mebia-ai-panel);
	font: inherit;
	line-height: 24px;
	border: 1px solid #8c8f94;
	border-radius: 26px;
}
.mebia-ai-assistant__send {
	position: absolute;
	top: 16px;
	right: 20px;
	display: grid;
	width: 44px;
	height: 44px;
	padding: 11px;
	place-items: center;
	color: var(--mebia-ai-text);
	background: var(--mebia-ai-primary);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}
.mebia-ai-assistant__send svg { width: 100%; height: 100%; }
.mebia-ai-assistant__input:disabled,
.mebia-ai-assistant__send:disabled { cursor: not-allowed; opacity: 0.58; }
.mebia-ai-assistant__status { margin: 0; padding: 4px 16px 12px; color: #50575e; font-size: 13px; }
.mebia-ai-assistant__visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 600px) {
	.mebia-ai-assistant { bottom: var(--mebia-ai-mobile-y); }
	.mebia-ai-assistant--right { right: var(--mebia-ai-mobile-x); }
	.mebia-ai-assistant--left { left: var(--mebia-ai-mobile-x); }
	.mebia-ai-assistant--mobile-fullscreen .mebia-ai-assistant__dialog {
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100dvh;
		max-width: none;
		max-height: none;
		border: 0;
		border-radius: 0;
	}
	.mebia-ai-assistant-fullscreen-is-open { overflow: hidden; }
}

@media (prefers-reduced-motion: no-preference) {
	.mebia-ai-assistant__launcher,
	.mebia-ai-assistant__send { transition: transform 160ms ease; }
	.mebia-ai-assistant__launcher:hover { transform: scale(1.04); }
	.mebia-ai-assistant__send:hover:not(:disabled) { transform: scale(1.04); }
}

@keyframes mebia-ai-typing { 0%, 60%, 100% { opacity: 0.38; transform: translateY(0); } 30% { opacity: 0.9; transform: translateY(-3px); } }

@media (prefers-reduced-motion: reduce) {
	.mebia-ai-assistant__typing-dot { animation: none; opacity: 0.58; }
}
