*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ccc}.login-page[data-v-8f4b98f0]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container[data-v-8f4b98f0]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-header[data-v-8f4b98f0]{text-align:center;margin-bottom:32px}.logo[data-v-8f4b98f0]{margin-bottom:16px}.login-header h1[data-v-8f4b98f0]{font-size:28px;color:#333;margin:0 0 8px}.subtitle[data-v-8f4b98f0]{color:#999;margin:0;font-size:14px}.login-form[data-v-8f4b98f0]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-8f4b98f0]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-8f4b98f0]{font-size:14px;color:#666;font-weight:500}.form-group input[data-v-8f4b98f0]{padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s}.form-group input[data-v-8f4b98f0]:focus{outline:none;border-color:#07c160;box-shadow:0 0 0 3px #07c1601a}.login-btn[data-v-8f4b98f0]{background:#07c160;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.login-btn[data-v-8f4b98f0]:hover:not(:disabled){background:#06ad56}.login-btn[data-v-8f4b98f0]:disabled{opacity:.7;cursor:not-allowed}.loading-spinner[data-v-8f4b98f0]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-8f4b98f0 .8s linear infinite}@keyframes spin-8f4b98f0{to{transform:rotate(360deg)}}.error-message[data-v-8f4b98f0]{color:#e74c3c;font-size:14px;text-align:center;margin:0}.login-footer[data-v-8f4b98f0]{margin-top:24px;text-align:center}.login-footer p[data-v-8f4b98f0]{color:#999;font-size:13px;margin:0}.avatar[data-v-70d779fa]{border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;overflow:hidden;flex-shrink:0}.avatar img[data-v-70d779fa]{width:100%;height:100%;object-fit:cover}.modal-overlay[data-v-9c7bc2b3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-9c7bc2b3]{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-9c7bc2b3]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-9c7bc2b3]{margin:0;font-size:16px;font-weight:500}.close-btn[data-v-9c7bc2b3]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#999;border-radius:6px;transition:all .2s}.close-btn[data-v-9c7bc2b3]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-9c7bc2b3]{padding:20px;overflow-y:auto;max-height:calc(90vh - 60px)}.modal-enter-active[data-v-9c7bc2b3],.modal-leave-active[data-v-9c7bc2b3]{transition:all .2s ease}.modal-enter-from[data-v-9c7bc2b3],.modal-leave-to[data-v-9c7bc2b3]{opacity:0}.modal-enter-from .modal-container[data-v-9c7bc2b3],.modal-leave-to .modal-container[data-v-9c7bc2b3]{transform:scale(.9)}.conversation-list[data-v-2e3a3da3]{display:flex;flex-direction:column}.conversation-item[data-v-2e3a3da3]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}.conversation-item[data-v-2e3a3da3]:hover{background:#f5f5f5}.conversation-item.active[data-v-2e3a3da3]{background:#e8e8e8}.avatar-wrapper[data-v-2e3a3da3]{position:relative}.online-dot[data-v-2e3a3da3]{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#999;border:2px solid white}.online-dot.online[data-v-2e3a3da3]{background:#07c160}.conversation-info[data-v-2e3a3da3]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.top-row[data-v-2e3a3da3]{display:flex;justify-content:space-between;align-items:center}.name[data-v-2e3a3da3]{font-size:15px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time[data-v-2e3a3da3]{font-size:12px;color:#999;flex-shrink:0}.bottom-row[data-v-2e3a3da3]{display:flex;justify-content:space-between;align-items:center}.last-message[data-v-2e3a3da3]{font-size:13px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.unread-badge[data-v-2e3a3da3]{background:#f44336;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.empty-state[data-v-2e3a3da3]{padding:40px 20px;text-align:center;color:#999;font-size:14px}.contact-list[data-v-f1443c49]{display:flex;flex-direction:column}.section[data-v-f1443c49]{border-bottom:1px solid #f0f0f0}.section-title[data-v-f1443c49]{padding:12px 16px 8px;font-size:12px;color:#999}.section-item[data-v-f1443c49]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}.section-item[data-v-f1443c49]:hover{background:#f5f5f5}.icon-wrapper[data-v-f1443c49]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#fff}.icon-wrapper.create[data-v-f1443c49]{background:#07c160}.avatar-wrapper[data-v-f1443c49]{position:relative}.online-dot[data-v-f1443c49]{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#999;border:2px solid white}.online-dot.online[data-v-f1443c49]{background:#07c160}.item-info[data-v-f1443c49]{display:flex;flex-direction:column;gap:2px}.item-info .name[data-v-f1443c49]{font-size:15px;color:#333}.item-info .desc[data-v-f1443c49]{font-size:12px;color:#999}.empty-tip[data-v-f1443c49]{padding:20px;text-align:center;color:#999;font-size:14px}.emoji-picker[data-v-d2b70096]{position:absolute;bottom:100%;left:16px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:320px;max-height:280px;overflow:hidden;display:flex;flex-direction:column}.emoji-header[data-v-d2b70096]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #f0f0f0;font-size:13px;color:#666}.close-btn[data-v-d2b70096]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#999;border-radius:4px}.close-btn[data-v-d2b70096]:hover{background:#f5f5f5}.emoji-grid[data-v-d2b70096]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;overflow-y:auto}.emoji-item[data-v-d2b70096]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;background:none;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.emoji-item[data-v-d2b70096]:hover{background:#f5f5f5}.image-preview[data-v-8b3474de]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.image-preview img[data-v-8b3474de]{max-width:90vw;max-height:90vh;object-fit:contain}.close-btn[data-v-8b3474de]{position:absolute;top:20px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;color:#fff;transition:background .2s}.close-btn[data-v-8b3474de]:hover{background:#ffffff4d}.group-info[data-v-0a7ec73f]{min-width:300px}.info-section[data-v-0a7ec73f]{padding:16px 0;border-bottom:1px solid #f0f0f0}.info-section[data-v-0a7ec73f]:last-child{border-bottom:none}.info-section h4[data-v-0a7ec73f]{margin:0 0 12px;font-size:14px;color:#666}.group-header[data-v-0a7ec73f]{display:flex;align-items:center;gap:16px}.group-name h3[data-v-0a7ec73f]{margin:0 0 4px;font-size:18px}.group-name span[data-v-0a7ec73f]{font-size:13px;color:#999}.member-grid[data-v-0a7ec73f]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.member-item[data-v-0a7ec73f]{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.member-name[data-v-0a7ec73f]{font-size:12px;color:#666;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.owner-badge[data-v-0a7ec73f]{position:absolute;top:-4px;right:0;background:#f39c12;color:#fff;font-size:10px;padding:2px 4px;border-radius:4px}.leave-btn[data-v-0a7ec73f]{width:100%;padding:12px;background:#fff;border:1px solid #e74c3c;color:#e74c3c;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.leave-btn[data-v-0a7ec73f]:hover{background:#e74c3c;color:#fff}.chat-window[data-v-664cda28]{display:flex;flex-direction:column;height:100%;background:#f5f5f5}.chat-header[data-v-664cda28]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e0e0e0}.header-left[data-v-664cda28]{display:flex;align-items:center;gap:8px}.header-left h3[data-v-664cda28]{margin:0;font-size:16px;font-weight:500}.member-count[data-v-664cda28]{color:#999;font-size:14px}.header-btn[data-v-664cda28]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#666;border-radius:6px;transition:all .2s}.header-btn[data-v-664cda28]:hover{background:#f5f5f5}.message-list[data-v-664cda28]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.message-wrapper[data-v-664cda28]{display:flex;gap:10px;align-items:flex-start}.message-wrapper.is-self[data-v-664cda28]{flex-direction:row-reverse}.message-content[data-v-664cda28]{max-width:60%;display:flex;flex-direction:column;gap:4px}.message-wrapper.is-self .message-content[data-v-664cda28]{align-items:flex-end}.sender-name[data-v-664cda28]{font-size:12px;color:#999;margin-bottom:2px}.message-bubble[data-v-664cda28]{padding:10px 14px;border-radius:8px;word-break:break-word}.message-bubble.text[data-v-664cda28]{background:#fff;color:#333;line-height:1.5;font-size:14px}.message-wrapper.is-self .message-bubble.text[data-v-664cda28]{background:#95ec69}.message-bubble.image[data-v-664cda28]{padding:4px;background:#fff}.message-bubble.image img[data-v-664cda28]{max-width:200px;max-height:200px;border-radius:4px;cursor:pointer;display:block}.message-bubble.emoji[data-v-664cda28]{background:transparent;font-size:40px;padding:0}.message-bubble.voice[data-v-664cda28]{display:flex;align-items:center;gap:8px;background:#fff;cursor:pointer;min-width:100px}.message-wrapper.is-self .message-bubble.voice[data-v-664cda28]{background:#95ec69;flex-direction:row-reverse}.voice-waves[data-v-664cda28]{display:flex;align-items:center;gap:2px}.voice-waves span[data-v-664cda28]{width:3px;height:12px;background:#999;border-radius:2px}.message-bubble.voice.playing .voice-waves span[data-v-664cda28]{animation:wave-664cda28 .5s ease-in-out infinite}.voice-waves span[data-v-664cda28]:nth-child(1){height:8px;animation-delay:0s}.voice-waves span[data-v-664cda28]:nth-child(2){height:14px;animation-delay:.1s}.voice-waves span[data-v-664cda28]:nth-child(3){height:10px;animation-delay:.2s}@keyframes wave-664cda28{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.message-meta[data-v-664cda28]{display:flex;gap:8px;align-items:center}.message-meta .time[data-v-664cda28],.message-meta .status[data-v-664cda28]{font-size:11px;color:#999}.empty-state[data-v-664cda28]{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.input-area[data-v-664cda28]{background:#fff;border-top:1px solid #e0e0e0;position:relative}.toolbar[data-v-664cda28]{display:flex;padding:8px 16px;gap:8px;border-bottom:1px solid #f0f0f0}.tool-btn[data-v-664cda28]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#666;border-radius:6px;transition:all .2s}.tool-btn[data-v-664cda28]:hover{background:#f5f5f5;color:#333}.tool-btn.recording[data-v-664cda28]{background:#f44336;color:#fff}.recording-indicator[data-v-664cda28]{position:absolute;bottom:100%;left:0;right:0;background:#000c;color:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px}.recording-dot[data-v-664cda28]{width:12px;height:12px;background:#f44336;border-radius:50%;animation:blink-664cda28 1s infinite}@keyframes blink-664cda28{0%,to{opacity:1}50%{opacity:.3}}.recording-indicator .tip[data-v-664cda28]{font-size:12px;color:#999}.input-wrapper[data-v-664cda28]{display:flex;padding:12px 16px;gap:12px;align-items:flex-end}.input-wrapper textarea[data-v-664cda28]{flex:1;border:none;resize:none;outline:none;font-size:14px;line-height:1.5;max-height:100px;padding:8px 0}.send-btn[data-v-664cda28]{padding:8px 20px;background:#07c160;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.send-btn[data-v-664cda28]:hover:not(:disabled){background:#06ad56}.send-btn[data-v-664cda28]:disabled{background:#ccc;cursor:not-allowed}.create-group-form[data-v-ef04443d]{min-width:320px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-ef04443d]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-ef04443d]{font-size:14px;color:#666;font-weight:500}.form-group input[data-v-ef04443d]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.form-group input[data-v-ef04443d]:focus{border-color:#07c160}.member-list[data-v-ef04443d]{max-height:240px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px}.member-item[data-v-ef04443d]{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .2s}.member-item[data-v-ef04443d]:hover{background:#f5f5f5}.member-item.selected[data-v-ef04443d]{background:#e8f5e9}.checkbox[data-v-ef04443d]{width:20px;height:20px;border:2px solid #ccc;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.member-item.selected .checkbox[data-v-ef04443d]{background:#07c160;border-color:#07c160;color:#fff}.empty-tip[data-v-ef04443d]{padding:20px;text-align:center;color:#999;font-size:14px}.form-actions[data-v-ef04443d]{display:flex;gap:12px;justify-content:flex-end}.cancel-btn[data-v-ef04443d],.submit-btn[data-v-ef04443d]{padding:10px 24px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn[data-v-ef04443d]{background:#f5f5f5;border:1px solid #e0e0e0;color:#666}.cancel-btn[data-v-ef04443d]:hover{background:#e8e8e8}.submit-btn[data-v-ef04443d]{background:#07c160;border:none;color:#fff}.submit-btn[data-v-ef04443d]:hover:not(:disabled){background:#06ad56}.submit-btn[data-v-ef04443d]:disabled{background:#ccc;cursor:not-allowed}.chat-layout[data-v-c855b182]{display:flex;height:100vh;background:#f5f5f5}.nav-sidebar[data-v-c855b182]{width:60px;background:#2e2e2e;display:flex;flex-direction:column;align-items:center;padding:16px 0}.nav-avatar[data-v-c855b182]{margin-bottom:20px}.nav-items[data-v-c855b182]{flex:1;display:flex;flex-direction:column;gap:8px}.nav-item[data-v-c855b182]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;color:#999;transition:all .2s;position:relative}.nav-item[data-v-c855b182]:hover{background:#ffffff1a;color:#fff}.nav-item.active[data-v-c855b182]{background:#07c16033;color:#07c160}.nav-item .badge[data-v-c855b182]{position:absolute;top:4px;right:4px;background:#f44336;color:#fff;font-size:10px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.nav-bottom[data-v-c855b182]{display:flex;flex-direction:column;gap:8px}.sidebar[data-v-c855b182]{width:280px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.sidebar-header[data-v-c855b182]{padding:12px;display:flex;gap:8px;border-bottom:1px solid #f0f0f0}.search-box[data-v-c855b182]{flex:1;display:flex;align-items:center;background:#f5f5f5;border-radius:6px;padding:0 10px;gap:8px}.search-box input[data-v-c855b182]{flex:1;border:none;background:none;padding:8px 0;font-size:13px;outline:none}.add-btn[data-v-c855b182]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border:none;border-radius:6px;cursor:pointer;color:#666;transition:all .2s}.add-btn[data-v-c855b182]:hover{background:#e8e8e8;color:#333}.sidebar-content[data-v-c855b182]{flex:1;overflow-y:auto}.main-content[data-v-c855b182]{flex:1;display:flex;flex-direction:column;background:#f5f5f5}.empty-state[data-v-c855b182]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.empty-state p[data-v-c855b182]{margin-top:16px;font-size:14px}.add-chat-modal[data-v-c855b182]{min-width:320px}.modal-section h4[data-v-c855b182]{margin:0 0 12px;font-size:14px;color:#666}.user-list[data-v-c855b182]{max-height:300px;overflow-y:auto}.user-item[data-v-c855b182]{display:flex;align-items:center;gap:12px;padding:10px;cursor:pointer;border-radius:8px;transition:background .2s}.user-item[data-v-c855b182]:hover{background:#f5f5f5}.user-info[data-v-c855b182]{display:flex;flex-direction:column}.user-info .name[data-v-c855b182]{font-size:14px;color:#333}.user-info .status[data-v-c855b182]{font-size:12px;color:#999}.user-info .status.online[data-v-c855b182]{color:#07c160}.empty-tip[data-v-c855b182]{text-align:center;color:#999;padding:20px;font-size:14px}.settings-modal[data-v-c855b182]{min-width:280px}.setting-item[data-v-c855b182]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.setting-item .online[data-v-c855b182]{color:#07c160}.logout-btn[data-v-c855b182]{width:100%;margin-top:20px;padding:12px;background:#fff;border:1px solid #e74c3c;color:#e74c3c;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.logout-btn[data-v-c855b182]:hover{background:#e74c3c;color:#fff}
