.dialog-page[data-v-101ae27c]{height:calc(100vh - 40px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.title-bar[data-v-101ae27c]{gap:10px;font-size:18px;font-weight:700;padding:14px 16px;border-bottom:1px solid #eee}.kf-info[data-v-101ae27c],.title-bar[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.kf-info[data-v-101ae27c]{margin-left:auto;gap:8px}.kf-avatar[data-v-101ae27c]{width:22px;height:22px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.kf-name[data-v-101ae27c]{font-size:13px;color:#555}.layout[data-v-101ae27c]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:grid;grid-template-columns:320px 1fr;min-height:0}.sidebar[data-v-101ae27c]{border-right:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0}.search-box[data-v-101ae27c]{padding:10px;border-bottom:1px solid #f2f2f2}.search-box input[data-v-101ae27c]{width:100%;height:34px;border:1px solid #e5e7eb;border-radius:8px;padding:0 10px;outline:none}.session-list[data-v-101ae27c]{overflow:auto;padding:6px}.session-item[data-v-101ae27c]{padding:10px;border-radius:10px;cursor:pointer}.session-item[data-v-101ae27c]:hover{background:#f7f7f7}.session-item.active[data-v-101ae27c]{background:#eef5ff}.session-item .row1[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px}.session-item .row1 .name[data-v-101ae27c]{font-weight:700}.session-item .row1 .time[data-v-101ae27c]{color:#999;font-size:12px}.session-item .row2[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:4px}.session-item .row2 .preview[data-v-101ae27c]{color:#666;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:240px}.session-item .row2 .badge[data-v-101ae27c]{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff4d4f;color:#fff;text-align:center;line-height:18px;font-size:12px}.session-item .row3[data-v-101ae27c]{color:#999;font-size:12px;margin-top:4px}.empty[data-v-101ae27c]{text-align:center;color:#999;font-size:12px;padding:10px 0}.chatbox[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0}.chatbox.empty-right[data-v-101ae27c]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#999;font-size:14px}.chat-head[data-v-101ae27c],.chatbox.empty-right[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.chat-head[data-v-101ae27c]{padding:12px 16px;border-bottom:1px solid #eee;gap:10px}.chat-title[data-v-101ae27c]{font-weight:700;font-size:16px}.chat-sub[data-v-101ae27c]{color:#999;font-size:12px}.chat-main[data-v-101ae27c]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:16px;background:#fafafa;flex-direction:column;gap:12px}.chat-main[data-v-101ae27c],.msg[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column}.msg[data-v-101ae27c]{flex-direction:column;max-width:70%}.msg.from-user[data-v-101ae27c]{-ms-flex-item-align:start;align-self:flex-start}.msg.from-me[data-v-101ae27c]{-ms-flex-item-align:end;align-self:flex-end}.bubble[data-v-101ae27c]{background:#fff;border:1px solid #e5e7eb;padding:10px 12px;border-radius:14px;line-height:1.4;word-break:break-word}.msg.from-me .bubble[data-v-101ae27c]{background:#3b82f6;color:#fff;border-color:#3b82f6}.meta[data-v-101ae27c]{font-size:12px;color:#999;margin-top:4px;-ms-flex-item-align:end;align-self:flex-end}.bubble.media[data-v-101ae27c]{padding:6px;background:#fff;border-color:#e5e7eb}.msg.from-me .bubble.media[data-v-101ae27c]{background:#fff;color:inherit;border-color:#e5e7eb}.media-img[data-v-101ae27c],.media-video[data-v-101ae27c]{max-width:48vw;max-height:46vh;border-radius:10px;display:block;cursor:-webkit-zoom-in;cursor:zoom-in}.media-video[data-v-101ae27c]{background:#000}.initial-tip[data-v-101ae27c]{text-align:center;color:#999;font-size:12px;padding:8px 0}.chat-input[data-v-101ae27c]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;padding:10px;border-top:1px solid #eee;background:#fff}.chat-input input[data-v-101ae27c]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:40px;border:1px solid #ddd;border-radius:10px;padding:0 12px;outline:none}.chat-input .btn[data-v-101ae27c]{height:40px;padding:0 16px;border:none;border-radius:10px;background:#3b82f6;color:#fff;font-weight:600;cursor:pointer}.chat-input .attach[data-v-101ae27c]{width:40px;padding:0;background:#eef2ff;color:#3b82f6;font-weight:700}.poll-indicator.steady[data-v-101ae27c]{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#22c55e}.preview-mask[data-v-101ae27c]{position:fixed;inset:0;background:rgba(0,0,0,.6);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:9999;outline:none}.preview-body[data-v-101ae27c]{position:relative;max-width:92vw;max-height:92vh}.preview-img[data-v-101ae27c],.preview-video[data-v-101ae27c]{max-width:92vw;max-height:92vh;border-radius:12px;display:block}.preview-video[data-v-101ae27c]{background:#000}.preview-close[data-v-101ae27c]{position:absolute;top:-10px;right:-10px;width:32px;height:32px;border:none;border-radius:16px;background:#fff;color:#111;font-size:20px;line-height:32px;cursor:pointer;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.25);box-shadow:0 2px 10px rgba(0,0,0,.25)}