/* 前台增量样式：聊天增强（意图/FAQ/满意度/点踩/留言/打字中） */
.chat-extras { padding: 8px 14px 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.extras-hint { font-size: 11px; color: rgba(255,255,255,.55); }
.intent-tag { font-size: 11px; padding: 3px 10px; border-radius: 999px; background: rgba(255,138,61,.18); color: #ffc79a; border: 1px solid rgba(255,138,61,.35); }
.intent-tag.faq { background: rgba(96,165,250,.16); color: #bfdbfe; border-color: rgba(96,165,250,.4); }
.intent-tag.human { background: rgba(74,222,128,.14); color: #bbf7d0; border-color: rgba(74,222,128,.4); }
.msg-row .msg-acts { display: flex; gap: 6px; margin-top: 6px; opacity: 0; transition: opacity .2s; }
.msg-row:hover .msg-acts { opacity: 1; }
.msg-acts button {
  font-size: 11px; padding: 2px 9px; border-radius: 8px; cursor: pointer;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.75);
}
.msg-acts button:hover { background: rgba(255,138,61,.2); color: #fff; }
.msg-acts button.disliked { background: rgba(248,113,113,.25); color: #fecaca; border-color: rgba(248,113,113,.5); }
.typing-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.typing-row .dots { display: inline-flex; gap: 4px; }
.typing-row .dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.65); animation: tp 1s infinite; }
.typing-row .dots i:nth-child(2) { animation-delay: .15s; }
.typing-row .dots i:nth-child(3) { animation-delay: .3s; }
@keyframes tp { 0%,60%,100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }
.sat-row { display: flex; gap: 4px; align-items: center; font-size: 12px; color: rgba(255,255,255,.7); }
.sat-row button { background: none; border: 0; font-size: 16px; cursor: pointer; opacity: .55; transition: .15s; padding: 0 2px; }
.sat-row button:hover, .sat-row button.on { opacity: 1; transform: scale(1.2); }
/* 人工客服等待超时提示的操作按钮 */
.wait-actions { display: flex; gap: 10px; margin-top: 8px; }
.wait-actions button {
  flex: 1; padding: 8px 10px; border-radius: 12px; cursor: pointer; font-size: 13px; font-weight: 600; font-family: inherit;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff;
  transition: .15s;
}
.wait-actions .wait-yes { background: linear-gradient(90deg,#ffb066,#ff6a1e); border-color: transparent; }
.wait-actions .wait-yes:hover { filter: brightness(1.06); }
.wait-actions .wait-no:hover { background: rgba(248,113,113,.22); border-color: rgba(248,113,113,.5); color: #fecaca; }
.work-badge { font-size: 11px; padding: 3px 10px; border-radius: 999px; background: rgba(74,222,128,.14); color: #4d4457; border: 1px solid rgba(74,222,128,.35); }
.work-badge.off { background: rgba(251,191,36,.14); color: #fde68a; border-color: rgba(251,191,36,.35); }
/* 留言表单弹层 */
.leave-mask { position: fixed; inset: 0; background: rgba(5,8,18,.55); backdrop-filter: blur(6px); z-index: 60; display: flex; align-items: center; justify-content: center; padding: 20px; }
.leave-card { width: 380px; max-width: 100%; border-radius: 20px; padding: 24px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(24px); }
.leave-card h3 { font-size: 16px; margin-bottom: 4px; }
.leave-card p { font-size: 12px; color: rgba(255,255,255,.6); margin-bottom: 14px; }
.leave-card input, .leave-card textarea { width: 100%; margin-bottom: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; font-size: 13px; outline: none; font-family: inherit; }
.leave-card textarea { min-height: 80px; resize: vertical; }
.leave-card .btn { width: 100%; padding: 11px; border: 0; border-radius: 12px; background: linear-gradient(90deg,#ffb066,#ff6a1e); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }

/* 聊天图片消息 */
.msg-img { max-width: 220px; max-height: 220px; border-radius: 12px; display: block; cursor: zoom-in; border: 1px solid rgba(255,255,255,.12); }

/* 人工客服头像 / 数字人视频 / 语音播报按钮 */
.av-agent { background: linear-gradient(135deg, #ffd8a8, #ff9e5e); }
.dh-avatar video { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; background: #000; }
#ttsBtn.off { color: rgba(255,255,255,.5); }
#ttsBtn.off svg { opacity: .6; }

/* 昼夜模式：自动态指示灯（绿点=跟随时间） */
#modeBtn { position: relative; }
#modeBtn.mode-auto::after {
  content: ""; position: absolute; right: 2px; bottom: 2px;
  width: 6px; height: 6px; border-radius: 50%;
  background: #4ade80; box-shadow: 0 0 6px rgba(74, 222, 128, .95);
}

/* 未配置二维码时的占位 */
.wx-qr-none { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px dashed rgba(255,255,255,.28); border-radius: 12px; font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.7; text-align: center; padding: 12px; box-sizing: border-box; }
.wx-qr-none small { font-size: 11px; color: rgba(255,255,255,.5); }
