.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sales-chat-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000;
  height: 62px;
  padding: 8px 19px 8px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: #a7b891;
  color: #10130f;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .45);
  transition: .25s;
}

.sales-chat-launcher:hover { transform: translateY(-3px); background: #cad6bb; }
.sales-chat-launcher img { width: 45px; height: 45px; object-fit: cover; border-radius: 50%; }
.sales-chat-launcher i { position: absolute; left: 44px; top: 8px; width: 10px; height: 10px; border: 2px solid #a7b891; border-radius: 50%; background: #38c172; }
.sales-chat-launcher.chat-open { opacity: 0; pointer-events: none; transform: scale(.85); }

.sales-chat {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1001;
  width: min(390px, calc(100vw - 32px));
  height: min(650px, calc(100svh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 25px;
  background: #111714;
  color: #f3f0e9;
  box-shadow: 0 35px 110px rgba(0, 0, 0, .65);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(18px) scale(.98);
  transition: opacity .25s, transform .25s, visibility .25s;
}

.sales-chat.open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.sales-chat > header { height: 73px; flex: 0 0 auto; padding: 12px 15px; display: flex; align-items: center; gap: 11px; background: #19211d; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.sales-chat > header img { width: 46px; height: 46px; object-fit: cover; border-radius: 50%; }
.sales-chat > header div { display: flex; flex-direction: column; gap: 3px; }
.sales-chat > header strong { font-size: 14px; }
.sales-chat > header span { color: #a7b891; font-size: 11px; }
.sales-chat > header span i { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: #38c172; }
.sales-chat > header button { margin-left: auto; width: 38px; height: 38px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .07); color: #fff; font-size: 20px; cursor: pointer; }
.sales-chat-messages { flex: 1; overflow-y: auto; padding: 18px 14px; display: flex; flex-direction: column; gap: 10px; background: radial-gradient(circle at 25% 0%, rgba(167, 184, 145, .1), transparent 35%), #0e1311; }
.sales-message { max-width: 88%; padding: 11px 12px; border-radius: 15px; white-space: pre-wrap; font-size: 13px; line-height: 1.48; color: #f3f0e9; }
.sales-message.bot { align-self: flex-start; border-bottom-left-radius: 4px; background: #232a26; }
.sales-message.user { align-self: flex-end; border-bottom-right-radius: 4px; background: #3b5946; }
.sales-message.error { align-self: flex-start; border: 1px solid #8e4949; background: #392323; }
.sales-message.audio-message { width: min(310px, 88%); display: grid; gap: 10px; }
.audio-message > strong { color: #f3f0e9; font-size: 13px; }
.audio-message audio { width: 100%; height: 38px; accent-color: #a7b891; }
.audio-summary-toggle { width: max-content; padding: 0; border: 0; background: transparent; color: #b9c9a8; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.audio-summary { margin: 0; padding-top: 9px; border-top: 1px solid rgba(255, 255, 255, .09); color: #d9ded8; white-space: pre-wrap; font-size: 12px; line-height: 1.55; }
.audio-continue { width: 100%; min-height: 38px; padding: 8px 12px; border: 1px solid rgba(167, 184, 145, .42); border-radius: 10px; background: #a7b891; color: #10130f; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.audio-continue:disabled { opacity: .58; cursor: default; }
.sales-message.typing { display: flex; gap: 4px; width: 52px; }
.sales-message.typing i { width: 6px; height: 6px; border-radius: 50%; background: #a7b891; animation: sales-chat-typing 1s infinite; }
.sales-message.typing i:nth-child(2) { animation-delay: .15s; }
.sales-message.typing i:nth-child(3) { animation-delay: .3s; }
@keyframes sales-chat-typing { 50% { opacity: .25; transform: translateY(-2px); } }
.sales-chat-options { display: flex; gap: 8px; padding: 0 14px 10px; background: #0e1311; }
.sales-chat-options:empty { display: none; }
.sales-chat-options button { flex: 1; padding: 10px; border: 1px solid rgba(167, 184, 145, .34); border-radius: 11px; background: rgba(167, 184, 145, .08); color: #cad6bb; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.sales-chat-whatsapp { margin: 0 14px 10px; padding: 12px; text-align: center; border-radius: 12px; background: #128c7e; color: #fff; font-weight: 800; font-size: 13px; text-decoration: none; }
.sales-chat-form { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; padding: 11px 12px; margin: 0; background: #19211d; border-top: 1px solid rgba(255, 255, 255, .08); }
.sales-chat-form input { width: 100%; min-width: 0; height: 44px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, .1); border-radius: 13px; background: #252d29; color: #f3f0e9; padding: 0 13px; font: inherit; outline: none; }
.sales-chat-form input:focus { border-color: #a7b891; }
.sales-chat-form button { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 13px; background: #a7b891; color: #10130f; font: inherit; font-weight: 900; cursor: pointer; }
.sales-chat-form button:disabled, .sales-chat-form input:disabled { opacity: .55; }
.sales-chat-privacy { flex: 0 0 auto; margin: 0; padding: 0 12px 9px; text-align: center; background: #19211d; color: #8f9892; font-size: 9px; }

@media (max-width: 620px) {
  .sales-chat-launcher { right: 14px; bottom: 14px; height: 56px; }
  .sales-chat-launcher img { width: 39px; height: 39px; }
  .sales-chat { inset: 0; width: 100%; height: 100svh; max-height: none; border: 0; border-radius: 0; }
  .sales-chat > header { height: 68px; }
  .sales-chat-messages { padding-bottom: 12px; }
  .sales-chat-form { padding-bottom: max(11px, env(safe-area-inset-bottom)); }
}
