/* ═══════════════════════════════════════════════════════════════
   voice_agent.css — CtrlCOC 全局语音智能体「老菜/孔」前端样式
   风格：浅色主题（白/近白底、浅灰气泡、深色文字），圆角，无蓝紫渐变
   （七彩仅作描边/血条点缀：我方气泡、发送钮就绪态、开关开启态）
   z-index 规划：底栏 100 < 工作台抽屉/编辑器 ≤430 < 视频全屏 9999 < 语音条/面板 12000+
   （语音条全局置顶：工作台任何编辑器/抽屉打开时仍可见可按；项目预览页由 JS 整体 hidden）
   ═══════════════════════════════════════════════════════════════ */

/* ─── 语音条（bar 模式：屏幕最底部一行，黑底白字一体条，与 bottom-nav 同材质；
   bottom-nav 架在它上方（bottom:46px+safe），三区合并无间距，点不同区域唤醒不同功能）─── */
#voice-agent-bar{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:12000;
  display:flex;align-items:stretch;
  height:calc(46px + env(safe-area-inset-bottom,0px));
  padding-bottom:env(safe-area-inset-bottom,0px);
  box-sizing:border-box;
  background:rgba(10,10,10,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:0.5px solid rgba(255,255,255,0.08);
}
@media(min-width:431px){
  #voice-agent-bar{width:430px!important;left:50%!important;margin-left:-215px!important;right:auto!important}
}
/* 未登录封锁态：与底部导航同样彻底隐藏 */
html.bbg-locked #voice-agent-bar{display:none!important}

/* 对话面板打开时：语音条提到遮罩(12000)/面板(12001)之上，全程可见可按住（微信式） */
#voice-agent-bar.va-above{z-index:12002}

#voice-agent-bar .va-side-btn{
  flex:none;width:64px;align-self:stretch;border-radius:0;
  background:transparent;border:none;border-right:0.5px solid rgba(255,255,255,0.08);
  font-size:17px;color:#fff;line-height:1;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-bar .va-side-btn svg{width:20px;height:20px;display:block}
#voice-agent-bar #va-kbd-btn{border-right:none;border-left:0.5px solid rgba(255,255,255,0.08)}
#voice-agent-bar .va-side-btn:active{background:rgba(255,255,255,0.12)}
#voice-agent-bar .va-side-btn.va-on{background:rgba(255,255,255,0.18)}

/* 2026-09-09 老板契约二版：「提供建议」挪到语音条最右侧（原键盘位），上下两字竖排金句；按住对话恢复整宽 */
#voice-agent-bar .va-suggest-side{
  flex-direction:column;gap:1px;
  color:#fff;font-size:13px;letter-spacing:0;line-height:1.15;
  border-right:none;border-left:0.5px solid rgba(255,255,255,0.08);
}
#voice-agent-bar .va-suggest-side span{display:block}
#voice-agent-bar .va-suggest-side:active{background:rgba(255,255,255,0.12)}
/* 旧中间版样式保留兼容（不再使用） */
#voice-agent-bar .va-suggest-bar{
  flex:1;min-width:0;align-self:stretch;border-radius:0;
  background:transparent;border:none;border-right:0.5px solid rgba(255,255,255,0.08);
  color:#e8c54a;font-size:15px;letter-spacing:1px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-bar .va-suggest-bar:active{background:rgba(255,255,255,0.12)}
/* 提供建议视图：顶栏标题黄色 */
#voice-agent-panel #va-title-view.va-tv-gold{color:#e8c54a!important}
#voice-agent-bar .va-hold{
  flex:1;min-width:0;align-self:stretch;border-radius:0;
  background:transparent;border:none;
  color:#fff;font-size:15px;font-weight:600;letter-spacing:1px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;
  transition:background .2s,color .2s;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-bar .va-hold:active{background:rgba(255,255,255,0.12)}

/* 任务链/思考执行中：黄色「取消执行思考」（点按即打断，不进入录音） */
#voice-agent-bar .va-hold.va-execcancel,
#voice-agent-panel .va-hold.va-execcancel{
  background:#e8c54a;color:#1a1a1a;font-weight:700;
}
#voice-agent-bar .va-hold.va-execcancel:active{background:#d4b13a}

/* 列队发送气泡脚：左「列队处理中 #N」右「取消排队」 */
.va-qfoot{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding:0 2px;max-width:78%}
.va-msg.va-user .va-qfoot{margin-left:auto}
.va-qfoot-l{font-size:11px;color:#e8c54a}
.va-qcancel{background:none;border:0.5px solid rgba(232,197,74,.5);color:#e8c54a;font-size:11px;border-radius:9px;padding:2px 8px;cursor:pointer}

/* 任务链合并气泡尾部「正在执行」状态条 */
.va-run-status{margin-top:8px;padding-top:6px;border-top:0.5px dashed rgba(255,255,255,.18);font-size:12px;color:#e8c54a;line-height:1.5}

/* 录音中：低饱和红 + 脉动（功能性录音指示，保留） */
#voice-agent-bar .va-hold.va-rec,
#voice-agent-panel .va-hold.va-rec{
  background:#b04343;border-color:#b04343;color:#fff;
  animation:vaPulse 1.2s ease-out infinite;
}
/* 上滑取消态：灰底无脉动，提示松手丢弃 */
#voice-agent-bar .va-hold.va-rec.va-cancel{
  background:#5a5a5a;border-color:#5a5a5a;color:#e8e8e8;
  animation:none;
}
@keyframes vaPulse{
  0%{box-shadow:0 0 0 0 rgba(216,106,106,0.45)}
  70%{box-shadow:0 0 0 12px rgba(216,106,106,0)}
  100%{box-shadow:0 0 0 0 rgba(216,106,106,0)}
}

/* ─── bubble 模式：全屏/沉浸时收缩为悬浮钮——CTRLCOC 桌面图标样式（圆角方形按键），
   默认右下角，支持按住拖动到任意位置（位置记忆在 localStorage.va_bubble_pos）─── */
#voice-agent-bar.va-mode-bubble{
  left:auto!important;right:12px!important;margin-left:0!important;
  width:56px!important;height:56px;bottom:calc(64px + env(safe-area-inset-bottom,0px));
  z-index:12000;background:transparent;border-top:none;padding-bottom:0;pointer-events:none;
}
#voice-agent-bar.va-mode-bubble .va-side-btn{display:none}
#voice-agent-bar.va-mode-bubble .va-hold{
  flex:none;width:56px;height:56px;border-radius:15px;align-self:auto;
  background:#141414 url('/icon-192.png') center/100% 100% no-repeat;
  border:1px solid rgba(255,255,255,0.35);
  font-size:0;padding:0;pointer-events:auto;touch-action:none;
  box-shadow:0 4px 14px rgba(0,0,0,0.55), inset 0 1.5px 0 rgba(255,255,255,0.22);
}
#voice-agent-bar.va-mode-bubble .va-hold:active{
  transform:scale(0.94);
  box-shadow:0 2px 8px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.15);
}
#voice-agent-bar.va-mode-bubble .va-hold::before{content:''}
/* 录音中（bubble 态下按住说话）：图标红圈脉动提示 */
#voice-agent-bar.va-mode-bubble .va-hold.va-rec{
  animation:vaPulse 1.2s ease-out infinite;border-color:rgba(216,106,106,0.9);
}

