.hw-widget {
	--hw-brand: #25D366;
	--hw-header: #075E54;
	--hw-panel-bg: #efeae2;
	--hw-message-bg: #ffffff;
	--hw-text: #1f2937;
	--hw-icon: #ffffff;
	--hw-status-dot: #34d058;
	--hw-bottom: 24px;
	--hw-side: 24px;
	--hw-button: 58px;
	--hw-panel-width: 350px;
	--hw-shadow: 24px;
	--hw-radius: 18px;
	--hw-z: 99999;
	--hw-show-delay: 8s;
	--hw-reveal-ease: cubic-bezier(.16,.82,.22,1);

	position: fixed;
	bottom: var(--hw-bottom);
	z-index: var(--hw-z);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px) scale(.82);
	filter: blur(2px);
	pointer-events: none;
	transform-origin: bottom center;
	animation: hwRevealFallback .58s var(--hw-reveal-ease) forwards;
	animation-delay: var(--hw-show-delay);
}

@keyframes hwRevealFallback {
	0% {
		opacity: 0;
		visibility: hidden;
		transform: translateY(18px) scale(.82);
		filter: blur(2px);
		pointer-events: none;
	}
	65% {
		opacity: 1;
		visibility: visible;
		transform: translateY(-2px) scale(1.025);
		filter: blur(0);
		pointer-events: auto;
	}
	100% {
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
		filter: blur(0);
		pointer-events: auto;
	}
}

@keyframes hwRevealNow {
	0% {
		opacity: 0;
		visibility: visible;
		transform: translateY(18px) scale(.82);
		filter: blur(2px);
	}
	65% {
		opacity: 1;
		transform: translateY(-2px) scale(1.025);
		filter: blur(0);
	}
	100% {
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
		filter: blur(0);
		pointer-events: auto;
	}
}

.hw-widget.is-visible {
	animation: hwRevealNow .58s var(--hw-reveal-ease) forwards;
	animation-delay: 0s;
}

.hw-toggle-control {
	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;
}

.hw-widget.hw-pos-right {
	right: var(--hw-side);
}

.hw-widget.hw-pos-left {
	left: var(--hw-side);
}

.hw-floating-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.hw-pos-left .hw-floating-row {
	flex-direction: row-reverse;
}

.hw-floating-button,
.hw-floating-label,
.hw-close {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	font: inherit;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
}

.hw-floating-button:focus-visible,
.hw-floating-label:focus-visible,
.hw-close:focus-visible {
	outline: 3px solid rgba(37,211,102,.28);
	outline-offset: 3px;
}

.hw-floating-button {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: var(--hw-button);
	height: var(--hw-button);
	padding: 0;
	border-radius: 999px;
	background: var(--hw-brand);
	color: var(--hw-icon);
	box-shadow: 0 12px var(--hw-shadow) rgba(0,0,0,.22);
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.hw-floating-button svg {
	width: calc(var(--hw-button) * .52);
	height: calc(var(--hw-button) * .52);
	fill: currentColor;
}

.hw-floating-button:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 15px calc(var(--hw-shadow) + 6px) rgba(0,0,0,.24);
}

.hw-floating-label {
	max-width: 220px;
	padding: 10px 14px;
	border-radius: 999px;
	background: #fff;
	color: #111827;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 8px 25px rgba(0,0,0,.12);
	transition: transform .22s ease, opacity .22s ease;
}

.hw-floating-label:hover {
	transform: translateY(-1px);
}

.hw-icon-close {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	opacity: 0;
	transform: rotate(-45deg) scale(.8);
	transition: opacity .2s ease, transform .25s ease;
}

