#sai-chat-root {
  --sai-brand: #25D366;
  --sai-brand-dark: #128C7E;
  font-family: 'Hind Siliguri', sans-serif;
}

/* Floating toggle button */
.sai-toggle-btn {
  position: fixed !important;
  bottom: 95px !important;
  right: 25px !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, var(--sai-brand) 0%, var(--sai-brand-dark) 100%) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.35) !important;
  z-index: 999998 !important;
  transition: transform 0.25s ease !important;
}
.sai-toggle-btn:hover { transform: scale(1.08) !important; }
.sai-toggle-btn svg { width: 28px !important; height: 28px !important; fill: #fff !important; }

@media (max-width: 768px) {
  .sai-toggle-btn { bottom: 85px !important; right: 18px !important; width: 52px !important; height: 52px !important; }
}

/* Chat window */
.sai-window {
  position: fixed !important;
  bottom: 165px !important;
  right: 25px !important;
  width: 360px !important;
  max-width: calc(100vw - 30px) !important;
  height: 520px !important;
  max-height: calc(100vh - 200px) !important;
  background: #0F172A !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important;
  display: none;
  flex-direction: column !important;
  overflow: hidden !important;
  z-index: 999999 !important;
}
.sai-window.sai-open { display: flex !important; }

@media (max-width: 480px) {
  .sai-window {
    bottom: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 85vh !important;
    max-height: 85vh !important;
    border-radius: 16px 16px 0 0 !important;
  }
}

.sai-header {
  background: linear-gradient(135deg, var(--sai-brand) 0%, var(--sai-brand-dark) 100%) !important;
  color: #fff !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.sai-header-title { display: flex !important; align-items: center !important; gap: 10px !important; font-weight: 700 !important; font-size: 0.98rem !important; }
.sai-header-dot { width: 9px !important; height: 9px !important; border-radius: 50% !important; background: #B6FFCB !important; box-shadow: 0 0 0 0 rgba(182,255,203,0.6) !important; animation: sai-pulse 2s infinite !important; }
@keyframes sai-pulse {
  0% { box-shadow: 0 0 0 0 rgba(182,255,203,0.6); }
  70% { box-shadow: 0 0 0 8px rgba(182,255,203,0); }
  100% { box-shadow: 0 0 0 0 rgba(182,255,203,0); }
}
.sai-close-btn { background: rgba(255,255,255,0.15) !important; border: none !important; color: #fff !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; cursor: pointer !important; font-size: 16px !important; line-height: 1 !important; }

.sai-body {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: radial-gradient(circle at top, #131c30 0%, #0b1220 100%) !important;
}

.sai-msg { max-width: 82% !important; padding: 10px 13px !important; border-radius: 14px !important; font-size: 0.88rem !important; line-height: 1.5 !important; white-space: pre-wrap !important; word-wrap: break-word !important; }
.sai-msg-bot { align-self: flex-start !important; background: rgba(255,255,255,0.06) !important; color: #E5E7EB !important; border-bottom-left-radius: 4px !important; }
.sai-msg-user { align-self: flex-end !important; background: linear-gradient(135deg, var(--sai-brand) 0%, var(--sai-brand-dark) 100%) !important; color: #fff !important; border-bottom-right-radius: 4px !important; }

.sai-typing { align-self: flex-start !important; display: flex !important; gap: 4px !important; padding: 10px 13px !important; }
.sai-typing span { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #9CA3AF !important; animation: sai-blink 1.2s infinite ease-in-out !important; }
.sai-typing span:nth-child(2) { animation-delay: 0.2s !important; }
.sai-typing span:nth-child(3) { animation-delay: 0.4s !important; }
@keyframes sai-blink { 0%, 80%, 100% { opacity: 0.3; } 40% { opacity: 1; } }

.sai-footer { padding: 12px !important; border-top: 1px solid rgba(255,255,255,0.08) !important; background: #0F172A !important; }
.sai-input-row { display: flex !important; gap: 8px !important; }
.sai-input {
  flex: 1 !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  font-size: 0.88rem !important;
  resize: none !important;
  font-family: inherit !important;
  outline: none !important;
}
.sai-input::placeholder { color: #6B7280 !important; }
.sai-send-btn {
  background: linear-gradient(135deg, var(--sai-brand) 0%, var(--sai-brand-dark) 100%) !important;
  border: none !important;
  border-radius: 10px !important;
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
.sai-send-btn svg { width: 18px !important; height: 18px !important; fill: #fff !important; }
.sai-send-btn:disabled { opacity: 0.5 !important; cursor: not-allowed !important; }

.sai-suggested-wrap { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; align-self: flex-start !important; max-width: 100% !important; margin-top: -2px !important; }
.sai-suggested-chip {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #E5E7EB !important;
  border-radius: 999px !important;
  padding: 7px 13px !important;
  font-size: 0.78rem !important;
  cursor: pointer !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
  font-family: inherit !important;
}
.sai-suggested-chip:hover { background: rgba(255,255,255,0.14) !important; border-color: var(--sai-brand) !important; }

.sai-wa-fallback {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 6px !important;
  font-size: 0.8rem !important;
  color: var(--sai-brand) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.sai-wa-fallback:hover { text-decoration: underline !important; }
