/* rentari-chat.css - SCOPED rules for the Rentari chat widget.
 *
 * Single source of truth for every floating chat bot, header, avatar,
 * and send button across the app. Mirrors the purple-blue-teal "Get
 * Started" CTA gradient and the brand-teal token from tailwind.config.js
 * so AI surfaces always feel like one product.
 *
 * Loaded from public_website/base.html (inlined there), and now from
 * tenant_base.html and dashboard_base.html so the same classes work on
 * tenant_lifestyle.html and landlord_dashboard/analytics.html. Without
 * this file, those pages rendered the FAB as a transparent button with
 * invisible white text and border.
 *
 * Mirrored block lives at app/features/public_website/ui/base.html
 * around the `.rentari-chat-fab` rule. Keep both in sync.
 *
 * Like btn-brand.css, this file contains ZERO global element selectors,
 * so it is safe to load on any surface without risking Tailwind button
 * overrides (see commit aa5db5d).
 */

:root {
  --sl-brand-purple: #8C6CFF;
  --sl-brand-blue:   #6A9EFF;
  --sl-brand-teal:   #48E2D9;
  --sl-brand-deep:   #0f766e;
}

@keyframes sl-chat-pulse {
  0%   { transform: scale(0.85); opacity: 0.55; }
  70%  { transform: scale(1.45); opacity: 0; }
  100% { transform: scale(1.45); opacity: 0; }
}

.rentari-chat-fab {
  position: relative;
  background: linear-gradient(135deg, var(--sl-brand-purple) 0%, var(--sl-brand-blue) 50%, var(--sl-brand-teal) 100%);
  background-size: 200% auto;
  box-shadow: 0 12px 30px -8px rgba(106, 158, 255, 0.55), 0 0 0 1px rgba(255,255,255,0.18) inset;
  transition: background-position 0.6s ease, transform 0.3s ease, box-shadow 0.3s ease;
  overflow: visible;
}
.rentari-chat-fab:hover {
  background-position: right center;
  box-shadow: 0 16px 40px -8px rgba(72, 226, 217, 0.55), 0 0 0 1px rgba(255,255,255,0.25) inset;
}
.rentari-chat-fab__pulse {
  position: absolute; inset: 0; border-radius: 9999px;
  background: linear-gradient(135deg, var(--sl-brand-purple), var(--sl-brand-teal));
  animation: sl-chat-pulse 2.4s ease-out infinite;
  z-index: 0; pointer-events: none;
}
.rentari-chat-fab__dot {
  position: absolute; top: 6px; right: 6px;
  width: 10px; height: 10px; border-radius: 9999px;
  background: #34d399;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.35);
  animation: sl-chat-pulse 2s ease-out infinite;
  z-index: 2;
}
.rentari-chat-header {
  background: linear-gradient(120deg, #1e1b4b 0%, #1e3a8a 50%, var(--sl-brand-deep) 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.rentari-chat-avatar {
  background: linear-gradient(135deg, var(--sl-brand-purple) 0%, var(--sl-brand-blue) 50%, var(--sl-brand-teal) 100%);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.25) inset, 0 4px 10px -2px rgba(106,158,255,0.45);
}
.rentari-chat-send {
  background: linear-gradient(135deg, var(--sl-brand-purple) 0%, var(--sl-brand-blue) 50%, var(--sl-brand-teal) 100%);
  background-size: 200% auto;
  transition: background-position 0.5s ease, transform 0.2s ease;
}
.rentari-chat-send:hover { background-position: right center; transform: translateY(-1px); }