/* ─── 聊天面板遮罩（仿 .modal-overlay，但独立类名避免被 hideModal 误关）─── */
#voice-agent-overlay{
  position:fixed;inset:0;z-index:12000;
  background:rgba(0,0,0,0.35);
  opacity:0;pointer-events:none;transition:opacity .22s;
}
#voice-agent-overlay.va-open{opacity:1;pointer-events:auto}

/* ─── 聊天面板 sheet（落在语音条正上方：bottom 让出语音条高度，语音条全程可见可按住）─── */
#voice-agent-panel{
  position:fixed;left:0;right:0;bottom:calc(46px + env(safe-area-inset-bottom,0px));z-index:12001;
  height:65vh;height:65dvh;
  background:#ffffff;
  border-radius:18px 18px 0 0;
  display:flex;flex-direction:column;
  /* 隐藏位移 = 自身高度 + 语音条高度（bottom 已抬高 46px，只移 100% 会让面板头部露在语音条上） */
  transform:translateY(calc(102% + 46px + env(safe-area-inset-bottom,0px)));transition:transform .26s ease-out;
  box-shadow:0 -6px 28px rgba(0,0,0,0.18);
  overflow:hidden;
}
@media(min-width:431px){
  #voice-agent-panel{width:430px;left:50%;margin-left:-215px;right:auto}
}
#voice-agent-panel.va-open{transform:translateY(0)}

/* ─── 顶栏（压矮版）：小标题「助手 · 孔/老菜」+ AI 朗读开关 + 音色切换 + 关闭 ─── */
#voice-agent-panel .va-header{
  position:relative; /* 会话页标题 absolute 居中的定位锚 */
  flex:none;display:flex;align-items:center;gap:6px;
  padding:7px 14px 6px;
  border-bottom:1px solid rgba(0,0,0,0.07);
  background:#ffffff;
}
#voice-agent-panel .va-title{
  flex:1;min-width:0;font-size:11px;font-weight:600;color:#666666;
  display:flex;align-items:center;gap:5px;
  white-space:nowrap;overflow:hidden;
}
#voice-agent-panel .va-title .va-dot{
  width:7px;height:7px;border-radius:50%;background:#cccccc;flex:none;
  transition:background .3s;
}
/* 在线=绿点；掉线/未在线/算力不足=灰（默认） */
#voice-agent-panel .va-title .va-dot.va-online{background:#57a86b;box-shadow:0 0 6px rgba(87,168,107,0.45)}
/* 人格切换钮（LC·男声 / CO·女声） */
#voice-agent-panel .va-persona{
  flex:none;height:24px;padding:0 9px;border-radius:12px;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#666666;font-size:11px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-persona:active{background:#e8e9ec}
#voice-agent-panel .va-close{
  flex:none;width:26px;height:26px;border-radius:50%;
  background:#f2f3f5;border:none;color:#888888;font-size:13px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
}
#voice-agent-panel .va-close:active{background:#e8e9ec}

/* ─── 消息区 ─── */
/* 七彩旋转描边（白底黑字场景共用：我方气泡 / 发送钮就绪态 / 开关开启态） */
@property --va-ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes vaRainbow{to{--va-ang:360deg}}
/* 通用七彩描边类：白底黑字 + 旋转七彩边框（开关开启态等场景直接加这个类）。
   注意：按钮行四枚钮的基础样式（id+2class）与本类同级且定义在后，会覆盖本类，
   因此按钮行场景必须用「基础类+va-rainbow」双类选择器（id+3class）提优先级 */
