/* ============================================================
   在线咨询悬浮小窗  assets/css/consult-widget.css
   专属客服·小U | 按参考图像素级对齐
     - 头部：官网主色灰 #4b5563→#1f2937 竖渐变，橙 CTA 渐变圆 + 白色机器人
     - 消息：浅灰圆底 + 灰机器人头像，白色气泡 + 浅边框
     - 常见问题：白底圆角高按钮 2×2
     - 底部：白色圆角输入框 + 灰色方形纸飞机发送钮
   配套脚本: assets/js/consult-widget.js
   提交接口: pages/ajax_consult.php
   ============================================================ */
#udata-consult{position:fixed;right:18px;bottom:18px;z-index:9999;font-family:'Inter','PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;color:#1f2937;line-height:1.6;letter-spacing:.02em}
#udata-consult *{box-sizing:border-box;margin:0}

/* ---------- 悬浮按钮（圆形 + 呼吸光圈） ---------- */
.udata-consult-btn{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:linear-gradient(135deg,#4b5563,#1f2937);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(31,41,55,.35);transition:transform .25s,box-shadow .25s}
.udata-consult-btn:hover{transform:scale(1.05);box-shadow:0 14px 34px rgba(31,41,55,.45)}
.udata-consult-btn::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(249,115,22,.55);animation:udataPulse 2.4s ease-out infinite;pointer-events:none}
/* v18157 咨询形象：后台配置头像后，悬浮圆钮铺满头像（去渐变底 + 2px 白描边，呼吸光圈保留） */
.udata-consult-btn.has-av{background:#fff;overflow:hidden;padding:0}
.udata-consult-btn.has-av img.udata-consult-av{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;border:2px solid rgba(255,255,255,.95);box-sizing:border-box}
.udata-consult-btn.has-av::after{border-color:rgba(249,115,22,.6)}
/* 未读角标：红色圆角白字数字（如「1」「99+」） */
.udata-consult-badge{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;border-radius:11px;background:#ef4444;color:#fff;font-size:11.5px;font-weight:700;line-height:21px;text-align:center;padding:0 6px;box-sizing:border-box;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(239,68,68,.45);z-index:3}
/* v17.2：未读角标闪烁提醒（有数字时持续呼吸闪烁） */
@keyframes udataBadgeBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.2)}}
.udata-consult-badge.blink{animation:udataBadgeBlink 1s ease-in-out infinite}
@keyframes udataPulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.45);opacity:0}100%{opacity:0}}

