@media (max-width: 767px) {
	:root {
		--rbsv-chat-blue: #075fc7;
		--rbsv-chat-navy: #062b5d;
		--rbsv-chat-gold: #f2c351;
		--rbsv-chat-dock-clearance: calc(116px + env(safe-area-inset-bottom));
	}

	body .rbsv-assistant {
		position: fixed !important;
		z-index: 100030 !important;
		inset-inline: auto 14px !important;
		bottom: var(--rbsv-chat-dock-clearance) !important;
		width: 54px !important;
		height: 54px !important;
		font-family: Inter, "Segoe UI", Arial, sans-serif !important;
	}

	body .rbsv-assistant .rbsv-assistant-toggle {
		position: relative !important;
		display: grid !important;
		place-items: center !important;
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		min-height: 54px !important;
		padding: 0 !important;
		overflow: visible !important;
		border: 2px solid rgba(255, 255, 255, .92) !important;
		border-radius: 18px !important;
		background: linear-gradient(145deg, var(--rbsv-chat-navy), var(--rbsv-chat-blue)) !important;
		color: #fff !important;
		box-shadow: 0 13px 30px rgba(5, 43, 93, .3), 0 3px 8px rgba(5, 43, 93, .18) !important;
		cursor: pointer !important;
		transform: translateZ(0);
		transition: transform .18s ease, box-shadow .18s ease !important;
	}

	body .rbsv-assistant .rbsv-assistant-toggle::after {
		content: "";
		position: absolute;
		inset: -3px -3px auto auto;
		width: 12px;
		height: 12px;
		border: 3px solid #fff;
		border-radius: 50%;
		background: #25b36a;
		box-shadow: 0 2px 7px rgba(4, 37, 78, .2);
	}

	body .rbsv-assistant .rbsv-assistant-toggle:active {
		transform: scale(.95) !important;
	}

	body .rbsv-assistant .rbsv-assistant-toggle:focus-visible {
		outline: 3px solid rgba(242, 195, 81, .95) !important;
		outline-offset: 3px !important;
	}

	body .rbsv-assistant .rbsv-assistant-toggle-icon {
		display: grid !important;
		place-items: center !important;
		width: 32px !important;
		height: 32px !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 11px !important;
		background: var(--rbsv-chat-gold) !important;
		color: #082b58 !important;
		font-size: 19px !important;
		font-weight: 950 !important;
		line-height: 1 !important;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55) !important;
	}

	body .rbsv-assistant .rbsv-assistant-toggle > span:last-child {
		display: none !important;
	}

	body .rbsv-assistant.is-open {
		width: 0 !important;
		height: 0 !important;
	}

	body .rbsv-assistant .rbsv-assistant-panel {
		position: fixed !important;
		z-index: 100031 !important;
		inset-inline: 10px !important;
		bottom: calc(116px + env(safe-area-inset-bottom)) !important;
		width: auto !important;
		height: min(620px, calc(100dvh - 118px)) !important;
		max-width: none !important;
		max-height: none !important;
		overflow: hidden !important;
		border: 1px solid rgba(130, 160, 198, .42) !important;
		border-radius: 26px 26px 20px 20px !important;
		background: #f6f9fd !important;
		box-shadow: 0 24px 70px rgba(3, 34, 75, .3) !important;
	}

	body .rbsv-assistant .rbsv-assistant-panel > header {
		padding: 15px 16px !important;
		background: linear-gradient(135deg, var(--rbsv-chat-navy), #0b55aa) !important;
	}

	body .rbsv-assistant .rbsv-assistant-panel > header > div > span {
		border-radius: 12px !important;
		background: var(--rbsv-chat-gold) !important;
		color: #082b58 !important;
	}

	body .rbsv-assistant .rbsv-assistant-close {
		width: 38px !important;
		height: 38px !important;
		border: 1px solid rgba(255, 255, 255, .22) !important;
		border-radius: 12px !important;
		background: rgba(255, 255, 255, .12) !important;
	}

	body .rbsv-assistant .rbsv-assistant-message.is-user,
	body .rbsv-assistant .rbsv-assistant-form button {
		background: var(--rbsv-chat-blue) !important;
	}

	body .rbsv-assistant .rbsv-assistant-form input:focus {
		border-color: var(--rbsv-chat-blue) !important;
		box-shadow: 0 0 0 3px rgba(7, 95, 199, .12) !important;
	}

	body.rbsv-sheet-open .rbsv-assistant {
		opacity: 0 !important;
		pointer-events: none !important;
	}

	body:has(.rbsv-assistant.is-open) :is(.rbsv-accessibility, .rbsv-display-toggle) {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

@media (max-width: 360px) {
	body .rbsv-assistant {
		inset-inline-end: 10px !important;
	}

	body .rbsv-assistant .rbsv-assistant-panel {
		inset-inline: 6px !important;
		border-radius: 22px 22px 16px 16px !important;
	}
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	body .rbsv-assistant .rbsv-assistant-toggle {
		transition: none !important;
	}
}
