/* AI 智能客服悬浮窗样式 */
.ai-bot-btn {
  position:fixed;bottom:100px;right:80px;z-index:9999;
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#409eff,#337ecc);
  color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(64,158,255,0.4);
  transition:all 0.3s;font-size:24px;
}
.ai-bot-btn:hover { transform:scale(1.08);box-shadow:0 6px 28px rgba(64,158,255,0.5); }
.ai-bot-btn .pulse {
  position:absolute;width:100%;height:100%;border-radius:50%;
  border:2px solid rgba(64,158,255,0.3);
  animation:pulse 2s infinite;
}
@keyframes pulse {
  0%{transform:scale(1);opacity:1}
  100%{transform:scale(1.4);opacity:0}
}
.ai-bot-dialog {
  position:fixed;bottom:176px;right:80px;z-index:9998;
  width:420px;height:560px;background:#fff;
  border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,0.15);
  display:none;flex-direction:column;overflow:hidden;
  animation:slideUp 0.3s ease;
}
.ai-bot-dialog.open { display:flex; }
@keyframes slideUp {
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.ai-bot-header {
  padding:16px 20px;background:linear-gradient(135deg,#409eff,#337ecc);
  color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;
}
.ai-bot-header h4 { margin:0;font-size:16px;font-weight:600; }
.ai-bot-close { background:none;border:none;color:#fff;cursor:pointer;font-size:22px;line-height:1;padding:0 4px; }
.ai-bot-body {
  flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;
  background:#f5f7fa;
}
.ai-bot-msg {
  max-width:85%;padding:10px 14px;border-radius:12px;
  font-size:14px;line-height:1.6;word-break:break-word;
  white-space:pre-wrap;
}
.ai-bot-msg.user {
  align-self:flex-end;background:#409eff;color:#fff;
  border-bottom-right-radius:4px;
}
.ai-bot-msg.bot {
  align-self:flex-start;background:#fff;color:#333;
  border-bottom-left-radius:4px;
  box-shadow:0 1px 4px rgba(0,0,0,0.06);
}
.ai-bot-msg.loading { align-self:flex-start;background:#fff;color:#909399; }
.ai-bot-footer {
  padding:12px 16px;border-top:1px solid #e2e8f0;
  display:flex;gap:8px;align-items:center;flex-shrink:0;background:#fff;
}
.ai-bot-footer input {
  flex:1;border:1px solid #d1d5db;border-radius:8px;
  padding:8px 12px;font-size:14px;outline:none;
}
.ai-bot-footer input:focus { border-color:#409eff; }
.ai-bot-footer button {
  background:#409eff;color:#fff;border:none;
  border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;
  transition:background 0.2s;white-space:nowrap;
}
.ai-bot-footer button:hover { background:#337ecc; }
.ai-bot-footer button:disabled { background:#a0cfff;cursor:not-allowed; }
.ai-bot-welcome {
  text-align:center;padding:30px 16px;
  color:#64748b;font-size:14px;line-height:1.8;
}
.ai-bot-welcome .welcome-icon {
  width:56px;height:56px;border-radius:50%;margin:0 auto 12px;
  background:linear-gradient(135deg,#409eff,#337ecc);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:24px;
}
.ai-bot-msg p { margin:0; }
.ai-bot-msg ul, .ai-bot-msg ol { margin:4px 0;padding-left:18px; }
@media (max-width:480px) {
  .ai-bot-dialog { width:calc(100vw - 32px);right:16px;bottom:170px;height:55vh; }
  .ai-bot-btn { bottom:90px;right:80px; }
}