#voice-agent-panel .va-btnrow .va-auto.va-rainbow,
#voice-agent-panel .va-btnrow .va-contacts.va-rainbow,
#voice-agent-panel .va-btnrow .va-suggest.va-rainbow,
#voice-agent-panel .va-btnrow .va-think.va-rainbow,
#voice-agent-panel .va-rainbow{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  animation:vaRainbow 3.2s linear infinite;
}
#voice-agent-panel .va-msgs{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:14px 14px 8px;
  display:flex;flex-direction:column;gap:10px;
  background:#fafafa;
}
.va-msg{display:flex;width:100%}
.va-msg.va-user{justify-content:flex-end}
.va-msg.va-assistant{justify-content:flex-start}
/* 助手消息纵向堆叠：气泡独占一行，👍👎🔊 工具行排在气泡下方 */
.va-msg.va-assistant.va-stack{flex-direction:column;align-items:flex-start;gap:2px}
/* 系统提示气泡（私信回执/模式切换提示）：居中灰色小字 */
.va-msg.va-sys{justify-content:center}
.va-msg.va-sys .va-bubble{
  max-width:92%;padding:5px 12px;
  background:rgba(0,0,0,0.05);border:none;border-radius:12px;
  color:#999999;font-size:12px;line-height:1.5;text-align:center;
}
.va-bubble{
  max-width:82%;padding:9px 12px;
  font-size:14px;line-height:1.55;
  white-space:pre-wrap;word-break:break-word;
  border-radius:14px;
}
/* 我方气泡：白底黑字 + 七彩旋转描边 */
.va-msg.va-user .va-bubble{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  border-radius:14px;border-bottom-right-radius:4px;
  animation:vaRainbow 3.2s linear infinite;
}
.va-msg.va-assistant .va-bubble{
  background:#f1f2f4;color:#222222;
  border:1px solid rgba(0,0,0,0.05);
  border-bottom-left-radius:4px;
}
.va-bubble.va-pending{color:#999999;font-style:normal}

/* 播报中小喇叭动画（线条 SVG，浅灰不抢视觉） */
.va-speaking::after{
  content:'';width:12px;height:12px;margin-left:6px;
  display:inline-block;vertical-align:-1px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6.5 8.5H3v7h3.5L11 19z'/%3E%3Cpath d='M15 9.5a4 4 0 0 1 0 5'/%3E%3Cpath d='M17.5 7a7.5 7.5 0 0 1 0 10'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:vaSound 1s ease-in-out infinite;
}
@keyframes vaSound{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.35;transform:scale(0.85)}
}

/* ─── 项目卡片（search_projects 结果）─── */
.va-cards{display:flex;flex-direction:column;gap:8px;margin-top:2px;max-width:82%}
.va-card{
  background:#ffffff;border:1px solid rgba(0,0,0,0.08);border-radius:12px;
  padding:10px 12px;cursor:pointer;
  transition:transform .12s,box-shadow .12s;
}
.va-card:active{transform:scale(0.98)}
.va-card .va-card-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.va-card .va-card-kind{
  flex:none;font-size:10px;font-weight:700;color:#888888;
  background:#f0f1f3;border-radius:6px;padding:2px 6px;
}
.va-card .va-card-title{
  flex:1;min-width:0;font-size:14px;font-weight:700;color:#222222;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.va-card .va-card-desc{
  font-size:12px;color:#999999;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ─── create_project 结果块 ─── */
.va-created{
  max-width:82%;background:#ffffff;border:1px solid rgba(0,0,0,0.09);border-radius:12px;
  padding:10px 12px;font-size:13px;color:#444444;line-height:1.5;
}
.va-created .va-ws-btn{
  display:inline-block;margin-top:8px;
  background:#1a1a1a;color:#ffffff;border:none;border-radius:16px;
  font-size:13px;font-weight:600;padding:7px 16px;cursor:pointer;
}
.va-created .va-ws-btn:active{opacity:0.85}
.va-failed{
  max-width:82%;background:#ffffff;border:1px solid rgba(0,0,0,0.09);border-radius:12px;
  padding:10px 12px;font-size:13px;color:#999999;line-height:1.5;
}

/* ─── 面板底部输入区（两行布局：上一行输入框（发送钮悬浮其内右下角）；
   下一行四个等宽按钮：自动发送 | 通讯录 | 提供建议 | 深度思考）─── */
#voice-agent-panel .va-footer{
  flex:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(0,0,0,0.07);background:#ffffff;
}
#voice-agent-panel .va-textrow{position:relative;display:flex}
/* 自适应高输入框（textarea）：一行起步，字多向上扩展，最高约 5 行；
   右侧留 58px padding 给悬浮发送钮，文字不被盖 */
#voice-agent-panel .va-textrow textarea{
  flex:1;min-width:0;width:100%;height:42px;min-height:42px;max-height:120px;
  border:1px solid #e0e1e4;border-radius:21px;
  background:#ffffff;color:#222222;font-size:14px;line-height:1.4;
  padding:10px 58px 10px 16px;outline:none;resize:none;font-family:inherit;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
#voice-agent-panel .va-textrow textarea::placeholder{color:#aaaaaa}
#voice-agent-panel .va-textrow textarea:focus{border-color:#bbbbbb}
/* 发送钮：绝对定位在输入框内部右下角；无内容灰、有内容白底黑字七彩描边 */
#voice-agent-panel .va-textrow .va-send{
  position:absolute;right:6px;bottom:6px;
  height:30px;padding:0 13px;border:none;border-radius:15px;
  background:#ececee;color:#9a9a9a;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
/* 输入框有内容 → 白底黑字 + 七彩旋转描边 */
#voice-agent-panel .va-textrow .va-send.va-ready{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  animation:vaRainbow 2.4s linear infinite;
}
#voice-agent-panel .va-textrow .va-send:active{opacity:0.85}
#voice-agent-panel .va-textrow .va-send:disabled{opacity:0.5;cursor:default}
/* 字数显示：输入框内右上角小灰字，写满变红 */
#voice-agent-panel .va-textrow .va-count{
  position:absolute;right:12px;top:5px;z-index:2;
  font-size:10px;line-height:1;color:#b5b6bb;pointer-events:none;
  font-variant-numeric:tabular-nums;
}
#voice-agent-panel .va-textrow .va-count.va-count-full{color:#e05a5a}
/* 按钮行：四枚按钮等宽等高同字号，一行排开不折行，视觉完全一致 */
#voice-agent-panel .va-btnrow{
  display:flex;align-items:stretch;gap:6px;margin-top:8px;flex-wrap:nowrap;
}
#voice-agent-panel .va-btnrow .va-auto,
#voice-agent-panel .va-btnrow .va-contacts,
#voice-agent-panel .va-btnrow .va-suggest,
#voice-agent-panel .va-btnrow .va-think{
  flex:1;min-width:0;height:32px;padding:0 4px;border-radius:16px;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#777777;
  font-size:11px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;
  display:flex;flex-direction:row;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-btnrow .va-auto:active,
