/* Widget de apoio FAQ (marketing + admin) — mantém-se acima do conteúdo padrão */
.support-chat-launcher{
	position:fixed;
	z-index:99990;
	right:max(16px, env(safe-area-inset-right));
	bottom:max(16px, env(safe-area-inset-bottom));
	width:52px;
	height:52px;
	border-radius:50%;
	border:1px solid rgba(125,179,235,0.45);
	background:linear-gradient(145deg, #1d4ed8 0%, #2563eb 100%);
	color:#f8fafc;
	box-shadow:0 10px 28px rgba(15,23,42,0.45);
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	line-height:1;
	transition:transform 0.15s ease, box-shadow 0.15s ease;
}
.support-chat-launcher:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 32px rgba(15,23,42,0.5);
}
.support-chat-launcher:focus-visible{
	outline:2px solid #93c5fd;
	outline-offset:3px;
}
.support-chat-launcher[aria-expanded="true"]{
	background:#1e3a5f;
}

.support-chat-panel{
	position:fixed;
	z-index:99991;
	right:max(16px, env(safe-area-inset-right));
	bottom:calc(16px + 52px + 12px);
	width:min(100vw - 32px, 380px);
	max-height:min(72vh, 520px);
	display:flex;
	flex-direction:column;
	border-radius:16px;
	border:1px solid rgba(100,130,180,0.45);
	background:#0f172a;
	color:#e2e8f0;
	box-shadow:0 24px 48px rgba(2,6,23,0.55);
	overflow:hidden;
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.support-chat-panel.is-open{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.support-chat-panel__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:12px 14px;
	background:rgba(30,58,95,0.85);
	border-bottom:1px solid rgba(100,130,180,0.25);
}
.support-chat-panel__head strong{
	font-size:14px;
	font-weight:800;
	letter-spacing:0.02em;
}
.support-chat-panel__close{
	border:0;
	background:transparent;
	color:#94a3b8;
	font-size:22px;
	line-height:1;
	cursor:pointer;
	padding:4px;
	border-radius:8px;
}
.support-chat-panel__close:hover{
	color:#f1f5f9;
	background:rgba(255,255,255,0.06);
}

.support-chat-panel__messages{
	flex:1 1 auto;
	overflow-y:auto;
	padding:12px 14px;
	display:flex;
	flex-direction:column;
	gap:10px;
	min-height:180px;
	font-size:13px;
	line-height:1.5;
}
.support-chat-msg{
	max-width:100%;
	padding:10px 12px;
	border-radius:12px;
	white-space:pre-wrap;
	word-break:break-word;
}
.support-chat-msg--bot{
	align-self:flex-start;
	background:rgba(51,92,200,0.22);
	border:1px solid rgba(125,179,235,0.25);
	color:#e2e8f0;
}
.support-chat-msg--user{
	align-self:flex-end;
	background:rgba(148,163,184,0.18);
	border:1px solid rgba(148,163,184,0.25);
}
.support-chat-msg a{
	color:#93c5fd;
	font-weight:700;
	text-decoration:underline;
	text-underline-offset:2px;
}
.support-chat-msg a:hover{
	color:#bfdbfe;
}

.support-chat-panel__form{
	display:flex;
	gap:8px;
	padding:10px 12px 12px;
	border-top:1px solid rgba(100,130,180,0.2);
	background:rgba(15,23,42,0.96);
}
.support-chat-panel__input{
	flex:1;
	min-height:40px;
	padding:8px 11px;
	border-radius:10px;
	border:1px solid rgba(100,130,180,0.35);
	background:#1e293b;
	color:#f8fafc;
	font-size:14px;
	font-family:inherit;
}
.support-chat-panel__input::placeholder{
	color:#64748b;
}
.support-chat-panel__input:focus{
	outline:none;
	border-color:#60a5fa;
	box-shadow:0 0 0 2px rgba(96,165,250,0.25);
}
.support-chat-panel__send{
	flex-shrink:0;
	min-width:44px;
	border-radius:10px;
	border:1px solid rgba(125,179,235,0.45);
	background:#2563eb;
	color:#fff;
	font-weight:700;
	font-size:13px;
	cursor:pointer;
}
.support-chat-panel__send:hover{
	background:#1d4ed8;
}
.support-chat-panel__send:disabled{
	opacity:0.5;
	cursor:not-allowed;
}

.contact-chat-block{
	margin:14px 0 0;
	padding:14px 0 0;
	border-top:1px solid rgba(148,163,184,0.2);
}
.contact-chat-block__row{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 14px;
}
.contact-chat-block .btn{
	flex-shrink:0;
}
.contact-chat-block__hint{
	margin:0;
	font-size:12px;
	line-height:1.45;
	color:rgba(226,232,240,0.75);
	max-width:42ch;
}

.support-chat-panel__foot{
	padding:10px 14px 12px;
	font-size:12px;
	line-height:1.45;
	text-align:center;
	border-top:1px solid rgba(100,130,180,0.25);
}
.support-chat-panel__foot a{
	color:#93c5fd;
	font-weight:600;
	text-decoration:none;
}
.support-chat-panel__foot a:hover{
	text-decoration:underline;
}

.admin-shell .support-chat-panel{
	border-color:rgba(78,96,128,0.6);
}