.hw-icon-close span {
	position: absolute;
	width: 21px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.hw-icon-close span:first-child {
	transform: rotate(45deg);
}

.hw-icon-close span:last-child {
	transform: rotate(-45deg);
}

.hw-widget.is-open .hw-icon-open,
.hw-toggle-control:checked ~ .hw-floating-row .hw-icon-open {
	opacity: 0;
	transform: scale(.75) rotate(20deg);
}

.hw-icon-open {
	display: grid;
	place-items: center;
	transition: opacity .2s ease, transform .25s ease;
}

.hw-widget.is-open .hw-icon-close,
.hw-toggle-control:checked ~ .hw-floating-row .hw-icon-close {
	opacity: 1;
	transform: rotate(0) scale(1);
}

.hw-chat {
	position: absolute;
	bottom: calc(var(--hw-button) + 14px);
	width: min(var(--hw-panel-width), calc(100vw - 28px));
	overflow: hidden;
	border-radius: var(--hw-radius);
	background: #fff;
	box-shadow: 0 18px calc(var(--hw-shadow) + 18px) rgba(0,0,0,.20);
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px) scale(.98);
	transform-origin: bottom right;
	pointer-events: none;
	transition: opacity .24s ease, transform .3s cubic-bezier(.2,.8,.2,1), visibility .24s ease;
}

.hw-pos-right .hw-chat {
	right: 0;
}

.hw-pos-left .hw-chat {
	left: 0;
	transform-origin: bottom left;
}

.hw-widget.is-open .hw-chat,
.hw-toggle-control:checked ~ .hw-chat {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}


/* =========================================================
   APARIENCIA / SKINS
========================================================= */

.hw-chat {
	isolation: isolate;
}

.hw-appearance-banner,
.hw-appearance-background,
.hw-appearance-composer,
.hw-appearance-frame,
.hw-appearance-footer,
.hw-seasonal-foreground {
	pointer-events: none;
}

.hw-appearance-banner {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: var(--hw-radius) var(--hw-radius) 0 0;
}

.hw-appearance-background {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.hw-appearance-composer {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: 0 0 var(--hw-radius) var(--hw-radius);
}

.hw-appearance-frame {
	position: absolute;
	inset: 0;
	z-index: 30;
	overflow: hidden;
	border-radius: inherit;
}

.hw-appearance-footer {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: 0 0 var(--hw-radius) var(--hw-radius);
}

.hw-seasonal-foreground {
	position: absolute;
	inset: 0;
	z-index: 20;
	overflow: hidden;
	border-radius: inherit;
}

.hw-chat-header,
.hw-chat-body,
.hw-chat-footer {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.hw-chat-header > *:not(.hw-appearance-banner),
.hw-chat-footer > *:not(.hw-appearance-composer):not(.hw-appearance-footer) {
	position: relative;
	z-index: 1;
}

.hw-chat-body > *:not(.hw-appearance-background) {
	position: relative;
	z-index: 1;
}


.hw-chat-header {
	position: relative;
	display: grid;
	grid-template-columns: 46px 1fr 30px;
	align-items: center;
	gap: 11px;
	min-height: 82px;
	padding: 15px 14px 14px 16px;
	background: var(--hw-header);
	color: #fff;
}

.hw-avatar {
	position: relative;
	width: 46px;
	height: 46px;
}

.hw-avatar img,
.hw-avatar-fallback {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--hw-brand);
}

.hw-avatar-fallback svg {
	width: 25px;
	height: 25px;
	fill: #fff;
}

.hw-online-dot {
	position: absolute;
	right: 0;
	bottom: 1px;
	width: 11px;
	height: 11px;
	border: 2px solid var(--hw-header);
	border-radius: 50%;
	background: var(--hw-status-dot);
	box-shadow: 0 0 0 0 var(--hw-status-dot);
	animation: hwStatusPulse 2.4s ease-out infinite;
}

@keyframes hwStatusPulse {
	0%, 55% {
		box-shadow: 0 0 0 0 rgba(255,255,255,0);
	}
	70% {
		box-shadow: 0 0 0 4px rgba(255,255,255,.10);
	}
	100% {
		box-shadow: 0 0 0 7px rgba(255,255,255,0);
	}
}

.hw-chat-title {
	min-width: 0;
}

.hw-chat-title strong {
	display: block;
	margin: 0 0 4px;
	color: #fff;
	font-size: 15px;
	line-height: 1.15;
	font-weight: 750;
}

.hw-chat-title span {
	display: block;
	color: rgba(255,255,255,.76);
	font-size: 11px;
	line-height: 1.35;
}

.hw-close {
	position: relative;
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff;
}

.hw-close span {
	position: absolute;
	left: 8px;
	top: 14px;
	width: 14px;
	height: 1.5px;
	border-radius: 2px;
	background: currentColor;
}

.hw-close span:first-child {
	transform: rotate(45deg);
}

.hw-close span:last-child {
	transform: rotate(-45deg);
}

.hw-chat-body {
	position: relative;
	min-height: 150px;
	padding: 25px 20px 22px;
	background:
		linear-gradient(rgba(255,255,255,.04), rgba(255,255,255,.04)),
		var(--hw-panel-bg);
}

.hw-chat-body::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .12;
	pointer-events: none;
	background-image:
		radial-gradient(circle at 20% 20%, rgba(0,0,0,.18) 1px, transparent 1px),
		radial-gradient(circle at 80% 60%, rgba(0,0,0,.12) 1px, transparent 1px);
	background-size: 28px 28px, 34px 34px;
}