#voice-agent-panel .va-btnrow .va-contacts:active,
#voice-agent-panel .va-btnrow .va-suggest:active,
#voice-agent-panel .va-btnrow .va-think:active{background:#e8e9ec}
/* 自动发送开启态：白底黑字七彩描边 */
#voice-agent-panel .va-btnrow .va-auto.va-auto-on{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  animation:vaRainbow 3.2s linear infinite;
}

/* ─── AI 朗读开关（头部，人格钮左侧）：开=常态浅灰 pill / 关=置灰 ─── */
#voice-agent-panel .va-voice{
  flex:none;height:24px;padding:0 9px;border-radius:12px;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#666666;font-size:11px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-voice svg{width:12px;height:12px;display:block}
#voice-agent-panel .va-voice:active{background:#e8e9ec}
#voice-agent-panel .va-voice.va-voice-off{opacity:0.55}

/* ─── 算力血条（头部与聊天区之间）：彩条=余额÷100 元，没钱全灰 ─── */
#voice-agent-panel .va-energy{
  flex:none;display:flex;align-items:center;gap:8px;
  padding:5px 14px;border-bottom:1px solid rgba(0,0,0,0.05);background:#fafafa;
}
#voice-agent-panel .va-energy-track{
  flex:1;height:8px;border-radius:4px;background:#ececee;overflow:hidden;
}
#voice-agent-panel .va-energy-fill{
  height:100%;width:0%;border-radius:4px;
  background:linear-gradient(90deg,#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0);
  transition:width .5s ease;
}
#voice-agent-panel .va-energy-text{
  flex:none;font-size:10px;color:#999999;white-space:nowrap;
}

/* ─── 私信模式/建议模式顶条（消息区上方）：名称 + 「切回智能体」出口 ─── */
#voice-agent-panel .va-dmbar{
  flex:none;display:flex;align-items:center;gap:8px;
  padding:6px 14px;border-bottom:1px solid rgba(0,0,0,0.05);background:#fafafa;
}
#voice-agent-panel .va-dmbar .va-dmbar-name{
  flex:1;min-width:0;font-size:12px;font-weight:600;color:#444444;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#voice-agent-panel .va-dmbar .va-dmbar-exit{
  flex:none;height:24px;padding:0 10px;border-radius:12px;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#777777;font-size:11px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-dmbar .va-dmbar-exit:active{background:#e8e9ec}

/* ─── 通讯录视图（聊天区内渲染，与消息列表互斥显隐）─── */
#voice-agent-panel .va-contacts{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;min-height:0;
  background:#fafafa;
}
#voice-agent-panel .va-cts-top{
  flex:none;display:flex;align-items:center;gap:10px;
  padding:9px 14px;border-bottom:1px solid rgba(0,0,0,0.05);
}
#voice-agent-panel .va-cts-back{
  flex:none;height:26px;padding:0 10px;border-radius:13px;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#666666;font-size:12px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-cts-back:active{background:#e8e9ec}
#voice-agent-panel .va-cts-title{
  flex:1;min-width:0;font-size:12px;color:#999999;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#voice-agent-panel .va-cts-list{flex:1;overflow-y:auto;padding:6px 10px 12px}
#voice-agent-panel .va-cts-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 8px;border-radius:10px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-cts-item:active{background:rgba(0,0,0,0.04)}
#voice-agent-panel .va-cts-avatar{
  flex:none;width:36px;height:36px;border-radius:50%;
  background:#e8e9ec;object-fit:cover;
}
#voice-agent-panel .va-cts-name{
  flex:1;min-width:0;font-size:14px;font-weight:600;color:#222222;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#voice-agent-panel .va-cts-go{flex:none;font-size:12px;color:#aaaaaa}
#voice-agent-panel .va-cts-empty{
  padding:40px 20px;text-align:center;
  font-size:13px;color:#999999;line-height:1.8;
}

/* ─── 提供建议视图（聊天区内渲染，体验=和客服聊天）─── */
#voice-agent-panel .va-suggest{
  flex:1;overflow:hidden;
  display:flex;flex-direction:column;min-height:0;
  background:#fafafa;
}
#voice-agent-panel .va-sg-hint{
  flex:none;padding:8px 14px;text-align:center;
  font-size:11px;color:#999999;line-height:1.5;
  border-bottom:1px solid rgba(0,0,0,0.04);
}
#voice-agent-panel .va-sg-list{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px 14px;display:flex;flex-direction:column;gap:10px;
}
#voice-agent-panel .va-sg-time{
  align-self:center;font-size:10px;color:#aaaaaa;margin:-4px 0;
}
/* ─── 聊天时间标尺（仿微信）：居中 12px 浅灰，智能体/DM/群聊/建议四列表共用 ─── */
#voice-agent-panel .va-tsep{
  width:100%;flex:none;align-self:center;text-align:center;
  font-size:12px;color:#aaaaaa;line-height:1.6;
}
/* ─── 算力不足提示条：系统样式居中灰字卡 + 去充值按钮 ─── */
#voice-agent-panel .va-lp-card{
  max-width:92%;padding:8px 14px;border-radius:12px;
  background:rgba(0,0,0,0.05);
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
#voice-agent-panel .va-lp-text{color:#999999;font-size:12px;line-height:1.5;text-align:center}
#voice-agent-panel .va-lp-btn{
  border:none;border-radius:12px;padding:4px 16px;
  background:#3fae6a;color:#ffffff;font-size:12px;font-weight:600;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-lp-btn:active{opacity:0.85}
/* 充值已完成：灰态不可点 */
#voice-agent-panel .va-lp-btn.va-lp-done{background:#d7d8dc;color:#999999;cursor:default}
#voice-agent-panel .va-sg-empty{
  padding:40px 20px;text-align:center;
  font-size:13px;color:#999999;line-height:1.8;
}
/* 建议气泡已读状态（契约 2026-09-04 四版）：列向包裹，两字小签落在气泡左下角 */
/* 2026-09-05：气泡两侧留白收窄——wrap 82%→92%，内部气泡撑满 wrap（原 82%×82%≈67% 太窄） */
#voice-agent-panel .va-sg-wrap{display:flex;flex-direction:column;align-items:flex-start;max-width:92%}
#voice-agent-panel .va-sg-wrap .va-bubble{max-width:100%}
#voice-agent-panel .va-sg-read{
  margin-top:3px;text-align:left;align-self:flex-start;
  font-size:11px;color:#7fb98a;line-height:1.4;
}
#voice-agent-panel .va-sg-read.va-sg-unread{color:#999999}

