.live-chat-fab {
  position: fixed;
  right: 1.25rem;
  bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  border: 1px solid rgba(0, 240, 255, 0.35);
  border-radius: 999px;
  cursor: pointer;
  color: #0b0e1a;
  background: linear-gradient(135deg, #00f0ff 0%, #00ff88 100%);
  box-shadow:
    0 8px 32px rgba(0, 240, 255, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.user-app-body .live-chat-fab {
  bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
}

.live-chat-fab:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow:
    0 12px 36px rgba(0, 240, 255, 0.38),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.live-chat-fab:active {
  transform: translateY(0) scale(0.98);
}

.live-chat-fab.is-loading {
  opacity: 0.85;
  pointer-events: none;
}

.live-chat-fab__icon {
  width: 1.45rem;
  height: 1.45rem;
}

.live-chat-fab__pulse {
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  border: 2px solid rgba(0, 240, 255, 0.45);
  animation: live-chat-pulse 2.4s ease-out infinite;
  pointer-events: none;
}

@keyframes live-chat-pulse {
  0% {
    transform: scale(1);
    opacity: 0.75;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

[data-theme="light"] .live-chat-fab {
  color: #0b0e1a;
  border-color: rgba(0, 180, 200, 0.4);
  box-shadow:
    0 8px 28px rgba(0, 160, 180, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.5) inset;
}

@media (max-width: 640px) {
  .live-chat-fab {
    right: 1rem;
    width: 3.25rem;
    height: 3.25rem;
  }
}
