/* QUBYX Assistant frontend widget. Selectors stay scoped to avoid theme collisions. */
.qubyx-assistant,
.qubyx-assistant * { box-sizing: border-box; }

.qubyx-assistant {
	position: fixed !important;
	right: 22px !important;
	bottom: 22px !important;
	left: auto !important;
	z-index: 2147483000 !important;
	width: auto !important;
	height: auto !important;
	font-family: -apple-system, "Inter Tight", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	pointer-events: none;
	--qx-accent: #159ff0;
	--qx-accent-strong: #0578d9;
	--qx-head-bg: rgba(255, 255, 255, 0.86);
	--qx-panel-bg: rgba(255, 255, 255, 0.96);
	--qx-panel-border: rgba(16, 24, 40, 0.12);
	--qx-text: #10141d;
	--qx-muted: rgba(16, 24, 40, 0.58);
	--qx-line: rgba(16, 24, 40, 0.1);
	--qx-bot: #f2f5f8;
	--qx-input: rgba(255, 255, 255, 0.94);
	--qx-shadow: 0 26px 70px rgba(15, 23, 42, 0.2);
}
.qubyx-assistant.qx-pos-left { left: 22px !important; right: auto !important; }
.qubyx-assistant.qx-theme-dark {
	--qx-head-bg: rgba(18, 22, 29, 0.9);
	--qx-panel-bg: rgba(15, 17, 21, 0.96);
	--qx-panel-border: rgba(255, 255, 255, 0.12);
	--qx-text: #f7f8fb;
	--qx-muted: rgba(247, 248, 251, 0.62);
	--qx-line: rgba(255, 255, 255, 0.11);
	--qx-bot: rgba(255, 255, 255, 0.08);
	--qx-input: rgba(255, 255, 255, 0.06);
	--qx-shadow: 0 30px 80px rgba(0, 0, 0, 0.46);
}

.qubyx-assistant .qx-launch {
	position: relative !important;
	z-index: 2 !important;
	min-width: 184px !important;
	height: 56px !important;
	padding: 8px 18px 8px 9px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	border: 1px solid var(--qx-panel-border) !important;
	border-radius: 999px !important;
	background: var(--qx-panel-bg) !important;
	color: var(--qx-text) !important;
	box-shadow: 0 16px 44px rgba(15, 23, 42, 0.18) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	cursor: pointer !important;
	pointer-events: auto;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.qubyx-assistant.qx-theme-dark .qx-launch {
	box-shadow: 0 18px 52px rgba(0, 0, 0, 0.44) !important;
}
.qubyx-assistant .qx-launch:hover {
	transform: translateY(-2px);
	border-color: rgba(21, 159, 240, 0.42) !important;
	box-shadow: 0 22px 58px rgba(15, 23, 42, 0.24) !important;
}
.qubyx-assistant .qx-launch:focus-visible { outline: 2px solid var(--qx-accent) !important; outline-offset: 3px !important; }
.qubyx-assistant .qx-launch-icon {
	width: 38px !important;
	height: 38px !important;
	border-radius: 999px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	background: linear-gradient(135deg, var(--qx-accent), var(--qx-accent-strong)) !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24) !important;
}
.qubyx-assistant .qx-launch svg { width: 21px !important; height: 21px !important; }
.qubyx-assistant .qx-launch-text {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	min-width: 0 !important;
	font-family: inherit !important;
	line-height: 1.05 !important;
	text-align: left !important;
	white-space: nowrap !important;
}
.qubyx-assistant .qx-launch-text strong {
	font-size: 14px !important;
	font-weight: 760 !important;
	letter-spacing: 0 !important;
	color: var(--qx-text) !important;
}
.qubyx-assistant .qx-launch-text small {
	font-size: 11px !important;
	font-weight: 560 !important;
	letter-spacing: 0 !important;
	color: var(--qx-muted) !important;
}

.qubyx-assistant .qx-panel {
	position: fixed !important;
	top: auto !important;
	right: 22px !important;
	bottom: 92px !important;
	left: auto !important;
	width: 386px !important;
	max-width: calc(100vw - 44px) !important;
	height: min(500px, calc(100svh - 130px)) !important;
	min-height: 360px !important;
	display: none;
	flex-direction: column;
	overflow: hidden !important;
	background: var(--qx-panel-bg) !important;
	color: var(--qx-text) !important;
	border: 1px solid var(--qx-panel-border) !important;
	border-radius: 20px !important;
	box-shadow: var(--qx-shadow) !important;
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 2147483001 !important;
	pointer-events: auto;
	transform: none !important;
}
.qubyx-assistant.qx-pos-left .qx-panel { left: 22px !important; right: auto !important; }
.qubyx-assistant.qx-open .qx-panel { display: flex !important; opacity: 1 !important; visibility: visible !important; }