/* ─── 助手气泡下方工具行（👍 点弱 🔊 重听）：12px 小图标、浅灰、不抢视觉 ─── */
.va-tools{
  display:flex;align-items:center;gap:8px;
  padding:0 4px;max-width:82%;
}
.va-tools .va-tbtn{
  display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;border-radius:8px;padding:2px 3px;
  color:#b5b5b5;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.va-tools .va-tbtn svg{width:13px;height:13px;display:block}
.va-tools .va-tbtn:active{transform:scale(1.15)}
/* 重听钮（并入工具行，保留旧类名兼容） */
.va-replay{color:#b5b5b5}
/* 👍/👎 评价钮选中态 */
.va-tools .va-tbtn.on-up{color:#3fae6a}
.va-tools .va-tbtn.on-down{color:#e06565}

/* ─── 二次询问选项按钮（助手气泡下方，点了等于把那句话发出去）─── */
.va-choices{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 0 4px;max-width:92%}
.va-choice{
  background:#ffffff;border:1px solid #e0e1e4;border-radius:16px;
  color:#333333;font-size:13px;padding:7px 14px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.va-choice:active{background:#f2f3f5;transform:scale(0.97)}

/* ─── 语音操控视觉反馈：被操作的元素闪彩色描边（用户能「看见」智能体在点哪）─── */
@keyframes va-flash-ring{
  0%{box-shadow:0 0 0 2px #ff5f6d,0 0 12px rgba(255,95,109,.55)}
  25%{box-shadow:0 0 0 2px #ffb84d,0 0 12px rgba(255,184,77,.55)}
  50%{box-shadow:0 0 0 2px #3ddc84,0 0 12px rgba(61,220,132,.55)}
  75%{box-shadow:0 0 0 2px #4d9fff,0 0 12px rgba(77,159,255,.55)}
  100%{box-shadow:0 0 0 2px #b06dff,0 0 12px rgba(176,109,255,.4)}
}
.va-flash{animation:va-flash-ring 1.2s ease-out;border-radius:8px;position:relative;z-index:1}

/* ── 倒计时提醒气泡 ── */
.va-timer{background:rgba(79,172,254,.08);border:1px solid rgba(79,172,254,.3);font-variant-numeric:tabular-nums}
.va-timer-done{background:rgba(56,200,125,.1);border-color:rgba(56,200,125,.4)}

/* ═══ 仿微信私信：情境化顶栏 / 未读角标 / 通讯录列表 / 会话气泡 / 语音消息双模式 ═══ */

/* 顶栏返回钮（通讯录/会话/建议视图显示）：圆灰底 + ‹，常显 ✕ 同族 */
#voice-agent-panel .va-back{
  flex:none;width:26px;height:26px;border-radius:50%;position:relative;
  background:#f2f3f5;border:none;color:#666666;font-size:16px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-back:active{background:#e8e9ec}
/* 视图标题（DM 对方昵称 / 群名 / 提供建议 / 六度子视图）：absolute 视觉居中于顶栏；
   限宽省略，避免与左侧返回钮、右侧 ＋邀请/✕ 关闭重叠 */
#voice-agent-panel .va-title #va-title-view{
  font-size:12px;color:#333333;
  position:absolute;left:50%;transform:translateX(-50%);
  max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── 未读角标通用：红色圆角数字 pill ── */
.va-badge{
  position:absolute;min-width:16px;height:16px;border-radius:8px;
  background:#e04545;color:#ffffff;font-size:10px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
  box-sizing:border-box;pointer-events:none;z-index:2;
  box-shadow:0 0 0 1.5px #ffffff;
}
/* 语音条「按住对话」钮右上角（面板关闭时的总未读） */
#voice-agent-bar .va-hold{position:relative}
#voice-agent-bar .va-hold .va-hold-badge{top:4px;right:12px;box-shadow:0 0 0 1.5px #141414}
#voice-agent-bar.va-mode-bubble .va-hold .va-hold-badge{top:-3px;right:-3px}
/* 「通讯录」按钮右上角（面板打开时接棒）。
   注意：本按钮与「通讯录视图容器」同用 .va-contacts 类，视图规则的 overflow-y:auto
   会落在按钮上把负定位角标裁掉——这里必须显式 overflow:visible 压回去 */
#voice-agent-panel .va-btnrow .va-contacts{position:relative;overflow:visible}
#voice-agent-panel .va-btnrow .va-contacts .va-cts-badge{top:-5px;right:-3px}
/* 会话页返回键旁（和 A 聊天时其他好友来新消息） */
#voice-agent-panel .va-back .va-badge{top:-4px;right:-4px}
/* 通讯录好友头像右上角 */
#voice-agent-panel .va-cts-avwrap{position:relative;flex:none}
#voice-agent-panel .va-cts-avwrap .va-av-badge{top:-3px;right:-3px}

/* ── 通讯录列表仿微信：头像 | 昵称+最后消息概要 | 时间 ── */
#voice-agent-panel .va-cts-avtxt{
  display:flex;align-items:center;justify-content:center;
  color:#888888;font-size:14px;font-weight:600;
}
#voice-agent-panel .va-cts-mid{flex:1;min-width:0}
#voice-agent-panel .va-cts-prev{
  font-size:12px;color:#999999;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#voice-agent-panel .va-cts-time{
  flex:none;font-size:11px;color:#aaaaaa;align-self:flex-start;margin-top:2px;
  white-space:nowrap;
}

/* ── 会话页容器（盖在消息区，与智能体消息完全分离）─── */
#voice-agent-panel .va-dm{
  flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0;
  background:#fafafa;
}
#voice-agent-panel .va-dm-list{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px;display:flex;flex-direction:column;gap:10px;
}
.va-dm-row{display:flex;align-items:flex-start;gap:8px;width:100%}
.va-dm-row.va-me{flex-direction:row-reverse}
.va-dm-av{
  flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;
  background:#e8e9ec;color:#999999;font-size:13px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.va-dm-av img{width:100%;height:100%;object-fit:cover;display:block}
.va-dm-bubble{
  max-width:72%;padding:9px 12px;
  font-size:14px;line-height:1.55;
  white-space:pre-wrap;word-break:break-word;
  border-radius:14px;
}
/* 对方消息：浅色气泡 */
.va-dm-row.va-them .va-dm-bubble{
  background:#f1f2f4;color:#222222;
  border:1px solid rgba(0,0,0,0.05);
  border-bottom-left-radius:4px;
}
/* 我方消息：白底黑字 + 七彩旋转描边（与智能体我方气泡同语言） */
.va-dm-row.va-me .va-dm-bubble{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  border-bottom-right-radius:4px;
  animation:vaRainbow 3.2s linear infinite;
}
/* 语音消息气泡：▶ + 秒数，点击播放 */
.va-dm-bubble.va-audio{
  display:flex;align-items:center;gap:6px;cursor:pointer;
  min-width:64px;user-select:none;-webkit-user-select:none;
}
.va-dm-bubble.va-audio:active{opacity:0.85}
.va-dm-bubble.va-audio .va-dm-play{font-size:11px}
.va-dm-bubble.va-audio .va-dm-secs{font-variant-numeric:tabular-nums}
/* 未听语音（对方发来、本机未播放过）：绿色三角；播放过/我方发的：默认黑色（继承气泡文字色） */
.va-dm-bubble.va-audio.va-unheard .va-dm-play{color:#3fae6a}
/* 播放中：小喇叭脉动 */
.va-dm-bubble.va-audio.va-playing .va-dm-play{animation:vaSound 1s ease-in-out infinite}

/* ── 会话页输入区双模式 ── */
/* 语音消息模式占位条：盖住输入框，点一下激活文本模式 */
#voice-agent-panel .va-textrow{position:relative}
#voice-agent-panel .va-vmask{
  position:absolute;inset:0;z-index:3;border-radius:21px;
  background:#f7f7f8;border:1px dashed #d8d9dd;
  color:#999999;font-size:13px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
}
#voice-agent-panel .va-vmask .va-vmask-sub{font-size:10px;color:#bbbbbb}
/* 文本模式激活后，发送钮左侧的小麦克风（点它回到语音消息模式） */
#voice-agent-panel .va-textrow .va-mic{
  flex:none;align-self:flex-end;width:34px;height:34px;margin:0 6px 4px 0;
  border-radius:50%;background:#f2f3f5;border:1px solid #e2e3e6;color:#777777;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-textrow .va-mic svg{width:16px;height:16px;display:block}
#voice-agent-panel .va-textrow .va-mic:active{background:#e8e9ec}

/* ═══ 通讯录三栏 tab（互关 | 群组 | 六度社交）：顶栏紧凑版，位于返回钮与 ✕ 之间 ═══ */
#voice-agent-panel .va-ctabs{
  flex:none;display:flex;gap:4px;margin:0 auto;
}
#voice-agent-panel .va-ctab{
  flex:none;height:24px;padding:0 9px;border-radius:12px;position:relative;
  background:#f2f3f5;border:1px solid #e2e3e6;color:#777777;font-size:12px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-ctab:active{background:#e8e9ec}
/* 激活 tab：白底黑字七彩旋转描边（与开关开启态同语言；双类选择器提优先级防基础类覆盖） */
#voice-agent-panel .va-ctab.va-rainbow{
  background:linear-gradient(#ffffff,#ffffff) padding-box,
    conic-gradient(from var(--va-ang),#f67070,#f6c66f,#79c98a,#6fa8f6,#a97ef0,#f67070) border-box;
  border:2px solid transparent;color:#111111;
  animation:vaRainbow 3.2s linear infinite;
}
/* 群组 tab 未读小红点 */
#voice-agent-panel .va-ctab .va-ctab-dot{
  position:absolute;top:-2px;right:8px;width:8px;height:8px;border-radius:50%;
  background:#e04545;box-shadow:0 0 0 1.5px #ffffff;
}
/* tab 内容区（互关列表 / 群列表 / 六度占位都在这里面滚动） */
#voice-agent-panel .va-cts-body{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;min-height:0;
}
/* 六度社交占位页：沿用空态风格，居中偏上 */
#voice-agent-panel .va-six-empty{padding-top:80px;font-size:14px}

/* ── 六度社交：筛选行 / 达人卡 / 订单区块 / 提问·订单视图 ── */
#voice-agent-panel .va-six-filter{
  flex:none;display:flex;gap:8px;padding:10px 14px 0;
}
#voice-agent-panel .va-six-sel{
  flex:1;height:32px;border-radius:16px;border:1px solid #e2e3e6;
  background:#f2f3f5;color:#555555;font-size:12px;padding:0 10px;outline:none;
}
/* 达人列表：复用互关列表行布局 */
#voice-agent-panel .va-six-list{flex:none;padding-top:4px}
/* 头像右下在线点：绿=在线 / 灰=离线 */
#voice-agent-panel .va-six-dot{
  position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;
  background:#c9cacf;box-shadow:0 0 0 1.5px #ffffff;
}
#voice-agent-panel .va-six-dot.on{background:#3fae6a}
/* 「实名」小标 + 行业·地域小字（跟在昵称后） */
#voice-agent-panel .va-six-real{
  margin-left:6px;font-size:10px;font-weight:400;color:#3fae6a;
  border:1px solid rgba(63,174,106,0.4);border-radius:6px;padding:0 4px;
  vertical-align:1px;
}
#voice-agent-panel .va-six-loc{margin-left:6px;font-size:11px;font-weight:400;color:#aaaaaa}
/* 价格列（右侧） */
#voice-agent-panel .va-six-price{
  flex:none;font-size:13px;font-weight:700;color:#222222;text-align:right;
}
#voice-agent-panel .va-six-price span{font-size:10px;font-weight:400;color:#aaaaaa}
/* 订单状态列（右侧）：倒计时黑体醒目 */
#voice-agent-panel .va-six-st{font-variant-numeric:tabular-nums}
#voice-agent-panel .va-six-cd{color:#e04545;font-weight:700}
/* 我的咨询 / 我的接单 区块 */
#voice-agent-panel .va-six-sec{flex:none;padding-bottom:8px}
#voice-agent-panel .va-six-sec-title{
  padding:10px 18px 4px;font-size:11px;color:#999999;font-weight:600;
}
#voice-agent-panel .va-six-sub-empty{padding:16px 20px}
/* 提问 / 订单详情视图容器 */
#voice-agent-panel .va-six-ask{
  flex:1;display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;
}
#voice-agent-panel .va-six-dhead{display:flex;align-items:center;gap:10px}
#voice-agent-panel .va-six-dname{font-size:15px;font-weight:600;color:#222222}
#voice-agent-panel .va-six-drow{font-size:12px;color:#777777;line-height:1.6}
#voice-agent-panel .va-six-dprice{font-size:16px;font-weight:700;color:#222222}
#voice-agent-panel .va-six-dskills{
  font-size:13px;color:#333333;line-height:1.7;background:#fafafa;
  border-radius:10px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;
}
#voice-agent-panel .va-six-onlineword{color:#3fae6a;font-weight:600}
#voice-agent-panel .va-six-ost{font-size:13px;color:#333333;font-weight:600}
#voice-agent-panel .va-six-sec-title{padding:2px 2px 0}
/* 分钟档选择：四个等宽 pill，选中=黑底白字 */
#voice-agent-panel .va-six-pills{display:flex;gap:8px}
#voice-agent-panel .va-six-pill{
  flex:1;border-radius:12px;border:1px solid #e0e1e4;background:#ffffff;
  color:#333333;font-size:13px;font-weight:600;line-height:1.4;padding:8px 0;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-six-pill span{font-size:11px;font-weight:400;color:#999999}
