.auth-subtitle[data-v-8642f915]{margin:-16px 0 22px;color:#8a8f98;font-size:13px;text-align:center}.del-btn[data-v-7a8890da]{margin-left:8px;padding:2px 6px;font-size:12px;color:#999;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .2s}.msg:hover .del-btn[data-v-7a8890da]{opacity:1}.del-btn[data-v-7a8890da]:hover{color:#f56c6c}.add-friend-modal[data-v-7a8890da]{width:min(520px,calc(100vw - 36px));max-height:min(76vh,640px);padding:0;overflow:hidden;background:#f7f7f7;border-radius:8px}.add-friend-head[data-v-7a8890da]{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e9e9}.add-friend-head h3[data-v-7a8890da]{margin:0;color:#1f2329;font-size:17px;font-weight:600}.add-friend-head p[data-v-7a8890da]{margin:4px 0 0;color:#8a8f99;font-size:12px}.add-friend-modal .modal-close[data-v-7a8890da]{width:32px;height:32px;padding:0;color:#606266;background:transparent;border:0;border-radius:4px;font-size:22px;line-height:1}.add-friend-modal .modal-close[data-v-7a8890da]:hover{background:#e9e9e9}.add-friend-search[data-v-7a8890da]{margin:16px 18px 12px;min-height:42px;padding:0 8px 0 12px;display:flex;align-items:center;gap:8px;background:#ededed;border-radius:5px}.add-friend-search input[data-v-7a8890da]{min-width:0;flex:1;border:0;outline:none;background:transparent;font-size:14px}.add-friend-results[data-v-7a8890da]{max-height:330px;overflow-y:auto;background:#fff;border-top:1px solid #ededed;border-bottom:1px solid #ededed}.add-friend-row[data-v-7a8890da]{min-height:58px;padding:8px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f2f2f2}.add-friend-row[data-v-7a8890da]:last-child{border-bottom:0}.friend-avatar[data-v-7a8890da]{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:#b7c0cc;border-radius:5px;font-weight:600}.friend-avatar img[data-v-7a8890da]{width:100%;height:100%;object-fit:cover}.friend-info[data-v-7a8890da]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.friend-info strong[data-v-7a8890da]{overflow:hidden;color:#1f2329;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.friend-info small[data-v-7a8890da]{color:#8a8f99;font-size:12px}.add-friend-modal .primary-btn[data-v-7a8890da],.add-friend-modal .ghost-btn[data-v-7a8890da]{min-width:70px;height:34px;padding:0 14px;border-radius:4px;font-size:14px}.add-friend-modal .primary-btn[data-v-7a8890da]{color:#fff;background:#07c160;border:0}.add-friend-modal .primary-btn[data-v-7a8890da]:hover:not(:disabled){background:#06ad56}.add-friend-modal .primary-btn[data-v-7a8890da]:disabled{opacity:.45}.add-friend-modal .ghost-btn[data-v-7a8890da]{color:#1f2329;background:#fff;border:1px solid #dadde2}.add-friend-modal .text-add[data-v-7a8890da]{height:30px;padding:0 6px;color:#07c160;background:transparent;border:0;font-size:13px}.add-friend-modal .text-add[data-v-7a8890da]:hover{background:#edf8f1}.add-friend-toast[data-v-7a8890da]{margin:0 18px 10px;padding:8px 10px;border-radius:5px;font-size:13px}.add-friend-toast.success[data-v-7a8890da]{color:#16733d;background:#e8f7ee}.add-friend-toast.error[data-v-7a8890da]{color:#b42318;background:#fff1f0}.add-friend-foot[data-v-7a8890da]{padding:12px 18px 16px;display:flex;justify-content:flex-end;background:#f7f7f7}.add-friend-modal .empty-hint.compact[data-v-7a8890da]{padding:20px}.contact-book[data-v-7a8890da]{padding:10px 0 18px}.chat.chat .detail-panel .detail-link[data-v-7a8890da]{width:100%;height:34px;padding:0;border:0;border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1;border-radius:0;color:#576b95;background:#fff;font-size:12px}.chat.chat .detail-panel .detail-link[data-v-7a8890da]:hover{background:#fafafa}.address-manage[data-v-7a8890da],.contact-section-row[data-v-7a8890da]{width:calc(100% - 28px);min-height:38px;margin:0 14px 8px;padding:0 12px;display:flex;align-items:center;gap:10px;color:#1f2329;background:#fff;border:0;border-radius:6px;font-size:14px;text-align:left}.address-manage[data-v-7a8890da]{justify-content:center;font-weight:500}.address-manage[data-v-7a8890da]:hover,.contact-section-row[data-v-7a8890da]:hover,.contact-person[data-v-7a8890da]:hover{background:#eeeeef}.contact-section-row[data-v-7a8890da]{justify-content:flex-start;background:transparent;border-radius:0;margin-bottom:0}.contact-section-row span[data-v-7a8890da]:nth-child(2){flex:1}.contact-section-row em[data-v-7a8890da]{color:#a0a4aa;font-size:12px;font-style:normal}.section-chevron[data-v-7a8890da]{width:8px;height:8px;border-right:1.5px solid #747b84;border-bottom:1.5px solid #747b84;transform:rotate(-45deg);transition:transform .16s}.section-chevron.open[data-v-7a8890da]{transform:rotate(45deg)}.contact-section-list[data-v-7a8890da]{padding-bottom:8px}.contact-letter[data-v-7a8890da]{height:28px;padding:7px 28px 0;color:#7f858e;border-top:1px solid #dedfe2;font-size:12px}.contact-person[data-v-7a8890da]{min-height:54px;padding:7px 20px 7px 34px;display:flex;align-items:center;gap:10px;cursor:pointer}.contact-name[data-v-7a8890da]{min-width:0;overflow:hidden;color:#1f2329;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.contact-empty[data-v-7a8890da]{padding:14px 28px;color:#a0a4aa;font-size:12px}.contact-requests[data-v-7a8890da]{max-height:190px;background:#fff}.contacts-main[data-v-7a8890da]{align-items:center;justify-content:center}.contacts-placeholder[data-v-7a8890da]{height:100%;display:flex;align-items:center;justify-content:center}.wechat-empty-icon[data-v-7a8890da]{position:relative;width:78px;height:54px;opacity:.38}.wechat-empty-icon[data-v-7a8890da]:before,.wechat-empty-icon[data-v-7a8890da]:after{content:"";position:absolute;border-radius:50%;background:#c9cdd3}.wechat-empty-icon[data-v-7a8890da]:before{left:2px;top:3px;width:46px;height:36px;box-shadow:14px 12px 0 -14px #fff,27px 12px 0 -14px #fff}.wechat-empty-icon[data-v-7a8890da]:after{right:0;bottom:2px;width:42px;height:32px;box-shadow:13px 11px 0 -13px #fff,25px 11px 0 -13px #fff}.create-group-modal[data-v-7a8890da],.member-modal[data-v-7a8890da],.file-modal[data-v-7a8890da]{width:min(520px,calc(100vw - 36px));max-height:min(76vh,640px);padding:0;overflow:hidden;background:#f7f7f7;border-radius:8px;box-shadow:0 18px 48px #00000038}.create-group-body[data-v-7a8890da]{padding:16px 18px 0}.create-group-body>input[data-v-7a8890da],.notice-modal textarea[data-v-7a8890da]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #dadde2;border-radius:5px;outline:none;background:#fff;color:#1f2329;font-size:14px}.friend-select[data-v-7a8890da]{max-height:320px;margin-top:12px;overflow-y:auto;background:#fff;border:1px solid #ededed;border-radius:6px}.friend-option[data-v-7a8890da]{min-height:54px;padding:8px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f2f2f2;cursor:pointer}.friend-option[data-v-7a8890da]:last-child{border-bottom:0}.friend-option[data-v-7a8890da]:hover{background:#f7f7f7}.friend-option.selected[data-v-7a8890da]{background:#e8f7ee;color:#07c160}.member-modal-head[data-v-7a8890da],.file-modal-head[data-v-7a8890da]{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e9e9}.member-modal-head h3[data-v-7a8890da],.file-modal-head h3[data-v-7a8890da]{margin:0;color:#1f2329;font-size:17px;font-weight:600}.member-modal-head p[data-v-7a8890da],.file-modal-head p[data-v-7a8890da]{margin:4px 0 0;color:#8a8f99;font-size:12px}.member-modal .modal-close[data-v-7a8890da],.file-modal .modal-close[data-v-7a8890da],.create-group-modal .modal-close[data-v-7a8890da]{width:32px;height:32px;padding:0;color:#606266;background:transparent;border:0;border-radius:4px;font-size:22px;line-height:1}.member-modal .modal-close[data-v-7a8890da]:hover,.file-modal .modal-close[data-v-7a8890da]:hover,.create-group-modal .modal-close[data-v-7a8890da]:hover{background:#e9e9e9}.member-search[data-v-7a8890da]{margin:14px 18px 10px;height:36px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#ededed;border-radius:5px}.member-search input[data-v-7a8890da]{flex:1;height:100%;margin:0;padding:0;border:0;background:transparent;outline:none}.member-invite-bar[data-v-7a8890da]{margin:0 18px 10px;display:flex;align-items:center;justify-content:space-between}.member-invite-bar em[data-v-7a8890da]{color:#8a8f99;font-size:12px;font-style:normal}.invite-toggle[data-v-7a8890da]{height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;color:#1f2329;background:transparent;border:0;border-radius:4px}.invite-toggle[data-v-7a8890da]:hover{background:#ededed}.invite-toggle span[data-v-7a8890da]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#07c160;border-radius:3px;font-weight:600}.invite-panel[data-v-7a8890da]{margin:0 18px 12px;padding:8px;background:#fff;border:1px solid #e6e6e6;border-radius:6px}.invite-list[data-v-7a8890da]{max-height:176px;overflow-y:auto}.invite-person[data-v-7a8890da]{width:100%;min-height:44px;padding:6px 8px;display:flex;align-items:center;gap:10px;color:#1f2329;background:transparent;border:0;border-radius:5px;text-align:left}.invite-person[data-v-7a8890da]:hover{background:#f5f5f5}.invite-person strong[data-v-7a8890da]{min-width:0;flex:1;overflow:hidden;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.invite-person i[data-v-7a8890da]{width:18px;height:18px;border:1px solid #cfd3d8;border-radius:50%}.invite-person.selected i[data-v-7a8890da]{border-color:#07c160;background:radial-gradient(circle at center,#07c160 0 45%,transparent 48%)}.invite-actions[data-v-7a8890da],.member-modal-foot[data-v-7a8890da]{display:flex;justify-content:flex-end;gap:10px}.invite-actions[data-v-7a8890da]{padding-top:8px;border-top:1px solid #f0f0f0}.member-toast[data-v-7a8890da]{margin:0 18px 10px;padding:8px 10px;border-radius:5px;font-size:13px}.member-toast.success[data-v-7a8890da]{color:#16733d;background:#e8f7ee}.member-toast.error[data-v-7a8890da]{color:#b42318;background:#fff1f0}.member-list[data-v-7a8890da],.file-list[data-v-7a8890da]{max-height:320px;overflow-y:auto;background:#fff;border-top:1px solid #ededed;border-bottom:1px solid #ededed}.member-manage-row[data-v-7a8890da],.file-manage-row[data-v-7a8890da]{min-height:58px;padding:8px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f2f2f2}.file-manage-row[data-v-7a8890da]{color:inherit;text-decoration:none}.member-manage-row[data-v-7a8890da]:last-child,.file-manage-row[data-v-7a8890da]:last-child{border-bottom:0}.member-avatar-small[data-v-7a8890da]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:#b7c0cc;border-radius:4px;font-weight:600}.member-avatar-small img[data-v-7a8890da]{width:100%;height:100%;object-fit:cover}.member-modal .member-name[data-v-7a8890da]{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.member-modal .member-name strong[data-v-7a8890da]{overflow:hidden;color:#1f2329;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.member-modal .member-name small[data-v-7a8890da]{color:#a0a4aa;font-size:11px}.member-role[data-v-7a8890da]{padding:2px 6px;border-radius:4px;color:#7c828b;background:#f1f2f4;font-size:11px}.member-role.owner[data-v-7a8890da]{color:#d92d20;background:#fff1f0}.member-role.admin[data-v-7a8890da]{color:#16733d;background:#e8f7ee}.text-action[data-v-7a8890da]{height:28px;padding:0 4px;color:#576b95;background:transparent;border:0;font-size:12px}.text-action[data-v-7a8890da]:hover{background:#f1f3f5}.text-action.danger[data-v-7a8890da]{color:#d92d20}.member-modal-foot[data-v-7a8890da]{padding:12px 18px 16px;background:#f7f7f7}.member-modal .ghost-btn[data-v-7a8890da],.member-modal .primary-btn[data-v-7a8890da],.file-modal .ghost-btn[data-v-7a8890da],.file-modal .primary-btn[data-v-7a8890da],.create-group-modal .ghost-btn[data-v-7a8890da],.create-group-modal .primary-btn[data-v-7a8890da]{min-width:76px;height:34px;padding:0 16px;border-radius:4px;font-size:14px}.member-modal .primary-btn[data-v-7a8890da],.file-modal .primary-btn[data-v-7a8890da],.create-group-modal .primary-btn[data-v-7a8890da]{color:#fff;background:#07c160;border:0}.member-modal .ghost-btn[data-v-7a8890da],.file-modal .ghost-btn[data-v-7a8890da],.create-group-modal .ghost-btn[data-v-7a8890da]{color:#1f2329;background:#fff;border:1px solid #dadde2}.file-upload-card[data-v-7a8890da],.file-permission-note[data-v-7a8890da]{margin:16px 18px 12px;padding:12px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6e6e6;border-radius:6px}.file-upload-card[data-v-7a8890da]{cursor:pointer}.file-upload-card>div[data-v-7a8890da]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.file-upload-card strong[data-v-7a8890da]{color:#1f2329;font-size:14px;font-weight:500}.file-upload-card small[data-v-7a8890da],.file-permission-note[data-v-7a8890da]{color:#8a8f99;font-size:12px}.notice-modal[data-v-7a8890da]{width:min(460px,calc(100vw - 36px))}.notice-content[data-v-7a8890da]{padding:12px;background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;white-space:pre-wrap}.modal-actions[data-v-7a8890da]{margin-top:12px;display:flex;justify-content:flex-end;gap:10px}.editor-toolbar[data-v-7a8890da]{display:flex;gap:4px;padding:4px 8px;border-bottom:1px solid #eee;cursor:text}.emoji-btn[data-v-7a8890da]{background:none;border:none;font-size:20px;cursor:pointer;padding:2px 6px;border-radius:4px}.emoji-btn[data-v-7a8890da]:hover{background:#f0f0f0}.emoji-picker[data-v-7a8890da]{display:flex;flex-wrap:wrap;gap:4px;padding:8px;max-height:160px;overflow-y:auto;border-bottom:1px solid #eee;background:#fafafa}.emoji-item[data-v-7a8890da]{font-size:22px;cursor:pointer;padding:2px;border-radius:4px;transition:background .15s}.emoji-item[data-v-7a8890da]:hover{background:#e8e8e8}.rich-editor[data-v-7a8890da]{min-height:60px;max-height:150px;overflow-y:auto;padding:8px 12px;outline:none;font-size:14px;line-height:1.5;word-break:break-word;cursor:text}.rich-editor[data-v-7a8890da]:empty:before{content:attr(placeholder);color:#999;pointer-events:none}.forward-overlay[data-v-7a8890da]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.forward-modal[data-v-7a8890da]{background:#fff;border-radius:12px;padding:20px;width:320px;max-height:400px;overflow-y:auto}.forward-modal h3[data-v-7a8890da]{margin:0 0 12px;font-size:16px}.forward-item[data-v-7a8890da]{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:8px;cursor:pointer}.forward-item[data-v-7a8890da]:hover{background:#f5f5f5}.forward-cancel[data-v-7a8890da]{margin-top:12px;width:100%;padding:8px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer}.history-overlay[data-v-7a8890da]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;align-items:center;justify-content:center;background:#00000014}.history-modal[data-v-7a8890da]{width:min(560px,calc(100vw - 56px));height:min(700px,calc(100vh - 56px));display:flex;flex-direction:column;overflow:hidden;background:#eeeeef;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 18px 46px #00000047}.history-head[data-v-7a8890da]{height:44px;padding:0 12px 0 18px;display:flex;align-items:center;justify-content:center;position:relative;color:#1f2329;font-size:14px}.history-head button[data-v-7a8890da]{position:absolute;right:8px;width:30px;height:30px;border:0;border-radius:4px;color:#606266;background:transparent;font-size:20px}.history-head button[data-v-7a8890da]:hover{background:#dedfe2}.history-search[data-v-7a8890da]{height:44px;margin:4px 16px 10px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dadde2;border-radius:6px}.history-search input[data-v-7a8890da]{min-width:0;flex:1;border:0;outline:none;background:transparent;font-size:14px}.history-tabs[data-v-7a8890da]{padding:0 18px 10px;display:flex;gap:22px;border-bottom:1px solid #dfe1e5}.history-tabs button[data-v-7a8890da]{padding:0;border:0;color:#2f5597;background:transparent;font-size:13px}.history-tabs button.active[data-v-7a8890da]{color:#1f2329;font-weight:600}.history-list[data-v-7a8890da]{flex:1;overflow-y:auto;padding:12px 18px 20px}.history-row[data-v-7a8890da]{display:flex;align-items:flex-start;gap:10px;padding:8px 0}.history-avatar[data-v-7a8890da]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:#c2c7cf;border-radius:5px;font-weight:600}.history-avatar img[data-v-7a8890da]{width:100%;height:100%;object-fit:cover}.history-body[data-v-7a8890da]{min-width:0;flex:1}.history-meta[data-v-7a8890da]{display:flex;align-items:center;gap:12px;margin-bottom:5px}.history-meta strong[data-v-7a8890da]{color:#8a8f99;font-size:13px;font-weight:400}.history-meta time[data-v-7a8890da]{margin-left:auto;color:#9ba1aa;font-size:12px;white-space:nowrap}.history-content[data-v-7a8890da]{color:#1f2329;font-size:14px;line-height:1.55;word-break:break-word}.history-content img[data-v-7a8890da]{max-width:180px;max-height:180px;border-radius:6px;object-fit:contain}.history-file[data-v-7a8890da]{width:min(260px,100%);min-height:54px;padding:9px;display:flex;align-items:center;gap:8px;color:#1f2329;background:#fff;border:1px solid #e1e3e6;border-radius:6px;text-decoration:none}.history-empty[data-v-7a8890da]{margin-top:180px;color:#9ba1aa;text-align:center;font-size:13px}.history-date-list[data-v-7a8890da]{display:flex;flex-direction:column;gap:14px}.history-date-section[data-v-7a8890da]{background:#f7f7f8;border:1px solid #e2e4e8;border-radius:6px;overflow:hidden}.history-date-title[data-v-7a8890da]{height:36px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:#1f2329;background:#fff;font-size:13px;font-weight:500}.history-date-title span[data-v-7a8890da]{color:#9ba1aa;font-size:12px;font-weight:400}.history-date-item[data-v-7a8890da]{min-height:36px;padding:7px 12px;display:flex;align-items:center;gap:10px;border-top:1px solid #eceef2;cursor:pointer}.history-date-item[data-v-7a8890da]:hover{background:#fff}.history-date-item time[data-v-7a8890da]{flex:0 0 48px;color:#9ba1aa;font-size:12px}.history-date-item span[data-v-7a8890da]{min-width:0;overflow:hidden;color:#444b55;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.reply-bar[data-v-7a8890da]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f5f7fa;border-left:3px solid #409eff;font-size:12px;color:#666}.reply-bar .close-reply[data-v-7a8890da]{margin-left:auto;background:none;border:none;cursor:pointer;font-size:14px;color:#999}.reply-block[data-v-7a8890da]{font-size:12px;color:#888;padding:4px 8px;margin-bottom:4px;border-left:2px solid #ccc;background:#00000008;border-radius:4px}.chat .msg[data-v-7a8890da]{width:fit-content;max-width:min(62%,560px);line-height:1.55}.chat .msg.image-msg[data-v-7a8890da]{padding:0;overflow:visible;background:transparent}.chat .msg.image-msg.mine[data-v-7a8890da],.chat .msg.image-msg.theirs[data-v-7a8890da]{background:transparent}.chat .chat-image[data-v-7a8890da]{display:block;max-width:min(280px,36vw);max-height:320px;object-fit:contain;border-radius:6px;cursor:zoom-in;box-shadow:0 0 0 1px #0000000a}.chat .msg.image-msg .meta[data-v-7a8890da]{margin-top:4px;padding:0 2px;color:#9aa0a6;text-align:right}.chat .msg.file-msg[data-v-7a8890da]{padding:0;background:transparent}.chat .chat-file-card[data-v-7a8890da]{width:260px;min-height:72px;padding:12px;display:flex;align-items:center;gap:10px;color:#1f2329;text-decoration:none;background:#fff;border:1px solid #ececec;border-radius:6px}.chat .msg.mine .chat-file-card[data-v-7a8890da]{background:#f8fff8;border-color:#d8f3df}.chat .file-icon[data-v-7a8890da]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#5b8def;border-radius:5px;font-size:13px;font-weight:600}.chat .file-info[data-v-7a8890da]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.chat .file-info strong[data-v-7a8890da]{overflow:hidden;color:#1f2329;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.chat .file-info small[data-v-7a8890da],.chat .file-open[data-v-7a8890da]{color:#8a8f99;font-size:12px}.chat .group-message-row[data-v-7a8890da]{align-items:flex-start;gap:10px}.chat .group-message-row .message-stack[data-v-7a8890da]{max-width:min(68%,620px)}.chat .group-message-row.mine .message-stack[data-v-7a8890da]{align-items:flex-end}.chat .group-message-row .msg[data-v-7a8890da]{max-width:100%;margin:0}.chat .group-message-row.mine .msg[data-v-7a8890da]{margin-left:0}.chat .group-message-row.theirs .msg[data-v-7a8890da]{margin-right:0}.chat .sender-name[data-v-7a8890da]{margin-bottom:4px;color:#8a8f99;font-size:12px}.group-msg-actions[data-v-7a8890da]{margin-top:4px;display:flex;gap:6px;opacity:0;transition:opacity .15s ease}.group-message-row:hover .group-msg-actions[data-v-7a8890da]{opacity:1}.group-msg-actions button[data-v-7a8890da]{height:22px;padding:0 6px;color:#7b818a;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:12px}.group-msg-actions button[data-v-7a8890da]:hover{color:#1f2329;background:#f3f4f6}.msg-actions[data-v-7a8890da]{display:flex;gap:4px;margin-left:8px;opacity:0;transition:opacity .2s}.msg:hover .msg-actions[data-v-7a8890da]{opacity:1}.msg-actions button[data-v-7a8890da]{background:none;border:none;cursor:pointer;font-size:12px;color:#999;padding:2px 4px}.msg-actions button[data-v-7a8890da]:hover{color:#409eff}.search-bar[data-v-7a8890da]{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #eee}.search-bar input[data-v-7a8890da]{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px}.search-results[data-v-7a8890da]{padding:8px;background:#fffbe6;border-bottom:1px solid #eee;font-size:13px;max-height:200px;overflow-y:auto}.search-results .result-item[data-v-7a8890da]{padding:6px 8px;cursor:pointer;border-radius:4px}.search-results .result-item[data-v-7a8890da]:hover{background:#fff3cd}.group-link[data-v-7a8890da]{display:block;padding:12px 16px;color:#1890ff;text-decoration:none;border-top:1px solid #eee;margin-top:auto;text-align:center;font-size:14px;font-weight:500}.group-link[data-v-7a8890da]:hover{background:#e6f7ff}.req-bar[data-v-7a8890da]{padding:10px 16px;border-bottom:1px solid #e5e7eb;cursor:pointer;font-size:13px;color:#6b7280;display:flex;align-items:center;gap:6px}.req-bar[data-v-7a8890da]:hover{background:#f9fafb}.req-list[data-v-7a8890da]{max-height:200px;overflow-y:auto;border-bottom:1px solid #e5e7eb}.req-item[data-v-7a8890da]{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px}.req-name[data-v-7a8890da]{flex:1}.btn-accept[data-v-7a8890da]{font-size:12px;padding:3px 10px;background:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-reject[data-v-7a8890da]{font-size:12px;padding:3px 10px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer}.img-preview-overlay[data-v-7a8890da]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:300;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.img-preview-overlay img[data-v-7a8890da]{max-width:90vw;max-height:90vh;border-radius:8px}.typing-hint[data-v-7a8890da]{padding:4px 16px;font-size:12px;color:#9ca3af;font-style:italic}.group-page[data-v-96af9f5c]{display:flex;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar[data-v-96af9f5c]{width:260px;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;background:#fafafa}.sidebar-header[data-v-96af9f5c]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee}.sidebar-header h3[data-v-96af9f5c]{margin:0;font-size:16px}.group-item[data-v-96af9f5c]{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0}.group-item[data-v-96af9f5c]:hover{background:#f0f0f0}.group-item.active[data-v-96af9f5c]{background:#e6f7ff;border-left:3px solid #1890ff}.group-name[data-v-96af9f5c]{font-weight:500}.group-meta[data-v-96af9f5c]{font-size:12px;color:#999}.empty-hint[data-v-96af9f5c]{padding:20px;color:#999;text-align:center;font-size:13px}.back-link[data-v-96af9f5c]{display:block;padding:12px 16px;color:#1890ff;text-decoration:none;border-top:1px solid #eee;margin-top:auto}.main[data-v-96af9f5c]{flex:1;display:flex;flex-direction:column}.header[data-v-96af9f5c]{padding:12px 16px;border-bottom:1px solid #eee;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-title[data-v-96af9f5c]{font-weight:600;font-size:16px}.member-count[data-v-96af9f5c]{color:#999;font-size:13px}.header-actions[data-v-96af9f5c]{margin-left:auto;display:flex;gap:6px}.messages[data-v-96af9f5c]{flex:1;overflow-y:auto;padding:16px}.empty[data-v-96af9f5c]{color:#999;text-align:center;padding:40px}.msg[data-v-96af9f5c]{max-width:70%;padding:8px 14px;margin-bottom:10px;border-radius:12px;word-break:break-word}.msg.mine[data-v-96af9f5c]{margin-left:auto;background:#1890ff;color:#fff;border-bottom-right-radius:4px}.msg.theirs[data-v-96af9f5c]{margin-right:auto;background:#f0f0f0;border-bottom-left-radius:4px}.sender-name[data-v-96af9f5c]{font-size:11px;color:#666;margin-bottom:2px;font-weight:500}.at-tag[data-v-96af9f5c]{font-size:11px;color:#ff4d4f;margin-bottom:2px}.meta[data-v-96af9f5c]{font-size:11px;opacity:.7;margin-top:4px}.composer[data-v-96af9f5c]{padding:12px 16px;border-top:1px solid #eee;display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.editor-toolbar[data-v-96af9f5c]{width:100%;display:flex;gap:6px;margin-bottom:4px}.emoji-btn[data-v-96af9f5c]{background:none;border:1px solid #ddd;border-radius:4px;padding:2px 8px;cursor:pointer;font-size:14px}.rich-editor[data-v-96af9f5c]{flex:1;min-height:36px;max-height:100px;overflow-y:auto;padding:8px;border:1px solid #ddd;border-radius:8px;outline:none;font-size:14px}.rich-editor[data-v-96af9f5c]:empty:before{content:attr(placeholder);color:#bbb}.at-picker[data-v-96af9f5c]{width:100%;max-height:160px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px;margin-bottom:4px}.at-option[data-v-96af9f5c]{padding:6px 10px;cursor:pointer;border-radius:4px;font-size:13px}.at-option[data-v-96af9f5c]:hover{background:#f0f0f0}button[data-v-96af9f5c]{padding:8px 20px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}button[data-v-96af9f5c]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-96af9f5c]{padding:4px 10px;font-size:12px;border-radius:4px;background:#1890ff;color:#fff;border:none;cursor:pointer}.btn-sm.danger[data-v-96af9f5c]{background:#ff4d4f}.btn-xs[data-v-96af9f5c]{padding:2px 6px;font-size:11px;border-radius:3px;background:#1890ff;color:#fff;border:none;cursor:pointer;margin-left:4px}.btn-xs.danger[data-v-96af9f5c]{background:#ff4d4f}.modal-overlay[data-v-96af9f5c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;justify-content:center;align-items:center;z-index:100}.modal[data-v-96af9f5c]{background:#fff;border-radius:12px;padding:20px;min-width:340px;max-width:480px;max-height:80vh;overflow-y:auto}.modal h3[data-v-96af9f5c]{margin:0 0 12px}.modal input[data-v-96af9f5c],.modal textarea[data-v-96af9f5c]{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;margin-bottom:10px;box-sizing:border-box}.modal-actions[data-v-96af9f5c]{display:flex;gap:8px;margin-top:10px}.friend-select[data-v-96af9f5c]{max-height:200px;overflow-y:auto;border:1px solid #eee;border-radius:6px;padding:4px;margin-bottom:8px}.friend-option[data-v-96af9f5c]{padding:6px 10px;cursor:pointer;border-radius:4px;font-size:13px}.friend-option[data-v-96af9f5c]:hover{background:#f0f0f0}.friend-option.selected[data-v-96af9f5c]{background:#e6f7ff;color:#1890ff}.member-row[data-v-96af9f5c]{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f5f5f5}.member-name[data-v-96af9f5c]{flex:1}.member-role[data-v-96af9f5c]{font-size:11px;padding:1px 6px;border-radius:3px}.member-role.owner[data-v-96af9f5c]{background:#fff1f0;color:#cf1322}.member-role.admin[data-v-96af9f5c]{background:#e6f7ff;color:#096dd9}.member-role.member[data-v-96af9f5c]{background:#f5f5f5;color:#999}.invite-row[data-v-96af9f5c]{margin-bottom:8px}.notice-content[data-v-96af9f5c]{padding:12px;background:#fffbe6;border-radius:6px;border:1px solid #ffe58f;white-space:pre-wrap}.file-row[data-v-96af9f5c]{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f5f5f5}.file-row a[data-v-96af9f5c]{color:#1890ff;text-decoration:none;flex:1}.file-meta[data-v-96af9f5c]{color:#999;font-size:12px}.member-modal[data-v-96af9f5c]{width:min(520px,calc(100vw - 36px));max-height:min(76vh,640px);padding:0;overflow:hidden;background:#f7f7f7;border-radius:8px;box-shadow:0 18px 48px #00000038}.member-modal-head[data-v-96af9f5c]{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#f7f7f7;border-bottom:1px solid #e9e9e9}.member-modal-head h3[data-v-96af9f5c]{margin:0;color:#1f2329;font-size:17px;font-weight:600}.member-modal-head p[data-v-96af9f5c]{margin:4px 0 0;color:#8a8f99;font-size:12px}.member-modal .modal-close[data-v-96af9f5c]{width:32px;height:32px;padding:0;border-radius:4px;color:#606266;background:transparent;font-size:22px;line-height:1}.member-modal .modal-close[data-v-96af9f5c]:hover{background:#e9e9e9}.member-search[data-v-96af9f5c]{margin:14px 18px 10px;height:36px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#ededed;border-radius:5px}.member-search .ui-icon[data-v-96af9f5c]{opacity:.48}.member-search input[data-v-96af9f5c]{flex:1;height:100%;margin:0;padding:0;border:0;background:transparent;color:#1f2329;outline:none}.member-invite-bar[data-v-96af9f5c]{margin:0 18px 10px;display:flex;align-items:center;justify-content:space-between}.member-invite-bar em[data-v-96af9f5c]{color:#8a8f99;font-size:12px;font-style:normal}.member-modal .invite-toggle[data-v-96af9f5c]{height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;color:#1f2329;background:transparent;border-radius:4px}.member-modal .invite-toggle[data-v-96af9f5c]:hover{background:#ededed}.member-modal .invite-toggle span[data-v-96af9f5c]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#07c160;border-radius:3px;font-weight:600}.invite-panel[data-v-96af9f5c]{margin:0 18px 12px;padding:8px;background:#fff;border:1px solid #e6e6e6;border-radius:6px}.invite-list[data-v-96af9f5c]{max-height:176px;overflow-y:auto}.member-modal .invite-person[data-v-96af9f5c]{width:100%;min-height:44px;padding:6px 8px;display:flex;align-items:center;gap:10px;color:#1f2329;background:transparent;border-radius:5px;text-align:left}.member-modal .invite-person[data-v-96af9f5c]:hover{background:#f5f5f5}.member-modal .invite-person strong[data-v-96af9f5c]{flex:1;min-width:0;overflow:hidden;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.member-modal .invite-person i[data-v-96af9f5c]{width:18px;height:18px;border:1px solid #cfd3d8;border-radius:50%}.member-modal .invite-person.selected i[data-v-96af9f5c]{border-color:#07c160;background:radial-gradient(circle at center,#07c160 0 45%,transparent 48%)}.invite-actions[data-v-96af9f5c],.member-modal-foot[data-v-96af9f5c]{display:flex;justify-content:flex-end;gap:10px}.invite-actions[data-v-96af9f5c]{padding-top:8px;border-top:1px solid #f0f0f0}.member-toast[data-v-96af9f5c]{margin:0 18px 10px;padding:8px 10px;border-radius:5px;font-size:13px}.member-toast.success[data-v-96af9f5c]{color:#16733d;background:#e8f7ee}.member-toast.error[data-v-96af9f5c]{color:#b42318;background:#fff1f0}.member-list[data-v-96af9f5c]{max-height:320px;overflow-y:auto;background:#fff;border-top:1px solid #ededed;border-bottom:1px solid #ededed}.member-manage-row[data-v-96af9f5c]{min-height:56px;padding:8px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f2f2f2}.member-manage-row[data-v-96af9f5c]:last-child{border-bottom:0}.member-avatar-small[data-v-96af9f5c]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:#b7c0cc;border-radius:4px;font-weight:600}.member-avatar-small img[data-v-96af9f5c]{width:100%;height:100%;object-fit:cover}.member-modal .member-name[data-v-96af9f5c]{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.member-modal .member-name strong[data-v-96af9f5c]{overflow:hidden;color:#1f2329;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.member-modal .member-name small[data-v-96af9f5c]{color:#a0a4aa;font-size:11px}.member-modal .member-role[data-v-96af9f5c]{flex:0 0 auto}.member-modal .text-action[data-v-96af9f5c]{height:28px;padding:0 4px;color:#576b95;background:transparent;font-size:12px}.member-modal .text-action[data-v-96af9f5c]:hover{background:#f1f3f5}.member-modal .text-action.danger[data-v-96af9f5c]{color:#d92d20}.member-modal-foot[data-v-96af9f5c]{padding:12px 18px 16px;background:#f7f7f7}.member-modal .ghost-btn[data-v-96af9f5c],.member-modal .primary-btn[data-v-96af9f5c],.file-modal .ghost-btn[data-v-96af9f5c],.file-modal .primary-btn[data-v-96af9f5c]{min-width:76px;height:34px;padding:0 16px;border-radius:4px;font-size:14px}.member-modal .ghost-btn[data-v-96af9f5c],.file-modal .ghost-btn[data-v-96af9f5c]{color:#1f2329;background:#fff;border:1px solid #dadde2}.member-modal .ghost-btn[data-v-96af9f5c]:hover,.file-modal .ghost-btn[data-v-96af9f5c]:hover{background:#f5f5f5}.member-modal .primary-btn[data-v-96af9f5c],.file-modal .primary-btn[data-v-96af9f5c]{color:#fff;background:#07c160}.member-modal .primary-btn[data-v-96af9f5c]:hover:not(:disabled),.file-modal .primary-btn[data-v-96af9f5c]:hover:not(:disabled){background:#06ad56}.member-modal .primary-btn[data-v-96af9f5c]:disabled,.file-modal .primary-btn[data-v-96af9f5c]:disabled{opacity:.45}.member-modal .empty-hint.compact[data-v-96af9f5c]{padding:16px}.file-modal[data-v-96af9f5c]{width:min(520px,calc(100vw - 36px));max-height:min(76vh,640px);padding:0;overflow:hidden;background:#f7f7f7;border-radius:8px}.file-modal-head[data-v-96af9f5c]{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e9e9}.file-modal-head h3[data-v-96af9f5c]{margin:0;color:#1f2329;font-size:17px;font-weight:600}.file-modal-head p[data-v-96af9f5c]{margin:4px 0 0;color:#8a8f99;font-size:12px}.file-modal .modal-close[data-v-96af9f5c]{width:32px;height:32px;padding:0;color:#606266;background:transparent;border-radius:4px;font-size:22px;line-height:1}.file-modal .modal-close[data-v-96af9f5c]:hover{background:#e9e9e9}.file-upload-card[data-v-96af9f5c],.file-permission-note[data-v-96af9f5c]{margin:16px 18px 12px;padding:12px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e6e6e6;border-radius:6px}.file-upload-card[data-v-96af9f5c]{cursor:pointer}.file-upload-card[data-v-96af9f5c]:hover{background:#fbfbfb}.file-upload-card>.ui-icon[data-v-96af9f5c],.file-permission-note>.ui-icon[data-v-96af9f5c]{width:34px;height:34px;flex:0 0 34px;border-radius:6px;background:#e8f7ee}.file-upload-card>div[data-v-96af9f5c]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.file-upload-card strong[data-v-96af9f5c]{color:#1f2329;font-size:14px;font-weight:500}.file-upload-card small[data-v-96af9f5c],.file-permission-note[data-v-96af9f5c]{color:#8a8f99;font-size:12px}.file-list[data-v-96af9f5c]{max-height:326px;overflow-y:auto;background:#fff;border-top:1px solid #ededed;border-bottom:1px solid #ededed}.file-manage-row[data-v-96af9f5c]{min-height:58px;padding:8px 18px;display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;border-bottom:1px solid #f2f2f2}.file-manage-row[data-v-96af9f5c]:hover{background:#f7f7f7}.file-icon[data-v-96af9f5c]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#5b8def;border-radius:5px;font-size:13px;font-weight:600}.file-info[data-v-96af9f5c]{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.file-info strong[data-v-96af9f5c]{overflow:hidden;color:#1f2329;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.file-info small[data-v-96af9f5c],.file-open[data-v-96af9f5c]{color:#8a8f99;font-size:12px}.group-page .group-message-row[data-v-96af9f5c]{align-items:flex-start;gap:8px}.group-page .message-stack[data-v-96af9f5c]{position:relative;max-width:min(62%,560px)}.group-page .group-message-row.mine .message-stack[data-v-96af9f5c]{align-items:flex-end}.group-page .msg[data-v-96af9f5c]{width:fit-content;max-width:100%;margin-bottom:0;line-height:1.55}.group-page .msg.image-msg[data-v-96af9f5c]{padding:0;overflow:visible;background:transparent}.group-page .msg.image-msg.mine[data-v-96af9f5c],.group-page .msg.image-msg.theirs[data-v-96af9f5c]{background:transparent}.group-page .chat-image[data-v-96af9f5c]{display:block;max-width:min(280px,36vw);max-height:320px;object-fit:contain;border-radius:6px;cursor:zoom-in;box-shadow:0 0 0 1px #0000000a}.group-page .msg.image-msg .meta[data-v-96af9f5c]{margin-top:4px;padding:0 2px;color:#9aa0a6;text-align:right}.group-page .msg.file-msg[data-v-96af9f5c]{padding:0;background:transparent}.group-page .chat-file-card[data-v-96af9f5c]{width:260px;min-height:72px;padding:12px;display:flex;align-items:center;gap:10px;color:#1f2329;text-decoration:none;background:#fff;border:1px solid #ececec;border-radius:6px}.group-page .group-message-row.mine .chat-file-card[data-v-96af9f5c]{background:#f8fff8;border-color:#d8f3df}.group-reply-block[data-v-96af9f5c]{max-width:100%;margin-bottom:4px;padding:5px 8px;overflow:hidden;color:#7b818a;background:#0000000a;border-radius:4px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.group-msg-actions[data-v-96af9f5c]{margin-top:4px;display:flex;gap:6px;opacity:0;transition:opacity .15s ease}.group-message-row:hover .group-msg-actions[data-v-96af9f5c]{opacity:1}.group-msg-actions button[data-v-96af9f5c]{height:22px;padding:0 6px;color:#7b818a;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:12px}.group-msg-actions button[data-v-96af9f5c]:hover{color:#1f2329;background:#f3f4f6}.group-reply-compose[data-v-96af9f5c]{grid-column:1 / -1;margin:0}.group-forward-modal[data-v-96af9f5c]{width:min(420px,calc(100vw - 36px));padding:0;overflow:hidden;background:#f7f7f7}.forward-list[data-v-96af9f5c]{max-height:320px;overflow-y:auto;background:#fff;border-bottom:1px solid #ededed}.forward-person[data-v-96af9f5c]{width:100%;min-height:54px;padding:8px 18px;display:flex;align-items:center;gap:10px;color:#1f2329;background:#fff;border:0;border-bottom:1px solid #f2f2f2;text-align:left}.forward-person[data-v-96af9f5c]:hover{background:#f7f7f7}.img-preview-overlay[data-v-96af9f5c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#000000c7}.img-preview-overlay img[data-v-96af9f5c]{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:4px}.mobile-toggle[data-v-96af9f5c],.sidebar-overlay[data-v-96af9f5c]{display:none}@media (max-width: 768px){.group-page[data-v-96af9f5c]{position:relative}.sidebar[data-v-96af9f5c]{position:fixed;top:0;left:0;bottom:0;z-index:200;width:80vw;max-width:320px;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 12px #0000001a}.sidebar.open[data-v-96af9f5c]{transform:translate(0)}.sidebar-overlay.open[data-v-96af9f5c]{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:199}.mobile-toggle[data-v-96af9f5c]{display:flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:201;width:36px;height:36px;border-radius:50%;background:#1890ff;color:#fff;border:none;font-size:18px;box-shadow:0 2px 8px #00000026}.header[data-v-96af9f5c]{padding-left:56px!important;flex-wrap:wrap}.header-actions[data-v-96af9f5c]{width:100%;justify-content:flex-start;margin-left:0;margin-top:6px}.msg[data-v-96af9f5c]{max-width:85%}.composer[data-v-96af9f5c]{padding:8px;gap:6px}.modal[data-v-96af9f5c]{min-width:auto;width:90vw}}.admin-entity-avatar[data-v-9b1d77cc]{width:38px;height:38px;flex:0 0 38px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:linear-gradient(135deg,#9aa4b2,#687386);object-fit:cover;font-weight:700}.admin-entity-avatar.group[data-v-9b1d77cc]{background:linear-gradient(135deg,#f1b36f,#d65f45)}.admin-entity-avatar.large[data-v-9b1d77cc]{width:64px;height:64px;flex-basis:64px;margin:0 auto 12px;border-radius:12px;font-size:24px}.admin-entity-avatar.round[data-v-9b1d77cc]{border-radius:50%}.admin-dense{width:32px;height:32px;flex-basis:32px}.account-wrap[data-v-37c72fe7]{position:relative}.account-trigger[data-v-37c72fe7]{height:42px;padding:0 8px 0 12px;border:1px solid transparent;border-radius:7px;display:inline-flex;align-items:center;gap:9px;background:transparent;color:#1f2329}.account-trigger[data-v-37c72fe7]:hover,.account-trigger.active[data-v-37c72fe7]{border-color:#ffd8d0;background:#fff3f0}.account-role[data-v-37c72fe7]{font-size:14px;font-weight:700;white-space:nowrap}.account-panel[data-v-37c72fe7]{position:absolute;top:48px;right:0;z-index:600;width:300px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 18px 46px #1f23292e}.account-head[data-v-37c72fe7]{display:flex;align-items:center;gap:12px;text-align:left}.account-head h3[data-v-37c72fe7]{margin:0 0 5px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.account-head p[data-v-37c72fe7]{margin:0;color:#8a8f98;font-size:12px}.account-stats[data-v-37c72fe7]{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.account-stats span[data-v-37c72fe7]{min-height:58px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f7f8}.account-stats strong[data-v-37c72fe7],.account-stats em[data-v-37c72fe7]{display:block}.account-stats em[data-v-37c72fe7]{margin-top:4px;color:#8a8f98;font-size:12px;font-style:normal}.account-section[data-v-37c72fe7]{padding:10px 0;border-top:1px solid #f0f1f3;text-align:left}.account-section label[data-v-37c72fe7],.account-section strong[data-v-37c72fe7]{display:block}.account-section label[data-v-37c72fe7]{margin-bottom:5px;color:#8a8f98;font-size:12px}.account-section strong[data-v-37c72fe7]{color:#39414d;font-size:13px}.account-actions[data-v-37c72fe7]{padding-top:10px;display:grid;gap:8px}.account-actions button[data-v-37c72fe7]{height:34px;border:0;border-radius:5px;color:#e35f43;background:#fff0eb;font-size:13px}.account-actions button[data-v-37c72fe7]:hover{background:#ffe5de}.account-actions button.danger[data-v-37c72fe7]{color:#d92d20;background:#fff1f0}.admin-empty[data-v-597a45ca]{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#9aa1ab;font-size:13px}.admin-empty p[data-v-597a45ca]{margin:0}.admin-empty-icon[data-v-597a45ca]{position:relative;width:34px;height:26px;display:inline-block;color:#b6bcc6}.admin-empty-icon[data-v-597a45ca]:before{content:"";position:absolute;left:1px;top:4px;width:30px;height:18px;border:2px solid currentColor;border-radius:12px}.admin-empty-icon[data-v-597a45ca]:after{content:"";position:absolute;left:9px;top:12px;width:16px;height:2px;border-radius:2px;background:currentColor}.admin-pager[data-v-4bd6095d]{min-height:48px;padding:0 14px;border-top:1px solid #e7eaf0;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#8a8f98;font-size:13px}.admin-pager button[data-v-4bd6095d]{height:30px;padding:0 10px;border:1px solid #d9dee7;border-radius:5px;background:#fff;color:#39414d}.admin-pager button[data-v-4bd6095d]:hover:not(:disabled){color:#e35f43;border-color:#f1b5a8;background:#fff7f5}.admin-view[data-v-3fec12af]{padding:10px 12px 12px}.profile-layout[data-v-3fec12af]{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px}.profile-card[data-v-3fec12af],.profile-panel[data-v-3fec12af]{background:#fff;border:1px solid #dfe4ec;border-radius:5px}.profile-card[data-v-3fec12af]{min-height:360px;padding:28px 22px;text-align:center}.profile-card h2[data-v-3fec12af]{margin:0 0 6px;font-size:18px}.profile-card p[data-v-3fec12af]{margin:0 0 18px;color:#8a8f98;font-size:12px}.profile-stats[data-v-3fec12af]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-stats span[data-v-3fec12af]{min-height:64px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f7f8}.profile-stats strong[data-v-3fec12af],.profile-stats em[data-v-3fec12af]{display:block}.profile-stats em[data-v-3fec12af]{margin-top:4px;color:#8a8f98;font-size:12px;font-style:normal}.profile-panel[data-v-3fec12af]{min-height:360px}.profile-head[data-v-3fec12af]{min-height:68px;padding:14px 16px;border-bottom:1px solid #e7eaf0}.profile-head h2[data-v-3fec12af]{margin:0;font-size:18px}.profile-head p[data-v-3fec12af]{margin:5px 0 0;color:#8a8f98;font-size:12px}.profile-form[data-v-3fec12af]{padding:18px 16px;display:grid;gap:14px}.profile-form label[data-v-3fec12af]{display:grid;grid-template-columns:86px minmax(0,420px);align-items:center;gap:12px}.profile-form span[data-v-3fec12af]{color:#59616d;font-size:13px}.profile-form input[data-v-3fec12af]{height:36px;padding:0 11px;border:1px solid #d9dee7;border-radius:5px;background:#f7f8fa;color:#6b7280}.profile-note[data-v-3fec12af]{margin:0 16px 18px;padding:12px;border-radius:6px;color:#8a5b14;background:#fff8e8;border:1px solid #f6df9f;font-size:13px;line-height:1.6}@media (max-width: 900px){.profile-layout[data-v-3fec12af]{grid-template-columns:1fr}}.rank-list[data-v-77d676d4]{padding:8px 6px}.rank-list h4[data-v-77d676d4]{margin:0 0 12px;font-size:14px}.rank-row[data-v-77d676d4]{min-height:36px;display:grid;grid-template-columns:28px 1fr 48px;align-items:center;gap:8px;font-size:14px}.rank-row span[data-v-77d676d4]{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#576b95;font-size:12px;font-weight:700}.rank-row em[data-v-77d676d4]{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.rank-row strong[data-v-77d676d4]{text-align:right}.rbac-manager[data-v-df56d2c1]{overflow:hidden}.rbac-head[data-v-df56d2c1]{min-height:68px;padding:12px 14px;border-bottom:1px solid #dfe4ec;display:flex;align-items:center;justify-content:space-between;gap:14px}.rbac-head h2[data-v-df56d2c1],.column-head h3[data-v-df56d2c1]{margin:0;color:#1f2329}.rbac-head h2[data-v-df56d2c1]{font-size:17px}.rbac-head p[data-v-df56d2c1],.column-head em[data-v-df56d2c1],.module-title em[data-v-df56d2c1],.admin-card-main em[data-v-df56d2c1],.role-title em[data-v-df56d2c1],.permission-row em[data-v-df56d2c1],.check-row em[data-v-df56d2c1],.dialog-head em[data-v-df56d2c1],.check-head em[data-v-df56d2c1]{color:#8a8f98;font-size:12px;font-style:normal}.rbac-head p[data-v-df56d2c1]{margin:4px 0 0}.rbac-head-actions[data-v-df56d2c1]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.rbac-btn[data-v-df56d2c1]{height:34px;padding:0 13px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500}.rbac-btn.primary[data-v-df56d2c1]{border:0;color:#fff;background:#e35f43}.rbac-btn.primary[data-v-df56d2c1]:hover:not(:disabled){background:#cf5138}.rbac-btn.primary.soft[data-v-df56d2c1]{color:#e35f43;background:#fff0eb}.rbac-btn.ghost[data-v-df56d2c1]{border:1px solid #d9dee7;color:#39414d;background:#fff}.rbac-btn.ghost[data-v-df56d2c1]:hover:not(:disabled){color:#e35f43;border-color:#f1b5a8;background:#fff7f5}.rbac-summary[data-v-df56d2c1]{padding:10px 14px;border-bottom:1px solid #edf0f4;display:flex;gap:10px;flex-wrap:wrap}.rbac-summary span[data-v-df56d2c1]{min-width:112px;height:34px;padding:0 12px;border:1px solid #e7eaf0;border-radius:5px;display:inline-flex;align-items:center;gap:6px;color:#59616d;background:#fafbfc;font-size:13px}.rbac-summary strong[data-v-df56d2c1]{color:#1f2329;font-size:17px}.rbac-grid[data-v-df56d2c1]{padding:14px;display:grid;grid-template-columns:300px minmax(360px,1fr) 360px;gap:12px}.rbac-column[data-v-df56d2c1]{min-height:500px;border:1px solid #e2e5ea;border-radius:6px;background:#fff;overflow:hidden}.column-head[data-v-df56d2c1]{min-height:58px;padding:11px 12px;border-bottom:1px solid #edf0f4}.column-head h3[data-v-df56d2c1]{font-size:15px}.column-head em[data-v-df56d2c1]{display:block;margin-top:4px}.admin-list[data-v-df56d2c1],.role-list[data-v-df56d2c1],.module-list[data-v-df56d2c1]{padding:10px;display:grid;gap:10px}.admin-card[data-v-df56d2c1],.role-card[data-v-df56d2c1],.module-card[data-v-df56d2c1]{border:1px solid #e7eaf0;border-radius:6px;background:#fff}.admin-card[data-v-df56d2c1],.role-card[data-v-df56d2c1]{padding:11px}.admin-card-main[data-v-df56d2c1],.role-title[data-v-df56d2c1],.module-title[data-v-df56d2c1],.permission-row[data-v-df56d2c1]{display:flex;align-items:center;gap:10px}.admin-card-main[data-v-df56d2c1]{display:grid;grid-template-columns:36px minmax(0,1fr) auto}.admin-card-main span[data-v-df56d2c1],.role-title span[data-v-df56d2c1],.permission-row span[data-v-df56d2c1]{min-width:0}.admin-card-main strong[data-v-df56d2c1],.admin-card-main em[data-v-df56d2c1],.role-title strong[data-v-df56d2c1],.role-title em[data-v-df56d2c1],.permission-row strong[data-v-df56d2c1],.permission-row em[data-v-df56d2c1]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-title[data-v-df56d2c1]{justify-content:space-between}.role-card p[data-v-df56d2c1]{margin:9px 0;min-height:20px;color:#59616d;font-size:13px;line-height:1.5}.role-line[data-v-df56d2c1],.permission-tags[data-v-df56d2c1]{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.role-line span[data-v-df56d2c1],.permission-tags span[data-v-df56d2c1]{min-height:24px;padding:4px 8px;border-radius:999px;color:#e35f43;background:#fff0eb;font-size:12px}.role-line span.muted[data-v-df56d2c1],.permission-tags span.muted[data-v-df56d2c1]{color:#8a8f98;background:#f4f5f7}.state-pill[data-v-df56d2c1]{height:23px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-style:normal;font-weight:600}.state-pill.ok[data-v-df56d2c1]{color:#16733d;background:#e8f7ee}.state-pill.off[data-v-df56d2c1]{color:#8a5a00;background:#fff5d6}.card-actions[data-v-df56d2c1]{margin-top:10px;padding-top:10px;border-top:1px solid #f0f1f3;display:flex;justify-content:flex-end;gap:6px}.card-actions button[data-v-df56d2c1],.permission-row button[data-v-df56d2c1]{height:28px;padding:0 9px;border:1px solid #d9dee7;border-radius:5px;color:#39414d;background:#fff;font-size:12px}.card-actions button[data-v-df56d2c1]:hover:not(:disabled),.permission-row button[data-v-df56d2c1]:hover:not(:disabled){color:#e35f43;border-color:#f1b5a8;background:#fff7f5}.card-actions button.danger[data-v-df56d2c1],.permission-row button.danger[data-v-df56d2c1]{color:#d92d20}.module-card[data-v-df56d2c1]{padding:0}.module-title[data-v-df56d2c1]{min-height:42px;padding:0 10px;justify-content:space-between;background:#fafbfc;border-bottom:1px solid #edf0f4}.module-title strong[data-v-df56d2c1]{font-size:14px}.permission-row[data-v-df56d2c1]{min-height:58px;padding:8px 10px;border-bottom:1px solid #f0f1f3;justify-content:space-between}.permission-row[data-v-df56d2c1]:last-child{border-bottom:0}.permission-row div[data-v-df56d2c1]{display:flex;gap:6px}.rbac-icon.refresh[data-v-df56d2c1]{position:relative;width:14px;height:14px;color:currentColor}.rbac-icon.refresh[data-v-df56d2c1]:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%}.rbac-icon.refresh[data-v-df56d2c1]:after{content:"";position:absolute;right:0;top:2px;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;transform:rotate(20deg)}.spinning[data-v-df56d2c1]{animation:spin-df56d2c1 .8s linear infinite}.rbac-modal[data-v-df56d2c1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;padding:24px;display:flex;align-items:center;justify-content:center;background:#1f232961}.rbac-dialog[data-v-df56d2c1]{width:min(620px,94vw);max-height:min(780px,92vh);border-radius:6px;background:#fff;box-shadow:0 18px 42px #1f232938;display:flex;flex-direction:column;overflow:hidden}.dialog-head[data-v-df56d2c1]{min-height:62px;padding:12px 14px;border-bottom:1px solid #e7eaf0;display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head strong[data-v-df56d2c1]{display:block;color:#1f2329;font-size:16px}.dialog-head em[data-v-df56d2c1]{display:block;margin-top:4px}.icon-close[data-v-df56d2c1]{width:32px;height:32px;border:0;border-radius:5px;position:relative;background:transparent}.icon-close[data-v-df56d2c1]:hover{background:#f3f4f6}.icon-close[data-v-df56d2c1]:before,.icon-close[data-v-df56d2c1]:after{content:"";position:absolute;left:9px;top:15px;width:14px;height:2px;border-radius:2px;background:#59616d}.icon-close[data-v-df56d2c1]:before{transform:rotate(45deg)}.icon-close[data-v-df56d2c1]:after{transform:rotate(-45deg)}.dialog-body[data-v-df56d2c1]{padding:14px;overflow-y:auto;display:grid;gap:12px}.form-field[data-v-df56d2c1]{display:grid;gap:6px}.form-field>span[data-v-df56d2c1],.check-head strong[data-v-df56d2c1]{color:#39414d;font-size:13px;font-weight:600}.form-field input[data-v-df56d2c1],.form-field textarea[data-v-df56d2c1]{width:100%;border:1px solid #d9dee7;border-radius:5px;outline:none;background:#fff;color:#1f2329;font-size:13px}.form-field input[data-v-df56d2c1]{height:36px;padding:0 10px}.form-field textarea[data-v-df56d2c1]{padding:9px 10px;resize:vertical}.form-field input[data-v-df56d2c1]:focus,.form-field textarea[data-v-df56d2c1]:focus{border-color:#e35f43;box-shadow:0 0 0 3px #e35f431f}.segmented[data-v-df56d2c1]{width:210px;height:34px;padding:3px;border-radius:5px;display:grid;grid-template-columns:1fr 1fr;background:#f0f1f3}.segmented button[data-v-df56d2c1]{border:0;border-radius:4px;background:transparent;color:#59616d;font-size:13px}.segmented button.active[data-v-df56d2c1]{color:#e35f43;background:#fff;box-shadow:0 1px 3px #1f232914}.check-panel[data-v-df56d2c1]{border:1px solid #e7eaf0;border-radius:6px;overflow:hidden}.check-panel.permissions[data-v-df56d2c1]{max-height:320px;overflow-y:auto}.check-head[data-v-df56d2c1]{min-height:40px;padding:0 10px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;background:#fafbfc}.check-row[data-v-df56d2c1]{min-height:46px;padding:8px 10px;border-bottom:1px solid #f0f1f3;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px}.check-row[data-v-df56d2c1]:last-child{border-bottom:0}.check-row input[data-v-df56d2c1]{width:16px;height:16px;accent-color:#e35f43}.check-row strong[data-v-df56d2c1],.check-row em[data-v-df56d2c1]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-row strong[data-v-df56d2c1]{color:#1f2329;font-size:13px}.permission-group[data-v-df56d2c1]{border-bottom:1px solid #edf0f4}.permission-group h4[data-v-df56d2c1]{margin:0;padding:10px;color:#59616d;background:#fff;font-size:13px}.dialog-actions[data-v-df56d2c1]{min-height:58px;padding:10px 14px;border-top:1px solid #e7eaf0;display:flex;justify-content:flex-end;gap:8px}button[data-v-df56d2c1]:disabled{cursor:not-allowed;opacity:.55}@keyframes spin-df56d2c1{to{transform:rotate(360deg)}}@media (max-width: 1180px){.rbac-grid[data-v-df56d2c1]{grid-template-columns:1fr}}@media (max-width: 760px){.rbac-head[data-v-df56d2c1]{align-items:flex-start;flex-direction:column}.rbac-head-actions[data-v-df56d2c1],.rbac-head-actions .rbac-btn[data-v-df56d2c1]{width:100%}.rbac-grid[data-v-df56d2c1]{padding:10px}.admin-card-main[data-v-df56d2c1]{grid-template-columns:36px minmax(0,1fr)}.admin-card-main .state-pill[data-v-df56d2c1]{grid-column:2;width:max-content}}.admin-table-toolbar[data-v-b8beeea6]{min-height:68px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e7eaf0}.toolbar-copy[data-v-b8beeea6]{min-width:190px}.toolbar-copy h2[data-v-b8beeea6]{margin:0;font-size:17px;font-weight:700}.toolbar-copy p[data-v-b8beeea6]{margin:4px 0 0;color:#8a8f98;font-size:12px}.toolbar-actions[data-v-b8beeea6]{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.toolbar-search[data-v-b8beeea6]{width:min(280px,32vw);height:34px;padding:0 10px;display:flex;align-items:center;gap:8px;border-radius:5px;background:#f0f1f3;border:1px solid transparent}.toolbar-search[data-v-b8beeea6]:focus-within{background:#fff;border-color:#d7dce5}.toolbar-search input[data-v-b8beeea6]{min-width:0;flex:1;height:100%;border:0;outline:none;background:transparent;color:#1f2329;font-size:13px}.toolbar-search-icon[data-v-b8beeea6]{position:relative;width:16px;height:16px;color:#8a8f98;flex:0 0 16px}.toolbar-search-icon[data-v-b8beeea6]:before{content:"";position:absolute;left:1px;top:1px;width:9px;height:9px;border:2px solid currentColor;border-radius:50%}.toolbar-search-icon[data-v-b8beeea6]:after{content:"";position:absolute;left:10px;top:11px;width:6px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}.admin-btn[data-v-b8beeea6]{height:34px;padding:0 13px;border-radius:5px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.admin-btn.primary[data-v-b8beeea6]{border:0;color:#fff;background:#e35f43}.admin-btn.primary[data-v-b8beeea6]:hover:not(:disabled){background:#cf5138}.admin-btn.ghost[data-v-b8beeea6]{border:1px solid #d9dee7;color:#39414d;background:#fff}.admin-btn.ghost[data-v-b8beeea6]:hover:not(:disabled){color:#e35f43;border-color:#f1b5a8;background:#fff7f5}.refresh-icon[data-v-b8beeea6]{position:relative;width:14px;height:14px;color:currentColor}.refresh-icon[data-v-b8beeea6]:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%}.refresh-icon[data-v-b8beeea6]:after{content:"";position:absolute;right:0;top:2px;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;transform:rotate(20deg)}.refresh-icon.spinning[data-v-b8beeea6]{animation:spin-b8beeea6 .8s linear infinite}[data-v-b8beeea6] select{height:34px;padding:0 28px 0 10px;border:1px solid #d9dee7;border-radius:5px;outline:none;background:#fff;color:#39414d;font-size:13px}@keyframes spin-b8beeea6{to{transform:rotate(360deg)}}@media (max-width: 760px){.admin-table-toolbar[data-v-b8beeea6]{align-items:flex-start;flex-direction:column}.toolbar-actions[data-v-b8beeea6],.toolbar-search[data-v-b8beeea6]{width:100%}}.trend-chart[data-v-b2d01bff]{min-height:280px;display:flex;align-items:center}.trend-chart.compact[data-v-b2d01bff]{min-height:170px;padding:10px 12px}.trend-chart svg[data-v-b2d01bff]{width:100%;height:300px}.trend-chart.compact svg[data-v-b2d01bff]{height:160px}.admin-page[data-v-33f5a2c9]{width:100vw;height:100vh;display:flex;overflow:hidden;background:#f0f2f5;color:#1f2329}.admin-page.compact .admin-view[data-v-33f5a2c9]{padding-left:20px;padding-right:20px}.admin-page.compact .panel-body[data-v-33f5a2c9]{min-height:320px}.admin-rail[data-v-33f5a2c9]{width:78px;flex:0 0 78px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff;border-right:1px solid #e2e5ea}.admin-logo[data-v-33f5a2c9]{width:34px;height:34px;margin-bottom:7px;display:flex;align-items:center;justify-content:center;color:#fff;background:#e35f43;font-size:12px;font-weight:700}.admin-nav[data-v-33f5a2c9]{width:66px;height:60px;border:0;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;color:#20242b;font-size:13px}.admin-nav[data-v-33f5a2c9]:hover{background:#f5f5f5}.admin-nav.active[data-v-33f5a2c9]{color:#e35f43;background:#ffeeeb;font-weight:600}.admin-nav em[data-v-33f5a2c9]{font-style:normal}.admin-nav.bottom[data-v-33f5a2c9]{margin-top:auto}.admin-main[data-v-33f5a2c9]{min-width:0;flex:1;overflow-y:auto}.admin-topbar[data-v-33f5a2c9]{min-height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid #e2e5ea}.admin-topbar p[data-v-33f5a2c9]{margin:2px 0 0;color:#8a8f98;font-size:12px}.admin-breadcrumb[data-v-33f5a2c9]{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600}.admin-tools[data-v-33f5a2c9]{display:flex;align-items:center;gap:8px}.admin-tools>button[data-v-33f5a2c9]{width:32px;height:32px;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#4e5661}.admin-tools>button[data-v-33f5a2c9]:hover{color:#e35f43;background:#f3f4f6}.admin-tabbar[data-v-33f5a2c9]{min-height:46px;padding:8px 12px 0;display:flex;align-items:flex-end;gap:5px;overflow-x:auto}.admin-tabbar button[data-v-33f5a2c9]{min-width:94px;height:38px;padding:0 18px;border:0;border-radius:6px 6px 0 0;background:transparent;color:#59616d;font-weight:500}.admin-tabbar button.active[data-v-33f5a2c9]{color:#e35f43;background:#ffeeeb}.admin-view[data-v-33f5a2c9]{padding:10px 12px 12px}.metric-grid[data-v-33f5a2c9]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card[data-v-33f5a2c9],.chart-panel[data-v-33f5a2c9],.data-panel[data-v-33f5a2c9],.mini-panel[data-v-33f5a2c9],.detail-card[data-v-33f5a2c9]{background:#fff;border:1px solid #dfe4ec;border-radius:5px}.metric-card[data-v-33f5a2c9]{min-height:142px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.metric-card p[data-v-33f5a2c9],.metric-card small[data-v-33f5a2c9],.metric-card strong[data-v-33f5a2c9]{display:block}.metric-card p[data-v-33f5a2c9]{margin:0 0 28px;font-size:15px;font-weight:600}.metric-card strong[data-v-33f5a2c9]{font-size:30px;line-height:1}.metric-card small[data-v-33f5a2c9]{margin-top:8px;color:#8a8f98;font-size:12px}.metric-icon[data-v-33f5a2c9]{width:62px;height:62px;flex:0 0 62px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#e35f43;background:#ffeeeb;position:relative}.admin-split[data-v-33f5a2c9]{margin-top:12px;display:grid;grid-template-columns:1fr;gap:12px}.panel-head[data-v-33f5a2c9],.section-head[data-v-33f5a2c9]{min-height:50px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dfe4ec}.section-head[data-v-33f5a2c9]{min-height:68px;padding:12px 14px}.panel-head.compact[data-v-33f5a2c9]{min-height:44px}.panel-head h3[data-v-33f5a2c9],.section-head h2[data-v-33f5a2c9]{margin:0;font-size:15px}.section-head h2[data-v-33f5a2c9]{font-size:17px}.section-head p[data-v-33f5a2c9]{margin:4px 0 0;color:#8a8f98;font-size:12px}.panel-head span[data-v-33f5a2c9]{color:#8a8f98;font-size:12px}.date-chip[data-v-33f5a2c9]{min-width:220px;height:32px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#606977;border:1px solid #d9dee7;border-radius:4px;font-size:13px}.panel-body[data-v-33f5a2c9]{min-height:360px;padding:16px 12px 18px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.work-grid[data-v-33f5a2c9]{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-panel[data-v-33f5a2c9]{min-height:238px}.task-list[data-v-33f5a2c9]{padding:10px 12px 14px;display:grid;gap:8px}.task-list button[data-v-33f5a2c9],.tool-grid button[data-v-33f5a2c9]{border:0;border-radius:5px;background:#f7f7f7;color:#1f2329;text-align:left}.task-list button[data-v-33f5a2c9]{min-height:48px;padding:8px 10px;display:grid;grid-template-columns:10px 120px 1fr;align-items:center;gap:10px}.task-list strong[data-v-33f5a2c9],.task-list em[data-v-33f5a2c9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list em[data-v-33f5a2c9]{color:#8a8f98;font-style:normal;font-size:12px}.task-dot[data-v-33f5a2c9]{width:8px;height:8px;border-radius:50%;display:inline-block;background:#576b95}.task-dot.ok[data-v-33f5a2c9]{background:#07c160}.task-dot.warn[data-v-33f5a2c9]{background:#e6a23c}.task-dot.danger[data-v-33f5a2c9]{background:#fa5151}.list-layout[data-v-33f5a2c9]{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;align-items:start}.data-panel[data-v-33f5a2c9]{min-width:0;overflow:hidden}.table-wrap[data-v-33f5a2c9]{min-height:420px;overflow-x:auto}.admin-table[data-v-33f5a2c9]{width:100%;border-collapse:collapse;table-layout:fixed}.admin-table th[data-v-33f5a2c9],.admin-table td[data-v-33f5a2c9]{height:56px;padding:0 14px;border-bottom:1px solid #f0f1f3;text-align:left;font-size:13px}.admin-dense{height:44px}.admin-table th[data-v-33f5a2c9]{height:42px;color:#707784;background:#fbfbfc;font-weight:600}.admin-table tr[data-v-33f5a2c9]{cursor:pointer}.admin-table tbody tr[data-v-33f5a2c9]:hover,.admin-table tbody tr.selected[data-v-33f5a2c9]{background:#fff7f5}.entity-cell[data-v-33f5a2c9]{min-width:0;display:flex;align-items:center;gap:10px}.entity-cell span[data-v-33f5a2c9]{min-width:0}.entity-cell strong[data-v-33f5a2c9],.entity-cell small[data-v-33f5a2c9]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-cell small[data-v-33f5a2c9]{margin-top:3px;color:#8a8f98;font-size:12px}.detail-card[data-v-33f5a2c9]{min-height:430px;padding:22px 18px;text-align:center;position:sticky;top:12px}.detail-card h3[data-v-33f5a2c9]{margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.detail-card>p[data-v-33f5a2c9]{margin:0 0 16px;color:#8a8f98;font-size:12px}.detail-stats[data-v-33f5a2c9]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.detail-stats span[data-v-33f5a2c9]{min-height:58px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f7f8}.detail-stats strong[data-v-33f5a2c9],.detail-stats em[data-v-33f5a2c9]{display:block}.detail-stats em[data-v-33f5a2c9]{margin-top:4px;color:#8a8f98;font-size:12px;font-style:normal}.detail-section[data-v-33f5a2c9]{padding:12px 0;border-top:1px solid #f0f1f3;text-align:left}.detail-section label[data-v-33f5a2c9],.detail-section strong[data-v-33f5a2c9]{display:block}.detail-section label[data-v-33f5a2c9]{margin-bottom:6px;color:#8a8f98;font-size:12px}.detail-section strong[data-v-33f5a2c9]{max-height:92px;overflow-y:auto;color:#39414d;font-size:13px;font-weight:500;line-height:1.5;word-break:break-word}.status-pill[data-v-33f5a2c9],.kind-pill[data-v-33f5a2c9]{height:24px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.status-pill.normal[data-v-33f5a2c9]{color:#16733d;background:#e8f7ee}.status-pill.danger[data-v-33f5a2c9]{color:#d92d20;background:#fff1f0}.kind-pill.direct[data-v-33f5a2c9]{color:#576b95;background:#edf1f8}.kind-pill.group[data-v-33f5a2c9]{color:#e35f43;background:#fff0eb}.admin-primary[data-v-33f5a2c9],.admin-danger[data-v-33f5a2c9]{height:34px;padding:0 13px;border:0;border-radius:5px;font-size:13px}.admin-primary[data-v-33f5a2c9]{color:#fff;background:#e35f43}.admin-primary[data-v-33f5a2c9]:hover:not(:disabled){background:#cf5138}.admin-primary.muted[data-v-33f5a2c9]{width:100%;margin-top:8px;color:#e35f43;background:#fff0eb}.admin-danger[data-v-33f5a2c9]{color:#fff;background:#fa5151}.message-list[data-v-33f5a2c9]{min-height:430px;padding:12px;display:grid;gap:10px}.message-card[data-v-33f5a2c9]{min-height:96px;padding:14px;border:1px solid #e7eaf0;border-radius:6px;display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:14px;background:#fff}.message-meta[data-v-33f5a2c9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-meta strong[data-v-33f5a2c9]{font-size:14px}.message-meta em[data-v-33f5a2c9],.message-meta small[data-v-33f5a2c9]{color:#8a8f98;font-size:12px;font-style:normal}.message-card p[data-v-33f5a2c9]{margin:10px 0 0;color:#39414d;line-height:1.55;word-break:break-word}.message-actions[data-v-33f5a2c9]{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px}.report-grid[data-v-33f5a2c9],.tool-grid[data-v-33f5a2c9]{padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-card[data-v-33f5a2c9]{min-height:146px;padding:16px;border:1px solid #e7eaf0;border-radius:6px;background:#fff}.report-card h3[data-v-33f5a2c9]{margin:14px 0 8px;font-size:15px}.report-card p[data-v-33f5a2c9]{margin:0;color:#8a8f98;font-size:13px}.report-card strong[data-v-33f5a2c9]{display:block;margin-top:18px;font-size:26px}.action-panel[data-v-33f5a2c9]{padding:20px}.action-panel h3[data-v-33f5a2c9]{margin:14px 0 8px;font-size:16px}.action-panel p[data-v-33f5a2c9]{margin:0 0 18px;color:#8a8f98;font-size:13px}.action-panel button[data-v-33f5a2c9]{height:32px;padding:0 12px;border:0;border-radius:5px;color:#fff;background:#e35f43}.tool-grid button[data-v-33f5a2c9]{min-height:118px;padding:16px;display:flex;flex-direction:column;gap:8px}.tool-grid button[data-v-33f5a2c9]:hover{background:#fff7f5}.tool-grid strong[data-v-33f5a2c9]{font-size:15px}.tool-grid em[data-v-33f5a2c9]{color:#8a8f98;font-size:12px;font-style:normal}.settings-list[data-v-33f5a2c9]{padding:10px 0}.admin-switch[data-v-33f5a2c9]{min-height:58px;padding:0 18px;border-bottom:1px solid #f0f1f3}.admin-switch span[data-v-33f5a2c9]{text-align:left}.admin-switch strong[data-v-33f5a2c9],.admin-switch em[data-v-33f5a2c9]{display:block}.admin-switch em[data-v-33f5a2c9]{margin-top:4px;color:#8a8f98;font-size:12px;font-style:normal}.admin-toast[data-v-33f5a2c9]{position:fixed;top:70px;right:24px;z-index:500;max-width:320px;padding:10px 14px;border-radius:6px;box-shadow:0 12px 28px #1f232929;color:#16733d;background:#e8f7ee;font-size:13px}.admin-toast.error[data-v-33f5a2c9]{color:#b42318;background:#fff1f0}.admin-footer[data-v-33f5a2c9]{height:30px;color:#9097a3;text-align:center;font-size:13px}.admin-icon[data-v-33f5a2c9],.metric-icon[data-v-33f5a2c9]{position:relative}.admin-icon[data-v-33f5a2c9]{width:18px;height:18px;display:inline-block;color:currentColor;flex:0 0 auto}.admin-icon[data-v-33f5a2c9]:before,.admin-icon[data-v-33f5a2c9]:after,.metric-icon[data-v-33f5a2c9]:before,.metric-icon[data-v-33f5a2c9]:after{content:"";position:absolute;box-sizing:border-box}.icon-home[data-v-33f5a2c9]:before,.icon-home-sm[data-v-33f5a2c9]:before{left:3px;top:7px;width:12px;height:9px;border:2px solid currentColor;border-top:0}.icon-home[data-v-33f5a2c9]:after,.icon-home-sm[data-v-33f5a2c9]:after{left:3px;top:2px;width:12px;height:12px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}.icon-user[data-v-33f5a2c9]:before{left:6px;top:2px;width:6px;height:6px;border:2px solid currentColor;border-radius:50%}.icon-user[data-v-33f5a2c9]:after{left:3px;top:10px;width:12px;height:7px;border:2px solid currentColor;border-radius:8px 8px 3px 3px}.metric-icon.icon-user[data-v-33f5a2c9]:before{left:23px;top:15px;width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.metric-icon.icon-user[data-v-33f5a2c9]:after{left:17px;top:34px;width:28px;height:15px;border:2px solid currentColor;border-radius:18px 18px 6px 6px}.icon-group-admin[data-v-33f5a2c9]:before,.metric-icon.icon-group-admin[data-v-33f5a2c9]:before{left:5px;top:3px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%;box-shadow:-7px 4px 0 -3px currentColor,7px 4px 0 -3px currentColor}.icon-group-admin[data-v-33f5a2c9]:after,.metric-icon.icon-group-admin[data-v-33f5a2c9]:after{left:2px;top:12px;width:14px;height:5px;border:2px solid currentColor;border-radius:8px 8px 3px 3px}.metric-icon.icon-group-admin[data-v-33f5a2c9]:before{left:25px;top:14px;width:13px;height:13px}.metric-icon.icon-group-admin[data-v-33f5a2c9]:after{left:17px;top:34px;width:28px;height:12px}.icon-message[data-v-33f5a2c9]:before,.metric-icon.icon-message[data-v-33f5a2c9]:before,.icon-chat-sm[data-v-33f5a2c9]:before{left:2px;top:3px;width:14px;height:10px;border:2px solid currentColor;border-radius:5px}.icon-message[data-v-33f5a2c9]:after,.metric-icon.icon-message[data-v-33f5a2c9]:after,.icon-chat-sm[data-v-33f5a2c9]:after{left:6px;top:12px;width:6px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:skew(-20deg)}.metric-icon.icon-message[data-v-33f5a2c9]:before{left:16px;top:19px;width:30px;height:21px}.metric-icon.icon-message[data-v-33f5a2c9]:after{left:25px;top:38px}.icon-report[data-v-33f5a2c9]:before{left:4px;top:2px;width:10px;height:14px;border:2px solid currentColor;border-radius:3px}.icon-report[data-v-33f5a2c9]:after{left:8px;top:5px;width:2px;height:7px;background:currentColor;box-shadow:0 9px 0 currentColor}.icon-workbench[data-v-33f5a2c9]:before,.icon-table-sm[data-v-33f5a2c9]:before,.metric-icon.icon-table-sm[data-v-33f5a2c9]:before{top:2px;right:2px;bottom:2px;left:2px;border:2px solid currentColor}.icon-workbench[data-v-33f5a2c9]:after,.icon-table-sm[data-v-33f5a2c9]:after,.metric-icon.icon-table-sm[data-v-33f5a2c9]:after{left:2px;top:8px;width:14px;height:2px;background:currentColor;box-shadow:0 5px 0 currentColor}.metric-icon.icon-table-sm[data-v-33f5a2c9]:before{top:17px;right:17px;bottom:17px;left:17px}.metric-icon.icon-table-sm[data-v-33f5a2c9]:after{left:17px;top:29px;width:28px}.icon-tools[data-v-33f5a2c9]:before{left:2px;top:8px;width:14px;height:2px;background:currentColor;transform:rotate(45deg)}.icon-tools[data-v-33f5a2c9]:after{left:2px;top:8px;width:14px;height:2px;background:currentColor;transform:rotate(-45deg)}.icon-settings[data-v-33f5a2c9]:before{top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-radius:50%}.icon-settings[data-v-33f5a2c9]:after{left:8px;top:0;width:2px;height:18px;background:currentColor;transform:rotate(45deg)}.icon-back[data-v-33f5a2c9]:before{left:4px;top:5px;width:10px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.icon-back[data-v-33f5a2c9]:after{left:5px;top:8px;width:12px;height:2px;background:currentColor}.icon-refresh-sm[data-v-33f5a2c9]:before{top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%}.icon-refresh-sm[data-v-33f5a2c9]:after{right:2px;top:3px;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transform:rotate(20deg)}.icon-refresh-sm.spinning[data-v-33f5a2c9]{animation:spin-33f5a2c9 .8s linear infinite}.icon-expand-sm[data-v-33f5a2c9]:before{top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-radius:2px}.icon-expand-sm[data-v-33f5a2c9]:after{right:1px;top:1px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor}.icon-calendar-sm[data-v-33f5a2c9]:before{left:3px;top:4px;width:12px;height:11px;border:2px solid currentColor;border-radius:2px}.icon-calendar-sm[data-v-33f5a2c9]:after{left:5px;top:8px;width:8px;height:2px;background:currentColor}@keyframes spin-33f5a2c9{to{transform:rotate(360deg)}}@media (max-width: 1200px){.metric-grid[data-v-33f5a2c9]{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-body[data-v-33f5a2c9],.list-layout[data-v-33f5a2c9]{grid-template-columns:1fr}.detail-card[data-v-33f5a2c9]{position:static}}@media (max-width: 760px){.admin-page[data-v-33f5a2c9]{display:block;overflow-y:auto}.admin-rail[data-v-33f5a2c9]{display:none}.admin-main[data-v-33f5a2c9]{overflow:visible}.admin-topbar[data-v-33f5a2c9]{align-items:flex-start;padding:12px}.admin-tools[data-v-33f5a2c9]{gap:6px}.metric-grid[data-v-33f5a2c9],.work-grid[data-v-33f5a2c9],.report-grid[data-v-33f5a2c9],.tool-grid[data-v-33f5a2c9],.message-card[data-v-33f5a2c9]{grid-template-columns:1fr}.message-actions[data-v-33f5a2c9]{align-items:flex-start;flex-direction:row}}.admin-login[data-v-4e9f2ee3]{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 28% 20%,rgba(227,95,67,.13),transparent 28%),linear-gradient(135deg,#f5f6f8,#e7eaef)}.admin-login-card[data-v-4e9f2ee3]{width:min(390px,100%);padding:32px;border:1px solid rgba(255,255,255,.8);border-radius:10px;background:#fffffff2;box-shadow:0 18px 45px #1f232924}.admin-login-logo[data-v-4e9f2ee3]{width:38px;height:38px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:#fff;background:#e35f43;font-weight:700}.admin-login-card h1[data-v-4e9f2ee3]{margin:0 0 8px;text-align:center;font-size:24px}.admin-login-card p[data-v-4e9f2ee3]{margin:0 0 22px;color:#8a8f98;text-align:center;font-size:13px;line-height:1.5}.admin-login-card label[data-v-4e9f2ee3]{display:block;margin-bottom:12px}.admin-login-card span[data-v-4e9f2ee3]{display:block;margin-bottom:6px;color:#59616d;font-size:13px}.admin-login-card input[data-v-4e9f2ee3]{width:100%;height:40px;padding:0 11px;border:1px solid #d9dee7;border-radius:5px;outline:none;background:#f7f8fa}.admin-login-card input[data-v-4e9f2ee3]:focus{border-color:#e9a391;background:#fff}.admin-login-card button[data-v-4e9f2ee3]{width:100%;height:40px;margin-top:4px;border:0;border-radius:5px;color:#fff;background:#e35f43;font-weight:600}.admin-login-card a[data-v-4e9f2ee3]{display:block;margin-top:16px;text-align:center;color:#576b95;font-size:13px}.admin-login-error[data-v-4e9f2ee3]{margin-bottom:12px;padding:9px 10px;border:1px solid #ffd3cf;border-radius:5px;color:#b42318;background:#fff1f0;font-size:13px;text-align:center}*{box-sizing:border-box}:root{--bg-app: #e7e8eb;--bg-panel: #f7f7f7;--bg-panel-strong: #ededed;--bg-card: #ffffff;--border-soft: #d9d9d9;--border-light: #ececec;--text-main: #1f2329;--text-muted: #8a8f98;--text-soft: #b0b5bd;--wechat: #07c160;--wechat-dark: #05a950;--bubble-me: #95ec69;--bubble-other: #ffffff;--danger: #fa5151;--warning: #e6a23c;--shadow-panel: 0 18px 45px rgba(31, 35, 41, .12)}html,body,#app{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-app);color:var(--text-main)}body{min-width:320px;overflow:hidden}#app{display:flex;align-items:center;justify-content:center;padding:24px}a{color:var(--wechat-dark);text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,.rich-editor{color:var(--text-main)}.auth-wrap{width:100%;height:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 30% 20%,rgba(7,193,96,.11),transparent 28%),linear-gradient(135deg,#f4f5f7,#e1e5e9)}.auth-card{width:min(390px,100%);background:#fffffff0;border:1px solid rgba(255,255,255,.7);border-radius:10px;padding:34px 34px 30px;box-shadow:var(--shadow-panel)}.auth-card h1{margin:0 0 26px;font-size:24px;line-height:1.2;text-align:center;font-weight:600;letter-spacing:0}.auth-card input{width:100%;height:42px;padding:0 12px;margin-bottom:12px;border:1px solid transparent;border-bottom-color:var(--border-soft);border-radius:0;background:#f6f7f8;outline:none;font-size:14px;transition:border-color .16s,background .16s}.auth-card input:focus{border-bottom-color:var(--wechat);background:#fff}.auth-card button{width:100%;height:42px;margin-top:6px;border:0;border-radius:4px;background:var(--wechat);color:#fff;font-size:15px;font-weight:500}.auth-card button:hover:not(:disabled){background:var(--wechat-dark)}.auth-card .hint{margin-top:16px;text-align:center;font-size:13px;color:var(--text-muted)}.auth-card .error{margin:-10px 0 12px;padding:8px 10px;color:#b42318;background:#fff1f0;border:1px solid #ffd3cf;border-radius:4px;font-size:13px;text-align:center}.chat,.group-page{width:min(1080px,calc(100vw - 96px));height:min(720px,calc(100vh - 80px));min-width:860px;min-height:560px;display:flex;overflow:hidden;resize:both;background:var(--bg-panel-strong);border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 18px 46px #14181f38}.sidebar{width:300px;min-width:260px;background:var(--bg-panel);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;overflow:hidden}.sidebar .me,.sidebar-header{min-height:72px;padding:14px 16px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:12px}.me-info{min-width:0;display:flex;align-items:center;gap:11px}.sidebar .me .name,.sidebar-header h3{margin:0;max-width:150px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600}.sidebar .me .logout,.btn-sm,.btn-xs,.sidebar .search button,.sidebar .item .add,.composer button,.modal-actions button,.forward-cancel{border:0;border-radius:4px;transition:background .16s,color .16s,opacity .16s,border-color .16s}.sidebar .me .logout{padding:5px 8px;color:var(--text-muted);background:transparent;font-size:12px}.sidebar .me .logout:hover{color:var(--danger);background:#f0f0f0}.sidebar .search{padding:12px 14px;border-bottom:1px solid var(--border-light);display:flex;gap:8px}.sidebar .search input,.search-bar input{min-width:0;height:34px;padding:0 11px;border:1px solid transparent;border-radius:4px;background:#e9eaec;outline:none;font-size:13px}.sidebar .search input:focus,.search-bar input:focus{background:#fff;border-color:#cfd3d8}.sidebar .search input{flex:1}.sidebar .search button{width:42px;color:#4a4f57;background:#dedfe2;font-size:13px}.sidebar .search button:hover{background:#d2d4d8}.sidebar .list,.req-list{flex:1;overflow-y:auto}.sidebar .item,.group-item,.req-item,.forward-item,.member-row,.file-row{min-width:0;display:flex;align-items:center}.sidebar .item,.group-item{position:relative;min-height:66px;padding:11px 16px;border-bottom:1px solid rgba(0,0,0,.035);cursor:pointer;gap:10px;transition:background .14s}.sidebar .item:hover,.group-item:hover{background:#ececed}.sidebar .item.active,.group-item.active{background:#dfdfdf}.sidebar .item.pinned,.group-item.pinned{background:#f7f7f7}.sidebar .item>div,.group-item>div{min-width:0}.sidebar .item>div{flex:1}.sidebar .item .nick,.group-name{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500}.sidebar .item .un,.group-meta,.empty-hint{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);font-size:12px}.item-time{align-self:flex-start;flex:0 0 auto;margin-left:auto;max-width:48px;padding-top:2px;color:#a4a8af;font-size:11px;line-height:1.2;text-align:right;white-space:nowrap}.pin-mark{position:absolute;right:14px;bottom:10px;padding:1px 5px;border-radius:4px;color:#8a8f99;background:#f0f1f3;font-size:11px}.sidebar .item .add{margin-left:auto;padding:4px 8px;color:var(--wechat-dark);background:transparent;font-size:12px;white-space:nowrap}.sidebar .item .add:hover{background:#07c1601a}.avatar-wrap{position:relative;flex:none;cursor:pointer}.avatar-wrap:hover:after{content:"✏";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000006b;color:#fff;border-radius:6px;font-size:14px}.avatar,.avatar-placeholder{width:42px;height:42px;border-radius:6px}.avatar,.avatar-sm{object-fit:cover;display:block}.avatar-placeholder{background:linear-gradient(135deg,#6cbf83,#3d8f5d);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;flex-shrink:0}.avatar-sm,span.avatar-sm.avatar-placeholder{width:38px;height:38px;border-radius:6px;flex-shrink:0}span.avatar-sm.avatar-placeholder{background:linear-gradient(135deg,#9aa4b2,#687386);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.badge{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;color:#fff;background:var(--danger);border-radius:999px;font-size:11px;font-weight:600;line-height:18px;margin-left:6px;vertical-align:middle}.main{min-width:0;flex:1;display:flex;flex-direction:column;background:var(--bg-panel-strong)}.main .header,.header{min-height:62px;padding:0 22px;background:#f5f5f5;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600}.main .header .status,.status,.member-count{color:var(--text-muted);font-size:12px;font-weight:400}.status{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.ws-indicator{display:inline-block;width:7px;height:7px;border-radius:50%}.ws-indicator.on{background:var(--wechat);box-shadow:0 0 0 3px #07c1601f}.ws-indicator.off{background:var(--danger);box-shadow:0 0 0 3px #fa51511c}.messages{flex:1;min-height:0;overflow-y:auto;padding:22px 24px 18px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(#edededed,#edededed),radial-gradient(circle at 20% 10%,rgba(255,255,255,.8),transparent 28%)}.empty,.empty-hint{color:var(--text-muted);text-align:center}.empty{margin:auto;padding:20px;font-size:14px}.empty-hint{padding:22px 16px}.msg{position:relative;max-width:min(68%,620px);padding:9px 12px;border-radius:5px;line-height:1.55;font-size:14px;word-break:break-word;box-shadow:0 1px #0000000a}.msg.mine{align-self:flex-end;color:#101418;background:var(--bubble-me)}.msg.theirs{align-self:flex-start;color:#101418;background:var(--bubble-other)}.msg.mine:after,.msg.theirs:after{content:"";position:absolute;top:11px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent}.msg.mine:after{right:-7px;border-left:7px solid var(--bubble-me)}.msg.theirs:after{left:-7px;border-right:7px solid var(--bubble-other)}.msg img,.msg video{max-width:min(300px,58vw);border-radius:6px;display:block}.msg a{color:#2563eb}.msg .meta,.meta{margin-top:4px;color:#1f23297a;font-size:11px;line-height:1.2}.msg.mine .meta{text-align:right}.composer{min-height:156px;padding:10px 16px 14px;background:#f7f7f7;border-top:1px solid var(--border-soft);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:8px 10px;align-items:end}.editor-toolbar{grid-column:1 / -1;display:flex;align-items:center;gap:4px;min-height:28px}.emoji-btn,.close-reply,.search-bar button{width:30px;height:28px;padding:0;border:0;border-radius:4px;color:#525863;background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.emoji-btn:hover,.close-reply:hover,.search-bar button:hover:not(:disabled){background:#e6e6e6}.rich-editor{min-height:76px;max-height:138px;overflow-y:auto;padding:8px 4px;outline:none;border:0;background:transparent;font-size:15px;line-height:1.55;word-break:break-word}.rich-editor:empty:before{content:attr(placeholder);color:var(--text-soft);pointer-events:none}.composer>button:last-child{width:82px;height:34px;margin-bottom:4px;color:#fff;background:var(--wechat);font-size:14px;font-weight:500}.composer>button:last-child:hover:not(:disabled){background:var(--wechat-dark)}.composer>button:last-child:disabled{color:#8b9098;background:#dedfe2}.recording{color:#fff!important;background:var(--danger)!important;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.58}}.rec-indicator{color:var(--danger);font-size:12px;font-weight:500}.mobile-toggle,.sidebar-overlay{display:none}.modal-overlay,.forward-overlay,.img-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300}.modal-overlay,.forward-overlay{display:flex;align-items:center;justify-content:center;padding:22px;background:#00000047}.modal,.forward-modal{width:min(460px,100%);max-height:min(78vh,720px);overflow-y:auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 20px 60px #0000002e}.modal h3,.forward-modal h3{margin:0 0 14px;font-size:17px;font-weight:600}.modal input,.modal textarea{width:100%;padding:9px 10px;border:1px solid var(--border-soft);border-radius:4px;outline:none;resize:vertical}.modal input:focus,.modal textarea:focus{border-color:var(--wechat)}.modal-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.modal-actions button,.btn-sm,.btn-xs{color:#fff;background:var(--wechat)}.modal-actions button:hover:not(:disabled),.btn-sm:hover:not(:disabled),.btn-xs:hover:not(:disabled){background:var(--wechat-dark)}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-xs{height:24px;padding:0 8px;font-size:11px}.danger,.btn-sm.danger,.btn-xs.danger{background:var(--danger)!important}.danger:hover,.btn-sm.danger:hover,.btn-xs.danger:hover{background:#dc3b3b!important}.img-preview-overlay{display:flex;align-items:center;justify-content:center;background:#000000d1;cursor:zoom-out}.img-preview-overlay img{max-width:92vw;max-height:92vh;border-radius:8px}@media (max-width: 768px){#app{padding:0}body{overflow:hidden}.auth-wrap{padding:18px}.auth-card{padding:28px 22px 24px}.chat,.group-page{position:relative;width:100vw;height:100vh;min-width:0;min-height:0;resize:none;border:0;border-radius:0;box-shadow:none}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:220;width:min(84vw,330px);transform:translate(-100%);transition:transform .22s ease;box-shadow:12px 0 30px #0000002e}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;background:#00000047}.mobile-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:230;width:38px;height:38px;border:0;border-radius:6px;color:#2b2f36;background:#ffffffe6;box-shadow:0 8px 22px #00000024;font-size:18px}.main .header,.header{min-height:58px;padding-left:60px;padding-right:14px}.messages{padding:18px 14px}.msg{max-width:82%}.composer{min-height:142px;padding:8px 10px 12px;grid-template-columns:1fr auto}.composer>button:last-child{width:68px}.modal-overlay,.forward-overlay{align-items:flex-end;padding:14px}.modal,.forward-modal{width:100%;max-height:82vh}}.chat.chat .req-bar,.chat.chat .group-link,.group-page.group-page .back-link{min-height:44px;padding:0 16px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);color:#4c535c;background:#f1f1f1;display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.chat.chat .group-link,.group-page.group-page .back-link{margin-top:auto;justify-content:center;color:var(--wechat-dark);font-weight:500}.chat.chat .req-bar:hover,.chat.chat .group-link:hover,.group-page.group-page .back-link:hover{background:#e9e9e9}.chat.chat .req-list{flex:none;max-height:210px;border-bottom:1px solid var(--border-light);background:#fbfbfb}.chat.chat .req-item{min-height:48px;padding:8px 16px;gap:8px;font-size:13px}.chat.chat .req-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat.chat .btn-accept,.chat.chat .btn-reject{height:26px;padding:0 9px;border:0;border-radius:4px;color:#fff;font-size:12px}.chat.chat .btn-accept{background:var(--wechat)}.chat.chat .btn-reject{background:#c8ccd2}.chat.chat .search-bar{min-height:46px;padding:6px 14px;border-bottom:1px solid var(--border-soft);background:#f2f2f2;display:flex;align-items:center;gap:8px}.chat.chat .search-bar input{flex:1}.chat.chat .search-results{max-height:210px;overflow-y:auto;padding:10px 14px;border-bottom:1px solid var(--border-soft);background:#fffdf5;font-size:13px}.chat.chat .result-item{padding:8px 10px;border-radius:4px}.chat.chat .result-item:hover{background:#fff4d8}.chat.chat .typing-hint{padding:6px 24px 0;color:var(--text-muted);background:var(--bg-panel-strong);font-size:12px;font-style:italic}.chat.chat .composer .reply-bar{grid-column:1 / -1;margin:-2px 0 0;padding:7px 10px;border-left:3px solid var(--wechat);border-radius:4px;color:#5c6370;background:#eef8f2;display:flex;align-items:center;gap:8px;font-size:12px}.chat.chat .composer .reply-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat.chat .composer .reply-bar .close-reply{margin-left:auto;flex:none}.chat.chat .composer .editor-toolbar,.group-page.group-page .composer .editor-toolbar{width:100%;margin:0;padding:0;border:0;display:flex;gap:4px}.chat.chat .composer .emoji-btn,.group-page.group-page .composer .emoji-btn{border:0;border-radius:4px;background:transparent;color:#4f5661;font-weight:600}.chat.chat .composer .emoji-btn:hover,.group-page.group-page .composer .emoji-btn:hover{color:#e35f43;background:#ededed}.chat.chat .composer .rich-editor,.group-page.group-page .composer .rich-editor{flex:1;min-height:76px;max-height:138px;padding:8px 4px;border:0;border-radius:0;background:transparent;font-size:15px}.chat.chat .emoji-picker{grid-column:1 / -1;max-height:150px;overflow-y:auto;padding:8px;border:1px solid var(--border-light);border-radius:6px;background:#fff;display:flex;flex-wrap:wrap;gap:4px}.chat.chat .emoji-item{width:28px;height:28px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.chat.chat .emoji-item:hover{background:#f1f1f1}.chat.chat .msg-actions{margin-left:8px;opacity:0;transition:opacity .16s;display:inline-flex;gap:4px}.chat.chat .msg:hover .msg-actions{opacity:1}.chat.chat .msg-actions button{padding:0 4px;border:0;color:#1f23298c;background:transparent;font-size:11px}.chat.chat .msg-actions button:hover{color:var(--wechat-dark)}.chat.chat .reply-block{max-width:100%;margin-bottom:6px;padding:5px 7px;border-left:2px solid rgba(0,0,0,.18);border-radius:4px;color:#1f23299e;background:#ffffff61;font-size:12px}.chat.chat .forward-modal{border-radius:8px}.chat.chat .forward-item{min-height:42px;padding:0 10px;border-radius:4px;cursor:pointer}.chat.chat .forward-item:hover{background:#f4f5f6}.chat.chat .forward-cancel{width:100%;height:36px;margin-top:12px;color:#4a5058;background:#f0f1f2}.group-page.group-page .sidebar{width:300px;background:var(--bg-panel)}.group-page.group-page .sidebar-header{padding:14px 16px}.group-page.group-page .group-item{position:relative;display:flex;align-items:center;gap:10px;min-height:60px;padding-right:52px}.group-list-avatar,.header-group-avatar,.group-avatar-grid{overflow:hidden;background:#e9edf2;display:grid;gap:2px}.group-list-avatar{width:40px;height:40px;flex:0 0 40px;padding:3px;border-radius:8px;grid-template-columns:repeat(3,1fr)}.header-group-avatar{width:34px;height:34px;flex:0 0 34px;padding:3px;border-radius:7px;grid-template-columns:repeat(2,1fr)}.group-list-avatar>img,.header-group-avatar>img,.group-avatar-grid>img{width:100%;height:100%;grid-column:1 / -1;grid-row:1 / -1;object-fit:cover;border-radius:inherit}.group-list-avatar span,.header-group-avatar span,.group-avatar-grid span{min-width:0;min-height:0;border-radius:3px;background:#fff;color:#79808b;display:flex;align-items:center;justify-content:center;overflow:hidden}.group-list-avatar span img,.header-group-avatar span img,.group-avatar-grid span img{width:100%;height:100%;object-fit:cover}.group-list-avatar b,.header-group-avatar b,.group-avatar-grid b{font-size:9px;line-height:1}.group-list-text{min-width:0}.group-page.group-page .group-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.group-page.group-page .group-item.active{border-left:0}.list-unread-badge{position:absolute;right:14px;bottom:10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fa5151;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:18px;flex:0 0 auto;box-shadow:0 2px 7px #fa515140}.chat.chat .sidebar .item .list-unread-badge{margin-left:auto}.group-page.group-page .group-item .list-unread-badge{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.group-page.group-page .main{background:var(--bg-panel-strong)}.group-page.group-page .header{min-height:62px;padding:0 22px;flex-wrap:nowrap}.group-page.group-page .group-title{min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600}.group-page.group-page .header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.group-page.group-page .header-actions .btn-sm{height:30px!important;padding:0 10px!important;border:0!important;border-radius:6px!important;color:#59616d!important;background:#f2f3f5!important;display:inline-flex;align-items:center;gap:4px;font-size:12px!important;font-weight:500}.group-page.group-page .header-actions .btn-sm:hover{color:#e35f43!important;background:#eceef1!important}.group-page.group-page .header-actions .btn-sm.danger{color:#fff!important;background:#fa5151!important}.group-page.group-page .messages{display:flex;flex-direction:column;gap:10px;padding:22px 24px 18px}.group-message-row{width:100%;display:flex;align-items:flex-start;gap:10px}.group-message-row.mine{justify-content:flex-end}.message-stack{max-width:min(68%,620px);display:flex;flex-direction:column}.group-message-row.mine .message-stack{align-items:flex-end}.message-avatar{width:36px;height:36px;border-radius:7px;overflow:hidden;flex:0 0 36px;background:#e9ecef;color:#6f7680;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.message-avatar img{width:100%;height:100%;object-fit:cover}.sender-role{margin-left:5px;padding:1px 5px;border-radius:4px;color:#e35f43;background:#fff0eb;font-size:10px;font-weight:600}.group-page.group-page .msg{margin:0;padding:9px 12px}.group-page.group-page .msg.mine{margin-left:0;align-self:flex-end;background:var(--bubble-me)}.group-page.group-page .msg.theirs{margin-right:0;align-self:flex-start;background:var(--bubble-other)}.group-page.group-page .sender-name{margin-bottom:4px;color:#5f6671;font-size:11px;font-weight:500}.group-page.group-page .at-tag{margin-bottom:4px;color:var(--warning);font-size:12px}.group-page.group-page .composer{min-height:148px;padding:10px 16px 14px;border-top:1px solid var(--border-soft);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;align-items:end;gap:8px 10px}.group-page.group-page .at-picker{grid-column:1 / -1;width:100%;max-height:160px;overflow-y:auto;padding:6px;border:1px solid var(--border-light);border-radius:6px;background:#fff}.group-page.group-page .at-option,.group-page.group-page .friend-option{padding:7px 9px;border-radius:4px;color:#3c424b;cursor:pointer;font-size:13px}.group-page.group-page .at-option:hover,.group-page.group-page .friend-option:hover{background:#f2f3f4}.group-page.group-page .friend-option.selected{color:var(--wechat-dark);background:#07c1601a}.group-page.group-page .friend-select{max-height:220px;overflow-y:auto;margin-bottom:10px;padding:5px;border:1px solid var(--border-light);border-radius:6px}.group-page.group-page .member-row,.group-page.group-page .file-row{min-height:38px;padding:7px 0;gap:8px;border-bottom:1px solid #f1f1f1}.group-page.group-page .member-name,.group-page.group-page .file-row a{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-page.group-page .member-role{height:20px;padding:0 7px;border-radius:4px;display:inline-flex;align-items:center;font-size:11px}.group-page.group-page .member-role.owner{color:#b42318;background:#fff1f0}.group-page.group-page .member-role.admin{color:#2563eb;background:#eef4ff}.group-page.group-page .member-role.member{color:var(--text-muted);background:#f3f4f6}.group-page.group-page .notice-content{padding:12px;border:1px solid #f3dfaa;border-radius:6px;background:#fff9e8;white-space:pre-wrap}.group-page.group-page .file-meta{color:var(--text-muted);font-size:12px}@media (max-width: 768px){.group-page.group-page .header{min-height:58px;padding-left:60px;flex-wrap:wrap}.group-page.group-page .header-actions{width:100%;margin-left:0;padding-bottom:8px}.group-page.group-page .messages,.chat.chat .messages{padding:18px 14px}.chat.chat .typing-hint{padding-left:14px}}.app-rail{width:58px;flex:0 0 58px;padding:22px 9px 14px;background:#f8f8f8;border-right:1px solid #e1e1e1;display:flex;flex-direction:column;align-items:center;gap:14px}.rail-avatar{width:38px;height:38px;border-radius:8px;overflow:hidden;position:relative;background:linear-gradient(135deg,#f1b36f,#d65f45);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #00000014}.rail-avatar:after{content:"换";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:#00000075;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;font-size:12px;transition:opacity .16s}.rail-avatar:hover:after{opacity:1}.rail-avatar img{width:100%;height:100%;object-fit:cover}.rail-btn{width:36px;height:36px;border:0;border-radius:8px;position:relative;color:#8b9098;background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.rail-btn:hover,.rail-btn.active{color:#fff;background:#e35f43}.ui-icon{position:relative;width:18px;height:18px;display:inline-block;color:currentColor;flex:0 0 auto}.icon-chat:before{content:"";position:absolute;left:2px;top:3px;width:13px;height:10px;border:2px solid currentColor;border-radius:5px}.icon-chat:after{content:"";position:absolute;left:5px;top:12px;width:6px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:skew(-25deg) rotate(-10deg)}.icon-group:before,.icon-group:after{content:"";position:absolute;border:2px solid currentColor;border-radius:50%}.icon-group:before{left:6px;top:2px;width:6px;height:6px}.icon-group:after{left:2px;top:10px;width:12px;height:6px;border-radius:8px 8px 4px 4px}.icon-logout:before{content:"";position:absolute;left:2px;top:3px;width:9px;height:12px;border:2px solid currentColor;border-right:0;border-radius:2px}.icon-logout:after{content:"›";position:absolute;right:1px;top:-2px;font-size:24px;line-height:18px;font-weight:700}.icon-plus:before,.icon-plus:after{content:"";position:absolute;left:4px;top:8px;width:10px;height:2px;border-radius:2px;background:currentColor}.icon-plus:after{transform:rotate(90deg)}.icon-refresh:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%}.icon-refresh:after{content:"";position:absolute;right:2px;top:3px;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transform:rotate(20deg)}.icon-search:before{content:"";position:absolute;left:3px;top:3px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}.icon-search:after{content:"";position:absolute;left:11px;top:12px;width:7px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg);transform-origin:left center}.icon-members:before,.icon-notice:before,.icon-file:before,.icon-clip:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-radius:4px}.icon-members:after{content:"";position:absolute;left:6px;top:6px;width:6px;height:6px;border-radius:50%;background:currentColor}.icon-notice:before{border-radius:50% 50% 4px 4px}.icon-notice:after{content:"";position:absolute;left:7px;bottom:2px;width:4px;height:2px;border-radius:2px;background:currentColor}.icon-file:after{content:"";position:absolute;right:4px;top:4px;width:5px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor}.icon-clip:before{top:2px;right:5px;bottom:2px;left:5px;border-radius:9px;transform:rotate(18deg)}.rail-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#fa5151;box-shadow:0 2px 6px #fa515159}.rail-bottom{margin-top:auto}.panel-title{min-height:72px;padding:16px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{font-size:18px;line-height:1.2;font-weight:700}.panel-subtitle{margin-top:4px;color:var(--text-muted);font-size:12px;max-width:176px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.panel-action{width:30px;height:30px;border:0;border-radius:7px;color:#404650;background:#e9e9ea;display:inline-flex;align-items:center;justify-content:center}.panel-action:hover{color:#fff;background:#e35f43}.panel-menu-wrap{position:relative}.panel-menu{position:absolute;top:38px;right:0;z-index:50;width:138px;padding:6px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 12px 28px #1f232929}.panel-menu button{width:100%;height:34px;padding:0 8px;border:0;border-radius:6px;color:#343a43;background:transparent;display:flex;align-items:center;gap:8px;font-size:13px;text-align:left}.panel-menu button:hover{color:#e35f43;background:#f5f5f5}.panel-menu .ui-icon{width:16px;height:16px}.chat.chat .sidebar,.group-page.group-page .sidebar{width:270px;min-width:270px;background:#f4f4f5}.chat.chat .main,.group-page.group-page .main{background:#f7f7f7}.chat.chat .main .header,.group-page.group-page .header{background:#fff;border-bottom-color:#eee}.chat.chat .messages,.group-page.group-page .messages{background:linear-gradient(#f9f9f9f0,#f9f9f9f0),radial-gradient(circle at 10px 10px,rgba(220,224,230,.5) 1px,transparent 1px);background-size:auto,22px 22px}.detail-panel{width:304px;flex:0 0 304px;background:#fff;border-left:1px solid #eeeeee;overflow-y:auto;display:flex;flex-direction:column}.detail-toolbar{height:42px;flex:0 0 42px;padding:0 12px 0 16px;border-bottom:1px solid #f1f1f1;display:flex;align-items:center;justify-content:space-between;color:#59616d;font-size:13px;font-weight:600}.detail-toolbar button,.header-detail-toggle{border:0;border-radius:6px;background:transparent;color:#7b828c;display:inline-flex;align-items:center;justify-content:center}.detail-toolbar button{width:28px;height:28px;padding:0;font-size:20px;line-height:1}.header-detail-toggle{height:30px;padding:0 10px;font-size:12px;white-space:nowrap}.detail-toolbar button:hover,.header-detail-toggle:hover{background:#f0f1f2;color:#e35f43}.chat.chat .header-detail-toggle,.group-page.group-page .header-detail-toggle,.group-page.group-page .detail-toolbar button,.chat.chat .detail-toolbar button{border:0!important;border-radius:6px!important;background:transparent!important;color:#7b828c!important;padding:0 10px!important;height:30px!important;font-size:12px!important}.chat.chat .detail-toolbar button,.group-page.group-page .detail-toolbar button{width:28px!important;padding:0!important;font-size:20px!important}.chat.chat .header-detail-toggle:hover,.group-page.group-page .header-detail-toggle:hover,.chat.chat .detail-toolbar button:hover,.group-page.group-page .detail-toolbar button:hover{background:#f0f1f2!important;color:#e35f43!important}.detail-head{padding:20px 20px 18px;text-align:center;border-bottom:1px solid #f1f1f1}.detail-avatar{width:58px;height:58px;margin:0 auto 12px;border-radius:10px;object-fit:cover;display:block}.detail-avatar-placeholder{background:linear-gradient(135deg,#7fcf96,#4b9f68);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}.detail-name{max-width:220px;margin:0 auto 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700}.detail-id{color:var(--text-muted);font-size:12px}.detail-section{padding:10px 0;border-bottom:8px solid #f7f7f7}.detail-row,.switch-row{min-height:46px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px}.detail-row span,.switch-row span{color:#444b55}.detail-row strong{min-width:0;max-width:148px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#9ba1aa;font-size:12px;font-weight:400}.detail-row.clickable{cursor:pointer}.detail-row.clickable:hover{background:#fafafa}.detail-primary,.detail-link,.detail-danger{border:0;border-radius:4px;font-size:13px}.detail-primary{width:calc(100% - 40px);height:36px;margin:4px 20px;color:#fff;background:#e35f43}.detail-link{width:100%;height:42px;color:#e35f43;background:#fff;border-bottom:1px solid #f1f1f1}.detail-danger{width:calc(100% - 40px);height:36px;margin:16px 20px 24px;color:#fff;background:var(--danger)}.detail-danger.soft{margin-bottom:0;color:#d92d20;background:#fff1f0}.detail-danger.soft+.detail-danger{margin-top:10px}.detail-empty{margin:auto;padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.detail-empty-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:14px;background:#f1f2f4;color:#a0a6af;display:flex;align-items:center;justify-content:center;font-weight:700}.group-avatar-grid{width:62px;height:62px;margin:0 auto 12px;padding:4px;border-radius:10px;grid-template-columns:repeat(3,1fr)}.group-avatar-grid b{font-size:10px}.member-strip{padding:14px 16px 10px;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:54px;gap:10px 8px;height:var(--member-strip-height, 88px);min-height:var(--member-strip-height, 88px);max-height:none;flex:0 0 auto;overflow:hidden;align-content:start}.member-strip.expanded{height:var(--member-strip-height, 334px);min-height:var(--member-strip-height, 334px);max-height:var(--member-strip-height, 334px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;border-bottom:1px solid #f1f1f1}.member-chip{min-width:0;height:54px;text-align:center}.member-chip span,.member-add{width:36px;height:36px;margin:0 auto 5px;border-radius:8px;background:#f1f2f4;color:#6f7680;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;overflow:hidden}.member-chip span img{width:100%;height:100%;object-fit:cover}.member-chip span b{font-size:13px}.member-chip em{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#7c828b;font-size:11px;font-style:normal}.member-add{border:0;cursor:pointer;font-size:22px;font-weight:300}.group-page.group-page .detail-panel .detail-link{width:100%!important;height:42px!important;padding:0!important;border:0!important;border-bottom:1px solid #f1f1f1!important;border-radius:0!important;color:#e35f43!important;background:#fff!important;font-size:13px!important;font-weight:600!important}.group-page.group-page .detail-panel .detail-link:hover{background:#fafafa!important}.group-page.group-page .detail-panel .member-add{padding:0!important;border:0!important;background:#1e90ff!important;color:#fff!important}.group-page.group-page .detail-panel .detail-danger{width:calc(100% - 40px)!important;padding:0!important}.switch-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:999px;background:#d8dbe0;position:relative;outline:none;cursor:pointer;transition:background .16s}.switch-row input:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s}.switch-row input:checked{background:#63c66d}.switch-row input:checked:after{transform:translate(16px)}@media (max-width: 1180px){.detail-panel{display:none}}@media (max-width: 960px),(max-height: 640px){#app{padding:0}.chat,.group-page{width:100vw;height:100vh;min-width:0;min-height:0;resize:none;border:0;border-radius:0;box-shadow:none}}@media (max-width: 768px){.app-rail{display:none}.chat.chat .sidebar,.group-page.group-page .sidebar{width:min(84vw,330px);min-width:0}}