.hw-message {
	position: relative;
	z-index: 1;
	max-width: 88%;
	padding: 12px 14px;
	border-radius: 4px 13px 13px 13px;
	background: var(--hw-message-bg);
	color: var(--hw-text);
	font-size: 13px;
	line-height: 1.55;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

.hw-message::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 0;
	width: 0;
	height: 0;
	border-top: 0 solid transparent;
	border-bottom: 10px solid transparent;
	border-right: 9px solid var(--hw-message-bg);
}

.hw-message-time {
	position: relative;
	z-index: 1;
	margin: 6px 0 0 4px;
	color: rgba(31,41,55,.48);
	font-size: 9px;
}

.hw-chat-footer {
	padding: 13px;
	background: #fff;
}

.hw-composer {
	display: block;
	width: 100%;
	min-height: 78px;
	margin: 0 0 10px;
	padding: 11px 12px;
	resize: vertical;
	border: 1px solid rgba(31,41,55,.14);
	border-radius: 11px;
	outline: 0;
	background: #fff;
	color: var(--hw-text);
	font: inherit;
	font-size: 13px;
	line-height: 1.45;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.03);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.hw-composer:focus {
	border-color: var(--hw-brand);
	box-shadow: 0 0 0 3px rgba(37,211,102,.14);
}

.hw-composer::placeholder {
	color: rgba(31,41,55,.42);
}

.hw-cta {
	display: flex;
	width: 100%;
	border: 0;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 10px 16px;
	border-radius: 12px;
	background: var(--hw-brand);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.1;
	transition: filter .2s ease, transform .2s ease;
}

.hw-cta:hover {
	filter: brightness(.95);
	transform: translateY(-1px);
}

.hw-cta svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

.hw-has-pulse.is-visible:not(.is-open) .hw-floating-button::before,
.hw-has-pulse .hw-toggle-control:not(:checked) ~ .hw-floating-row .hw-floating-button::before {
	content: "";
	position: absolute;
	inset: -6px;
	border: 2px solid var(--hw-brand);
	border-radius: 50%;
	opacity: 0;
	animation: hwPulse 2.5s ease-out infinite;
}

@keyframes hwPulse {
	0% {
		transform: scale(.88);
		opacity: .46;
	}
	70%,100% {
		transform: scale(1.25);
		opacity: 0;
	}
}


@media (min-width: 783px) {
	.hw-widget.hw-hide-desktop {
		display: none !important;
	}
}

@media (max-width: 782px) {
	.hw-widget.hw-hide-mobile {
		display: none !important;
	}
}

@media (max-width: 782px) {
	.hw-chat {
		width: min(var(--hw-panel-width), calc(100vw - 24px));
	}

	.hw-widget.hw-pos-right {
		right: max(12px, var(--hw-side));
	}

	.hw-widget.hw-pos-left {
		left: max(12px, var(--hw-side));
	}

	.hw-floating-label {
		max-width: 170px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hw-widget,
	.hw-widget.is-visible {
		animation-duration: .01s !important;
	}

	.hw-widget *,
	.hw-widget *::before,
	.hw-widget *::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}

	.hw-has-pulse .hw-floating-button::before {
		animation: none !important;
	}
}

/* =========================================================
   CONVERSACIÓN
========================================================= */

.hw-message-badge {
	position: absolute;
	top: -5px;
	right: -5px;
	z-index: 6;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #ef4444;
	color: #fff;
	font-size: 10px;
	font-weight: 850;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(0,0,0,.18);
	animation: hwBadgePop .35s cubic-bezier(.2,.9,.25,1.25) both;
}