.qubyx-assistant .qx-head {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 16px 18px !important;
	background: var(--qx-head-bg) !important;
	border-bottom: 1px solid var(--qx-line) !important;
	color: var(--qx-text) !important;
}
.qubyx-assistant .qx-head .qx-dot {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: var(--qx-accent) !important;
	box-shadow: 0 0 0 4px rgba(21, 159, 240, 0.16) !important;
}
.qubyx-assistant .qx-head .qx-title {
	flex: 1 !important;
	font-size: 15px !important;
	font-weight: 740 !important;
	letter-spacing: 0 !important;
	color: var(--qx-text) !important;
}
.qubyx-assistant .qx-head .qx-x {
	width: 32px !important;
	height: 32px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--qx-muted) !important;
	cursor: pointer !important;
	font-size: 22px !important;
	line-height: 1 !important;
}
.qubyx-assistant .qx-head .qx-x:hover { background: var(--qx-bot) !important; color: var(--qx-text) !important; }

.qubyx-assistant .qx-body {
	flex: 1;
	overflow-y: auto;
	padding: 18px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	color: var(--qx-text) !important;
	background: transparent !important;
}
.qubyx-assistant .qx-msg {
	max-width: 88% !important;
	padding: 11px 13px !important;
	border-radius: 16px !important;
	font-size: 14px !important;
	line-height: 1.48 !important;
	letter-spacing: 0 !important;
	white-space: pre-wrap !important;
	word-wrap: break-word !important;
}
.qubyx-assistant .qx-msg.qx-bot {
	align-self: flex-start !important;
	background: var(--qx-bot) !important;
	color: var(--qx-text) !important;
	border-bottom-left-radius: 6px !important;
}
.qubyx-assistant .qx-msg.qx-user {
	align-self: flex-end !important;
	background: var(--qx-accent) !important;
	color: #fff !important;
	border-bottom-right-radius: 6px !important;
}
.qubyx-assistant .qx-msg.qx-typing { color: var(--qx-muted) !important; font-style: italic !important; }

.qubyx-assistant .qx-foot {
	padding: 14px 14px 10px !important;
	border-top: 1px solid var(--qx-line) !important;
	display: flex !important;
	gap: 9px !important;
	background: color-mix(in srgb, var(--qx-panel-bg) 94%, transparent) !important;
}
.qubyx-assistant .qx-foot textarea {
	flex: 1 !important;
	resize: none !important;
	height: 44px !important;
	max-height: 112px !important;
	padding: 11px 13px !important;
	border-radius: 14px !important;
	border: 1px solid var(--qx-line) !important;
	background: var(--qx-input) !important;
	color: var(--qx-text) !important;
	font-size: 14px !important;
	font-family: inherit !important;
	outline: none !important;
	box-shadow: none !important;
	overflow: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}
.qubyx-assistant .qx-foot textarea::-webkit-scrollbar { display: none !important; }
.qubyx-assistant .qx-foot textarea::placeholder { color: var(--qx-muted) !important; }
.qubyx-assistant .qx-foot textarea:focus { border-color: rgba(21, 159, 240, 0.75) !important; }
.qubyx-assistant .qx-foot .qx-send {
	min-width: 66px !important;
	border: 0 !important;
	cursor: pointer !important;
	background: var(--qx-accent) !important;
	color: #fff !important;
	border-radius: 14px !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}
.qubyx-assistant .qx-foot .qx-send:disabled { opacity: .52 !important; cursor: not-allowed !important; }
.qubyx-assistant .qx-note {
	padding: 0 14px 13px !important;
	font-size: 11px !important;
	color: var(--qx-muted) !important;
	text-align: center !important;
	background: color-mix(in srgb, var(--qx-panel-bg) 94%, transparent) !important;
}

@media (max-width: 480px) {
	.qubyx-assistant { right: 12px !important; bottom: 16px !important; }
	.qubyx-assistant.qx-pos-left { left: 12px !important; }
	.qubyx-assistant .qx-launch { min-width: 168px !important; height: 54px !important; padding-right: 15px !important; }
	.qubyx-assistant .qx-launch-icon { width: 36px !important; height: 36px !important; }
	.qubyx-assistant .qx-launch-text strong { font-size: 13px !important; }
	.qubyx-assistant .qx-launch-text small { font-size: 10px !important; }
	.qubyx-assistant .qx-panel {
		right: 12px !important;
		bottom: 82px !important;
		width: calc(100vw - 24px) !important;
		height: min(560px, calc(100svh - 112px)) !important;
		min-height: 360px !important;
		border-radius: 19px !important;
	}
	.qubyx-assistant.qx-pos-left .qx-panel { left: 12px !important; right: auto !important; }
}
