.intentpulse-ai-hidden {
	display: none !important;
}

.ipa-assistant {
	bottom: 22px;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	position: fixed;
	right: 22px;
	z-index: 99999;
}

.ipa-assistant-position-bottom_left {
	left: 22px;
	right: auto;
}

.ipa-assistant-position-left_center {
	bottom: auto;
	left: 22px;
	right: auto;
	top: 50%;
	transform: translateY(-50%);
}

.ipa-assistant-position-right_center {
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
}

.ipa-assistant *,
.ipa-assistant *::before,
.ipa-assistant *::after {
	box-sizing: border-box;
}

.ipa-assistant-bubble {
	align-items: center;
	background: var(--ipa-assistant-bubble-bg, #e62b4a);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
	color: var(--ipa-assistant-bubble-text, #fff);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	padding: 0 18px;
	width: auto;
}

.ipa-assistant-waiting .ipa-assistant-bubble {
	box-shadow: 0 0 0 4px rgba(230, 43, 74, 0.16), 0 12px 26px rgba(0, 0, 0, 0.22);
	transform: translateY(-1px);
}

.ipa-assistant-panel {
	background: var(--ipa-assistant-card-bg, #fff);
	border: 1px solid var(--ipa-assistant-border, rgba(0, 0, 0, 0.08));
	border-radius: var(--ipa-assistant-radius, 8px);
	box-shadow: var(--ipa-assistant-shadow, 0 20px 48px rgba(0, 0, 0, 0.22));
	color: var(--ipa-assistant-text, #1d2327);
	display: none;
	max-height: min(620px, calc(100vh - 44px));
	overflow: hidden;
	width: var(--ipa-assistant-width, 360px);
}

.ipa-assistant-open .ipa-assistant-panel {
	display: block;
}

.ipa-assistant-open .ipa-assistant-bubble {
	display: none;
}

.ipa-assistant-header {
	align-items: center;
	background: var(--ipa-assistant-card-bg, #fff);
	border-bottom: 1px solid var(--ipa-assistant-border, #eef1f4);
	color: var(--ipa-assistant-text, #1d2327);
	display: flex;
	justify-content: space-between;
	padding: 14px 16px 10px;
}

.ipa-assistant-header strong {
	font-size: var(--ipa-assistant-title-size, 14px);
	letter-spacing: 0.02em;
}

.ipa-assistant-identity {
	align-items: center;
	display: flex;
	gap: 10px;
	min-width: 0;
}

.ipa-assistant-identity span {
	color: var(--ipa-assistant-muted, #646970);
	display: block;
	font-size: 12px;
	font-weight: 600;
	margin-top: 1px;
}

.ipa-assistant-avatar {
	align-items: center;
	background: var(--ipa-assistant-card-bg, #fff);
	border: 1px solid var(--ipa-assistant-border, #e2e8f0);
	border-radius: 999px;
	color: var(--ipa-assistant-cta-bg, #e62b4a);
	display: inline-flex;
	flex: 0 0 34px;
	font-size: 16px;
	font-weight: 800;
	height: 34px;
	justify-content: center;
	overflow: hidden;
	width: 34px;
}

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

.ipa-assistant-close {
	background: transparent;
	border: 0;
	color: #646970;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
	padding: 0;
}

.ipa-assistant-body {
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	padding: 16px;
}

.ipa-assistant-message {
	font-size: var(--ipa-assistant-message-size, 15px);
	line-height: var(--ipa-assistant-line-height, 1.45);
	margin: 0 0 14px;
}

.ipa-assistant-quick-input {
	border: 1px solid var(--ipa-assistant-border, #c3c4c7);
	border-radius: calc(var(--ipa-assistant-radius, 8px) - 2px);
	color: var(--ipa-assistant-text, #1d2327);
	display: block;
	font-size: var(--ipa-assistant-input-size, 14px);
	margin: 0 0 12px;
	padding: 10px 11px;
	width: 100%;
}

.ipa-assistant-actions {
	display: grid;
	gap: 8px;
}

.ipa-assistant-primary,
.ipa-assistant-secondary {
	border-radius: 6px;
	cursor: pointer;
	font-size: var(--ipa-assistant-button-size, 14px);
	font-weight: 700;
	line-height: 1.2;
	padding: 11px 12px;
	text-align: center;
	width: 100%;
}

.ipa-assistant-not-now {
	background: transparent;
	border: 0;
	color: var(--ipa-assistant-muted, #646970);
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	padding: 7px 8px;
	text-align: center;
	width: 100%;
}

.ipa-assistant-primary {
	background: var(--ipa-assistant-cta-bg, #e62b4a);
	border: 1px solid var(--ipa-assistant-cta-bg, #e62b4a);
	color: var(--ipa-assistant-cta-text, #fff);
}

.ipa-assistant-secondary {
	background: #fff;
	border: 1px solid #dcdcde;
	color: #1d2327;
}

.ipa-assistant-privacy-line {
	color: var(--ipa-assistant-privacy, #6b7280);
	font-size: 12px;
	line-height: 1.35;
	margin: 10px 0 0;
	text-align: center;
}

.ipa-assistant-form {
	display: grid;
	gap: 10px;
}

.ipa-assistant-form label {
	color: var(--ipa-assistant-text, #1d2327);
	font-size: 12px;
	font-weight: 700;
}

.ipa-assistant-form input,
.ipa-assistant-form textarea {
	border: 1px solid var(--ipa-assistant-border, #c3c4c7);
	border-radius: 6px;
	display: block;
	font: inherit;
	margin-top: 4px;
	padding: 9px 10px;
	width: 100%;
}

.ipa-assistant-error {
	color: #b32d2e;
	font-size: 13px;
	min-height: 18px;
}

.ipa-assistant-note {
	background: #f6f7f7;
	border-radius: 6px;
	font-size: 13px;
	margin: 12px 0 0;
	padding: 10px;
}

@media (max-width: 520px) {
	.ipa-assistant {
		bottom: 14px;
		left: 14px;
		right: 14px;
		top: auto;
		transform: none;
	}

	.ipa-assistant-bubble {
		height: 42px;
		margin-left: auto;
		width: auto;
	}

	.ipa-assistant-panel {
		width: 100%;
	}
}
