#app[data-v-fc2e6a67]{width:100%;height:100vh;overflow:hidden}.group-list[data-v-ce107a4d]{width:320px;background-color:#fff;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;height:100vh}.group-list-header[data-v-ce107a4d]{padding:20px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.group-list-header h2[data-v-ce107a4d]{font-size:24px;font-weight:600;color:#333}.add-btn[data-v-ce107a4d]{width:36px;height:36px;border:none;background-color:#f0f0f0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-btn[data-v-ce107a4d]:hover{background-color:#e0e0e0}.add-btn svg[data-v-ce107a4d]{color:#666}.group-type-toggle[data-v-ce107a4d]{display:flex;gap:8px;margin:12px 16px;padding:4px;background-color:#f5f5f5;border-radius:8px}.toggle-btn[data-v-ce107a4d]{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:14px;color:#666;cursor:pointer;transition:all .2s;font-weight:500}.toggle-btn[data-v-ce107a4d]:hover{color:#333}.toggle-btn.active[data-v-ce107a4d]{background:#fff;color:#1890ff;box-shadow:0 1px 4px #00000014}.search-box[data-v-ce107a4d]{margin:0 16px 16px;padding:10px 14px;background-color:#f5f5f5;border-radius:8px;display:flex;align-items:center;gap:8px}.search-box svg[data-v-ce107a4d]{color:#999;flex-shrink:0}.search-box input[data-v-ce107a4d]{border:none;background:transparent;outline:none;font-size:14px;width:100%;color:#333}.search-box input[data-v-ce107a4d]::placeholder{color:#999}.groups[data-v-ce107a4d]{flex:1;overflow-y:auto}.group-item[data-v-ce107a4d]{padding:12px 16px;display:flex;gap:12px;cursor:pointer;transition:background-color .2s;border-left:3px solid transparent}.group-item[data-v-ce107a4d]:hover{background-color:#f8f8f8}.group-item.active[data-v-ce107a4d]{background-color:#f0f7ff;border-left-color:#1890ff}.group-avatar[data-v-ce107a4d]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden;position:relative}.group-avatar img[data-v-ce107a4d]{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.group-avatar span[data-v-ce107a4d]{position:relative;z-index:1}.group-info[data-v-ce107a4d]{flex:1;min-width:0}.group-header[data-v-ce107a4d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.group-name[data-v-ce107a4d]{font-weight:500;font-size:15px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-time[data-v-ce107a4d]{font-size:12px;color:#999;flex-shrink:0;margin-left:8px}.group-footer[data-v-ce107a4d]{display:flex;justify-content:space-between;align-items:center}.last-message[data-v-ce107a4d]{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.group-badges[data-v-ce107a4d]{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:8px}.disturb-badge[data-v-ce107a4d]{display:flex;align-items:center;color:#999}.disturb-badge svg[data-v-ce107a4d]{stroke:#999}.unread-badge[data-v-ce107a4d]{background-color:#ff4d4f;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.unread-dot[data-v-ce107a4d]{width:8px;height:8px;background-color:#ff4d4f;border-radius:50%}.groups[data-v-ce107a4d]::-webkit-scrollbar{width:6px}.groups[data-v-ce107a4d]::-webkit-scrollbar-track{background:transparent}.groups[data-v-ce107a4d]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.groups[data-v-ce107a4d]::-webkit-scrollbar-thumb:hover{background:#ccc}.group-file-list[data-v-73365c87]{display:flex;flex-direction:column;height:100%;background:#fff}.file-list-header[data-v-73365c87]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5}.file-list-header h3[data-v-73365c87]{font-size:18px;font-weight:600;color:#333;margin:0}.refresh-btn[data-v-73365c87]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d9d9d9;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.refresh-btn[data-v-73365c87]:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.refresh-btn[data-v-73365c87]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-73365c87]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#999}.spinner[data-v-73365c87]{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin-73365c87 .8s linear infinite}@keyframes spin-73365c87{to{transform:rotate(360deg)}}.error-message[data-v-73365c87]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#ff4d4f}.error-message svg[data-v-73365c87]{stroke:#ff4d4f}.error-message button[data-v-73365c87]{padding:8px 24px;border:1px solid #ff4d4f;background:#fff;color:#ff4d4f;border-radius:6px;cursor:pointer;transition:all .2s}.error-message button[data-v-73365c87]:hover{background:#ff4d4f;color:#fff}.empty-state[data-v-73365c87]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#999}.empty-state svg[data-v-73365c87]{stroke:#ddd}.file-list-content[data-v-73365c87]{flex:1;overflow-y:auto;padding:12px}.file-record[data-v-73365c87]{margin-bottom:12px;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;background:#fff}.record-header[data-v-73365c87]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .2s;background:#fafafa}.record-header[data-v-73365c87]:hover{background:#f0f0f0}.record-info[data-v-73365c87]{display:flex;align-items:center;gap:12px;flex:1}.expand-icon[data-v-73365c87]{flex-shrink:0;transition:transform .2s;color:#666}.expand-icon.expanded[data-v-73365c87]{transform:rotate(90deg)}.record-details[data-v-73365c87]{flex:1}.record-title[data-v-73365c87]{display:flex;align-items:center;gap:12px;margin-bottom:4px}.file-count[data-v-73365c87]{font-size:14px;font-weight:500;color:#333}.record-uploader[data-v-73365c87]{font-size:13px;color:#666}.record-time[data-v-73365c87]{font-size:12px;color:#999}.delete-record-btn[data-v-73365c87]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #d9d9d9;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.delete-record-btn[data-v-73365c87]:hover{color:#ff4d4f;border-color:#ff4d4f;background:#fff1f0}.files-container[data-v-73365c87]{border-top:1px solid #e5e5e5;background:#fff}.file-item[data-v-73365c87]{display:flex;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;border-bottom:1px solid #f5f5f5}.file-item[data-v-73365c87]:last-child{border-bottom:none}.file-item[data-v-73365c87]:hover{background:#fafafa}.file-icon[data-v-73365c87]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff}.file-info[data-v-73365c87]{flex:1;min-width:0}.file-name[data-v-73365c87]{font-size:14px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.file-meta[data-v-73365c87]{display:flex;gap:12px;font-size:12px;color:#999}.file-meta span[data-v-73365c87]{white-space:nowrap}.file-actions[data-v-73365c87]{display:flex;gap:8px;flex-shrink:0}.download-btn[data-v-73365c87],.delete-btn[data-v-73365c87]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #d9d9d9;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.download-btn[data-v-73365c87]:hover{color:#1890ff;border-color:#1890ff}.delete-btn[data-v-73365c87]:hover{color:#ff4d4f;border-color:#ff4d4f;background:#fff1f0}.pagination[data-v-73365c87]{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;margin-top:12px}.page-btn[data-v-73365c87]{padding:6px 16px;border:1px solid #d9d9d9;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.page-btn[data-v-73365c87]:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.page-btn[data-v-73365c87]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-73365c87]{font-size:14px;color:#666}.file-list-content[data-v-73365c87]::-webkit-scrollbar{width:6px}.file-list-content[data-v-73365c87]::-webkit-scrollbar-track{background:transparent}.file-list-content[data-v-73365c87]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.file-list-content[data-v-73365c87]::-webkit-scrollbar-thumb:hover{background:#ccc}.delete-confirm-overlay[data-v-73365c87]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-73365c87 .2s}.delete-confirm-modal[data-v-73365c87]{background:#fff;border-radius:12px;width:400px;max-width:90vw;box-shadow:0 4px 20px #00000026;animation:slideUp-73365c87 .3s}@keyframes fadeIn-73365c87{0%{opacity:0}to{opacity:1}}@keyframes slideUp-73365c87{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-header[data-v-73365c87]{display:flex;flex-direction:column;align-items:center;padding:24px 24px 16px;gap:12px}.confirm-header h3[data-v-73365c87]{font-size:18px;font-weight:600;color:#333;margin:0}.confirm-body[data-v-73365c87]{padding:0 24px 24px;text-align:center}.confirm-body p[data-v-73365c87]{font-size:14px;color:#666;line-height:1.6;margin:0}.confirm-footer[data-v-73365c87]{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.cancel-btn[data-v-73365c87],.confirm-btn[data-v-73365c87]{flex:1;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-btn[data-v-73365c87]{background:#f5f5f5;color:#666}.cancel-btn[data-v-73365c87]:hover{background:#e8e8e8}.confirm-btn[data-v-73365c87]{background:#ff4d4f;color:#fff}.confirm-btn[data-v-73365c87]:hover{background:#ff7875}.group-announcement[data-v-bebfc0e1]{display:flex;flex-direction:column;height:100%;background:#fff}.announcement-header[data-v-bebfc0e1]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5}.announcement-header h3[data-v-bebfc0e1]{font-size:16px;font-weight:600;color:#333;margin:0}.refresh-btn[data-v-bebfc0e1]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d9d9d9;background:#fff;border-radius:6px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.refresh-btn[data-v-bebfc0e1]:hover:not(:disabled){color:#1890ff;border-color:#1890ff}.refresh-btn[data-v-bebfc0e1]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-bebfc0e1]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#999}.spinner[data-v-bebfc0e1]{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#1890ff;border-radius:50%;animation:spin-bebfc0e1 .8s linear infinite}@keyframes spin-bebfc0e1{to{transform:rotate(360deg)}}.error-message[data-v-bebfc0e1]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#ff4d4f}.error-message svg[data-v-bebfc0e1]{stroke:#ff4d4f}.error-message button[data-v-bebfc0e1]{padding:8px 24px;border:1px solid #ff4d4f;background:#fff;color:#ff4d4f;border-radius:6px;cursor:pointer;transition:all .2s}.error-message button[data-v-bebfc0e1]:hover{background:#ff4d4f;color:#fff}.empty-state[data-v-bebfc0e1]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#999}.empty-state svg[data-v-bebfc0e1]{stroke:#ddd}.announcement-list[data-v-bebfc0e1]{flex:1;overflow-y:auto;padding:12px}.announcement-item[data-v-bebfc0e1]{margin-bottom:12px;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;background:#fff;transition:all .2s}.announcement-item[data-v-bebfc0e1]:hover{box-shadow:0 2px 8px #00000014}.announcement-header-info[data-v-bebfc0e1]{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;transition:background .2s}.announcement-header-info[data-v-bebfc0e1]:hover{background:#fafafa}.announcement-icon[data-v-bebfc0e1]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,gold,orange);border-radius:50%;color:#fff}.announcement-info[data-v-bebfc0e1]{flex:1;min-width:0}.announcement-title[data-v-bebfc0e1]{font-size:15px;font-weight:500;color:#333;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-meta[data-v-bebfc0e1]{display:flex;gap:12px;font-size:12px;color:#999}.expand-icon[data-v-bebfc0e1]{flex-shrink:0;transition:transform .2s;color:#999}.expand-icon.expanded[data-v-bebfc0e1]{transform:rotate(180deg)}.announcement-content[data-v-bebfc0e1]{border-top:1px solid #f0f0f0;padding:16px;background:#fafafa}.content-text[data-v-bebfc0e1]{font-size:14px;line-height:1.8;color:#666;white-space:pre-wrap;word-break:break-word}.announcement-list[data-v-bebfc0e1]::-webkit-scrollbar{width:6px}.announcement-list[data-v-bebfc0e1]::-webkit-scrollbar-track{background:transparent}.announcement-list[data-v-bebfc0e1]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.announcement-list[data-v-bebfc0e1]::-webkit-scrollbar-thumb:hover{background:#ccc}.chat-window[data-v-07772d80]{flex:1;display:flex;flex-direction:column;background-color:#fff;height:100vh}.chat-header[data-v-07772d80]{padding:16px 24px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center;background-color:#fff}.header-info[data-v-07772d80]{display:flex;align-items:center;gap:12px}.group-avatar-small[data-v-07772d80]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden;position:relative}.group-avatar-small img[data-v-07772d80]{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.group-avatar-small span[data-v-07772d80]{position:relative;z-index:1}.header-info h3[data-v-07772d80]{font-size:16px;font-weight:600;color:#333;margin-bottom:2px}.member-count[data-v-07772d80]{font-size:12px;color:#999}.member-count.clickable[data-v-07772d80]{cursor:pointer;transition:color .2s}.member-count.clickable[data-v-07772d80]:hover{color:#667eea;text-decoration:underline}.header-actions[data-v-07772d80]{display:flex;gap:8px}.icon-btn[data-v-07772d80]{width:36px;height:36px;border:none;background-color:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#666}.icon-btn.active[data-v-07772d80]{background-color:#eef2ff;color:#667eea}.selection-toolbar[data-v-07772d80]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e5e5e5;background-color:#fff}.selection-info[data-v-07772d80]{font-size:13px;color:#333}.selection-actions[data-v-07772d80]{display:flex;gap:8px}.selection-btn[data-v-07772d80]{padding:6px 12px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;color:#333;font-size:12px;cursor:pointer}.selection-btn[data-v-07772d80]:disabled{opacity:.5;cursor:not-allowed}.selection-btn.danger[data-v-07772d80]{border-color:#fca5a5;color:#b91c1c}.icon-btn[data-v-07772d80]:hover{background-color:#f5f5f5}.messages-container[data-v-07772d80]{flex:1;overflow-y:auto;padding:20px;background-color:#f8f9fa;position:relative}.load-more-btn[data-v-07772d80]{text-align:center;padding:10px 0;margin-bottom:10px}.load-more-btn button[data-v-07772d80]{padding:8px 20px;background-color:#fff;border:1px solid #e0e0e0;border-radius:20px;color:#666;font-size:13px;cursor:pointer;transition:all .2s}.load-more-btn button[data-v-07772d80]:hover{background-color:#f5f5f5;border-color:#d0d0d0}.loading-indicator[data-v-07772d80]{text-align:center;padding:15px 0;color:#999;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner[data-v-07772d80]{width:16px;height:16px;border:2px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-07772d80 .8s linear infinite}@keyframes spin-07772d80{to{transform:rotate(360deg)}}.no-more-hint[data-v-07772d80]{text-align:center;padding:10px 0;color:#999;font-size:12px;margin-bottom:10px}.message-wrapper[data-v-07772d80]{display:flex;gap:12px;margin-bottom:20px;align-items:flex-start}.message-select[data-v-07772d80]{width:22px;padding-top:6px;display:flex;justify-content:center}.message-select input[type=checkbox][data-v-07772d80]{width:16px;height:16px}.message-wrapper.message-self[data-v-07772d80]{flex-direction:row-reverse}.message-avatar[data-v-07772d80]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;overflow:hidden;position:relative}.message-avatar img[data-v-07772d80]{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.message-avatar span[data-v-07772d80]{position:relative;z-index:1}.message-self .message-avatar[data-v-07772d80]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.message-content[data-v-07772d80]{max-width:60%;display:flex;flex-direction:column}.message-self .message-content[data-v-07772d80]{align-items:flex-end}.message-sender[data-v-07772d80]{font-size:12px;color:#999;margin-bottom:4px;padding:0 12px}.message-bubble[data-v-07772d80]{background-color:#fff;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;color:#333;word-wrap:break-word;box-shadow:0 1px 2px #0000000d;border:1px solid #f0f0f0}.message-bubble.bubble-self[data-v-07772d80]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.message-bubble.bubble-image[data-v-07772d80]{padding:4px;background:transparent;border:none;box-shadow:none}.message-self .message-bubble.bubble-image[data-v-07772d80]{background:transparent}.image-message[data-v-07772d80]{cursor:pointer;border-radius:8px;overflow:hidden;max-width:300px;transition:transform .2s}.image-message[data-v-07772d80]:hover{transform:scale(1.02)}.message-image[data-v-07772d80]{display:block;max-width:100%;max-height:300px;border-radius:8px;object-fit:cover}.file-message[data-v-07772d80]{display:flex;align-items:center;gap:12px;padding:8px;background:#ffffff1a;border-radius:8px;min-width:200px}.message-bubble.bubble-self .file-message[data-v-07772d80]{background:#fff3}.file-message svg[data-v-07772d80]{flex-shrink:0;color:currentColor}.file-info[data-v-07772d80]{flex:1;min-width:0}.file-name[data-v-07772d80]{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.file-size[data-v-07772d80]{font-size:12px;opacity:.8}.image-preview-modal[data-v-07772d80]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-07772d80 .2s;cursor:zoom-out}.preview-modal-content[data-v-07772d80]{position:relative;max-width:90vw;max-height:90vh;cursor:default}.preview-modal-image[data-v-07772d80]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.preview-modal-close[data-v-07772d80]{position:absolute;top:-40px;right:0;width:40px;height:40px;border:none;background:#fff3;color:#fff;font-size:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.preview-modal-close[data-v-07772d80]:hover{background:#ffffff4d;transform:scale(1.1)}.message-time[data-v-07772d80]{font-size:11px;color:#999;margin-top:4px;padding:0 12px}.input-area[data-v-07772d80]{border-top:1px solid #e5e5e5;background-color:#fff;padding:16px 24px;position:relative}.input-toolbar[data-v-07772d80]{display:flex;gap:8px;margin-bottom:12px}.toolbar-btn[data-v-07772d80]{width:32px;height:32px;border:none;background-color:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#666}.toolbar-btn[data-v-07772d80]:hover{background-color:#f5f5f5}.toolbar-btn.active[data-v-07772d80]{background-color:#e8f0fe;color:#1890ff}.emoji-picker[data-v-07772d80]{position:absolute;bottom:100%;left:24px;margin-bottom:8px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:360px;max-height:320px;display:flex;flex-direction:column;z-index:100;animation:slideUpFade-07772d80 .2s ease-out}@keyframes slideUpFade-07772d80{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emoji-header[data-v-07772d80]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0}.emoji-title[data-v-07772d80]{font-size:14px;font-weight:500;color:#333}.emoji-close[data-v-07772d80]{width:24px;height:24px;border:none;background:transparent;font-size:24px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1}.emoji-close[data-v-07772d80]:hover{background:#f5f5f5;color:#333}.emoji-grid[data-v-07772d80]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;overflow-y:auto;max-height:260px}.emoji-item[data-v-07772d80]{font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;transition:all .2s;-webkit-user-select:none;user-select:none}.emoji-item[data-v-07772d80]:hover{background-color:#f5f5f5;transform:scale(1.2)}.emoji-item[data-v-07772d80]:active{transform:scale(1.1)}.emoji-grid[data-v-07772d80]::-webkit-scrollbar{width:6px}.emoji-grid[data-v-07772d80]::-webkit-scrollbar-track{background:transparent}.emoji-grid[data-v-07772d80]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.emoji-grid[data-v-07772d80]::-webkit-scrollbar-thumb:hover{background:#ccc}.image-preview-container[data-v-07772d80]{margin-bottom:12px;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fafafa;animation:slideUpFade-07772d80 .2s ease-out}.image-preview-wrapper[data-v-07772d80]{position:relative;max-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.preview-image[data-v-07772d80]{max-width:100%;max-height:300px;object-fit:contain;display:block}.preview-close[data-v-07772d80]{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;background:#0009;color:#fff;font-size:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.preview-close[data-v-07772d80]:hover{background:#000c;transform:scale(1.1)}.preview-actions[data-v-07772d80]{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #e5e5e5}.preview-cancel-btn[data-v-07772d80],.preview-send-btn[data-v-07772d80]{flex:1;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.preview-cancel-btn[data-v-07772d80]{background:#f5f5f5;color:#666}.preview-cancel-btn[data-v-07772d80]:hover{background:#e5e5e5;color:#333}.preview-send-btn[data-v-07772d80]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.preview-send-btn[data-v-07772d80]:hover{opacity:.9;transform:translateY(-1px)}.preview-cancel-btn[data-v-07772d80]:disabled,.preview-send-btn[data-v-07772d80]:disabled{opacity:.5;cursor:not-allowed}.upload-progress-overlay[data-v-07772d80]{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10}.progress-circle[data-v-07772d80]{position:relative;width:60px;height:60px}.progress-text[data-v-07772d80]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:600}.input-box[data-v-07772d80]{display:flex;gap:12px;align-items:flex-end}.input-box textarea[data-v-07772d80]{flex:1;border:1px solid #e5e5e5;border-radius:8px;padding:10px 14px;font-size:14px;resize:none;outline:none;font-family:inherit;max-height:120px;min-height:40px;transition:border-color .2s}.input-box textarea[data-v-07772d80]:focus{border-color:#667eea}.send-btn[data-v-07772d80]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;transition:opacity .2s,transform .2s;height:40px}.send-btn[data-v-07772d80]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.send-btn[data-v-07772d80]:disabled{opacity:.5;cursor:not-allowed}.messages-container[data-v-07772d80]::-webkit-scrollbar{width:6px}.messages-container[data-v-07772d80]::-webkit-scrollbar-track{background:transparent}.messages-container[data-v-07772d80]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.messages-container[data-v-07772d80]::-webkit-scrollbar-thumb:hover{background:#ccc}.member-modal-overlay[data-v-07772d80]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-07772d80 .2s}@keyframes fadeIn-07772d80{0%{opacity:0}to{opacity:1}}.member-modal[data-v-07772d80]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideUp-07772d80 .3s}@keyframes slideUp-07772d80{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-07772d80]{padding:20px 24px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-07772d80]{font-size:18px;font-weight:600;color:#333;margin:0}.close-btn[data-v-07772d80]{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.close-btn[data-v-07772d80]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-07772d80]{flex:1;overflow-y:auto;padding:16px 24px}.empty-state[data-v-07772d80]{text-align:center;padding:40px 20px;color:#999}.member-list[data-v-07772d80]{display:flex;flex-direction:column;gap:12px}.member-item[data-v-07772d80]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;transition:background-color .2s}.member-item[data-v-07772d80]:hover{background-color:#f8f9fa}.member-avatar[data-v-07772d80]{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.member-avatar img[data-v-07772d80]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-07772d80]{color:#fff;font-size:20px;font-weight:600}.member-info[data-v-07772d80]{flex:1;min-width:0}.member-name[data-v-07772d80]{font-size:15px;font-weight:500;color:#333;margin-bottom:4px;display:flex;align-items:center;gap:8px}.admin-badge[data-v-07772d80]{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;border-radius:10px;font-weight:500}.file-sidebar-overlay[data-v-07772d80]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1500;animation:fadeIn-07772d80 .2s}.file-sidebar[data-v-07772d80]{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:#fff;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;animation:slideInRight-07772d80 .3s;z-index:1501}@keyframes slideInRight-07772d80{0%{transform:translate(100%)}to{transform:translate(0)}}.file-sidebar-header[data-v-07772d80]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5;background:#fff}.file-sidebar-header h3[data-v-07772d80]{font-size:18px;font-weight:600;color:#333;margin:0}.member-type[data-v-07772d80]{font-size:13px;color:#999}.modal-body[data-v-07772d80]::-webkit-scrollbar{width:6px}.modal-body[data-v-07772d80]::-webkit-scrollbar-track{background:transparent}.modal-body[data-v-07772d80]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.modal-body[data-v-07772d80]::-webkit-scrollbar-thumb:hover{background:#ccc}.context-menu[data-v-07772d80]{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;z-index:3000;min-width:140px;animation:fadeIn-07772d80 .15s}.context-menu-item[data-v-07772d80]{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-radius:6px;font-size:14px;color:#333;transition:all .2s;-webkit-user-select:none;user-select:none}.context-menu-item[data-v-07772d80]:hover{background:#f5f5f5;color:#ff4d4f}.context-menu-item svg[data-v-07772d80]{flex-shrink:0}.ws-settings-overlay[data-v-12e9bcc2]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ws-settings-panel[data-v-12e9bcc2]{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.settings-header[data-v-12e9bcc2]{padding:24px;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center}.settings-header h3[data-v-12e9bcc2]{font-size:20px;font-weight:600;color:#333;margin:0}.close-btn[data-v-12e9bcc2]{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.close-btn[data-v-12e9bcc2]:hover{background:#f5f5f5;color:#333}.settings-body[data-v-12e9bcc2]{flex:1;overflow-y:auto;padding:24px}.connection-status[data-v-12e9bcc2]{margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:12px}.status-indicator[data-v-12e9bcc2]{display:flex;align-items:center;gap:10px}.status-dot[data-v-12e9bcc2]{width:10px;height:10px;border-radius:50%;background:#999;animation:pulse-12e9bcc2 2s infinite}.status-connected .status-dot[data-v-12e9bcc2]{background:#52c41a}.status-connecting .status-dot[data-v-12e9bcc2]{background:#faad14}.status-disconnected .status-dot[data-v-12e9bcc2]{background:#999;animation:none}@keyframes pulse-12e9bcc2{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-12e9bcc2]{font-size:14px;font-weight:500;color:#333}.form-group[data-v-12e9bcc2]{margin-bottom:20px}.form-group label[data-v-12e9bcc2]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.ws-input[data-v-12e9bcc2],.number-input[data-v-12e9bcc2]{width:100%;padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.ws-input[data-v-12e9bcc2]:focus,.number-input[data-v-12e9bcc2]:focus{border-color:#667eea}.number-input[data-v-12e9bcc2]{width:120px}.input-hint[data-v-12e9bcc2]{margin-top:6px;font-size:12px;color:#999}.quick-urls[data-v-12e9bcc2]{margin-bottom:20px}.quick-urls label[data-v-12e9bcc2]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.url-buttons[data-v-12e9bcc2]{display:flex;gap:8px;flex-wrap:wrap}.preset-btn[data-v-12e9bcc2]{padding:8px 16px;border:1px solid #e5e5e5;background:#fff;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all .2s}.preset-btn[data-v-12e9bcc2]:hover{border-color:#667eea;color:#667eea;background:#f0f4ff}.advanced-settings[data-v-12e9bcc2],.test-tools[data-v-12e9bcc2]{margin-bottom:20px;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.settings-toggle[data-v-12e9bcc2]{padding:12px 16px;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.settings-toggle span[data-v-12e9bcc2]{font-size:14px;font-weight:500;color:#333}.settings-toggle svg[data-v-12e9bcc2]{transition:transform .2s}.settings-toggle svg.rotated[data-v-12e9bcc2]{transform:rotate(180deg)}.advanced-content[data-v-12e9bcc2],.test-content[data-v-12e9bcc2]{padding:16px;background:#fff}.advanced-content .form-group label[data-v-12e9bcc2]{display:flex;align-items:center;gap:8px;cursor:pointer}.advanced-content input[type=checkbox][data-v-12e9bcc2]{cursor:pointer}.json-input[data-v-12e9bcc2]{width:100%;padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;font-family:Consolas,Monaco,monospace;outline:none;transition:border-color .2s;resize:vertical;line-height:1.5}.json-input[data-v-12e9bcc2]:focus{border-color:#667eea}.input-hint.error[data-v-12e9bcc2]{color:#ff4d4f}.error-text[data-v-12e9bcc2]{color:#ff4d4f;font-weight:500}.btn-test[data-v-12e9bcc2]{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;background:#f0f4ff;color:#667eea;border:1px solid #667eea}.btn-test[data-v-12e9bcc2]:hover:not(:disabled){background:#667eea;color:#fff}.connection-log[data-v-12e9bcc2]{margin-top:20px}.connection-log label[data-v-12e9bcc2]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.log-container[data-v-12e9bcc2]{background:#1e1e1e;border-radius:8px;padding:12px;max-height:200px;overflow-y:auto;font-family:Consolas,Monaco,monospace;font-size:12px}.log-item[data-v-12e9bcc2]{display:flex;gap:12px;margin-bottom:6px;line-height:1.5}.log-time[data-v-12e9bcc2]{color:#888;flex-shrink:0}.log-message[data-v-12e9bcc2]{color:#ddd}.log-item.success .log-message[data-v-12e9bcc2]{color:#52c41a}.log-item.error .log-message[data-v-12e9bcc2]{color:#ff4d4f}.log-item.warning .log-message[data-v-12e9bcc2]{color:#faad14}.log-item.info .log-message[data-v-12e9bcc2]{color:#1890ff}.log-empty[data-v-12e9bcc2]{color:#666;text-align:center;padding:20px}.settings-footer[data-v-12e9bcc2]{padding:16px 24px;border-top:1px solid #e5e5e5;display:flex;gap:12px;justify-content:flex-end}.btn[data-v-12e9bcc2]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-12e9bcc2]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-12e9bcc2]{background:#f5f5f5;color:#666}.btn-secondary[data-v-12e9bcc2]:hover:not(:disabled){background:#e5e5e5}.btn-primary[data-v-12e9bcc2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-12e9bcc2]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.settings-body[data-v-12e9bcc2]::-webkit-scrollbar,.log-container[data-v-12e9bcc2]::-webkit-scrollbar{width:6px}.settings-body[data-v-12e9bcc2]::-webkit-scrollbar-track,.log-container[data-v-12e9bcc2]::-webkit-scrollbar-track{background:transparent}.settings-body[data-v-12e9bcc2]::-webkit-scrollbar-thumb,.log-container[data-v-12e9bcc2]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.settings-body[data-v-12e9bcc2]::-webkit-scrollbar-thumb:hover,.log-container[data-v-12e9bcc2]::-webkit-scrollbar-thumb:hover{background:#ccc}.chat-page[data-v-63eac95a]{display:flex;height:100vh;background-color:#f5f5f5;position:relative}.ws-settings-btn[data-v-63eac95a]{position:fixed;top:20px;right:20px;width:48px;height:48px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea66;transition:all .3s;z-index:100}.ws-settings-btn[data-v-63eac95a]:hover{transform:translateY(-2px) rotate(90deg);box-shadow:0 6px 16px #667eea80}.ws-settings-btn svg[data-v-63eac95a]{color:#fff}.ws-status-dot[data-v-63eac95a]{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;border:2px solid white;background:#999}.ws-status-dot.status-connected[data-v-63eac95a]{background:#52c41a;animation:pulse-dot-63eac95a 2s infinite}.ws-status-dot.status-connecting[data-v-63eac95a]{background:#faad14;animation:blink-63eac95a 1s infinite}.ws-status-dot.status-disconnected[data-v-63eac95a]{background:#ff4d4f}@keyframes pulse-dot-63eac95a{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes blink-63eac95a{0%,to{opacity:1}50%{opacity:.3}}.no-chat-selected[data-v-63eac95a]{flex:1;display:flex;align-items:center;justify-content:center;background-color:#fff}.placeholder[data-v-63eac95a]{text-align:center;color:#999}.placeholder svg[data-v-63eac95a]{color:#ddd;margin-bottom:20px}.placeholder p[data-v-63eac95a]{font-size:16px}.logout-btn[data-v-63eac95a]{position:fixed;top:20px;right:80px;width:48px;height:48px;border:none;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ff6b6b66;transition:all .3s;z-index:100}.logout-btn[data-v-63eac95a]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b80}.logout-btn svg[data-v-63eac95a]{color:#fff}.login-page[data-v-04f7f222]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container[data-v-04f7f222]{width:100%;max-width:420px}.login-card[data-v-04f7f222]{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;animation:slideUp-04f7f222 .5s ease-out}@keyframes slideUp-04f7f222{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header[data-v-04f7f222]{text-align:center;margin-bottom:32px}.logo[data-v-04f7f222]{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff}.login-header h1[data-v-04f7f222]{font-size:28px;font-weight:600;color:#333;margin:0 0 8px}.login-header p[data-v-04f7f222]{font-size:14px;color:#999;margin:0}.login-form[data-v-04f7f222]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-04f7f222]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-04f7f222]{font-size:14px;font-weight:500;color:#333}.form-group input[data-v-04f7f222],.form-group select[data-v-04f7f222]{width:100%;padding:12px 16px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;transition:all .2s;outline:none;background:#fff}.form-group input[data-v-04f7f222]:focus,.form-group select[data-v-04f7f222]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input[data-v-04f7f222]:disabled,.form-group select[data-v-04f7f222]:disabled{background:#f5f5f5;cursor:not-allowed}.error-message[data-v-04f7f222]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;color:#ff4d4f;font-size:14px}.error-message svg[data-v-04f7f222]{flex-shrink:0}.login-btn[data-v-04f7f222]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s;margin-top:8px}.login-btn[data-v-04f7f222]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-btn[data-v-04f7f222]:active:not(:disabled){transform:translateY(0)}.login-btn[data-v-04f7f222]:disabled{opacity:.7;cursor:not-allowed}.loading[data-v-04f7f222]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner[data-v-04f7f222]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-04f7f222 .8s linear infinite}@keyframes spin-04f7f222{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#app{width:100%;height:100vh}
