.sales-chat-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 { position: fixed; right: 20px; bottom: 20px; z-index: 80; font-family: "DM Sans", sans-serif; }
.sales-chat [hidden] { display: none !important; }
.sales-chat-toggle { display: flex; align-items: center; gap: 9px; border: 0; border-radius: 999px; padding: 14px 20px; color: #fff; background: #173f35; box-shadow: 0 4px 8px rgba(23, 63, 53, 0.3); font: inherit; font-weight: 800; cursor: pointer; }
.sales-chat-presence { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: #5ee58c; box-shadow: 0 0 0 0 rgba(94, 229, 140, 0.7); animation: sales-chat-presence 2s ease-out infinite; }
@keyframes sales-chat-presence { 70%, 100% { box-shadow: 0 0 0 8px rgba(94, 229, 140, 0); } }
.sales-chat-panel { width: min(390px, calc(100vw - 24px)); max-height: min(650px, calc(100vh - 32px)); overflow: auto; border: 1px solid rgba(23, 63, 53, 0.15); border-radius: 20px; background: #fffdf8; box-shadow: 0 24px 60px rgba(17, 38, 32, 0.25); color: #24332f; }
.sales-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 16px; color: #fff; background: #173f35; }
.sales-chat-agent { display: flex; align-items: center; gap: 10px; }
.sales-chat-agent-copy { display: grid; gap: 2px; }
.sales-chat-agent-copy span { font-size: 12px; opacity: 0.78; }
.sales-chat-header button { display: grid; width: 44px; height: 44px; padding: 0; border: 0; color: #fff; background: transparent; font-size: 28px; line-height: 1; place-items: center; cursor: pointer; }
.sales-chat-messages { display: grid; gap: 10px; min-height: 120px; max-height: 300px; overflow-y: auto; padding: 16px; background: #f7f0e4; }
.sales-chat-messages p { max-width: 88%; margin: 0; padding: 10px 12px; border-radius: 14px; line-height: 1.45; white-space: pre-wrap; }
.sales-chat-bot { justify-self: start; background: #fff; color: #24332f; }
.sales-chat-user { justify-self: end; background: #173f35; color: #fff; }
.sales-chat-typing { display: flex; align-items: center; gap: 4px; width: fit-content; padding: 12px 14px; border-radius: 14px; background: #fff; }
.sales-chat-typing span { width: 7px; height: 7px; border-radius: 50%; background: #61716c; animation: sales-chat-typing 1.2s ease-in-out infinite; }
.sales-chat-typing span:nth-child(2) { animation-delay: 0.15s; }
.sales-chat-typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes sales-chat-typing { 0%, 60%, 100% { transform: translateY(0); opacity: 0.45; } 30% { transform: translateY(-4px); opacity: 1; } }
.sales-chat-start, .sales-chat-compose { display: grid; gap: 10px; padding: 16px; }
.sales-chat-primary { width: 100%; min-height: 44px; border: 0; border-radius: 10px; padding: 10px 14px; color: #fff; background: #173f35; font: inherit; font-weight: 800; cursor: pointer; }
.sales-chat-compose textarea { width: 100%; border: 1px solid #c9c3b8; border-radius: 10px; padding: 10px; color: #24332f; background: #fff; font: inherit; box-sizing: border-box; }
.sales-chat-compose { grid-template-columns: 1fr auto; }
.sales-chat-compose button { border: 0; border-radius: 10px; padding: 0 14px; color: #fff; background: #173f35; font-weight: 700; cursor: pointer; }
.sales-chat-status { min-height: 18px; margin: 0; padding: 0 16px 12px; color: #8a352e; font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .sales-chat-presence, .sales-chat-typing span { animation: none; } }
@media (max-width: 640px) {
  body.sales-chat-open { overflow: hidden; }
  .sales-chat { right: 0; bottom: 0; left: 0; width: 100%; padding: 0 max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); box-sizing: border-box; }
  .sales-chat-toggle { min-height: 48px; margin-left: auto; }
  .sales-chat-open .sales-chat { padding-bottom: 0; }
  .sales-chat-panel { display: flex; width: 100%; height: min(82dvh, 680px); max-height: none; flex-direction: column; overflow: hidden; overscroll-behavior: contain; border: 0; border-radius: 16px 16px 0 0; }
  .sales-chat-header { flex: 0 0 auto; padding: 10px 12px 10px 16px; }
  .sales-chat-messages { min-height: 140px; max-height: none; flex: 1 1 auto; overscroll-behavior: contain; }
  .sales-chat-start { flex: 0 0 auto; overflow-x: auto; }
  .sales-chat-compose { grid-template-columns: minmax(0, 1fr) 56px; flex: 0 0 auto; padding: 12px 12px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid #ded8cc; background: #fffdf8; }
  .sales-chat-compose textarea { min-height: 48px; max-height: 96px; padding: 12px; font-size: 16px; resize: none; }
  .sales-chat-compose button { min-width: 48px; min-height: 48px; padding: 0 10px; }
  .sales-chat-status { flex: 0 0 auto; padding: 0 12px 10px; background: #fffdf8; }
}
@media (max-width: 640px) and (orientation: landscape) { .sales-chat-panel { height: calc(100dvh - max(8px, env(safe-area-inset-top))); } .sales-chat-messages { min-height: 80px; } }
