/* onboarding-chatbot.css - Premium AI Edition */

:root {
  --cb-brand: #0c8de4;
  --cb-brand-glow: rgba(12, 141, 228, 0.4);
  --cb-indigo: #6366f1;
  --cb-white: rgba(255, 255, 255, 0.82);
  --cb-dark: rgba(15, 23, 42, 0.88);
}

/* FAB - Premium Assistant Button */
#onboarding-ai-btn {
  background: linear-gradient(135deg, #3b82f6, #6366f1) !important;
  color: white !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  cursor: pointer !important;
  animation: float-cb 4s ease-in-out infinite !important;
}

#onboarding-ai-btn:hover {
  transform: scale(1.08) translateY(-5px) !important;
  box-shadow: 0 15px 45px rgba(59, 130, 246, 0.4) !important;
}

#onboarding-ai-btn i {
  font-size: 28px !important;
}

#onboarding-ai-btn span {
  display: none !important;
}

@keyframes float-cb {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Modal Wrapper */
#onboarding-chatbot {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  display: none;
  background: rgba(8, 15, 30, 0.15) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 20px !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  transition: opacity 0.4s ease !important;
}

#onboarding-chatbot.flex {
  display: flex !important;
  opacity: 1;
}

/* Modal Content */
#chatbot-modal {
  width: 400px !important;
  max-width: 100% !important;
  height: min(680px, 90vh) !important;
  background: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 40px !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transform: scale(0.95) translateY(20px) !important;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

#onboarding-chatbot.flex #chatbot-modal {
  transform: scale(1) translateY(0) !important;
}

/* Header */
.chatbot-header {
  padding: 32px 32px 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.cb-ai-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #3b82f6, #6366f1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: white !important;
  box-shadow: 0 5px 15px rgba(59, 130, 246, 0.3) !important;
}

.cb-ai-avatar::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 16px;
  border: 2px solid var(--cb-brand);
  opacity: 0.3;
  animation: ping-cb 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes ping-cb {
  75%, 100% { transform: scale(1.3); opacity: 0; }
}

.chatbot-header-text h3 {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #3b82f6 !important;
}

.cb-status {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.45) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.cb-status-dot {
  width: 6px !important;
  height: 6px !important;
  background: #10b981 !important;
  border-radius: 50% !important;
  box-shadow: 0 0 8px #10b981 !important;
}

/* Messages */
#chatbot-messages {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 30px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  scrollbar-width: thin;
}

.bot-message {
  align-self: flex-start !important;
  max-width: 85% !important;
  background: #1e293b !important;
  padding: 16px 20px !important;
  border-radius: 8px 24px 24px 24px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #f1f5f9 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
  animation: s-fade-up 0.5s cubic-bezier(0.19, 1, 0.22, 1) forwards !important;
}

.dark .bot-message {
  background: rgba(255, 255, 255, 0.07) !important;
  color: #f1f5f9 !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
}

@keyframes s-fade-up {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Actions Area */
#chatbot-actions {
  padding: 24px 30px 40px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  position: relative !important;
  z-index: 10 !important;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.9), transparent) !important;
}

.dark #chatbot-actions {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent) !important;
}

/* Improved Buttons */
.chatbot-btn {
  width: 100% !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 18px 24px !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #f1f5f9 !important;
  text-align: left !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

.dark .chatbot-btn {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
}

.chatbot-btn:hover {
  background: #f8fafc !important;
  border-color: var(--cb-brand) !important;
  color: var(--cb-brand) !important;
  transform: translateX(6px) !important;
  box-shadow: 0 8px 24px rgba(12, 141, 228, 0.1) !important;
}

.dark .chatbot-btn:hover {
  background: rgba(12, 141, 228, 0.1) !important;
}

.chatbot-btn.primary {
  background: linear-gradient(135deg, #3b82f6, #6366f1) !important;
  color: white !important;
  border: none !important;
  text-align: center !important;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4) !important;
}

.chatbot-btn.primary:hover {
  transform: scale(1.03) !important;
  filter: brightness(1.1) !important;
}

/* Form Styling */
.chatbot-form {
  background: rgba(255, 255, 255, 0.4) !important;
  padding: 20px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  margin-bottom: 8px !important;
}

.dark .chatbot-form {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
}

.chatbot-input-group label {
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #94a3b8 !important;
  margin-left: 4px !important;
}

.chatbot-input {
  background: white !important;
  border: 1px solid #e2e8f0 !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  margin-top: 4px !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.dark .chatbot-input {
  background: rgba(0, 0, 0, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: white !important;
}

.chatbot-input:focus {
  border-color: var(--cb-brand) !important;
  box-shadow: 0 0 0 4px rgba(12, 141, 228, 0.15) !important;
  outline: none !important;
}

#chatbot-close {
  background: rgba(255, 255, 255, 0.08) !important;
  border: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #f1f5f9 !important;
  margin-left: auto !important;
  position: relative !important;
  z-index: 50 !important;
  pointer-events: auto !important;
}

#chatbot-close:hover {
  background: #ef4444 !important;
  color: white !important;
  transform: rotate(90deg) !important;
}