@keyframes hwBadgePop {
	from { opacity: 0; transform: scale(.55); }
	to { opacity: 1; transform: scale(1); }
}

.hw-message-stack {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}

.hw-message-stack .hw-message-time {
	margin: -1px 0 3px 4px;
}

.hw-message--sequence {
	animation: hwMessageIn .34s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes hwMessageIn {
	from { opacity: 0; transform: translateY(7px) scale(.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.hw-typing {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	padding: 11px 13px;
	border-radius: 4px 13px 13px 13px;
	background: var(--hw-message-bg);
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

.hw-typing[hidden] { display: none !important; }

.hw-typing-label {
	color: rgba(31,41,55,.58);
	font-size: 10px;
	font-weight: 650;
}
.hw-typing-dots {
	display: inline-flex;
	gap: 3px;
}
.hw-typing-dots i {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(31,41,55,.42);
	animation: hwTypingDot 1s ease-in-out infinite;
}
.hw-typing-dots i:nth-child(2) { animation-delay: .12s; }
.hw-typing-dots i:nth-child(3) { animation-delay: .24s; }

@keyframes hwTypingDot {
	0%,60%,100% { transform: translateY(0); opacity: .45; }
	30% { transform: translateY(-3px); opacity: 1; }
}

.hw-quick-replies {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 12px;
}
.hw-quick-replies[hidden] { display: none !important; }

.hw-quick-reply {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid color-mix(in srgb, var(--hw-brand) 44%, transparent);
	border-radius: 999px;
	padding: 7px 10px;
	background: rgba(255,255,255,.78);
	color: var(--hw-text);
	font: inherit;
	font-size: 10px;
	font-weight: 750;
	line-height: 1.15;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.hw-quick-reply:hover {
	transform: translateY(-1px);
	border-color: var(--hw-brand);
	background: #fff;
}

.hw-advisor-role {
	display: block;
	margin: -1px 0 3px;
	color: rgba(255,255,255,.60);
	font-size: 9px;
	font-style: normal;
	font-weight: 650;
	line-height: 1.2;
	letter-spacing: .02em;
}

.hw-status-primary {
	display: block;
	color: rgba(255,255,255,.82) !important;
	font-size: 11px !important;
	line-height: 1.25 !important;
}

.hw-status-secondary {
	display: block;
	margin-top: 2px;
	color: rgba(255,255,255,.57);
	font-size: 9px;
	line-height: 1.25;
}

/* Animaciones de apertura */
.hw-open-fade .hw-chat { transform: none; }
.hw-open-fade.is-open .hw-chat,
.hw-open-fade .hw-toggle-control:checked ~ .hw-chat { transform: none; }

.hw-open-slide .hw-chat { transform: translateY(28px); }
.hw-open-slide.is-open .hw-chat,
.hw-open-slide .hw-toggle-control:checked ~ .hw-chat { transform: translateY(0); }

.hw-open-scale .hw-chat { transform: scale(.90); }
.hw-open-scale.is-open .hw-chat,
.hw-open-scale .hw-toggle-control:checked ~ .hw-chat { transform: scale(1); }

.hw-open-spring .hw-chat {
	transform: translateY(18px) scale(.94);
	transition: opacity .24s ease, transform .44s cubic-bezier(.16,1.15,.26,1), visibility .24s ease;
}
.hw-open-spring.is-open .hw-chat,
.hw-open-spring .hw-toggle-control:checked ~ .hw-chat { transform: translateY(0) scale(1); }

/* Asesor: jerarquía secundaria bajo el título del asistente */
.hw-advisor-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 1px 0 3px;
	min-width: 0;
	color: rgba(255,255,255,.82);
	font-size: 10px;
	line-height: 1.2;
}
.hw-advisor-meta b {
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.hw-advisor-meta em {
	font-style: normal;
	font-weight: 650;
	color: rgba(255,255,255,.58);
	white-space: nowrap;
}
.hw-advisor-meta em::before {
	content: "·";
	margin-right: 6px;
	color: rgba(255,255,255,.38);
}

/* v3 · accesibilidad y robustez */
.hw-floating-button:focus-visible,.hw-floating-label:focus-visible,.hw-close:focus-visible,.hw-quick-reply:focus-visible,.hw-cta:focus-visible,.hw-composer:focus-visible{outline:3px solid rgba(37,211,102,.55);outline-offset:3px}.hw-composer{max-height:140px}.hw-chat-title strong,.hw-advisor-meta b,.hw-advisor-meta em,.hw-status-primary,.hw-status-secondary{overflow-wrap:anywhere}.hw-quick-reply{min-height:36px}.hw-cta{min-height:44px}
@media(max-width:480px){.hw-chat{width:min(calc(100vw - 20px),var(--hw-panel-width))!important;max-height:min(78vh,640px)}.hw-chat-body{min-height:160px}.hw-chat-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.hw-widget{--hw-side:10px!important;--hw-bottom:12px!important}}

/* =========================================================
   CHAT INTERNO · CAPTURA Y MENSAJERÍA
========================================================= */
.hw-composer-area{position:relative;display:flex;flex-direction:column;gap:8px;z-index:2}
.hw-contact-capture{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;padding:4px 0 2px}
.hw-contact-capture[hidden],.hw-composer-area[hidden]{display:none!important}
.hw-contact-capture__head{display:flex;flex-direction:column;gap:3px}
.hw-contact-capture__head strong{font-size:13px;color:var(--hw-text)}
.hw-contact-capture__head span{font-size:11px;line-height:1.4;color:color-mix(in srgb,var(--hw-text) 65%,transparent)}
.hw-contact-capture__fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hw-contact-capture__fields label{display:flex;flex-direction:column;gap:4px}
.hw-contact-capture__fields label:last-child{grid-column:1/-1}
.hw-contact-capture__fields span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--hw-text) 62%,transparent)}
.hw-contact-capture__fields input{width:100%;min-height:38px;border:1px solid rgba(31,41,55,.16);border-radius:9px;background:#fff;padding:8px 10px;color:#1f2937;font:inherit;box-shadow:none;outline:none}
.hw-contact-capture__fields input:focus{border-color:var(--hw-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--hw-brand) 18%,transparent)}
.hw-contact-capture__error{min-height:14px;font-size:10px;color:#b42318}
.hw-message--internal{max-width:82%;white-space:pre-wrap}
.hw-message--visitor{align-self:flex-end;margin-left:auto;background:color-mix(in srgb,var(--hw-brand) 18%,#fff);border-bottom-right-radius:4px}
.hw-message--advisor{align-self:flex-start}
.hw-message-time--visitor{text-align:right;margin-left:auto}
.hw-cta-icon{display:inline-flex;align-items:center;justify-content:center}

@media (max-width:480px){
	.hw-contact-capture__fields{grid-template-columns:1fr}
	.hw-contact-capture__fields label:last-child{grid-column:auto}
}

/* =========================================================
   CHAT INTERNO v3.1.3 · LAYOUT ESTABLE Y AUTOMATIZACIONES
========================================================= */
.hw-widget,
.hw-widget *,
.hw-widget *::before,
.hw-widget *::after{box-sizing:border-box}

.hw-widget.is-internal-chat .hw-chat{display:flex;flex-direction:column;max-height:min(78vh,720px);overflow:hidden}
.hw-widget.is-internal-chat .hw-chat-header{flex:0 0 auto;overflow:hidden}
.hw-widget.is-internal-chat .hw-chat-body{flex:1 1 auto;min-height:170px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.hw-widget.is-internal-chat .hw-chat-footer{flex:0 0 auto;overflow:visible;padding:12px;background:rgba(255,255,255,.98);border-top:1px solid rgba(31,41,55,.08)}
.hw-widget.is-internal-chat .hw-message-stack{width:100%;min-width:0}
.hw-widget.is-internal-chat .hw-message{max-width:84%;overflow-wrap:anywhere;word-break:break-word}
.hw-widget.is-internal-chat .hw-message--visitor{align-self:flex-end;margin-left:auto;border-radius:13px 4px 13px 13px}
.hw-widget.is-internal-chat .hw-message--visitor::before{display:none}
.hw-widget.is-internal-chat .hw-message--system{background:#f7f8fa;border:1px solid rgba(31,41,55,.08);box-shadow:none}
.hw-widget.is-internal-chat .hw-composer-area{gap:7px;min-width:0}
.hw-widget.is-internal-chat .hw-composer{min-height:62px;max-height:104px;margin:0;resize:none}
.hw-widget.is-internal-chat .hw-cta{min-height:43px}

.hw-widget.is-internal-chat .hw-contact-capture{width:100%;min-width:0;gap:9px;padding:2px 0}
.hw-widget.is-internal-chat .hw-contact-capture__head{padding:0 2px}
.hw-widget.is-internal-chat .hw-contact-capture__fields{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:7px}
.hw-widget.is-internal-chat .hw-contact-capture__fields label,
.hw-widget.is-internal-chat .hw-contact-capture__fields label:last-child{grid-column:auto;min-width:0;width:100%}
.hw-widget.is-internal-chat .hw-contact-capture__fields input{display:block;min-width:0;max-width:100%;width:100%}
.hw-widget.is-internal-chat .hw-contact-capture__error{min-height:12px}

.hw-internal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;width:100%;margin:2px 0 7px;padding-left:2px}
.hw-internal-action{appearance:none;border:1px solid color-mix(in srgb,var(--hw-brand) 42%,#d8dde6);border-radius:999px;background:#fff;color:var(--hw-text);padding:8px 11px;font:inherit;font-size:11px;font-weight:750;line-height:1.2;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.hw-internal-action:hover{border-color:var(--hw-brand);background:color-mix(in srgb,var(--hw-brand) 8%,#fff);transform:translateY(-1px)}
.hw-internal-action:disabled{cursor:default;opacity:.48;transform:none}
.hw-internal-action:focus-visible{outline:3px solid color-mix(in srgb,var(--hw-brand) 28%,transparent);outline-offset:2px}

.hw-widget.is-internal-chat .hw-cta:disabled,
.hw-widget.is-internal-chat .hw-composer:disabled{opacity:.62;cursor:not-allowed}

@media(max-width:480px){
	.hw-widget.is-internal-chat .hw-chat{width:min(calc(100vw - 16px),var(--hw-panel-width))!important;max-height:min(82vh,680px)}
	.hw-widget.is-internal-chat .hw-chat-header{grid-template-columns:42px minmax(0,1fr) 30px;gap:9px;min-height:76px;padding:12px}
	.hw-widget.is-internal-chat .hw-avatar,.hw-widget.is-internal-chat .hw-avatar img,.hw-widget.is-internal-chat .hw-avatar-fallback{width:42px;height:42px}
	.hw-widget.is-internal-chat .hw-chat-body{padding:18px 13px 16px;min-height:150px}
	.hw-widget.is-internal-chat .hw-chat-footer{padding:10px}
	.hw-widget.is-internal-chat .hw-message{max-width:90%;font-size:12px}
	.hw-internal-actions{gap:6px}.hw-internal-action{padding:8px 10px;font-size:10px}
}

/* =========================================================
   CHAT INTERNO v3.1.5 · CAPTURA DE CONTACTO INTEGRADA
========================================================= */
.hw-widget .hw-chat-footer[hidden]{display:none!important}
.hw-widget.is-internal-lead .hw-chat{max-height:min(82vh,680px)}
.hw-widget.is-internal-lead .hw-chat-body{min-height:0;padding-bottom:14px}
.hw-widget.is-internal-lead .hw-message-stack{margin-bottom:4px}

.hw-widget.is-internal-chat .hw-contact-capture{
	position:relative;
	z-index:3;
	display:flex;
	flex-direction:column;
	gap:11px;
	width:100%;
	margin:14px 0 0;
	padding:14px;
	border:1px solid rgba(31,41,55,.10);
	border-radius:15px;
	background:rgba(255,255,255,.92);
	box-shadow:0 9px 24px rgba(15,23,42,.06);
	backdrop-filter:blur(5px);
}
.hw-widget.is-internal-chat .hw-contact-capture[hidden]{display:none!important}
.hw-widget.is-internal-chat .hw-contact-capture__head{display:flex;flex-direction:column;gap:3px;margin:0;padding:0}
.hw-widget.is-internal-chat .hw-contact-capture__head strong{margin:0;font-size:13px;line-height:1.25;color:var(--hw-text)}
.hw-widget.is-internal-chat .hw-contact-capture__head span{margin:0;font-size:10.5px;line-height:1.45;color:color-mix(in srgb,var(--hw-text) 65%,transparent)}
.hw-widget.is-internal-chat .hw-contact-capture__fields{display:grid;grid-template-columns:1fr;gap:9px;width:100%;margin:0;padding:0}
.hw-widget.is-internal-chat .hw-contact-capture__fields label,
.hw-widget.is-internal-chat .hw-contact-capture__fields label:last-child{
	display:flex;
	flex-direction:column;
	gap:5px;
	width:100%;
	min-width:0;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
}
.hw-widget.is-internal-chat .hw-contact-capture__fields span{
	display:block;
	margin:0!important;
	padding:0!important;
	font-size:9px;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.055em;
	text-transform:uppercase;
	color:color-mix(in srgb,var(--hw-text) 62%,transparent)
}
.hw-widget.is-internal-chat .hw-contact-capture__fields input{
	display:block;
	width:100%!important;
	min-width:0!important;
	max-width:100%!important;
	height:40px!important;
	min-height:40px!important;
	margin:0!important;
	padding:8px 11px!important;
	border:1px solid rgba(31,41,55,.14)!important;
	border-radius:9px!important;
	background:#fff!important;
	color:#1f2937!important;
	font:inherit!important;
	font-size:12px!important;
	line-height:1.2!important;
	box-shadow:none!important;
	outline:0!important;
}
.hw-widget.is-internal-chat .hw-contact-capture__fields input:focus{
	border-color:var(--hw-brand)!important;
	box-shadow:0 0 0 3px color-mix(in srgb,var(--hw-brand) 14%,transparent)!important
}
.hw-widget.is-internal-chat .hw-contact-capture__error{min-height:0;margin:-2px 0 0;font-size:10px;line-height:1.3;color:#b42318}
.hw-widget.is-internal-chat .hw-contact-capture__error:empty{display:none}
.hw-widget.is-internal-chat .hw-contact-capture__submit{
	display:flex!important;
	align-items:center;
	justify-content:center;
	width:100%!important;
	min-height:43px!important;
	margin:0!important;
	padding:10px 14px!important;
	border-radius:10px!important;
	flex:0 0 auto;
}
.hw-widget.is-internal-chat .hw-contact-capture__submit span{display:block;line-height:1.2}

@media(max-width:480px){
	.hw-widget.is-internal-lead .hw-chat{max-height:min(88vh,700px)}
	.hw-widget.is-internal-lead .hw-chat-body{padding:15px 12px 13px}
	.hw-widget.is-internal-chat .hw-contact-capture{margin-top:10px;padding:12px;gap:9px;border-radius:13px}
	.hw-widget.is-internal-chat .hw-contact-capture__fields{gap:8px}
	.hw-widget.is-internal-chat .hw-contact-capture__fields input{height:39px!important;min-height:39px!important}
}


/* =========================================================
   CHAT INTERNO v3.1.8 · ALTURA ESTABLE Y FONDO FIJO
========================================================= */
.hw-widget.is-internal-chat .hw-chat{
	height:min(620px,calc(100vh - 112px));
	max-height:none;
}
@supports (height:100dvh){
	.hw-widget.is-internal-chat .hw-chat{height:min(620px,calc(100dvh - 112px))}
}
.hw-widget.is-internal-chat .hw-chat-body{
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	min-height:0;
	overflow:hidden;
}
.hw-widget.is-internal-chat .hw-chat-body>.hw-appearance-background{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}
.hw-widget.is-internal-chat .hw-message-stack{
	flex:1 1 auto;
	min-height:0;
	overflow-x:hidden;
	overflow-y:auto;
	overscroll-behavior:contain;
	scrollbar-width:thin;
	padding-right:4px;
}
.hw-widget.is-internal-chat .hw-typing,
.hw-widget.is-internal-chat .hw-quick-replies,
.hw-widget.is-internal-chat .hw-contact-capture{
	flex:0 0 auto;
}
.hw-widget.is-internal-chat .hw-chat-footer{
	max-height:150px;
}
.hw-widget.is-internal-chat .hw-composer{
	min-height:56px;
	max-height:86px;
}
@media(max-width:480px){
	.hw-widget.is-internal-chat .hw-chat{
		height:min(76vh,600px);
		max-height:none;
	}
	@supports (height:100dvh){
		.hw-widget.is-internal-chat .hw-chat{height:min(76dvh,600px)}
	}
}