#voice-agent-panel .va-six-pill.on{background:#111111;border-color:#111111;color:#ffffff}
#voice-agent-panel .va-six-pill.on span{color:#cccccc}
/* 金额汇总 / 操作提示 */
#voice-agent-panel .va-six-sum{font-size:13px;font-weight:600;color:#222222;padding:0 2px}
#voice-agent-panel .va-six-hint{font-size:11px;color:#999999;line-height:1.6;padding:0 2px}
#voice-agent-panel .va-six-back{height:34px}
/* 待回复大倒计时 */
#voice-agent-panel .va-six-cdbig{
  display:flex;align-items:baseline;gap:8px;justify-content:center;
  background:#fafafa;border-radius:12px;padding:12px;
  font-variant-numeric:tabular-nums;
}
#voice-agent-panel .va-six-cdbig .va-six-cd{font-size:26px}
#voice-agent-panel .va-six-cdsub{font-size:11px;color:#999999}
/* 问题/回复文本块 */
#voice-agent-panel .va-six-qtext{
  font-size:13px;color:#222222;line-height:1.7;background:#fafafa;
  border-radius:10px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;
}
/* 语音小片（问题/回复播放） */
#voice-agent-panel .va-six-audio{
  display:inline-flex;align-items:center;height:34px;border-radius:17px;
  border:1px solid #e0e1e4;background:#ffffff;color:#222222;font-size:13px;
  padding:0 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-six-audio:active{background:#f2f3f5}
/* 五星打分条 */
#voice-agent-panel .va-six-stars{display:flex;gap:6px;padding:2px}
#voice-agent-panel .va-six-stars button{
  background:none;border:none;font-size:26px;color:#d5d6da;cursor:pointer;padding:0 2px;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-six-stars button.on{color:#f6c66f}
#voice-agent-panel .va-six-stars-sm{color:#f6c66f;font-size:12px}
/* 最近评价行 */
#voice-agent-panel .va-six-rate-row{font-size:12px;color:#555555;padding:3px 2px}
#voice-agent-panel .va-six-rate-t{color:#aaaaaa;margin-left:4px}
/* 入驻表单里的多行输入（擅长内容） */
.va-modal-input.va-six-ta{height:auto;min-height:74px;padding:10px 12px;resize:none;font-family:inherit}

/* ── 群组 tab：建群按钮 + 群列表行 ── */
#voice-agent-panel .va-grp-newwrap{flex:none;padding:10px 14px 4px}
#voice-agent-panel .va-grp-new{
  width:100%;height:38px;border-radius:19px;
  background:#ffffff;border:1px dashed #c9cacf;color:#555555;font-size:13px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-grp-new:active{background:#f2f3f5}
/* 群头像首字色块（底色按群 id 内联注入，文字反白） */
#voice-agent-panel .va-grp-av{color:#ffffff}
/* 群名右侧成员数小字 */
#voice-agent-panel .va-grp-count{margin-left:6px;font-size:11px;font-weight:400;color:#aaaaaa}

/* ── 群会话：他人昵称小字排在气泡上方 ── */
.va-gm-col{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:72%}
.va-gm-col .va-dm-bubble{max-width:100%}
.va-gm-nick{font-size:11px;color:#999999;padding-left:2px}

/* ── 群会话页右上角「＋」邀请钮（与返回钮同族圆灰底）── */
#voice-agent-panel .va-gm-invite{
  flex:none;width:26px;height:26px;border-radius:50%;
  background:#f2f3f5;border:none;color:#666666;font-size:16px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  -webkit-tap-highlight-color:transparent;
}
#voice-agent-panel .va-gm-invite:active{background:#e8e9ec}
/* 群会话标题可点（查看成员列表） */
#voice-agent-panel .va-title #va-title-view.va-tap{cursor:pointer}

/* ── 群组弹层（建群 / 邀请 / 成员列表）：遮罩 + 居中卡片 ── */
.va-modal-mask{
  position:fixed;inset:0;z-index:12010;
  background:rgba(0,0,0,0.4);
  display:flex;align-items:center;justify-content:center;padding:28px;
}
.va-modal-card{
  width:100%;max-width:340px;max-height:70vh;
  background:#ffffff;border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;
}
.va-modal-head{
  flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid rgba(0,0,0,0.06);
  font-size:14px;font-weight:600;color:#222222;
}
.va-modal-x{
  width:26px;height:26px;border-radius:50%;border:none;background:#f2f3f5;color:#888888;
  font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  -webkit-tap-highlight-color:transparent;
}
.va-modal-x:active{background:#e8e9ec}
.va-modal-body{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;
}
.va-modal-loading{padding:30px 0;text-align:center;font-size:13px;color:#999999}
.va-modal-input{
  flex:none;height:38px;border-radius:10px;border:1px solid #e0e1e4;
  padding:0 12px;font-size:14px;color:#222222;outline:none;background:#fafafa;
}
/* 互关好友多选列表（checkbox 行，建群/邀请共用） */
.va-pick-list{
  flex:1;min-height:60px;max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;
}
.va-pick-row{
  display:flex;align-items:center;gap:10px;padding:9px 4px;
  border-bottom:1px solid rgba(0,0,0,0.04);cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.va-pick-cb{width:16px;height:16px;accent-color:#111111;flex:none}
.va-pick-name{
  flex:1;min-width:0;font-size:14px;color:#222222;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.va-modal-ok{
  flex:none;height:38px;border-radius:19px;border:none;
  background:#111111;color:#ffffff;font-size:13px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.va-modal-ok:active{opacity:0.85}
/* 成员列表行（不可点）+ 群主标记 */
.va-mem-row{cursor:default}
.va-mem-role{flex:none;font-size:11px;color:#aaaaaa}

/* 2026-09-09 契约三版：建议视图顶栏整条黄底深色字；只留返回/标题/关闭；底部工具行整行隐藏 */
#voice-agent-panel.va-suggest-view .va-header{background:#e8c54a}
#voice-agent-panel.va-suggest-view .va-header .va-title,
#voice-agent-panel.va-suggest-view .va-header #va-title-view,
#voice-agent-panel.va-suggest-view .va-header button{color:#1a1a1a}
#voice-agent-panel.va-suggest-view .va-voice,
#voice-agent-panel.va-suggest-view .va-persona{display:none}
#voice-agent-panel.va-suggest-view .va-btnrow{display:none}

/* 2026-09-09 契约四版：建议弹窗与「按住对话」输入界面视觉区分（防发错地方）——
   输入框、建议气泡统一淡黄色底；气泡与发送钮的七彩旋转描边全部换成黑色描边 */
#voice-agent-panel.va-suggest-view .va-textrow textarea{
  background:#fdf6dd;border:1.5px solid #1a1a1a;color:#1a1a1a;
}
#voice-agent-panel.va-suggest-view .va-textrow textarea::placeholder{color:#8a7f52}
#voice-agent-panel.va-suggest-view .va-textrow textarea:focus{border-color:#1a1a1a}
#voice-agent-panel.va-suggest-view .va-sg-wrap .va-bubble{
  background:#fdf6dd;border:1.5px solid #1a1a1a;color:#1a1a1a;animation:none;
}
#voice-agent-panel.va-suggest-view .va-textrow .va-send.va-ready{
  background:#fdf6dd;border:1.5px solid #1a1a1a;color:#1a1a1a;animation:none;
}

/* 2026-09-13 老板需求·建议页发送钮动态化 + 图片发送队列：
   无文字且无待发图 → ＋（灰底圆钮，点开相册）；有文字/有图 → 绿底「发送」；
   图片队列=输入框上方缩略图行，上传中叠转圈+百分比，右上 ✕ 中途取消 */
#voice-agent-panel .va-textrow .va-send.va-plus{
  background:#ececee;color:#777777;font-size:17px;font-weight:800;
  width:34px;padding:0;border-radius:17px;
}
#voice-agent-panel.va-suggest-view .va-textrow .va-send.va-go-green,
#voice-agent-panel .va-textrow .va-send.va-go-green{
  background:#57c26b;border:none;color:#ffffff;animation:none;
}
#voice-agent-panel .va-imgq{display:flex;flex-wrap:wrap;gap:10px;padding:0 2px 8px;}
#voice-agent-panel .va-imgq-cell{position:relative;width:56px;height:56px;}
#voice-agent-panel .va-imgq-cell img{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1.5px solid #1a1a1a;display:block;}
#voice-agent-panel .va-imgq-prog{position:absolute;inset:0;border-radius:10px;background:rgba(0,0,0,0.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
#voice-agent-panel .va-imgq-prog i{width:16px;height:16px;border:2px solid rgba(255,255,255,0.35);border-top-color:#ffffff;border-radius:50%;animation:vaImgSpin 0.9s linear infinite;}
#voice-agent-panel .va-imgq-prog b{font-size:10px;color:#ffffff;font-weight:700;line-height:1;}
@keyframes vaImgSpin{to{transform:rotate(360deg)}}
#voice-agent-panel .va-imgq-err{position:absolute;left:0;right:0;bottom:0;background:rgba(224,90,90,0.92);color:#ffffff;font-size:10px;line-height:1.4;text-align:center;border-radius:0 0 10px 10px;}
#voice-agent-panel .va-imgq-x{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(0,0,0,0.75);color:#ffffff;font-size:11px;line-height:20px;text-align:center;padding:0;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;}
#voice-agent-panel .va-sg-imgs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
#voice-agent-panel .va-sg-imgs img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1.5px solid #1a1a1a;cursor:pointer;}