/* 招呼气泡（两行提示） */
.udata-consult-bubble{position:absolute;right:72px;bottom:20px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.1);padding:11px 17px;font-size:13px;color:#374151;display:none;flex-direction:column;gap:3px;animation:udataIn .3s ease}
.udata-consult-bubble .b1{font-size:13px;color:#374151;white-space:nowrap}
.udata-consult-bubble .b2{font-size:11px;color:#9ca3af;white-space:nowrap}
.udata-consult-bubble::after{content:'';position:absolute;right:-6px;bottom:16px;width:10px;height:10px;background:#fff;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;transform:rotate(-45deg)}
.udata-consult-bubble.show{display:flex}

/* ---------- 面板 ---------- */
.udata-consult-panel{position:absolute;right:0;bottom:76px;width:400px;height:min(640px,calc(100vh - 120px));background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.16),0 4px 18px rgba(15,23,42,.06);overflow:hidden;display:flex;flex-direction:column;animation:udataIn .28s ease}
.udata-consult-panel[hidden]{display:none}
@keyframes udataIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ---------- 标题栏：柔和浅蓝竖渐变 + 浅蓝渐变圆白机器人 + 最小化/关闭 ---------- */
.udata-consult-head{background:linear-gradient(180deg,#4b5563 0%,#1f2937 100%);color:#fff;padding:12px 18px;display:flex;align-items:center;gap:13px;flex-shrink:0}
.udata-head-avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#f97316 0%,#fb923c 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.udata-head-avatar svg{width:29px;height:29px;color:#fff;stroke-width:1.9}
/* v18157 咨询形象：面板头部头像（38px 圆形展示） */
.udata-head-avatar.has-av{background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.udata-head-avatar.has-av img.udata-head-av-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;border:2px solid rgba(255,255,255,.9);box-sizing:border-box}
.udata-head-info{flex:1;min-width:0}
.udata-head-info .t{font-size:16.5px;font-weight:700;line-height:1.3;letter-spacing:.04em}
.udata-head-info .s{font-size:12px;opacity:.95;display:flex;align-items:center;gap:7px;margin-top:5px;letter-spacing:.02em}
.udata-head-info .s i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 2px rgba(74,222,128,.3)}
.udata-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.udata-head-btn{background:rgba(255,255,255,.18);border:0;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.udata-head-btn:hover{background:rgba(255,255,255,.32)}
/* 消息提醒设置：铃铛按钮 + 下拉开关菜单 */
.udata-notif-wrap{position:relative;flex-shrink:0}
.udata-notif-menu{position:absolute;right:0;top:38px;background:#fff;color:#1f2937;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:11px 13px;z-index:99999;min-width:158px;font-size:13px}
.udata-notif-menu .nm-title{font-weight:700;margin-bottom:8px;color:#374151;font-size:13px}
.udata-notif-menu .nm-item{display:flex;align-items:center;gap:8px;padding:6px 2px;color:#4b5563;cursor:pointer;user-select:none}
.udata-notif-menu .nm-item input{accent-color:#f97316;width:15px;height:15px;margin:0}

/* ---------- 对话区 ---------- */
.udata-chat{flex:1;overflow-y:auto;padding:24px 20px 16px;background:#f9fafb}
.udata-msg{display:flex;align-items:flex-start;gap:11px;margin-bottom:22px;animation:udataMsgIn .25s ease}
.udata-msg.user{flex-direction:row-reverse;align-items:flex-end}
@keyframes udataMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.udata-msg .avatar{width:44px;height:44px;border-radius:50%;background:#eef3f8;color:#4b5563;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.udata-msg .avatar svg{width:24px;height:24px;color:#4b5563}
.udata-msg-col{max-width:80%;display:flex;flex-direction:column;gap:5px;min-width:0}
.udata-msg-col .bubble{max-width:100%}
.udata-msg .bubble{padding:16px 18px;border-radius:18px;font-size:14.5px;line-height:1.9;word-break:break-word}
.udata-msg .bubble a{color:#ea580c;text-decoration:underline;word-break:break-all}
.udata-msg .bubble img{max-width:220px;border-radius:8px;display:block;margin:6px 0}
.udata-msg .bubble svg{vertical-align:-2px}
.udata-msg.bot .bubble{background:#fff;border:1px solid #e5e7eb;color:#1f2937;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.udata-msg.user .bubble{background:linear-gradient(135deg,#4b5563,#1f2937);color:#fff;border-bottom-right-radius:6px}
.udata-time{font-size:11px;color:#9ca3af;padding-left:4px;line-height:1.2;letter-spacing:.02em}
.udata-msg.user .udata-time{text-align:right;padding-right:4px;padding-left:0}

/* 分区小标题 */
.udata-block-label{font-size:12px;color:#9ca3af;font-weight:600;letter-spacing:.14em;margin:12px 0 14px}

/* 常见问题快捷区（2×2，白底圆角高按钮） */
.udata-quick{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 0 12px;margin-left:56px}
.udata-quick-btn{border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-family:inherit;border-radius:12px;padding:15px 18px;cursor:pointer;text-align:left;line-height:1.65;transition:all .2s;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.udata-quick-btn:hover{border-color:#f97316;color:#ea580c;box-shadow:0 6px 18px rgba(249,115,22,.12);transform:translateY(-1px)}
.udata-quick-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* 快捷 chips（分类 / 后续操作） */
.udata-chips{display:flex;flex-wrap:wrap;gap:12px;padding:0 0 12px;margin-left:56px}
.udata-chip{border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:13.5px;font-family:inherit;border-radius:999px;padding:10px 17px;cursor:pointer;transition:all .2s}
.udata-chip:hover{border-color:#f97316;color:#ea580c;background:#fff7ed}
.udata-chip:disabled{opacity:.5;cursor:not-allowed}

/* ---------- 转化推进卡片（P0 转化引擎：意图驱动快捷动作） ---------- */
.udata-advance{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 14px;margin-left:56px}
.udata-advance-btn{border:0;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:13.5px;font-family:inherit;font-weight:600;border-radius:999px;padding:11px 18px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(249,115,22,.25);line-height:1.4}
.udata-advance-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 16px rgba(249,115,22,.32)}
.udata-advance-btn.plain{border:1px solid #e5e7eb;background:#fff;color:#4b5563;box-shadow:none;font-weight:400}
.udata-advance-btn.plain:hover{border-color:#f97316;color:#ea580c;background:#fff7ed}
.udata-advance-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}

/* ---------- 底部开放式输入区：多行自适应 textarea + 工具条（表情/图片/文件）+ 发送钮 ---------- */
.udata-input-bar{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;background:#fff}
.udata-input{width:100%;min-height:100px;max-height:288px;padding:10px 14px;border:1px solid #d1d5db;border-radius:12px;font-size:14.5px;color:#1f2937;outline:none;font-family:inherit;background:#fff;resize:none;overflow-y:hidden;line-height:1.5;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.udata-input:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.14)}
.udata-input::placeholder{color:#9ca3af}
.udata-bar-tools{display:flex;align-items:center;gap:2px}
.udata-bar-tool{width:34px;height:32px;border:0;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}
.udata-bar-tool:hover{background:#f3f4f6;color:#f97316}
/* v18.16 输入框顶部拖拽把手（微信式调行数 2-12 行） */
.udata-bar-drag{height:8px;margin:-2px 0 0;cursor:ns-resize;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:none;user-select:none}
.udata-bar-drag::after{content:'';width:38px;height:3px;border-radius:3px;background:#E4E4E7;transition:background .15s}
.udata-bar-drag:hover::after{background:#D4D4D8}
.udata-bar-drag:active::after{background:#B0B0B6}
/* v18.16 麦克风按钮状态：不支持置灰 / 听写中高亮脉冲 */
.udata-bar-tool.off{opacity:.45;cursor:not-allowed}
.udata-bar-tool.off:hover{background:transparent;color:#6b7280}
.udata-bar-tool.on{color:#f97316;background:#FFF7ED}
.udata-bar-tool.on svg{animation:udataMicPulse 1.2s ease-in-out infinite}
.udata-staff-ibar .udata-bar-tool svg{width:17px;height:17px}
@keyframes udataMicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
/* v18.17 听写中浮条（固定屏幕底部居中，灰色系） */
.udata-dict-bar{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:1000002;background:rgba(31,41,55,.92);color:#fff;font-size:12.5px;padding:7px 16px;border-radius:999px;display:none;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.18);font-family:inherit}
.udata-send{width:46px;height:32px;margin-left:auto;border:0;border-radius:10px;background:#4b5563;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;flex-shrink:0;box-shadow:0 2px 8px rgba(75,85,99,.35)}
.udata-send:hover{background:#1f2937;transform:translateY(-1px)}
.udata-send:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* 打字动画 */
.udata-typing .bubble{display:flex;align-items:center;gap:6px;padding:15px 18px}
.udata-typing i{width:7px;height:7px;border-radius:50%;background:#9ca3af;animation:udataDot 1.2s infinite}
.udata-typing i:nth-child(2){animation-delay:.15s}
.udata-typing i:nth-child(3){animation-delay:.3s}
@keyframes udataDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ---------- 表单区 ---------- */
.udata-form{flex:1;overflow-y:auto;padding:20px 22px 20px;background:#fff;animation:udataIn .25s ease}
.udata-form-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.udata-form-top .title{font-size:15px;font-weight:700;color:#1f2937}
.udata-back{background:none;border:0;color:#4b5563;font-size:13px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:4px;transition:color .2s}
.udata-back:hover{color:#ea580c}
.udata-cat-chip{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;background:#F9FAFB;border:1px solid #e5e7eb;border-radius:999px;padding:8px 15px;margin-bottom:14px}
.udata-cat-chip b{color:#ea580c}
.udata-cat-chip button{margin-left:auto;background:none;border:0;color:#ea580c;font-size:13px;cursor:pointer;font-family:inherit;font-weight:600;padding:0}
.udata-cat-chip button:hover{text-decoration:underline}

.udata-consult-field{margin-bottom:15px}
.udata-consult-field label{display:block;font-size:13px;color:#374151;margin-bottom:7px;font-weight:600}
.udata-consult-field label em{color:#dc2626;font-style:normal}
.udata-consult-field input,.udata-consult-field textarea{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;color:#1f2937;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;background:#fff}
.udata-consult-field input:focus,.udata-consult-field textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.1)}
.udata-consult-field textarea{resize:vertical;min-height:96px;line-height:1.7}
.udata-consult-err{color:#dc2626;font-size:13px;line-height:1.5;margin:3px 0 9px;display:none}
.udata-consult-submit{width:100%;padding:14px;border:0;border-radius:10px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s;box-shadow:0 4px 12px rgba(249,115,22,.3)}
.udata-consult-submit:hover{opacity:.92}
.udata-consult-submit:disabled{opacity:.6;cursor:not-allowed}
.udata-consult-foot{font-size:12px;color:#9ca3af;text-align:center;margin-top:14px}

/* ---------- 移动端适配 ---------- */
@media(max-width:768px){
    #udata-consult{right:12px;bottom:12px}
    .udata-consult-bubble{right:64px;bottom:16px;font-size:12px;padding:8px 12px}
    .udata-consult-panel{width:calc(100vw - 24px);max-width:400px;bottom:68px;height:min(640px,calc(100vh - 96px))}
    .udata-input-bar{padding-bottom:12px}
}

/* ============ 顾问体系 v2：信息完善层 / 顾问询问层 / 顾问名片卡 ============ */
.udata-gate,.udata-ask{flex:1;overflow-y:auto;padding:20px 22px;background:#fff;animation:udataIn .25s ease}
.udata-gate-top,.udata-ask-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.udata-gate-top .title,.udata-ask-top .title{font-size:15px;font-weight:700;color:#1f2937}
.udata-back{border:0;background:transparent;color:#6b7280;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .2s}
.udata-back:hover{background:#f3f4f6;color:#374151}
.udata-gate-tip{font-size:13px;color:#6b7280;line-height:1.7;margin:0 0 16px}
.udata-gate-tip b{color:#ea580c}
.udata-ask-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.udata-ask-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s;background:#fafafa}
.udata-ask-opt:hover{border-color:#fdba74;background:#fff7ed}
.udata-ask-opt input{width:18px;height:18px;accent-color:#f97316;flex-shrink:0}
.udata-ask-opt span{display:flex;flex-direction:column;gap:2px}
.udata-ask-opt b{font-size:14px;color:#1f2937;font-weight:600}
.udata-ask-opt small{font-size:12px;color:#6b7280}
.udata-ask-btns{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.udata-consult-submit.plain{background:transparent;color:#374151;box-shadow:none;border:1px solid #d1d5db}
.udata-consult-submit.plain:hover{background:#f9fafb;opacity:1}
/* 顾问名片卡 */
.udata-advisor-card{max-width:300px;background:linear-gradient(180deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:16px;padding:16px;margin:6px 0;box-shadow:0 6px 20px rgba(249,115,22,.12)}
.udata-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.udata-card-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.udata-card-avatar svg{width:22px;height:22px}
.udata-card-name{font-size:15px;font-weight:700;color:#1f2937}
.udata-card-name em{font-style:normal;font-size:11px;font-weight:500;color:#ea580c;background:#ffedd5;padding:2px 8px;border-radius:999px;margin-left:6px}
.udata-card-role{font-size:12px;color:#6b7280;line-height:1.5;margin-top:3px}
.udata-card-wechat{font-size:13px;color:#374151;background:#fff;border:1px dashed #fcd34d;border-radius:10px;padding:9px 12px;margin-bottom:8px;line-height:1.6}
.udata-card-qr-wrap{text-align:center;background:#fff;border:1px dashed #fcd34d;border-radius:10px;padding:12px}
.udata-card-qr{width:120px;height:120px;border-radius:8px;display:block;margin:0 auto 8px}
.udata-card-qr-tip{font-size:12px;color:#b45309;line-height:1.7}

/* ============ v4 员工模式：全站右下角响应台 ============ */
.udata-consult-panel .udata-staff{display:flex;flex-direction:column;flex:1;min-height:0}
.udata-consult-panel .udata-staff[hidden]{display:none}
.udata-staff-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid #f3f4f6;flex-shrink:0;gap:8px}
.udata-staff-tabs{display:flex;gap:2px;flex-wrap:wrap;min-width:0}
.udata-staff-tabs button{border:0;background:transparent;font-size:13.5px;color:#6b7280;padding:6px 12px;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:600;position:relative}
.udata-staff-tabs button.on{color:#3F3F46;background:#F4F4F5}
.udata-staff-badge{background:#e11d48;color:#fff;border-radius:999px;font-size:10px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;margin-left:3px;vertical-align:1px}
.udata-staff-card{border:0;background:#f3f4f6;color:#4b5563;border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.udata-staff-card:hover{color:#3F3F46;background:#F4F4F5}
/* v18.15 全屏响应台入口按钮（小窗头部） */
.udata-staff-full-btn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:1px solid #E4E4E7;background:#fff;color:#3F3F46;font-size:12px;border-radius:8px;cursor:pointer;font-family:inherit;flex-shrink:0}
.udata-staff-full-btn:hover{background:#F4F4F5;color:#111827}
/* v18186 运行版本角标：极小灰色，便于截图确认浏览器加载的脚本版本（排查旧缓存） */
.udata-staff-ver{font-size:10px;color:#b6bcc4;font-weight:400;flex-shrink:0;user-select:none;cursor:default}
.udata-staff-main{display:flex;flex:1;min-height:0}
.udata-staff-col{display:flex;flex-direction:column;width:37.4%;min-width:210px;max-width:420px;flex-shrink:0;border-right:1px solid #f3f4f6;background:#fafafb}
.udata-staff-col .udata-staff-list{width:auto;border-right:0;flex:1;padding:6px}
.udata-staff-filters{display:flex;gap:4px;padding:6px 6px 0}
.udata-staff-filters button{flex:1;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:11.5px;border-radius:8px;padding:4px 0;cursor:pointer;font-family:inherit}
.udata-staff-filters button.on{background:#F4F4F5;border-color:#E4E4E7;color:#3F3F46;font-weight:600}
.udata-staff-chat-head-l{display:flex;align-items:center;gap:6px;min-width:0}
.udata-staff-chat-head-l .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.udata-staff-chat-head-r{display:flex;align-items:center;gap:6px;flex-shrink:0}
.udata-staff-chat-head .intent{font-size:11.5px;font-weight:600;color:#4338ca;background:#eef2ff;border-radius:999px;padding:2px 7px;white-space:nowrap}
.udata-staff-sum{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151;line-height:1.6}
.udata-staff-sum .txt{flex:1;min-width:0}
.udata-staff-sum .ops{display:inline-flex;gap:4px;flex:none}
.udata-staff-sum .copy{border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12px;border-radius:6px;padding:2px 8px;cursor:pointer;font-family:inherit;line-height:1.6}
.udata-staff-sum .copy:hover{color:#111827;border-color:#d1d5db}
.udata-staff-sum .close{border:0;background:none;color:#9ca3af;font-size:15px;cursor:pointer;padding:0 2px;flex:none}
.udata-staff-sum .close:hover{color:#111827}
/* v18.16 会话内工具条：AI摘要 / 客户资料（仅顾问可见），灰色系与网站主色调一致 */
.udata-staff-toolbar{display:flex;align-items:center;gap:8px;padding:2px 14px 10px;flex-wrap:wrap}
.udata-staff-tb-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #E4E4E7;background:#fff;color:#3F3F46;font-size:13px;border-radius:8px;padding:6px 13px;cursor:pointer;font-family:inherit;line-height:1.4;transition:border-color .15s ease,background .15s ease}
.udata-staff-tb-btn:hover{border-color:#D4D4D8;background:#FAFAFA}
.udata-staff-tb-btn svg{width:16px;height:16px;color:#9CA3AF}
.udata-staff-tb-tip{font-size:11px;color:#A1A1AA;margin-left:auto}
.udata-staff-item .badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 7px;white-space:nowrap;flex:none}
.udata-staff-item .badge.intent-h{background:#fee2e2;color:#b91c1c}
.udata-staff-item .badge.intent-m{background:#fef3c7;color:#b45309}
.udata-staff-item .badge.intent-l{background:#e0e7ff;color:#4338ca}
.udata-staff-item .badge.life{background:#f3f4f6;color:#4b5563}
.udata-staff-item .pin{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:#cbd5e1;cursor:pointer;padding:0;flex:none;width:14px;height:14px}
.udata-staff-item .pin.on{color:#f59e0b}
.udata-staff-item .pin svg{width:14px;height:14px}
.udata-staff-item .uc{font-size:11.5px;font-weight:700;color:#fff;background:#e11d48;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;flex:none}
.udata-staff-list{width:auto;flex:1;min-width:0;border-right:1px solid #f3f4f6;overflow-y:auto;background:#fafafb;padding:6px}
.udata-staff-item{padding:9px 10px;border-radius:10px;cursor:pointer;margin-bottom:4px;border:1px solid transparent;transition:background .15s}
.udata-staff-item:hover{background:#f3f4f6}
.udata-staff-item.on{background:#F4F4F5;border-color:#E4E4E7}
.udata-staff-item .r1{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden}
.udata-staff-item .r1 .who{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.udata-staff-item .r1 .new{background:#3F3F46;color:#fff;border-radius:999px;font-size:11.5px;padding:0 6px;height:17px;line-height:17px;flex-shrink:0}
.udata-staff-item .r1 .tag{font-size:11.5px;padding:1px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;flex-shrink:0;max-width:58px;overflow:hidden;text-overflow:ellipsis}
.udata-staff-item .r1 .tm{font-size:12px;color:#9ca3af;flex-shrink:0}
.udata-staff-item .r2{font-size:12.5px;color:#9ca3af;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.udata-staff-empty{color:#9ca3af;font-size:12px;text-align:center;padding:30px 8px;line-height:1.8}
.udata-staff-chat{flex:1;min-width:0;display:flex;flex-direction:column}
.udata-staff-chat-head{padding:10px 12px;border-bottom:1px solid #f3f4f6;font-size:14px;font-weight:700;color:#111827;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;background:#fff}
.udata-staff-chat-head .meta{font-size:12px;color:#9ca3af;font-weight:400;white-space:nowrap}
.udata-staff-chat-head .err{color:#dc2626;font-size:12.5px;font-weight:600}
.udata-staff-msgs{flex:1;overflow-y:auto;padding:12px;background:#f9fafb}
.udata-staff-lead{background:#F4F4F5;border:1px solid #E4E4E7;border-radius:10px;padding:9px 12px;font-size:12px;color:#3F3F46;line-height:1.8;margin-bottom:12px}
.udata-staff-lead b{display:block;font-size:11.5px;color:#b45309;margin-bottom:2px}
.udata-staff-lead .msg{margin-top:3px;color:#78350f}
.udata-staff-msg{margin-bottom:12px}
.udata-staff-msg.system{text-align:center}
.udata-staff-msg.system span{display:inline-block;background:#F4F4F5;border:1px solid #fed7aa;color:#3F3F46;font-size:12.5px;border-radius:999px;padding:4px 12px;max-width:92%}
.udata-staff-msg.theirs .bub{background:#fff;border:1px solid #e5e7eb;border-radius:12px;border-bottom-left-radius:3px;padding:9px 12px;font-size:14px;line-height:1.7;color:#1f2937;word-break:break-word;white-space:pre-wrap;display:inline-block;max-width:88%}
.udata-staff-msg.mine{text-align:right}
.udata-staff-msg.mine .bub{background:linear-gradient(135deg,#3F3F46,#52525C);color:#fff;border-radius:12px;border-bottom-right-radius:3px;padding:9px 12px;font-size:14px;line-height:1.7;word-break:break-word;white-space:pre-wrap;display:inline-block;max-width:88%;text-align:left}
.udata-staff-msg .tm{font-size:11px;color:#b6bcc4;margin-top:3px}
.udata-staff-msg.mine .tm{text-align:right}
.udata-staff-quick{position:relative;display:block;padding:8px 10px;border-top:1px solid #f3f4f6;flex-shrink:0;overflow:visible}
.udata-staff-quick button{border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:13.5px;border-radius:999px;padding:5px 12px;cursor:pointer;font-family:inherit}
.udata-staff-quick button:hover{border-color:#3F3F46;color:#3F3F46;background:#F4F4F5}
/* v7.3 工具栏归类上弹菜单 */
.udata-staff-toolbar{display:flex;gap:6px;align-items:center;width:100%}
.udata-staff-toolmenu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:120;pointer-events:none}
.udata-staff-menu{pointer-events:auto;min-width:210px;max-width:300px;max-height:min(300px,58vh);overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 36px rgba(15,23,42,.16);padding:6px}
.udata-staff-menu .mi{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;background:none;text-align:left;font-size:13px;color:#374151;border-radius:8px;cursor:pointer;font-family:inherit}
.udata-staff-menu .mi:hover{background:#F4F4F5;color:#3F3F46}
.udata-staff-menu .mi svg{flex-shrink:0}
.udata-staff-menu .mi .mi-txt{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-menu .mi.empty{color:#9ca3af;cursor:default}
.udata-staff-menu .mi.empty:hover{background:none;color:#9ca3af}
.udata-staff-ibar{display:flex;flex-direction:column;gap:6px;padding:10px;border-top:1px solid #f3f4f6;flex-shrink:0;background:#fff}
.udata-staff-ibar textarea{flex:1;min-height:100px;max-height:288px;padding:8px 10px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;font-family:inherit;resize:none;overflow-y:hidden;outline:none;color:#1f2937;line-height:1.5;box-sizing:border-box}
.udata-staff-ibar textarea:focus{border-color:#3F3F46;box-shadow:0 0 0 3px rgba(63,63,70,.1)}
.udata-staff-ibar .udata-bar-tools{display:flex;align-items:center;gap:2px}
.udata-staff-ibar #udataStaffSend{margin-left:auto;width:62px;height:32px;border:0;border-radius:10px;background:linear-gradient(135deg,#3F3F46,#52525C);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;flex-shrink:0}
.udata-staff-ibar #udataStaffSend:disabled{opacity:.5;cursor:not-allowed}
/* 员工名片弹窗 */
.udata-staff-mask{position:fixed;inset:0;background:rgba(17,24,39,.5);z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px}
.udata-staff-mask[hidden]{display:none}
.udata-staff-dialog{background:#fff;border-radius:16px;width:400px;max-width:94vw;max-height:88vh;overflow-y:auto;padding:20px 22px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.udata-staff-dlg-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:14px}
/* v18.4.2 弹窗标题栏：标题居左，最小化+关闭绝对定位右上角（窗口习惯；:has 仅对含最小化的弹窗生效，无最小化的弹窗关闭按钮仍靠右） */
.udata-staff-dialog .udata-staff-dlg-title,
.udata-staff-drawer .udata-staff-dlg-title{display:flex;align-items:center;gap:6px}
.udata-staff-dialog .udata-staff-dlg-title .udata-staff-drawer-close,
.udata-staff-drawer .udata-staff-dlg-title .udata-staff-drawer-close{margin-left:auto}
.udata-staff-dialog .udata-staff-dlg-title:has(.udata-staff-min),
.udata-staff-drawer .udata-staff-dlg-title:has(.udata-staff-min){position:relative;padding-right:76px}
.udata-staff-dialog .udata-staff-dlg-title:has(.udata-staff-min) .udata-staff-min,
.udata-staff-drawer .udata-staff-dlg-title:has(.udata-staff-min) .udata-staff-min{position:absolute;right:38px;top:50%;transform:translateY(-50%)}
.udata-staff-dialog .udata-staff-dlg-title:has(.udata-staff-min) .udata-staff-min + .udata-staff-drawer-close,
.udata-staff-drawer .udata-staff-dlg-title:has(.udata-staff-min) .udata-staff-min + .udata-staff-drawer-close{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.udata-staff-min{border:0;background:none;color:#6b7280;cursor:pointer;padding:4px;display:inline-flex;border-radius:6px;flex:none}
.udata-staff-min:hover{background:#f3f4f6;color:#111827}
/* v18.2 悬浮胶囊（弹窗最小化后的恢复入口，面板底部） */
.udata-staff-pills{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px;border-top:1px solid #f3f4f6;background:#fff}
.udata-staff-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#4338ca;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;padding:4px 10px;cursor:pointer;font-family:inherit}
.udata-staff-pill:hover{background:#e0e7ff}
.udata-staff-pill svg{width:12px;height:12px;flex:none}
.udata-staff-f{margin-bottom:12px}
.udata-staff-f label{display:block;font-size:12.5px;color:#6b7280;margin-bottom:5px}
.udata-staff-f input,.udata-staff-f select,.udata-staff-f textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:8px 11px;font-size:13.5px;font-family:inherit;color:#1f2937;outline:none;background:#fff}
.udata-staff-f input:focus,.udata-staff-f select:focus,.udata-staff-f textarea:focus{border-color:#3F3F46;box-shadow:0 0 0 3px rgba(63,63,70,.1)}
.udata-staff-f textarea{height:60px;resize:none}
.udata-staff-dlg-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.udata-staff-btn{border:0;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;background:#f3f4f6;color:#374151}
.udata-staff-btn.primary{background:linear-gradient(135deg,#3F3F46,#52525C);color:#fff}
/* 新会话 toast（员工） */
.udata-staff-toast{position:fixed;top:76px;right:20px;z-index:99998;background:#1f2937;color:#fff;border-radius:12px;padding:13px 16px;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.2);display:flex;gap:12px;align-items:center;max-width:320px;transform:translateY(-16px);opacity:0;transition:all .25s;pointer-events:none}
.udata-staff-toast.show{transform:translateY(0);opacity:1;pointer-events:auto}
.udata-staff-toast .tt{font-weight:700;margin-bottom:3px}
.udata-staff-toast .ttx{color:#d1d5db;font-size:12px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.udata-staff-toast .tg{color:#52525C;font-weight:700;cursor:pointer;flex-shrink:0}
/* 客户侧：顾问消息标签 */
.udata-msg.agent .udata-agent-tag{font-size:11px;color:#1d4ed8;background:#dbeafe;padding:2px 9px;border-radius:999px;align-self:flex-start;margin-bottom:2px}
.udata-msg.agent .bubble{background:#eff6ff;border:1px solid #dbeafe;color:#1e3a8a}
.udata-msg.agent .avatar{background:#dbeafe;color:#1d4ed8}
/* 窄屏适配：员工列表折叠 */
@media (max-width:560px){
    .udata-staff-col{width:38%;min-width:150px;max-width:200px}
    .udata-consult-panel{width:100%;height:100%;right:0;bottom:0;border-radius:16px 16px 0 0}
}
/* v18179 移动办公打通：浮动响应台手机全屏两态（≤768px 列表⇄对话，风格与全屏响应台一致） */
.udata-staff-mback{display:none}
.udata-staff-mclose{display:none}
@media (max-width:768px){
    .udata-consult-panel.staff-mode{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important;transform:none!important;box-shadow:none!important}
    .udata-consult-panel.staff-mode .udata-staff-main{flex:1;min-height:0}
    .udata-consult-panel.staff-mode .udata-staff-col{width:100%;min-width:0;max-width:none;border-right:0}
    .udata-consult-panel.staff-mode .udata-staff-chat{display:none;width:100%}
    .udata-consult-panel.staff-mode .udata-staff-chat.wb-st-open{display:flex}
    .udata-consult-panel.staff-mode .udata-staff-col.wb-st-hide{display:none}
    .udata-consult-panel.staff-mode .udata-staff-full-btn{display:none}
    .udata-consult-panel.staff-mode .udata-rs{display:none!important}
    .udata-consult-panel.staff-mode .udata-staff-tabs button{font-size:14px;padding:7px 13px}
    .udata-consult-panel.staff-mode .udata-staff-msg .bub{max-width:82%}
    .udata-consult-panel.staff-mode .udata-staff-ibar textarea{min-height:76px;max-height:200px;font-size:15px}
    .udata-staff-mback{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:1px solid #E4E4E7;background:#fff;color:#3F3F46;font-size:12.5px;font-weight:600;border-radius:8px;cursor:pointer;font-family:inherit;flex-shrink:0}
    .udata-staff-mback:active{background:#F4F4F5}
    .udata-staff-mclose{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #E4E4E7;background:#fff;color:#3F3F46;border-radius:8px;cursor:pointer;flex-shrink:0}
    .udata-staff-mclose:active{background:#F4F4F5}
}

/* ============ v5 多二维码名片体系 ============ */
.udata-staff-dialog{width:470px}
.udata-staff-f input,.udata-staff-f select,.udata-staff-f textarea{background:#fff}
.udata-staff-qrs{margin-bottom:12px;background:#f9fafb;border:1px solid #f0f1f3;border-radius:10px;padding:10px 12px}
.udata-staff-qr-title{display:block;font-size:12.5px;color:#374151;font-weight:600;margin-bottom:8px}
.udata-staff-qr-title em{font-style:normal;font-weight:400;color:#9ca3af;font-size:11.5px;margin-left:6px}
.udata-staff-qr-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto;margin-bottom:8px}
.udata-staff-qr-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px}
.udata-staff-qr-item img{width:34px;height:34px;border-radius:6px;object-fit:contain;flex-shrink:0;background:#f3f4f6}
.udata-staff-qr-item .meta{flex:1;min-width:0;font-size:12.5px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-qr-item .meta b{font-weight:600}
.udata-staff-qr-item .acc{font-size:11px;color:#6b7280;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-qr-item .prio{font-size:11px;color:#9ca3af;flex-shrink:0}
.udata-staff-qr-item.off{opacity:.55}
.udata-staff-btn.mini{font-size:12px;padding:5px 10px;border-radius:7px}
.udata-staff-btn.mini.del{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.udata-staff-qr-add{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.udata-staff-qr-add select,.udata-staff-qr-add input{border:1px solid #d1d5db;border-radius:8px;padding:6px 9px;font-size:12.5px;font-family:inherit;color:#1f2937;outline:none;background:#fff}
.udata-staff-qr-add select:focus,.udata-staff-qr-add input:focus{border-color:#3F3F46;box-shadow:0 0 0 3px rgba(63,63,70,.1)}
/* 推送名片按钮 */
.udata-staff-quick-card{display:inline-flex;align-items:center;gap:5px;border:1px solid #E4E4E7;background:#F4F4F5;color:#3F3F46;font-size:13px;border-radius:999px;padding:5px 13px;cursor:pointer;font-family:inherit;font-weight:600}
.udata-staff-quick-card:hover{background:#F4F4F5}
/* 推送多选面板 */
.udata-staff-card-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:330px;overflow-y:auto}
.udata-staff-pick-item{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:10px;padding:8px;cursor:pointer;background:#fff}
.udata-staff-pick-item:has(input:checked){border-color:#3F3F46;background:#F4F4F5}
.udata-staff-pick-item img{width:46px;height:46px;border-radius:8px;object-fit:contain;background:#f3f4f6;flex-shrink:0}
.udata-staff-pick-item span{font-size:12.5px;color:#111827;min-width:0}
.udata-staff-pick-item span b{font-weight:600;display:block}
.udata-staff-pick-item span em{font-style:normal;font-size:11px;color:#6b7280;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 多二维码卡片组（员工侧发送 / 客户侧展示共用） */
.udata-staff-msg.mine .bub.card-multi{background:#fff;color:#1f2937;width:100%;max-width:100%;padding:0}
.udata-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.udata-card-one{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;text-align:center}
.udata-card-one .ct{font-size:12px;font-weight:600;color:#1d4ed8;background:#dbeafe;padding:5px 8px}
.udata-card-one .ca{font-size:11.5px;color:#6b7280;padding:6px 8px 0;word-break:break-all}
.udata-card-one img{width:100%;max-width:130px;height:auto;display:block;margin:8px auto 0;border-radius:6px}
.udata-card-one .ctip{font-size:10.5px;color:#9ca3af;padding:6px 8px 8px}
.udata-cards-box .udata-cards{grid-template-columns:repeat(2,1fr)}
/* 待回复（3 分钟未回复） */
.udata-staff-item.late{background:#fff1f2;border-color:#fecaca}
.udata-staff-item.late:hover{background:#ffe4e6}
.udata-staff-item .late-tag{font-size:10px;padding:1px 7px;border-radius:999px;background:#dc2626;color:#fff;flex-shrink:0}

/* ============ v12 名下会员 tab（在线点 + 状态说明） ============ */
.udata-staff-item .st-dot-online{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 0 2px rgba(34,197,94,.25)}
.udata-staff-item .st-dot-offline{width:8px;height:8px;border-radius:50%;background:#cbd5e1;flex-shrink:0}
.udata-staff-item .r2.online-txt{color:#16a34a}

/* ============ v18171 六项收尾：在线排序状态点 / 绑定胶囊 / 头部绑定徽章 / 锁定会话 ============ */
.udata-st-item-bind{display:inline-flex;align-items:center;border:1px dashed #fdba74;background:#fff7ed;color:#f97316;font-size:11px;border-radius:999px;padding:2px 9px;cursor:pointer;font-family:inherit;flex-shrink:0;line-height:1.5;transition:background .15s ease,border-color .15s ease,color .15s ease}
.udata-st-item-bind:hover{background:#f97316;color:#fff;border-color:#f97316}
.udata-st-item-bound{display:inline-flex;align-items:center;font-size:10px;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:1px 8px;flex-shrink:0;line-height:1.5}
.udata-head-bind{display:inline-flex;align-items:center;font-size:11px;border-radius:999px;padding:1px 9px;flex-shrink:0;line-height:1.6}
.udata-head-bind.off{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}
.udata-head-bind.on{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}
.udata-head-bind-btn{display:inline-flex;align-items:center;border:1px dashed #fdba74;background:#fff7ed;color:#f97316;font-size:11px;border-radius:999px;padding:1px 10px;cursor:pointer;font-family:inherit;flex-shrink:0;line-height:1.6;transition:background .15s ease,border-color .15s ease,color .15s ease}
.udata-head-bind-btn:hover{background:#f97316;color:#fff;border-color:#f97316}
.udata-staff-tb-btn.on{border-color:#fdba74;background:#fff7ed;color:#c2410c}
.udata-staff-tb-btn.on:hover{border-color:#fdba74;background:#ffedd5}
.udata-staff-tb-btn.on svg{color:#c2410c}

/* ============ v6 员工工作台优化 ============ */
/* 头部右侧：在线状态开关 + 名片按钮 */
.udata-staff-head-right{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.udata-staff-online{display:inline-flex;align-items:center;gap:5px;border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:11.5px;border-radius:999px;padding:4px 11px;cursor:pointer;font-family:inherit;transition:all .15s}
.udata-staff-online .dot{width:7px;height:7px;border-radius:50%;background:#9ca3af}
.udata-staff-online.on{border-color:#bbf7d0;background:#f0fdf4;color:#16a34a}
.udata-staff-online.on .dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.udata-staff-online.off{border-color:#e5e7eb;background:#f9fafb;color:#9ca3af}
.udata-staff-online.off .dot{background:#cbd5e1}
.udata-staff-online:hover{border-color:#3F3F46}
/* 名片弹窗两栏 */
.udata-staff-dlg-wide{width:600px}
.udata-staff-dlg-cols{display:flex;gap:14px}
.udata-staff-dlg-col{flex:1;min-width:0}
.udata-staff-dlg-col.left{border-right:1px dashed #e5e7eb;padding-right:14px}
/* 二维码库卡片化 */
.udata-staff-qr-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:6px 8px}
.udata-staff-qr-item img{width:38px;height:38px;border-radius:7px;object-fit:contain;flex-shrink:0;background:#f3f4f6}
.udata-staff-qr-item .meta{flex:1;min-width:0}
.udata-staff-qr-item .meta b{display:block;font-size:12.5px;color:#111827}
.udata-staff-qr-item .meta em{display:block;font-style:normal;font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-qr-item .prio{font-size:11px;color:#9ca3af;flex-shrink:0}
.udata-staff-qr-item .ops{display:flex;align-items:center;gap:2px;flex-shrink:0}
.udata-staff-qr-item .ops button{width:24px;height:24px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#6b7280;padding:0}
.udata-staff-qr-item .ops button:hover{border-color:#3F3F46;color:#3F3F46}
.udata-staff-qr-item .ops button:disabled{opacity:.3;cursor:not-allowed;border-color:#e5e7eb;color:#cbd5e1}
.udata-staff-qr-item .ops button.fav.on{color:#f59e0b;border-color:#E4E4E7;background:#F4F4F5}
.udata-staff-qr-item .ops button.toggle{width:auto;padding:0 8px;font-size:11px;color:#374151}
.udata-staff-qr-item .ops button.del:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2}
.udata-staff-qr-item.off .meta b,.udata-staff-qr-item.off .meta em{color:#9ca3af}
/* 工具栏：推荐名片 / 更多名片 / 招呼语胶囊 */
.udata-staff-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.udata-staff-tool-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #E4E4E7;background:#F4F4F5;color:#3F3F46;font-size:13px;border-radius:999px;padding:6px 13px;cursor:pointer;font-family:inherit;font-weight:600;flex-shrink:0}
.udata-staff-tool-btn svg{width:15px;height:15px;flex-shrink:0}
.udata-staff-tool-btn:hover{background:#F4F4F5}
.udata-staff-tool-btn.on{background:#3F3F46;border-color:#3F3F46;color:#fff}
.udata-staff-tool-btn.on:hover{background:#3F3F46}
.udata-staff-greets{display:flex;gap:5px;flex-wrap:wrap;flex:1;min-width:0}
.udata-staff-greet{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:13px;border-radius:999px;padding:5px 12px;cursor:pointer;font-family:inherit}
.udata-staff-greet:hover{border-color:#3F3F46;color:#3F3F46;background:#F4F4F5}
.udata-staff-greet:disabled{opacity:.5;cursor:default}
/* 客户侧名片在线/离线标记 */
.udata-card-online{font-style:normal;font-size:10px;font-weight:600;color:#16a34a;background:#dcfce7;border-radius:999px;padding:1px 7px;margin-left:5px;vertical-align:2px}
.udata-card-offline-tag{font-style:normal;font-size:10px;font-weight:600;color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:1px 7px;margin-left:5px;vertical-align:2px}
.udata-card-offline{display:flex;align-items:center;gap:5px;margin-top:8px;padding:7px 10px;background:#fffbeb;border:1px solid #fde68a;color:#b45309;border-radius:8px;font-size:11.5px}
/* 名片卡「分享引流」按钮 */
.udata-card-share-wrap{margin-top:10px;text-align:center}
.udata-card-share{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border:1px solid #fdba74;background:#fff7ed;color:#ea580c;border-radius:8px;font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s}
.udata-card-share:hover{background:#ffedd5;border-color:#f97316}

/* ===== v7：在线状态三态 + 状态菜单 ===== */
.udata-staff-status{position:relative;display:inline-flex;align-items:center;margin-left:auto}
.udata-staff-status-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:13px;border-radius:999px;padding:5px 14px;cursor:pointer;font-family:inherit;transition:all .15s}
.udata-staff-status-btn .dot{width:7px;height:7px;border-radius:50%;background:#9ca3af;flex-shrink:0}
.udata-staff-status-btn svg{flex-shrink:0;opacity:.65}
.udata-staff-status-btn.on{border-color:#bbf7d0;background:#f0fdf4;color:#16a34a}
.udata-staff-status-btn.on .dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.udata-staff-status-btn.busy{border-color:#E4E4E7;background:#F4F4F5;color:#d97706}
.udata-staff-status-btn.busy .dot{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.udata-staff-status-btn.off{border-color:#e5e7eb;background:#f9fafb;color:#9ca3af}
.udata-staff-status-btn.off .dot{background:#cbd5e1}
.udata-staff-status-btn:hover{border-color:#3F3F46}
.udata-staff-status-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);z-index:60;padding:5px}
.udata-staff-status-menu button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:none;background:none;cursor:pointer;font-family:inherit;font-size:12.5px;color:#111827;padding:8px 10px;border-radius:7px;flex-wrap:wrap}
.udata-staff-status-menu button:hover{background:#f9fafb}
.udata-staff-status-menu button .st-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.udata-staff-status-menu .udata-staff-st-sound{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;border-top:1px solid #f3f4f6;font-size:12.5px;color:#111827;cursor:pointer;margin-top:4px;flex-wrap:wrap}
.udata-staff-status-menu .udata-staff-st-sound input{accent-color:#3F3F46;margin-top:2px}
.udata-staff-status-menu .udata-staff-st-sound span{display:block;font-size:11px;color:#9ca3af;margin-left:19px;margin-top:-2px}
.udata-staff-status-menu button .st-dot.on{background:#22c55e}
.udata-staff-status-menu button .st-dot.busy{background:#f59e0b}
.udata-staff-status-menu button .st-dot.off{background:#cbd5e1}
.udata-staff-status-menu button span{width:100%;font-size:11px;color:#9ca3af;padding-left:15px}
/* ===== v7：工具栏三段式 ===== */
.udata-staff-toolbar{display:flex;align-items:center;gap:6px}
.udata-staff-tool-grp{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}
.udata-staff-greets{display:flex;gap:5px;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:2px 0;scrollbar-width:thin}
.udata-staff-greets::-webkit-scrollbar{height:4px}
.udata-staff-greets::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}
.udata-staff-greet{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:13px;border-radius:999px;padding:5px 12px;cursor:pointer;font-family:inherit;flex-shrink:0}
.udata-staff-tool-btn.greet{border-color:#e5e7eb;background:#fff;color:#6b7280;font-weight:500}
.udata-staff-tool-btn.greet:hover{background:#f9fafb;color:#3F3F46}
/* ===== v7：名片预览 + 主码 ===== */
.udata-staff-preview{margin-top:2px}
.udata-staff-pv{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff}
.udata-staff-pv .hd{display:flex;align-items:center;gap:10px}
.udata-staff-pv .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3F3F46,#52525C);flex-shrink:0}
.udata-staff-pv .hd b{display:block;font-size:14px;color:#111827}
.udata-staff-pv .hd em{display:block;font-style:normal;font-size:11px;color:#3F3F46;margin-top:2px}
.udata-staff-pv .intro{font-size:12px;color:#6b7280;margin-top:8px;line-height:1.5}
.udata-staff-pv .wechat{font-size:12px;color:#374151;margin-top:6px}
.udata-staff-pv-qr{display:flex;align-items:center;gap:8px;margin-top:8px}
.udata-staff-pv-qr img{width:72px;height:72px;border:1px solid #e5e7eb;border-radius:8px;object-fit:contain;background:#f9fafb}
.udata-staff-pv-qr span{font-size:11px;color:#9ca3af}
.udata-staff-qr-item.primary{border-color:#E4E4E7;background:#F4F4F5}
.udata-staff-qr-item .ops button.prime{color:#9ca3af}
.udata-staff-qr-item .ops button.prime.on{color:#f59e0b;border-color:#E4E4E7;background:#F4F4F5}
.udata-staff-qr-item .ops button.prime:disabled{opacity:.3;cursor:not-allowed}
.udata-staff-prime{font-style:normal;font-size:10px;color:#3F3F46;background:#F4F4F5;border-radius:999px;padding:0 6px;margin-left:4px}
.udata-staff-qr-item.off .udata-staff-prime{color:#9ca3af;background:#f3f4f6}
/* ===== v7：招呼语管理弹窗 ===== */
.udata-staff-greet-new{display:flex;gap:8px;margin-bottom:12px}
.udata-staff-greet-new input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}
.udata-staff-greet-new input:focus{border-color:#3F3F46;outline:none}
.udata-staff-greet-list{max-height:320px;overflow-y:auto}
.udata-staff-greet-item{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:8px;padding:7px 10px;margin-bottom:8px;background:#fff}
.udata-staff-greet-item .no{font-size:11px;color:#9ca3af;width:20px;flex-shrink:0;text-align:center}
.udata-staff-greet-item .txt{flex:1;min-width:0;font-size:12.5px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-greet-item .ops{display:flex;gap:2px;flex-shrink:0}
.udata-staff-greet-item .ops button{width:24px;height:24px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#6b7280;padding:0}
.udata-staff-greet-item .ops button:hover{border-color:#3F3F46;color:#3F3F46}
.udata-staff-greet-item .ops button:disabled{opacity:.3;cursor:not-allowed}
/* ===== v7：客户侧三态标记 ===== */
.udata-card-busy{font-style:normal;font-size:10.5px;color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px}
.udata-card-busy-tip{display:flex;align-items:center;gap:5px;font-size:11.5px;color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:6px 10px;margin-top:8px}

/* ===== v7.1：员工响应台加宽模式；v7.3 工具栏菜单化后收窄：640px → 560px；v17 加大：560px → 1180px ===== */
.udata-consult-panel.staff-mode{width:780px;max-width:calc(100vw - 24px);height:min(600px,calc(100vh - 140px));bottom:76px}
/* v17.4.1：左侧列表占整体 1/3，右侧聊天占 2/3（v18.2 起左侧列随窗口按 30% + 210~330px 上下限自适应） */
.udata-consult-panel.staff-mode .udata-staff-list{width:auto;flex:1;min-width:0}
.udata-consult-panel.staff-mode .udata-staff-chat{flex:1;min-width:0}
.udata-consult-panel.staff-mode .udata-staff-chat-head{font-size:15px}
.udata-consult-panel.staff-mode .udata-staff-msgs{padding:14px}
.udata-consult-panel.staff-mode .udata-staff-msg .bub{font-size:15.5px;line-height:1.75}
.udata-consult-panel.staff-mode .udata-staff-item .r1{font-size:15px}
.udata-consult-panel.staff-mode .udata-staff-item .r2{font-size:14px}
.udata-consult-panel.staff-mode .udata-staff-item .r1 .tm{font-size:12.5px}
.udata-consult-panel.staff-mode .udata-staff-ibar textarea{font-size:14.5px;min-height:100px;max-height:288px}
.udata-consult-panel.staff-mode .udata-staff-ibar #udataStaffSend{font-size:14px}
.udata-consult-panel.staff-mode .udata-staff-quick{font-size:13px}
/* v18.6：员工模式下整体隐藏访客输入区（修复 staffEnter 只隐藏 textarea、访客工具条漏显在响应台顶部的问题） */
.udata-consult-panel.staff-mode .udata-input-bar{display:none !important}
/* v17.4.2：员工响应台拖拽调整大小——四角手柄 + 上边/左边拖拽区 */
.udata-rs{position:absolute;z-index:9}
.udata-rs-nw,.udata-rs-ne,.udata-rs-sw,.udata-rs-se{width:14px;height:14px;border-radius:4px;background:rgba(234,88,12,.07)}
.udata-rs-nw{left:0;top:0;cursor:nwse-resize}
.udata-rs-ne{right:0;top:0;cursor:nesw-resize}
.udata-rs-sw{left:0;bottom:0;cursor:nesw-resize}
.udata-rs-se{right:0;bottom:0;cursor:nwse-resize}
.udata-rs-t{left:10px;right:10px;top:0;height:7px;cursor:ns-resize}
.udata-rs-l{top:10px;bottom:10px;left:0;width:7px;cursor:ew-resize}
.udata-rs:hover{background:rgba(234,88,12,.14);border-radius:4px}
@media (max-width:1260px){
    .udata-consult-panel.staff-mode{width:calc(100vw - 24px)}
}
@media (max-width:900px){
    .udata-consult-panel.staff-mode{width:calc(100vw - 24px);height:min(920px,calc(100vh - 24px))}
}
@media (max-width:640px){
    .udata-consult-panel.staff-mode{width:100%;height:100%;right:0;bottom:0;border-radius:16px 16px 0 0}
    .udata-consult-panel.staff-mode .udata-staff-list{width:auto;flex:1}
}


/* ===== P0：AI 回答反馈按钮 ===== */
.udata-feedback{display:flex;align-items:center;gap:6px;margin-top:6px;padding-left:2px}
.udata-fb-btn{font-size:11.5px;line-height:1;padding:4px 10px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;border-radius:999px;cursor:pointer;transition:all .15s}
.udata-fb-btn:hover{border-color:#f97316;color:#ea580c}
.udata-fb-btn:disabled{opacity:.5;cursor:not-allowed}
.udata-fb-btn.good{border-color:#d1fae5;color:#059669;background:#f0fdf4}
.udata-fb-btn.bad{border-color:#fde2e2;color:#dc2626;background:#fef2f2}
.udata-fb-done{font-size:11px;color:#9ca3af;margin-left:2px}

.udata-staff-lead.slots{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.udata-staff-lead.slots b{color:#1d4ed8}

/* ===== v17：会话已结束 / 离线留言 / 客户资料抽屉 / 会话报告 ===== */
.udata-staff-chat-head .st-end{font-size:12.5px;font-weight:600;color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:2px 10px;flex-shrink:0}
.udata-staff-head-act{display:inline-flex;align-items:center;gap:5px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:12.5px;font-weight:500;font-family:inherit;border-radius:8px;padding:5px 10px;cursor:pointer;flex-shrink:0;transition:all .15s}
.udata-staff-head-act:hover{border-color:#3F3F46;color:#3F3F46}
.udata-staff-item .r1 .end-tag{font-size:10px;padding:1px 6px;border-radius:999px;background:#f3f4f6;color:#9ca3af;flex-shrink:0}
.udata-staff-msg .off-tag,.udata-offline-tag{display:inline-block;font-size:11px;line-height:1;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:3px 8px;margin-left:6px;vertical-align:1px}
.udata-staff-lead.end{background:#f9fafb;border-color:#e5e7eb;color:#6b7280}
.udata-staff-lead.end b{color:#9ca3af}

/* 客户资料抽屉 */
.udata-staff-drawer{position:fixed;right:16px;bottom:16px;top:16px;width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.2);display:flex;flex-direction:column;overflow:hidden;animation:udataIn .25s ease;z-index:99999}
.udata-staff-drawer .udata-staff-dlg-title{display:flex;align-items:center;gap:6px;padding:15px 18px;border-bottom:1px solid #f3f4f6;font-size:15px}
.udata-staff-drawer-close{border:0;background:none;color:#6b7280;cursor:pointer;padding:4px;display:inline-flex;border-radius:6px}
.udata-staff-drawer-close:hover{background:#f3f4f6;color:#111827}
.udata-staff-drawer-body{flex:1;overflow-y:auto;padding:16px 18px}
.drw-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.drw-head>svg{width:40px;height:40px;color:#f97316;background:#fff7ed;border-radius:12px;padding:8px}
.drw-head b{display:block;font-size:16px;color:#111827}
.drw-head span{font-size:12.5px;color:#6b7280;margin-top:2px;display:block}
.drw-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin-bottom:16px}
.drw-grid div{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;padding:8px 11px}
.drw-grid i{display:block;font-style:normal;font-size:11px;color:#9ca3af;margin-bottom:3px}
.drw-grid b{display:block;font-size:13px;color:#111827;font-weight:600;word-break:break-word}
.drw-slots{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:9px 12px;font-size:12.5px;color:#92400e;line-height:1.7;margin-bottom:16px}
.drw-slots i{font-style:normal;font-weight:700;color:#b45309;margin-right:5px}
.drw-f{margin-bottom:16px}
.drw-f label{display:block;font-size:12.5px;font-weight:600;color:#374151;margin-bottom:8px}
.drw-f select{width:100%;height:38px;border:1px solid #d1d5db;border-radius:10px;padding:0 10px;font-size:13px;font-family:inherit;color:#1f2937;background:#fff;margin-bottom:8px}
.drw-f textarea{width:100%;height:92px;border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:13px;font-family:inherit;resize:none;color:#1f2937;line-height:1.6;box-sizing:border-box}
.drw-f textarea:focus,.drw-f select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.1);outline:none}
.drw-f .udata-staff-btn{width:100%}
/* v18.17 客户关系：绑定/备注名区（灰色系，贴合主色） */
.udata-drw-bound-tag{font-style:normal;font-size:10.5px;font-weight:600;color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:999px;padding:1px 8px;vertical-align:middle}
.udata-drw-guest-tag{font-style:normal;font-size:10.5px;font-weight:600;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:1px 8px;vertical-align:middle}
.drw-bind-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.drw-bind-grid input{height:36px;border:1px solid #d1d5db;border-radius:9px;padding:0 10px;font-size:13px;font-family:inherit;color:#1f2937;background:#fff;box-sizing:border-box;min-width:0}
.drw-bind-grid input:focus{border-color:#3f3f46;box-shadow:0 0 0 3px rgba(63,63,70,.08);outline:none}
.drw-remark-line{display:flex;align-items:center;gap:10px}
.drw-remark-line b{font-size:13.5px;color:#111827;font-weight:600;word-break:break-all;flex:1;min-width:0}
.drw-remark-line .udata-staff-btn{width:auto;flex:none;padding:7px 14px}
.udata-staff-rename{float:right;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:11px;font-family:inherit;border-radius:6px;padding:2px 9px;cursor:pointer;line-height:1.7}
.udata-staff-rename:hover{color:#3f3f46;border-color:#d4d4d8;background:#f9fafb}

/* 会话报告 */
.udata-staff-rep-toolbar{display:flex;gap:6px;padding:8px 4px;align-items:center;flex-wrap:wrap}
.udata-staff-rep-toolbar select{height:30px;border:1px solid #d1d5db;border-radius:8px;font-size:12.5px;font-family:inherit;color:#1f2937;background:#fff;padding:0 6px;max-width:132px}
.udata-staff-rep-toolbar input{flex:1;min-width:90px;height:30px;border:1px solid #d1d5db;border-radius:8px;font-size:12.5px;font-family:inherit;padding:0 8px;color:#1f2937}
.udata-staff-rep-toolbar button{height:30px;border:0;border-radius:8px;background:linear-gradient(135deg,#3F3F46,#52525C);color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;padding:0 14px}
.udata-staff-rep-list{margin-top:4px}
.udata-staff-item.rep .r1 .tag.st-1{background:#fef3c7;color:#b45309}
.udata-staff-item.rep .r1 .tag.st-2{background:#dcfce7;color:#15803d}
.udata-staff-item.rep .r1 .tag.st-0{background:#f3f4f6;color:#6b7280}
.udata-staff-rep-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 0 4px;font-size:12.5px;color:#6b7280}
.udata-staff-rep-pager button{border:1px solid #e5e7eb;background:#fff;color:#374151;border-radius:8px;font-size:12.5px;font-family:inherit;padding:5px 12px;cursor:pointer}
.udata-staff-rep-pager button:disabled{opacity:.4;cursor:not-allowed}
.udata-staff-report-dlg{width:760px;max-width:calc(100vw - 32px);max-height:86vh;display:flex;flex-direction:column}
.udata-staff-report-body{flex:1;overflow-y:auto;padding:16px 20px}
.rep-sec{margin-bottom:18px}
.rep-sec h4{font-size:14px;color:#111827;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.rep-sec h4::before{content:'';width:4px;height:14px;background:linear-gradient(180deg,#f97316,#fb923c);border-radius:2px}
.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:10px}
.rep-grid div{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;padding:8px 11px}
.rep-grid i{display:block;font-style:normal;font-size:11px;color:#9ca3af;margin-bottom:3px}
.rep-grid b{display:block;font-size:13.5px;color:#111827}
.rep-tags{font-size:12.5px;color:#374151;line-height:1.8}
.rep-tags .tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;margin-right:6px;display:inline-block}
.rep-tags .dim,.rep-sec .dim{color:#9ca3af}
.rep-msg{display:flex;gap:8px;align-items:baseline;background:#fff;border:1px solid #f3f4f6;border-left:3px solid #e5e7eb;border-radius:8px;padding:8px 11px;margin-bottom:7px;font-size:13px;line-height:1.6}
.rep-msg b{font-size:11.5px;color:#6b7280;flex-shrink:0;width:52px}
.rep-msg span{color:#1f2937;word-break:break-word;flex:1}
.rep-msg i{font-style:normal;font-size:11px;color:#9ca3af;flex-shrink:0}
.rep-msg.hit{border-left-color:#f97316;background:#fff7ed}
.rep-msg.hit b{color:#ea580c}

/* ===== v18 AI 副驾 · 祐达Agent ===== */
/* 顶部祐达Agent 按钮 */
.udata-staff-card.agent{width:auto;padding:0 10px;gap:4px;font-size:11.5px;font-weight:600;color:#3F3F46;background:#F4F4F5;border:1px solid #E4E4E7}
.udata-staff-card.agent span{line-height:1}
.udata-staff-card.agent svg{flex-shrink:0}
/* 我的状态标签 */
.udata-staff-status-btn .lbl{font-weight:600;color:#4b5563}
.udata-staff-status-btn.on .lbl{color:#16a34a}
.udata-staff-status-btn.busy .lbl{color:#d97706}
.udata-staff-status-btn.off .lbl{color:#9ca3af}
/* 工具栏回复建议按钮（主操作） */
.udata-staff-tool-btn.suggest{background:linear-gradient(135deg,#3F3F46,#52525C);border-color:transparent;color:#fff}
.udata-staff-tool-btn.suggest:hover{opacity:.92;background:linear-gradient(135deg,#3F3F46,#3F3F46);color:#fff}
.udata-staff-tool-btn.suggest.loading{opacity:.55;pointer-events:none}
.udata-staff-tool-btn.suggest.loading span::after{content:'…';animation:udataDots 1.2s infinite}
@keyframes udataDots{0%{content:''}33%{content:'.'}66%{content:'..'}100%{content:'…'}}
/* 主动红点：客户 5 秒未回时呼吸提醒 */
.udata-staff-tool-btn.suggest.reddot{position:relative}
.udata-staff-tool-btn.suggest.reddot::after{content:'';position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.55);animation:udataRedPulse 1.1s infinite}
@keyframes udataRedPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
/* v18.15.8 工具栏按钮状态：置灰（无会话禁用） */
.udata-staff-tool-btn.off{opacity:.45;pointer-events:none;background:#F3F4F6;border-color:#E4E4E7;color:#9CA3AF;cursor:not-allowed}
.udata-staff-tool-btn.off.suggest{background:linear-gradient(135deg,#D4D4D8,#A1A1AA);border-color:transparent;color:#fff}
/* v18.15.8 空态引导条：无会话时提示工具栏用法 */
.udata-staff-guide{width:100%;background:#F9FAFB;border:1px dashed #E4E4E7;border-radius:8px;padding:7px 12px;font-size:12px;color:#6B7280;margin-top:6px;line-height:1.5}
.udata-staff-guide b{color:#3F3F46}
/* v18.15.8 AI 摘要失败内联重试 */
.udata-sum-retry{margin-left:8px;border:1px solid #E4E4E7;background:#fff;color:#C2410C;font-size:12px;border-radius:999px;padding:2px 10px;cursor:pointer;font-family:inherit;vertical-align:middle}
.udata-sum-retry:hover{background:#FFF4EC;border-color:#FDD8B8}
/* v18.15.8 模型列表手动刷新 */
.udata-agent-refresh{margin-top:4px;align-self:flex-start;border:1px solid #E4E4E7;background:#FAFAFB;color:#6B7280;font-size:12px;border-radius:8px;padding:4px 12px;cursor:pointer;font-family:inherit}
.udata-agent-refresh:hover{background:#F4F4F5;color:#3F3F46}
/* 祐达Agent 弹窗 */
.udata-agent-dlg{width:360px;min-width:340px;min-height:340px;overflow:auto}
.udata-agent-body{padding-top:4px}
.udata-agent-sec{margin-bottom:16px}
.udata-agent-sec-t{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.udata-agent-sec-t b{font-size:13px;color:#111827}
.udata-agent-sec-t em{font-style:normal;font-size:11px;color:#9ca3af}
.udata-agent-models{display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto}
.udata-agent-model{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;color:#374151;border-radius:10px;padding:9px 12px;cursor:pointer;font-family:inherit;font-size:13px;transition:all .15s}
.udata-agent-model:hover{border-color:#E4E4E7;background:#F4F4F5}
.udata-agent-model.on{border-color:#3F3F46;background:#F4F4F5;color:#3F3F46;font-weight:600}
.udata-agent-model svg{flex-shrink:0}
.udata-agent-model em{margin-left:auto;font-style:normal;font-size:10.5px;background:#3F3F46;color:#fff;border-radius:999px;padding:1px 7px}
.udata-agent-style{display:flex;gap:7px}
.udata-agent-style button{flex:1;border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-radius:999px;padding:6px 0;font-size:12.5px;cursor:pointer;font-family:inherit}
.udata-agent-style button.on{border-color:#3F3F46;background:#F4F4F5;color:#3F3F46;font-weight:600}
.udata-agent-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#374151}
.udata-agent-switch input{display:none}
.udata-agent-switch i{width:36px;height:20px;border-radius:999px;background:#d1d5db;position:relative;transition:background .2s}
.udata-agent-switch i::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.udata-agent-switch input:checked+i{background:#3F3F46}
.udata-agent-switch input:checked+i::after{left:18px}
.udata-agent-switch span{font-size:12.5px;color:#6b7280}
.udata-agent-links{display:flex;flex-direction:column;gap:7px}
.udata-agent-links button{border:1px solid #e5e7eb;background:#fff;color:#374151;border-radius:10px;padding:8px 12px;font-size:12.5px;cursor:pointer;font-family:inherit;text-align:left}
.udata-agent-links button:hover{border-color:#E4E4E7;color:#3F3F46;background:#F4F4F5}
/* 回复建议弹窗 */
.udata-suggest-dlg{width:520px;max-width:94vw}
.udata-suggest-body{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.udata-suggest-ref{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:9px 12px;font-size:12.5px;color:#1e40af;line-height:1.6}
.udata-suggest-ref b{display:block;font-size:11px;color:#3b82f6;margin-bottom:3px}
/* v18.3 对话建议：模式提示条 + 跟进策略块 */
.udata-suggest-mode{display:flex;align-items:flex-start;gap:8px;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.6;margin-bottom:8px}
.udata-suggest-mode b{flex-shrink:0;font-weight:700;font-size:12px;padding:1px 9px;border-radius:999px}
.udata-suggest-mode.reply{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}
.udata-suggest-mode.reply b{background:#4338ca;color:#fff}
.udata-suggest-mode.initiate{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.udata-suggest-mode.initiate b{background:#047857;color:#fff}
.udata-suggest-strat{background:#F4F4F5;border:1px solid #E4E4E7;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.7;color:#3F3F46;margin-bottom:8px}
.udata-suggest-strat b{color:#b45309;font-weight:700;margin-right:4px}
.udata-suggest-strat span{color:#78350f}
.udata-suggest-tabs{display:flex;gap:7px;flex-wrap:wrap}
.udata-suggest-tab{border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-radius:999px;padding:5px 14px;font-size:12.5px;cursor:pointer;font-family:inherit}
.udata-suggest-tab.on{border-color:#3F3F46;background:#F4F4F5;color:#3F3F46;font-weight:600}
.udata-suggest-body textarea{width:100%;height:150px;border:1px solid #d1d5db;border-radius:12px;padding:10px 12px;font-size:13.5px;font-family:inherit;line-height:1.7;color:#1f2937;resize:vertical;box-sizing:border-box}
.udata-suggest-body textarea:focus{border-color:#3F3F46;box-shadow:0 0 0 3px rgba(63,63,70,.1);outline:none}
.udata-suggest-warn{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:8px 12px;font-size:12.5px;line-height:1.6}
.udata-suggest-ev{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#9ca3af}
.udata-suggest-tag{background:#F4F4F5;border:1px solid #E4E4E7;border-radius:10px;padding:9px 12px}
.udata-suggest-tag label{display:block;font-size:12px;font-weight:600;color:#3F3F46;margin-bottom:7px}
.udata-suggest-tagbox{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}
.udata-suggest-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #fcd34d;background:#fff;color:#3F3F46;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit}
.udata-suggest-chip input{accent-color:#3F3F46}
.udata-suggest-stage{display:flex;align-items:center;gap:8px}
.udata-suggest-stage span{font-size:12px;color:#6b7280;white-space:nowrap}
.udata-suggest-stage select{flex:1;height:34px;border:1px solid #d1d5db;border-radius:8px;font-size:12.5px;font-family:inherit;color:#1f2937;background:#fff;padding:0 8px}
.udata-suggest-foot{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.udata-suggest-cmp{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;margin-bottom:8px;max-height:180px;overflow-y:auto}
.udata-suggest-cmp .cmp-item{padding:6px 0;border-bottom:1px dashed #e5e7eb}
.udata-suggest-cmp .cmp-item:last-child{border-bottom:0}
.udata-suggest-cmp .cmp-item b{font-size:12px;color:#4338ca}
.udata-suggest-cmp .cmp-item p{font-size:12px;color:#374151;margin:3px 0 0;white-space:pre-wrap;line-height:1.6}
.udata-suggest-foot .st{margin-right:auto;font-size:12px;color:#6b7280}
.udata-suggest-foot .udata-staff-btn{padding:8px 16px;font-size:12.5px}
/* 招呼语菜单：AI 定制开场项 */
.udata-staff-menu .mi.ai-open{border-left:3px solid #3F3F46;color:#3F3F46;font-weight:600}
/* 客户资料抽屉 v18：四段式 */
.drw-head .drw-badges{display:flex;flex-direction:column;gap:5px;margin-left:auto;align-items:flex-end}
/* v18.16 客户资料抽屉：一键复制联系方式（灰系按钮） */
.drw-copy{flex:none;margin-left:6px;border:1px solid #E4E4E7;background:#fff;color:#3F3F46;font-size:12px;border-radius:8px;padding:5px 10px;cursor:pointer;font-family:inherit;line-height:1.4}
.drw-copy:hover{border-color:#D4D4D8;background:#FAFAFA}
.drw-badges em{font-style:normal;font-size:11px;border-radius:999px;padding:2px 9px;font-weight:600}
.drw-badges .stg{background:#eef2ff;color:#4338ca}
.drw-badges .int.hi{background:#dcfce7;color:#15803d}
.drw-badges .int.mid{background:#fef3c7;color:#b45309}
.drw-badges .int.lo{background:#f3f4f6;color:#6b7280}
.drw-badges .int.na{background:#f3f4f6;color:#9ca3af}
.drw-sec{margin-bottom:16px}
.drw-sec-t{font-size:12.5px;font-weight:700;color:#111827;margin-bottom:9px;display:flex;align-items:center;gap:6px}
.drw-sec-t::before{content:'';width:4px;height:13px;background:linear-gradient(180deg,#f97316,#fb923c);border-radius:2px}
.drw-intent{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;padding:8px 11px;font-size:12.5px;color:#374151;line-height:1.6;margin-bottom:8px}
.drw-intent i{font-style:normal;font-weight:600;color:#6b7280;margin-right:6px}
.drw-grid{margin-bottom:0}
.drw-sec .drw-grid{margin-bottom:2px}

/* ========== v18.5 微信式输入框：表情面板 / 图片气泡 / 文件卡片 / 图片放大 / 轻提示 ========== */
.udata-emoji-panel{position:absolute;left:14px;right:14px;bottom:132px;z-index:60;display:block;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:6px 10px 10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:236px;overflow-y:auto}
.udata-staff-ibar + .udata-emoji-panel{position:absolute;left:10px;right:10px;bottom:132px;z-index:60;display:block;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:6px 10px 10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:236px;overflow-y:auto}
.udata-emoji-panel[hidden]{display:none}
/* v18.16 微信式表情面板：最近使用 + 所有表情（图片） */
.udata-emoji-sec-t{font-size:11px;color:#9CA3AF;padding:7px 2px 5px;font-weight:600}
.udata-emoji-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.udata-emoji-img{border:0;background:transparent;padding:3px;cursor:pointer;border-radius:7px;display:flex;align-items:center;justify-content:center;transition:background .12s;font-family:inherit}
.udata-emoji-img:hover{background:#f3f4f6}
.udata-emoji-img img{width:30px;height:30px;display:block;object-fit:contain}
.udata-emoji-empty{font-size:12px;color:#A1A1AA;padding:14px 6px;text-align:center}
.udata-emoji:hover{background:#f3f4f6}
/* 图片消息气泡 */
.udata-msg-img{display:block;max-width:230px;max-height:230px;border-radius:10px;cursor:zoom-in;object-fit:cover;margin:0}
.udata-staff-msg .bub .udata-msg-img{max-width:200px;max-height:200px}
/* v18.16 表情图片消息（点击即发送） */
.udata-msg-emoji{display:inline-block;width:36px;height:36px;vertical-align:bottom;object-fit:contain}
/* v18.16 语音消息条（点击播放 / 暂停） */
.udata-msg-voice{display:inline-flex;align-items:center;gap:8px;background:#F4F4F5;border:1px solid #E4E4E7;border-radius:12px;padding:7px 10px;cursor:pointer;min-width:150px;max-width:220px;transition:background .15s;vertical-align:middle}
.udata-msg-voice:hover{background:#FAFAFA}
.udata-msg-voice .pv{width:26px;height:26px;flex:none;border:0;border-radius:50%;background:#3F3F46;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.udata-msg-voice .pv svg{margin-left:1px}
.udata-msg-voice.playing .pv{background:#f97316}
.udata-msg-voice .bar{flex:1;height:4px;border-radius:2px;background:#E4E4E7;overflow:hidden}
.udata-msg-voice .prog{display:block;width:0;height:100%;background:#f97316;transition:width .2s linear}
.udata-msg-voice .dur{flex:none;font-size:11px;color:#71717A;font-style:normal}
.udata-msg-voice.playing .dur{color:#f97316}
/* 文件消息卡片 */
.udata-msg-file{display:flex;align-items:center;gap:9px;text-decoration:none;color:#1f2937;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:9px 12px;min-width:180px;max-width:240px;transition:border-color .15s,background .15s}
.udata-msg-file:hover{border-color:#f97316;background:#fff7ed}
.udata-msg-file .fi{color:#f97316;display:flex;flex-shrink:0}
.udata-msg-file .fn{font-size:13px;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}
.udata-msg-file .fs{font-size:11px;color:#9ca3af;white-space:nowrap;flex-shrink:0}
.udata-msg-file .fd{font-size:11px;color:#f97316;font-weight:600;flex-shrink:0;margin-left:auto}
/* 图片放大预览遮罩 */
.udata-preview-layer{position:fixed;inset:0;z-index:9999;background:rgba(17,24,39,.78);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s}
.udata-preview-layer.show{opacity:1;pointer-events:auto}
.udata-preview-layer .box{position:relative;max-width:min(92vw,860px);max-height:88vh}
.udata-preview-layer img{display:block;max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.udata-preview-layer .close{position:absolute;top:-40px;right:-6px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:20px;line-height:1;cursor:pointer;font-family:inherit}
.udata-preview-layer .close:hover{background:rgba(255,255,255,.3)}
/* 轻提示 Toast */
.udata-toast-tip{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(8px);z-index:9998;background:rgba(17,24,39,.86);color:#fff;font-size:13px;padding:9px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;max-width:80vw;text-align:center}
.udata-toast-tip.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (max-width:520px){
    .udata-emoji-panel,.udata-staff-ibar + .udata-emoji-panel{max-height:150px}
    .udata-emoji-grid{grid-template-columns:repeat(10,1fr)}
    .udata-msg-emoji{width:32px;height:32px}
}


/* ===== v18172：在线/离线分组 + 头像首字 + 头部工具组 + 改名弹层 ===== */
.udata-st-grp{margin-bottom:2px}
.udata-st-grp-h{display:flex;align-items:center;gap:6px;padding:6px 9px;font-size:12.5px;color:#143354;font-weight:700;cursor:pointer;user-select:none;border-radius:6px;line-height:1.5}
.udata-st-grp-h:hover{background:#f1f5f9}
.udata-st-grp-h .ar{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #1d4a75;transition:transform .15s ease;flex-shrink:0}
.udata-st-grp-h.open .ar{transform:rotate(180deg)}
.udata-st-grp-h .cnt{margin-left:auto;font-weight:400;color:#6b7280;font-size:12px;flex-shrink:0}
.udata-st-grp-h .cnt b{color:#f97316;font-weight:700}
.udata-staff-item .udata-st-av{width:34px;height:34px;border-radius:9px;background:#1d4a75;color:#fff;font-size:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600;overflow:hidden}
.udata-staff-item.st-end .udata-st-av,.udata-staff-item.st-off .udata-st-av{background:#d1d5db;color:#6b7280}
.udata-staff-item.st-end .who{color:#9ca3af}
.udata-staff-item.st-end .r2{color:#c3c9d1}
.st-online-txt{color:#16a34a;font-weight:600}
.udata-staff-chat-head-r{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}
.udata-staff-chat-head-r .meta{flex-shrink:0;font-weight:400;color:#6b7280}
.udata-head-tb-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.udata-head-rename{position:relative;display:inline-flex}
.udata-rename-pop{position:absolute;top:calc(100% + 6px);right:0;width:250px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.10);padding:12px;z-index:30}
.udata-rename-pop p{font-size:11.5px;color:#6b7280;margin:0 0 8px;line-height:1.5}
.udata-rename-pop input{width:100%;border:1px solid #d1d5db;border-radius:7px;padding:6px 9px;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box}
.udata-rename-pop input:focus{border-color:#f97316}
.udata-rename-pop .btns{display:flex;gap:6px;margin-top:9px}
.udata-rename-pop .btns button{flex:1;font-size:12px;border-radius:7px;padding:5px 0;cursor:pointer;font-family:inherit;border:1px solid #e5e7eb;background:#fff;color:#3f3f46;line-height:1.5}
.udata-rename-pop .btns button.primary{background:#f97316;border-color:#f97316;color:#fff}
.udata-rename-pop .btns button.primary:hover{background:#ea580c}

/* ===== v18173：我的会话归档合并（N次会话徽章 / 历史浮层 / mine-row 摘要省略） ===== */
.udata-st-pill-cnt{font-size:10.5px;padding:1px 8px;border-radius:999px;background:#eef2f7;color:#143354;border:1px solid #dbe3ee;flex-shrink:0;white-space:nowrap}
.udata-staff-item.mine-row{position:relative}
.udata-staff-item.mine-row .r2{display:flex;align-items:center;gap:6px;overflow:visible;white-space:normal;margin-top:4px}
.udata-staff-item.mine-row .r2 .msg{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-staff-item.mine-row .r2 .udata-staff-rename{float:none;margin-left:auto;flex-shrink:0;line-height:1.7}
.hist-wrap{position:relative;display:inline-flex;margin-left:auto;flex-shrink:0}
.udata-staff-hist-btn{font-size:11px;color:#f97316;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;padding:2px 8px;cursor:pointer;font-family:inherit;line-height:1.5;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}
.udata-staff-hist-btn:hover{background:#f97316;color:#fff;border-color:#f97316}
.udata-hist-pop{position:absolute;top:calc(100% + 6px);right:0;width:280px;max-height:300px;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.10);z-index:40}
.udata-hist-pop .hp-h{font-size:12px;font-weight:700;color:#143354;padding:8px 12px;border-bottom:1px solid #f3f4f6;background:#fafafb;position:sticky;top:0}
.udata-hist-pop .hp-it{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #f9fafb;cursor:pointer;font-size:12px}
.udata-hist-pop .hp-it:hover{background:#f8fafc}
.udata-hist-pop .hp-it.cur{background:#fff7ed}
.udata-hist-pop .hp-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3f3f46}
.udata-hist-pop .hp-i{font-size:10.5px;color:#b45309;background:#fef3c7;border-radius:999px;padding:0 6px;flex-shrink:0}
.udata-staff-item.st-end .r2 .msg{color:#c3c9d1}

/* ===== v18174：客户资料抽屉拆分（页签条 / 客户信息 / 需求画像 / 客户标签 / 沟通记录 / 跟进记录） ===== */
.udata-drw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.udata-drw-tab{border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12.5px;font-family:inherit;border-radius:999px;padding:5px 13px;cursor:pointer;line-height:1.4;transition:all .15s ease}
.udata-drw-tab:hover{color:#143354;border-color:#cbd5e1}
.udata-drw-tab.on{color:#fff;background:#143354;border-color:#143354;font-weight:600}
.udata-drw-pane{min-height:120px}
.drw-head .drw-copy{margin-left:auto;flex-shrink:0;width:auto;padding:7px 12px;font-size:12px}
.drw-f-row{display:flex;gap:8px}
.drw-f-row .udata-staff-btn{flex:1}
.drw-f input[type=datetime-local]{width:100%;height:38px;border:1px solid #d1d5db;border-radius:10px;padding:0 10px;font-size:13px;font-family:inherit;color:#1f2937;background:#fff;box-sizing:border-box;margin-bottom:10px}
.drw-f input[type=datetime-local]:focus{border-color:#3f3f46;box-shadow:0 0 0 3px rgba(63,63,70,.08);outline:none}
/* 客户标签 */
.drw-tag-cloud{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.udata-tag-chip{font-size:12px;color:#3f3f46;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:4px 11px;cursor:pointer;user-select:none;transition:all .15s ease;line-height:1.5}
.udata-tag-chip:hover{border-color:#cbd5e1;background:#eef1f5}
.udata-tag-chip.on{color:#143354;background:#e5ecf5;border-color:#143354;font-weight:600}
.udata-tag-chip.sug{color:#fff;background:#143354;border-color:#143354}
.udata-tag-chip.sug:hover{background:#1e4a7a}
.udata-tag-chip.nomatch{color:#9ca3af;background:#f9fafb;border-style:dashed;cursor:default}
.drw-tag-save{margin-top:2px}
.drw-tag-save .udata-staff-btn{width:auto;padding:7px 16px;font-size:12.5px}
/* 跟进记录 */
.udata-drw-foll{border:1px solid #f3f4f6;border-radius:10px;padding:9px 12px;margin-bottom:9px;background:#fafafb}
.udata-drw-ftop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.udata-drw-ftop b{font-size:11.5px;color:#6b7280;font-weight:600}
.udata-drw-ftag{font-size:10.5px;color:#15803d;background:#dcfce7;border-radius:999px;padding:1px 8px;white-space:nowrap}
.udata-drw-ftag.due{color:#b45309;background:#fef3c7;font-weight:600}
.udata-drw-fmeta{font-size:10.5px;color:#9ca3af;margin-left:auto;white-space:nowrap}
.udata-drw-fops{display:inline-flex;gap:5px;flex-shrink:0}
.udata-staff-btn.sm{width:auto;padding:3px 9px;font-size:11px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;font-family:inherit;line-height:1.6}
.udata-staff-btn.sm:hover{color:#3f3f46;border-color:#d4d4d8;background:#f9fafb}
.udata-staff-btn.sm.danger{color:#b91c1c;border-color:#fecaca;background:#fff}
.udata-staff-btn.sm.danger:hover{background:#fef2f2}
.udata-drw-fc{font-size:12.5px;color:#1f2937;line-height:1.7;white-space:pre-wrap;word-break:break-word}
/* 附件条 */
.udata-drw-att{display:flex;align-items:center;gap:9px;border:1px solid #f3f4f6;border-radius:10px;padding:8px 11px;margin-bottom:8px;background:#fafafb}
.udata-drw-atic{font-size:10px;font-weight:700;color:#143354;background:#e5ecf5;border-radius:7px;padding:4px 6px;flex-shrink:0;letter-spacing:.5px}
.udata-drw-atx{flex:1;min-width:0}
.udata-drw-atx b{display:block;font-size:12.5px;color:#1f2937;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-drw-atx i{font-style:normal;font-size:10.5px;color:#9ca3af;display:block;margin-top:1px}
.udata-drw-atgo{font-size:12px;color:#143354;text-decoration:none;border:1px solid #dbe3ee;background:#eef2f7;border-radius:6px;padding:3px 9px;flex-shrink:0;line-height:1.5}
.udata-drw-atgo:hover{background:#143354;color:#fff;border-color:#143354}
/* 沟通记录跳转行 */
.udata-drw-hist{display:flex;align-items:center;gap:8px;border:1px solid #f3f4f6;border-radius:10px;padding:8px 11px;margin-bottom:8px;cursor:pointer;background:#fafafb;transition:background .15s ease,border-color .15s ease}
.udata-drw-hist:hover{background:#eef2f7;border-color:#dbe3ee}
.udata-drw-hist b{font-size:11.5px;color:#6b7280;font-weight:600;flex-shrink:0}
.udata-drw-hist span{flex:1;min-width:0;font-size:11.5px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.udata-drw-hist i{font-style:normal;font-size:11.5px;color:#143354;font-weight:600;flex-shrink:0}
/* 列表「跟 N」角标 */
.udata-st-item-foll{font-size:10.5px;color:#143354;background:#e5ecf5;border:1px solid #c9d8ea;border-radius:999px;padding:1px 8px;flex-shrink:0;white-space:nowrap}
.badge.foll{background:#e5ecf5;color:#143354;border-color:#c9d8ea}
.tag.foll{background:#e5ecf5;color:#143354}

/* ============================================================
   v18175 全链路优化：意图分流 / 留言 / 留资 / 高意向·待跟进分组 / 速览条 / 话术收藏
   ============================================================ */
/* 高意向 / 待跟进 徽章 */
.badge.hi{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}
.badge.due{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}
/* 意图分流入口（客户窗口聊天区） */
.udata-intent-gate{margin:10px 12px 4px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff;flex-shrink:0}
.udata-intent-gate.done{opacity:.55}
.ig-t{font-size:13px;color:#143354;font-weight:600;margin-bottom:8px}
.ig-sub{display:block;font-size:11.5px;color:#94a3b8;font-weight:400;margin-top:2px}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ig-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#143354;font-size:12px;cursor:pointer;transition:all .15s}
.ig-item:hover{border-color:#f97316;color:#f97316;background:#fff7ed}
.ig-item.on{background:#fff7ed;border-color:#f97316;color:#ea580c}
.ig-item:disabled{opacity:.6;cursor:default}
.ig-leave{margin-top:10px;padding:10px 12px;border:1px dashed #fda4af;border-radius:10px;background:#fff1f2}
.ig-lt{font-size:12px;color:#be123c;margin-bottom:8px}
.ig-lf{display:flex;flex-direction:column;gap:7px}
.ig-lf input,.ig-lf textarea{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;background:#fff}
.ig-lf textarea{resize:none}
.ig-lf button{padding:7px 14px;border:none;border-radius:8px;background:#f97316;color:#fff;font-size:13px;cursor:pointer;align-self:flex-end}
.ig-lf button:disabled{opacity:.6}
.ig-lok{font-size:12.5px;color:#16a34a;font-weight:600;margin-top:8px}
@media (max-width:520px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
/* 结束留资浮层 */
.udata-closelead-mask{position:fixed;inset:0;z-index:99999;background:rgba(20,51,84,.42);display:flex;align-items:center;justify-content:center;padding:18px}
.udata-closelead-mask .cl-card{width:100%;max-width:330px;background:#fff;border-radius:14px;padding:20px 18px;box-shadow:0 18px 50px rgba(20,51,84,.25)}
.udata-closelead-mask .cl-t{font-size:15px;color:#143354;font-weight:700}
.udata-closelead-mask .cl-s{font-size:12px;color:#64748b;margin:6px 0 12px}
.udata-closelead-mask input{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;margin-bottom:8px}
.udata-closelead-mask .cl-row{display:flex;gap:8px}
.udata-closelead-mask .cl-row input{flex:1}
.udata-closelead-mask .cl-btns{display:flex;gap:8px;margin-top:6px}
.udata-closelead-mask .cl-btns button{flex:1;padding:9px 0;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#475569}
.udata-closelead-mask .cl-btns button.primary{background:#f97316;border-color:#f97316;color:#fff}
.udata-closelead-mask .cl-btns button:disabled{opacity:.6}
.udata-closelead-mask .cl-ok{text-align:center;color:#16a34a;font-weight:600;font-size:13px;margin-top:10px}
/* 响应台速览条 */
.udata-staff-snap{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:6px 12px;border-bottom:1px solid #eef2f7;background:#fbfdff;font-size:13px;color:#475569;flex-shrink:0}
.udata-staff-snap b{color:#143354;font-weight:600}
.udata-staff-snap .snap-bound{color:#16a34a;font-weight:600}
.udata-staff-snap .snap-intent{color:#ea580c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:0 8px}
.udata-staff-snap .snap-due{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:0 8px}
.udata-staff-snap .snap-msg{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38%}
.udata-staff-snap .snap-sep{color:#cbd5e1}
/* 话术收藏面板 */
.udata-staff-favpanel{position:absolute;right:8px;bottom:52px;z-index:120;width:300px;max-height:46vh;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 34px rgba(20,51,84,.16);padding:10px}
.udata-staff-favpanel .sf-load,.udata-staff-favpanel .sf-empty{font-size:12.5px;color:#94a3b8;padding:14px 8px;text-align:center;line-height:1.7}
.udata-staff-favpanel .sf-item{display:flex;gap:8px;align-items:flex-start;padding:8px;border-bottom:1px solid #f1f5f9}
.udata-staff-favpanel .sf-item:last-child{border-bottom:none}
.udata-staff-favpanel .sf-body{flex:1;min-width:0}
.udata-staff-favpanel .sf-t{font-size:12.5px;color:#143354;font-weight:600;display:flex;align-items:center;gap:6px}
.udata-staff-favpanel .sf-cat{font-size:10.5px;color:#ea580c;background:#fff7ed;border-radius:999px;padding:0 6px;font-weight:400}
.udata-staff-favpanel .sf-c{font-size:12px;color:#64748b;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.udata-staff-favpanel .sf-ops{display:flex;flex-direction:column;gap:4px;flex-shrink:0}
.udata-staff-favpanel .sf-send{font-size:11px;color:#fff;background:#f97316;border:none;border-radius:6px;padding:4px 8px;cursor:pointer}
.udata-staff-favpanel .sf-del{font-size:13px;color:#94a3b8;background:none;border:none;cursor:pointer;line-height:1}
.sf-add{position:absolute;right:44px;bottom:8px;font-size:11px;color:#f97316;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:3px 8px;cursor:pointer;z-index:121}
/* v18183 响应台左右分屏拖拽条（全屏 #udataFullWrap 列表↔聊天 / 悬浮面板 .udata-staff-col↔聊天 通用）：hover 显示左右箭头+橙色高亮，按住拖拽调宽，双击还原 */
.uf-split{width:10px;flex:none;cursor:col-resize;position:relative;background:transparent;z-index:30;touch-action:none}
.uf-split::before{content:'';position:absolute;left:-5px;right:-5px;top:0;bottom:0}
.uf-split::after{content:'';position:absolute;left:4.5px;top:0;bottom:0;width:1px;background:#D9D9DE}
.uf-split .arrows{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:8px;background:#3F3F46;color:#fff;display:flex;align-items:center;justify-content:center;gap:1px;opacity:0;transition:opacity .12s ease;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.uf-split .arrows svg{width:12px;height:12px}
.uf-split .arrows{display:none} /* v18187 去掉拖动箭头（分屏拖拽问题暂缓处理，功能保留不提示） */
.uf-split:hover::after,.uf-split.drag::after{background:#D9D9DE;width:1px;left:4.5px} /* v18187 竖线恒弱灰，不再 hover 橙色（不暗示可拖） */
.uf-split.drag{cursor:col-resize}
@media(max-width:768px){#udataFullWrap .uf-split,.udata-consult-panel .uf-split-panel{display:none}}
