#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-color);font-size:var(--font-size-base);line-height:var(--line-height-normal)}#app,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin:0;color:var(--text-secondary)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-placeholder);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*{transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}::-moz-selection{background:var(--primary-light);color:var(--primary-color)}::selection{background:var(--primary-light);color:var(--primary-color)}.login-container[data-v-34437bd6]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--primary-gradient);position:relative;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-container[data-v-34437bd6]:before{content:"";position:absolute;width:600px;height:600px;background:hsla(0,0%,100%,.1);border-radius:50%;top:-200px;right:-200px;animation:float-34437bd6 8s ease-in-out infinite}.login-container[data-v-34437bd6]:after{content:"";position:absolute;width:400px;height:400px;background:hsla(0,0%,100%,.08);border-radius:50%;bottom:-150px;left:-150px;animation:float-34437bd6 10s ease-in-out infinite reverse}@keyframes float-34437bd6{0%,to{transform:translateY(0) rotate(0deg) scale(1)}50%{transform:translateY(-30px) rotate(180deg) scale(1.05)}}.login-card[data-v-34437bd6]{width:440px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.2);padding:40px;animation:slideUp-34437bd6 .6s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}@keyframes slideUp-34437bd6{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.login-card h2[data-v-34437bd6]{text-align:center;margin-bottom:35px;color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.5px}.login-card .el-form-item__label[data-v-34437bd6]{color:var(--text-primary)!important;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-bottom:8px}.login-card .el-input__inner[data-v-34437bd6]{border-radius:var(--radius-md);border:2px solid var(--border-color);padding:14px 16px;font-size:var(--font-size-base);transition:all var(--transition-normal);background:var(--bg-white)}.login-card .el-input__inner[data-v-34437bd6]:hover{border-color:var(--primary-color)}.login-card .el-input__inner[data-v-34437bd6]:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(79,70,229,.1)}.login-card .el-button--primary[data-v-34437bd6]{width:100%;background:linear-gradient(135deg,var(--primary-color),#7c3aed);border:none;border-radius:var(--radius-md);padding:14px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:all var(--transition-normal);margin-top:15px;letter-spacing:.5px}.login-card .el-button--primary[data-v-34437bd6]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(79,70,229,.4)}.login-card .el-button--primary[data-v-34437bd6]:active{transform:translateY(0)}.login-footer[data-v-34437bd6]{text-align:center;margin-top:25px;padding-top:25px;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm)}.register-link[data-v-34437bd6]{color:var(--primary-color)!important;font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-fast)}.register-link[data-v-34437bd6]:hover{color:#7c3aed!important;text-decoration:underline}@media screen and (max-width:480px){.login-card[data-v-34437bd6]{width:90%;padding:30px 25px;margin:20px}.login-card h2[data-v-34437bd6]{font-size:var(--font-size-xl)}}.register-container[data-v-9d6ec712]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-box[data-v-9d6ec712]{width:100%;max-width:420px;background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.register-header[data-v-9d6ec712]{text-align:center;margin-bottom:30px}.logo[data-v-9d6ec712]{width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.logo i[data-v-9d6ec712]{font-size:40px;color:#fff}.register-header h2[data-v-9d6ec712]{color:#333;margin-bottom:10px;font-size:28px}.register-header p[data-v-9d6ec712]{color:#999;font-size:14px}.register-form[data-v-9d6ec712]{margin-bottom:20px}.register-btn[data-v-9d6ec712]{width:100%;height:50px;font-size:16px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);border:none}.register-btn[data-v-9d6ec712]:hover{opacity:.9}.register-footer[data-v-9d6ec712]{text-align:center;color:#666}.login-link[data-v-9d6ec712]{color:#667eea;font-weight:600}.success-content[data-v-9d6ec712]{text-align:center;padding:20px}.success-icon[data-v-9d6ec712]{width:80px;height:80px;background:#67c23a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon i[data-v-9d6ec712]{font-size:40px;color:#fff}.success-text[data-v-9d6ec712]{font-size:20px;color:#333;margin-bottom:10px}.success-subtext[data-v-9d6ec712]{font-size:14px;color:#999}.private-chat[data-v-eb7ccd7e]{display:flex;flex:1;overflow:hidden}.chat-sidebar[data-v-eb7ccd7e]{width:280px;background:var(--bg-white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header[data-v-eb7ccd7e]{padding:20px 16px;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary);font-size:16px}.user-list[data-v-eb7ccd7e]{flex:1;overflow-y:auto;padding:8px}.user-item[data-v-eb7ccd7e]{display:flex;align-items:center;padding:12px;border-radius:12px;cursor:pointer;transition:all .2s;position:relative;margin-bottom:4px}.user-item[data-v-eb7ccd7e]:hover{background:var(--bg-color)}.user-item.active[data-v-eb7ccd7e]{background:var(--primary-light)}.user-avatar-small[data-v-eb7ccd7e]{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:12px}.user-info[data-v-eb7ccd7e]{flex:1}.user-name-row[data-v-eb7ccd7e]{display:flex;align-items:center;gap:8px}.user-name[data-v-eb7ccd7e]{font-weight:500;font-size:14px;color:var(--text-color)}.user-status[data-v-eb7ccd7e]{font-size:12px;color:#67c23a}.user-badge[data-v-eb7ccd7e]{background:var(--danger-color);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;flex-shrink:0}.chat-main[data-v-eb7ccd7e]{min-width:0}.chat-main[data-v-eb7ccd7e],.welcome-screen[data-v-eb7ccd7e]{flex:1;display:flex;flex-direction:column;background:var(--bg-color)}.welcome-screen[data-v-eb7ccd7e]{align-items:center;justify-content:center}.welcome-icon[data-v-eb7ccd7e]{font-size:72px;color:var(--text-placeholder)}.welcome-text[data-v-eb7ccd7e]{font-size:20px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.welcome-subtext[data-v-eb7ccd7e]{font-size:14px;color:var(--text-secondary)}.welcome-icon[data-v-eb7ccd7e]{font-size:64px;margin-bottom:20px}.welcome-text[data-v-eb7ccd7e]{font-size:18px;margin-bottom:10px}.chat-header-bar[data-v-eb7ccd7e]{padding:15px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-white)}.chat-partner[data-v-eb7ccd7e]{display:flex;align-items:center}.partner-avatar[data-v-eb7ccd7e]{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:12px}.partner-name[data-v-eb7ccd7e]{font-weight:500;color:var(--text-primary)}.partner-status[data-v-eb7ccd7e]{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:5px}.status-dot[data-v-eb7ccd7e]{width:8px;height:8px;border-radius:50%;background:#67c23a}.header-unread-badge[data-v-eb7ccd7e]{background:var(--danger-color);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;animation:pulse-eb7ccd7e 2s infinite}@keyframes pulse-eb7ccd7e{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.chat-messages[data-v-eb7ccd7e]{flex:1;overflow-y:auto;padding:20px}.empty-messages[data-v-eb7ccd7e]{text-align:center;padding:60px 20px;color:#909399}.empty-icon[data-v-eb7ccd7e]{font-size:48px;margin-bottom:16px}.message[data-v-eb7ccd7e]{display:flex;margin-bottom:20px;align-items:flex-start;animation:slideUp-eb7ccd7e .3s ease}@keyframes slideUp-eb7ccd7e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent[data-v-eb7ccd7e]{flex-direction:row-reverse}.message-avatar[data-v-eb7ccd7e]{width:38px;height:38px;border-radius:10px;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin:0 10px;flex-shrink:0}.message-body[data-v-eb7ccd7e]{max-width:60%;background:var(--bg-white);padding:12px 16px;border-radius:16px;box-shadow:var(--shadow-sm);border-top-left-radius:4px}.message.sent .message-body[data-v-eb7ccd7e]{background:#07c160;color:#fff;border-top-left-radius:16px;border-top-right-radius:4px}.message-header[data-v-eb7ccd7e]{margin-bottom:6px;font-size:13px;display:flex;gap:10px;align-items:center}.message.sent .message-header[data-v-eb7ccd7e]{justify-content:flex-end}.sender[data-v-eb7ccd7e]{font-weight:600;color:var(--text-primary)}.message.sent .sender[data-v-eb7ccd7e]{color:#fff}.time[data-v-eb7ccd7e]{font-size:11px;color:var(--text-secondary);font-weight:400}.message.sent .time[data-v-eb7ccd7e]{color:#fff}.message-content[data-v-eb7ccd7e]{color:var(--text-primary);word-break:break-word}.message.sent .message-content[data-v-eb7ccd7e]{color:#fff}.message-status[data-v-eb7ccd7e]{text-align:right;margin-top:4px}.read-status[data-v-eb7ccd7e]{font-size:11px;display:inline-flex;align-items:center;gap:3px}.read-status.read[data-v-eb7ccd7e]{color:#67c23a}.read-status.unread[data-v-eb7ccd7e]{color:var(--text-secondary)}.message-image[data-v-eb7ccd7e]{max-width:200px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-image[data-v-eb7ccd7e]:hover{transform:scale(1.02)}.message-video[data-v-eb7ccd7e]{max-width:300px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-video[data-v-eb7ccd7e]:hover{transform:scale(1.02)}.file-message[data-v-eb7ccd7e]{display:flex;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:8px;cursor:pointer;transition:background-color .2s;gap:12px}.file-message[data-v-eb7ccd7e]:hover{background:var(--primary-light)}.file-icon[data-v-eb7ccd7e]{font-size:32px;color:var(--primary-color)}.file-info[data-v-eb7ccd7e]{display:flex;flex-direction:column;gap:4px}.file-name[data-v-eb7ccd7e]{font-size:14px;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-eb7ccd7e]{font-size:12px;color:var(--text-secondary)}.chat-input-area[data-v-eb7ccd7e]{padding:16px 24px 20px;background:var(--bg-white);border-top:1px solid var(--border-color);flex-shrink:0}.input-toolbar[data-v-eb7ccd7e]{display:flex;gap:8px;margin-bottom:12px}.toolbar-btn[data-v-eb7ccd7e]{width:36px;height:36px;border:none;background:var(--bg-color);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s;font-size:16px}.toolbar-btn[data-v-eb7ccd7e]:hover{background:var(--primary-light);color:var(--primary-color)}.input-wrapper[data-v-eb7ccd7e]{display:flex;gap:12px;align-items:flex-end}.message-input[data-v-eb7ccd7e]{flex:1;border:1px solid var(--border-color);border-radius:22px;padding:12px 18px;resize:none;outline:none;font-family:inherit;font-size:14px;min-height:44px;max-height:120px;transition:all .2s;background:var(--bg-color);color:var(--text-primary)}.message-input[data-v-eb7ccd7e]::-moz-placeholder{color:var(--text-placeholder)}.message-input[data-v-eb7ccd7e]::placeholder{color:var(--text-placeholder)}.message-input[data-v-eb7ccd7e]:focus{border-color:var(--primary-color);background:var(--bg-white);box-shadow:0 0 0 3px rgba(7,193,96,.1)}.send-btn[data-v-eb7ccd7e]{width:44px;height:44px;background:linear-gradient(135deg,#4a90d9,#5a9de9);transition:all .2s;font-size:18px;flex-shrink:0}.send-btn[data-v-eb7ccd7e]:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 12px rgba(74,144,217,.4)}.send-btn[data-v-eb7ccd7e]{width:40px;height:40px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.send-btn[data-v-eb7ccd7e]:hover:not(:disabled){transform:scale(1.1)}.send-btn[data-v-eb7ccd7e]:disabled{opacity:.5;cursor:not-allowed}.empty-list[data-v-eb7ccd7e]{text-align:center;padding:40px 20px;color:#909399}@media screen and (max-width:768px){.private-chat[data-v-eb7ccd7e]{flex-direction:column;height:calc(100vh - 100px)}.chat-sidebar[data-v-eb7ccd7e]{width:100%;height:auto;max-height:120px;border-right:none;border-bottom:1px solid #e4e7ed;flex-shrink:0}.sidebar-header[data-v-eb7ccd7e]{padding:8px 15px;font-size:13px;display:none}.user-list[data-v-eb7ccd7e]{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:10px;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.user-list[data-v-eb7ccd7e]::-webkit-scrollbar{display:none}.user-item[data-v-eb7ccd7e]{padding:8px 12px;flex-direction:column;align-items:center;min-width:70px;gap:4px;border-radius:12px}.user-avatar-small[data-v-eb7ccd7e]{width:48px;height:48px;font-size:18px;margin-right:0}.user-info[data-v-eb7ccd7e]{text-align:center}.user-name[data-v-eb7ccd7e]{font-size:12px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-status[data-v-eb7ccd7e]{font-size:10px;display:none}.user-badge[data-v-eb7ccd7e]{position:absolute;top:5px;right:5px;padding:2px 6px;font-size:10px;min-width:18px;height:18px;line-height:14px;border-radius:9px}.chat-main[data-v-eb7ccd7e]{height:calc(100vh - 170px);min-height:0;display:flex;flex-direction:column}.chat-header-bar[data-v-eb7ccd7e]{padding:10px 15px;min-height:50px}.partner-avatar[data-v-eb7ccd7e]{width:36px;height:36px;font-size:14px}.partner-name[data-v-eb7ccd7e]{font-size:15px}.partner-status[data-v-eb7ccd7e]{font-size:11px}.header-unread-badge[data-v-eb7ccd7e]{padding:4px 10px;font-size:11px}.chat-messages[data-v-eb7ccd7e]{padding:10px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.message[data-v-eb7ccd7e]{margin-bottom:12px;gap:8px}.message-avatar[data-v-eb7ccd7e]{width:32px;height:32px;font-size:12px}.message-body[data-v-eb7ccd7e]{max-width:75%;padding:8px 12px}.message-header[data-v-eb7ccd7e]{margin-bottom:4px}.sender[data-v-eb7ccd7e]{font-size:12px}.time[data-v-eb7ccd7e]{font-size:10px}.message-content[data-v-eb7ccd7e]{font-size:14px;line-height:1.4}.message-image[data-v-eb7ccd7e]{max-width:150px}.read-status[data-v-eb7ccd7e]{font-size:10px}.chat-input-area[data-v-eb7ccd7e]{padding:10px 12px;flex-shrink:0;background:#fff;border-top:1px solid #e4e7ed}.input-toolbar[data-v-eb7ccd7e]{margin-bottom:8px}.toolbar-btn[data-v-eb7ccd7e]{width:32px;height:32px}.input-wrapper[data-v-eb7ccd7e]{gap:8px}.message-input[data-v-eb7ccd7e]{padding:8px 12px;min-height:36px;font-size:16px}.send-btn[data-v-eb7ccd7e]{width:36px;height:36px}.welcome-screen[data-v-eb7ccd7e]{padding:20px}.welcome-icon[data-v-eb7ccd7e]{font-size:48px;margin-bottom:15px}.welcome-text[data-v-eb7ccd7e]{font-size:16px}.welcome-subtext[data-v-eb7ccd7e]{font-size:13px}.empty-messages[data-v-eb7ccd7e]{padding:30px 20px}.empty-icon[data-v-eb7ccd7e]{font-size:36px;margin-bottom:10px}.empty-text[data-v-eb7ccd7e]{font-size:14px}.empty-subtext[data-v-eb7ccd7e]{font-size:12px}}@media screen and (max-width:375px){.message-body[data-v-eb7ccd7e]{max-width:80%}.message-content[data-v-eb7ccd7e]{font-size:13px}.user-avatar-small[data-v-eb7ccd7e]{width:40px;height:40px;font-size:16px}.partner-avatar[data-v-eb7ccd7e]{width:32px;height:32px;font-size:12px}}.add-friend-content[data-v-eb7ccd7e]{padding:20px 0}.search-result[data-v-eb7ccd7e]{margin-top:20px}.user-card[data-v-eb7ccd7e]{display:flex;align-items:center;padding:15px;background:#f5f7fa;border-radius:8px;gap:12px}.user-card-avatar[data-v-eb7ccd7e]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.user-card-info[data-v-eb7ccd7e]{flex:1;min-width:0}.user-card-name[data-v-eb7ccd7e]{font-size:16px;font-weight:500;color:#303133;margin-bottom:4px}.user-card-username[data-v-eb7ccd7e]{font-size:13px;color:#909399}.search-error[data-v-eb7ccd7e]{margin-top:20px;padding:15px;background:#fef0f0;border-radius:8px;color:#f56c6c;display:flex;align-items:center;justify-content:center;gap:8px}.empty-hint[data-v-eb7ccd7e]{font-size:12px;color:#909399;margin-top:8px}.sidebar-header[data-v-eb7ccd7e]{display:flex;justify-content:space-between;align-items:center}.header-left[data-v-eb7ccd7e]{display:flex;align-items:center;gap:8px}.add-friend-btn[data-v-eb7ccd7e]{color:#409eff;font-size:13px;padding:0}.add-friend-btn[data-v-eb7ccd7e]:hover{color:#66b1ff}.add-friend-btn i[data-v-eb7ccd7e]{margin-right:4px}.request-list[data-v-eb7ccd7e]{max-height:400px;overflow-y:auto}.request-item[data-v-eb7ccd7e]{display:flex;align-items:center;padding:15px;border-bottom:1px solid #ebeef5;gap:12px}.request-item[data-v-eb7ccd7e]:last-child{border-bottom:none}.request-avatar[data-v-eb7ccd7e]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.request-info[data-v-eb7ccd7e]{flex:1;min-width:0}.request-name[data-v-eb7ccd7e]{font-size:14px;font-weight:500;color:#303133;margin-bottom:4px}.request-time[data-v-eb7ccd7e]{font-size:12px;color:#909399}.request-actions[data-v-eb7ccd7e]{display:flex;gap:8px}.request-status[data-v-eb7ccd7e]{flex-shrink:0}.empty-requests[data-v-eb7ccd7e]{padding:40px 20px;text-align:center;color:#909399}.empty-requests i[data-v-eb7ccd7e]{font-size:48px;margin-bottom:15px;display:block}.empty-requests span[data-v-eb7ccd7e]{font-size:14px}.header-right[data-v-eb7ccd7e]{display:flex;align-items:center;gap:8px}.header-btn[data-v-eb7ccd7e]{color:#409eff;font-size:13px;padding:0}.header-btn[data-v-eb7ccd7e]:hover{color:#66b1ff}.header-btn i[data-v-eb7ccd7e]{margin-right:4px}.request-badge[data-v-eb7ccd7e]{margin-right:8px}.request-badge[data-v-eb7ccd7e] .el-badge__content{top:-5px;right:-5px}.user-card .request-actions[data-v-eb7ccd7e]{display:flex;gap:8px}.emoji-picker[data-v-eb7ccd7e]{padding:10px}.emoji-categories[data-v-eb7ccd7e]{display:flex;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #ebeef5;overflow-x:auto}.emoji-category[data-v-eb7ccd7e]{cursor:pointer;padding:5px 10px;border-radius:4px;font-size:20px;transition:background-color .3s}.emoji-category[data-v-eb7ccd7e]:hover{background-color:#f5f7fa}.emoji-category.active[data-v-eb7ccd7e]{background-color:#ecf5ff}.emoji-list[data-v-eb7ccd7e]{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;max-height:200px;overflow-y:auto}.emoji-item[data-v-eb7ccd7e]{cursor:pointer;font-size:24px;padding:5px;text-align:center;border-radius:4px;transition:background-color .2s}.emoji-item[data-v-eb7ccd7e]:hover{background-color:#f5f7fa}.emoji-popover[data-v-eb7ccd7e]{padding:0}.emoji-popover .el-popover__title[data-v-eb7ccd7e]{margin:0;padding:10px;border-bottom:1px solid #ebeef5}.screenshot-container[data-v-eb7ccd7e]{padding:10px}.screenshot-hint[data-v-eb7ccd7e]{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#f4f4f5;border-radius:8px;margin-bottom:15px;color:#606266;font-size:14px}.screenshot-hint i[data-v-eb7ccd7e]{color:#409eff;font-size:16px}.screenshot-preview-area[data-v-eb7ccd7e]{min-height:300px;border:2px dashed #dcdfe6;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;cursor:pointer;transition:all .3s;outline:none}.screenshot-preview-area[data-v-eb7ccd7e]:focus,.screenshot-preview-area[data-v-eb7ccd7e]:hover{border-color:#409eff;background:#ecf5ff}.screenshot-placeholder[data-v-eb7ccd7e]{text-align:center;color:#909399}.screenshot-placeholder i[data-v-eb7ccd7e]{font-size:48px;margin-bottom:10px}.screenshot-placeholder p[data-v-eb7ccd7e]{margin:0;font-size:14px}.screenshot-preview-img[data-v-eb7ccd7e]{max-width:100%;max-height:400px;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.1)}.group-chat[data-v-69331e34]{display:flex;flex:1;overflow:hidden}.chat-sidebar[data-v-69331e34]{width:280px;background:var(--bg-white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header[data-v-69331e34]{padding:20px 16px;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between}.sidebar-header span[data-v-69331e34]{font-size:16px}.create-btn[data-v-69331e34]{width:32px;height:32px;border-radius:8px;background:var(--bg-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s}.create-btn[data-v-69331e34]:hover{background:var(--primary-color);color:#fff}.room-list[data-v-69331e34]{flex:1;overflow-y:auto;padding:8px}.room-item[data-v-69331e34]{display:flex;align-items:center;padding:12px;border-radius:12px;cursor:pointer;transition:all .2s;position:relative;margin-bottom:4px}.room-item[data-v-69331e34]:hover{background:var(--bg-color)}.room-item.active[data-v-69331e34]{background:var(--primary-light)}.room-item.active .room-name[data-v-69331e34]{color:var(--text-primary);font-weight:600}.room-avatar[data-v-69331e34]{width:44px;height:44px;border-radius:12px;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;margin-right:12px;flex-shrink:0}.room-info[data-v-69331e34]{flex:1;min-width:0}.room-name[data-v-69331e34]{font-weight:500;color:var(--text-primary);font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-meta[data-v-69331e34]{font-size:12px;color:var(--text-secondary)}.room-badge[data-v-69331e34]{background:var(--danger-color);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px}.chat-main[data-v-69331e34]{min-width:0}.chat-main[data-v-69331e34],.welcome-screen[data-v-69331e34]{flex:1;display:flex;flex-direction:column;background:var(--bg-color)}.welcome-screen[data-v-69331e34]{align-items:center;justify-content:center}.welcome-icon[data-v-69331e34]{font-size:72px;color:var(--text-placeholder)}.welcome-text[data-v-69331e34]{font-size:20px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.welcome-subtext[data-v-69331e34]{font-size:14px;color:var(--text-secondary)}.welcome-icon[data-v-69331e34]{font-size:64px;margin-bottom:20px}.welcome-text[data-v-69331e34]{font-size:18px;margin-bottom:10px}.chat-header-bar[data-v-69331e34]{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-white);flex-shrink:0}.chat-partner[data-v-69331e34]{display:flex;align-items:center}.partner-avatar[data-v-69331e34]{width:44px;height:44px;border-radius:12px;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;margin-right:12px;flex-shrink:0}.partner-name[data-v-69331e34]{font-size:16px;font-weight:600;color:var(--text-secondary)}.room-number[data-v-69331e34]{font-size:13px;font-weight:400;color:var(--text-secondary);margin-left:8px}.partner-status[data-v-69331e34]{display:flex;align-items:center;gap:6px}.status-dot[data-v-69331e34]{width:8px;height:8px;background:var(--success-color);border-radius:50%}.partner-name[data-v-69331e34]{font-weight:500;color:var(--text-primary)}.partner-status[data-v-69331e34]{font-size:12px;color:var(--text-secondary)}.header-actions[data-v-69331e34]{display:flex;align-items:center;gap:12px}.header-unread-badge[data-v-69331e34]{background:linear-gradient(135deg,var(--danger-color),var(--danger-color));color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;animation:pulse-69331e34 2s infinite}@keyframes pulse-69331e34{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.members-btn[data-v-69331e34]{color:var(--text-secondary)}.request-btn[data-v-69331e34]{color:var(--text-secondary);position:relative}.chat-messages[data-v-69331e34]{flex:1;overflow-y:auto;padding:20px}.empty-messages[data-v-69331e34]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon[data-v-69331e34]{font-size:48px;margin-bottom:16px}.message[data-v-69331e34]{display:flex;margin-bottom:20px;align-items:flex-start;animation:slideUp-69331e34 .3s ease}@keyframes slideUp-69331e34{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent[data-v-69331e34]{flex-direction:row-reverse}.message-avatar[data-v-69331e34]{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin:0 10px;flex-shrink:0}.message-body[data-v-69331e34]{max-width:60%;background:var(--bg-white);padding:12px 16px;border-radius:16px;box-shadow:var(--shadow-sm);border-top-left-radius:4px}.message.sent .message-body[data-v-69331e34]{background:var(--success-color);color:#fff;border-top-left-radius:16px;border-top-right-radius:4px}.message-header[data-v-69331e34]{margin-bottom:6px;font-size:13px;display:flex;gap:10px;align-items:center}.message.sent .message-header[data-v-69331e34]{justify-content:flex-end}.sender[data-v-69331e34]{font-weight:600;color:var(--text-primary)}.message.sent .sender[data-v-69331e34]{color:#fff}.time[data-v-69331e34]{font-size:11px;color:var(--text-secondary);font-weight:400}.message.sent .time[data-v-69331e34]{color:#fff}.message-content[data-v-69331e34]{color:var(--text-primary);word-break:break-word;line-height:1.5}.message.sent .message-content[data-v-69331e34]{color:#fff}.message-image[data-v-69331e34]{max-width:200px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-image[data-v-69331e34]:hover{transform:scale(1.02)}.message-video[data-v-69331e34]{max-width:300px;border-radius:8px;cursor:pointer;transition:transform .2s}.message-video[data-v-69331e34]:hover{transform:scale(1.02)}.file-message[data-v-69331e34]{display:flex;align-items:center;padding:12px 16px;background:var(--bg-hover);border-radius:8px;cursor:pointer;transition:background-color .2s;gap:12px}.file-message[data-v-69331e34]:hover{background:var(--primary-light)}.file-icon[data-v-69331e34]{font-size:32px;color:var(--primary-color)}.file-info[data-v-69331e34]{display:flex;flex-direction:column;gap:4px}.file-name[data-v-69331e34]{font-size:14px;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-69331e34]{font-size:12px;color:var(--text-secondary)}.chat-input-area[data-v-69331e34]{padding:16px 24px 20px;background:var(--bg-white);border-top:1px solid var(--border-color);flex-shrink:0}.input-toolbar[data-v-69331e34]{display:flex;gap:8px;margin-bottom:12px}.toolbar-btn[data-v-69331e34]{width:36px;height:36px;border:none;background:var(--bg-color);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s;font-size:16px}.toolbar-btn[data-v-69331e34]:hover{background:var(--primary-light);color:var(--primary-color)}.input-wrapper[data-v-69331e34]{display:flex;gap:12px;align-items:flex-end;position:relative}.group-chat-mention-dropdown[data-v-69331e34]{position:absolute;background:#fff;border:2px solid #07c160;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.3);max-height:300px;overflow-y:auto;z-index:999999;min-width:220px;bottom:100%;left:0;margin-bottom:8px}.group-chat-mention-dropdown .mention-header[data-v-69331e34]{padding:8px 12px;font-size:12px;color:#999;border-bottom:1px solid #f0f0f0;background:#fafafa}.group-chat-mention-dropdown .mention-item[data-v-69331e34]{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:background-color .2s}.group-chat-mention-dropdown .mention-item.active[data-v-69331e34],.group-chat-mention-dropdown .mention-item[data-v-69331e34]:hover{background-color:#f0f0f0}.group-chat-mention-dropdown .mention-avatar[data-v-69331e34]{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin-right:10px}.group-chat-mention-dropdown .mention-avatar-placeholder[data-v-69331e34]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;margin-right:10px}.group-chat-mention-dropdown .mention-name[data-v-69331e34]{font-size:14px;color:#333}.group-chat-mention-dropdown .mention-empty[data-v-69331e34]{padding:12px;text-align:center;color:#999;font-size:13px}.message-input[data-v-69331e34]{flex:1;border:1px solid var(--border-color);border-radius:22px;padding:12px 18px;resize:none;outline:none;font-family:inherit;font-size:14px;min-height:44px;max-height:120px;transition:all .2s;background:var(--bg-color);color:var(--text-primary)}.message-input[data-v-69331e34]::-moz-placeholder{color:var(--text-placeholder)}.message-input[data-v-69331e34]::placeholder{color:var(--text-placeholder)}.message-input[data-v-69331e34]:focus{border-color:var(--primary-color);background:var(--bg-white);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.send-btn[data-v-69331e34]{width:44px;height:44px;transition:all .2s;font-size:18px;flex-shrink:0}.send-btn[data-v-69331e34]:hover:not(:disabled){transform:scale(1.08)}.send-btn[data-v-69331e34]{width:40px;height:40px;border:none;background:var(--primary-color);color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.send-btn[data-v-69331e34]:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.4)}.send-btn[data-v-69331e34]:disabled{opacity:.5;cursor:not-allowed}.empty-list[data-v-69331e34]{text-align:center;padding:40px 20px;color:var(--text-secondary)}.vote-btn[data-v-69331e34]{color:var(--text-secondary);margin-right:10px}.vote-btn[data-v-69331e34]:hover{color:var(--primary-color)}.create-vote-section[data-v-69331e34]{padding:20px 0}.vote-option-input[data-v-69331e34]{margin-bottom:10px}.dialog-footer[data-v-69331e34]{text-align:right;padding-top:20px;border-top:1px solid var(--border-color)}.vote-list-header[data-v-69331e34]{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.empty-votes[data-v-69331e34]{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-votes i[data-v-69331e34]{font-size:48px;margin-bottom:10px}.vote-items[data-v-69331e34]{max-height:400px;overflow-y:auto}.vote-item[data-v-69331e34]{background:var(--bg-color);border-radius:8px;padding:15px;margin-bottom:15px}.vote-header[data-v-69331e34]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.vote-header h4[data-v-69331e34]{margin:0;color:var(--text-primary)}.vote-status[data-v-69331e34]{font-size:12px;padding:2px 8px;border-radius:10px}.vote-status.active[data-v-69331e34]{background:var(--primary-color);color:#fff}.vote-status.closed[data-v-69331e34]{background:var(--text-secondary);color:#fff}.vote-option[data-v-69331e34],.vote-options[data-v-69331e34]{margin-bottom:15px}.vote-bar-container[data-v-69331e34]{display:flex;align-items:center;margin-top:5px;margin-left:24px}.vote-bar[data-v-69331e34]{height:8px;background:var(--primary-color);border-radius:4px;transition:width .3s ease;margin-right:10px}.vote-count[data-v-69331e34]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.vote-footer[data-v-69331e34]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);padding-top:10px;border-top:1px solid var(--border-color)}.vote-message[data-v-69331e34]{width:100%}.vote-message .message-body[data-v-69331e34]{max-width:450px!important;width:100%}.vote-message-content[data-v-69331e34]{margin-top:8px;width:100%}.vote-bubble[data-v-69331e34]{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:16px;padding:16px 20px;color:#fff;display:flex;align-items:flex-start;gap:15px;box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.4);width:100%;box-sizing:border-box}.vote-icon[data-v-69331e34]{width:48px;height:48px;background:hsla(0,0%,100%,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.vote-info[data-v-69331e34]{flex:1;min-width:0}.vote-header-row[data-v-69331e34]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.vote-meal-badge[data-v-69331e34]{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500;white-space:nowrap}.vote-meal-badge.breakfast[data-v-69331e34]{background:#ffd93d;color:#333}.vote-meal-badge.lunch[data-v-69331e34]{background:#ff6b6b;color:#fff}.vote-meal-badge.dinner[data-v-69331e34]{background:#4ecdc4;color:#fff}.vote-title[data-v-69331e34]{font-weight:600;font-size:15px;flex:1}.vote-desc[data-v-69331e34]{font-size:13px;opacity:.9;margin-bottom:10px}.vote-options-preview[data-v-69331e34]{display:flex;flex-wrap:wrap;gap:6px}.vote-opt-tag[data-v-69331e34]{background:hsla(0,0%,100%,.25);padding:4px 10px;border-radius:12px;font-size:12px;border:1px solid hsla(0,0%,100%,.3)}.vote-more[data-v-69331e34]{background:hsla(0,0%,100%,.15);padding:4px 10px;border-radius:12px;font-size:12px}.vote-action-btn[data-v-69331e34]{flex-shrink:0;background:#fff!important;color:#667eea!important;border:none!important;font-weight:500;padding:8px 16px!important;border-radius:20px!important}.vote-action-btn[data-v-69331e34]:hover{background:#f0f0f0!important;transform:translateY(-1px)}.vote-result-message-content[data-v-69331e34]{margin-top:8px;width:100%}.vote-result-bubble[data-v-69331e34]{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:16px;padding:16px 20px;color:#fff;display:flex;align-items:flex-start;gap:15px;box-shadow:0 4px 15px rgba(245,87,108,.4);width:100%;box-sizing:border-box}.vote-result-icon[data-v-69331e34]{width:48px;height:48px;background:hsla(0,0%,100%,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.vote-result-info[data-v-69331e34]{flex:1;min-width:0}.vote-result-header[data-v-69331e34]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.vote-result-badge[data-v-69331e34]{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500;white-space:nowrap}.vote-result-badge.breakfast[data-v-69331e34]{background:#ffd93d;color:#333}.vote-result-badge.lunch[data-v-69331e34]{background:#fff;color:#f5576c}.vote-result-badge.dinner[data-v-69331e34]{background:#4ecdc4;color:#fff}.vote-result-title[data-v-69331e34]{font-weight:600;font-size:16px}.vote-result-desc[data-v-69331e34]{font-size:13px;opacity:.95;margin-bottom:12px}.vote-result-winners[data-v-69331e34]{background:hsla(0,0%,100%,.15);border-radius:10px;padding:12px;margin-bottom:10px}.winner-label[data-v-69331e34]{font-size:12px;margin-bottom:8px;opacity:.9}.winner-list[data-v-69331e34]{display:flex;flex-wrap:wrap;gap:8px}.winner-tag[data-v-69331e34]{background:hsla(0,0%,100%,.9);color:#f5576c;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px}.winner-tag i[data-v-69331e34]{color:gold}.winner-count[data-v-69331e34]{font-size:11px;opacity:.8}.vote-result-total[data-v-69331e34]{font-size:12px;opacity:.9;text-align:right}.vote-item[data-v-69331e34]{cursor:pointer;transition:background .2s}.vote-item[data-v-69331e34]:hover{background:#e8f4ff}.vote-preview[data-v-69331e34]{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.preview-tag[data-v-69331e34]{background:#f0f0f0;padding:4px 10px;border-radius:12px;font-size:12px;color:#606266}.preview-more[data-v-69331e34]{background:#e0e0e0;padding:4px 10px;border-radius:12px;font-size:12px;color:#909399}.vote-detail-section[data-v-69331e34]{padding:10px 0}.vote-detail-header[data-v-69331e34]{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e4e7ed}.vote-detail-content[data-v-69331e34]{background:#f8f9fa;border-radius:12px;padding:20px}.vote-detail-title[data-v-69331e34]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.vote-detail-title h3[data-v-69331e34]{margin:0;font-size:18px;color:#303133}.meal-badge[data-v-69331e34]{font-size:12px;padding:4px 12px;border-radius:12px;font-weight:500}.meal-badge.breakfast[data-v-69331e34]{background:#ffd93d;color:#333}.meal-badge.lunch[data-v-69331e34]{background:#ff6b6b;color:#fff}.meal-badge.dinner[data-v-69331e34]{background:#4ecdc4;color:#fff}.vote-detail-status[data-v-69331e34]{display:inline-block;font-size:12px;padding:4px 12px;border-radius:12px;margin-bottom:20px}.vote-detail-status.active[data-v-69331e34]{background:#67c23a;color:#fff}.vote-detail-status.closed[data-v-69331e34]{background:#909399;color:#fff}.vote-detail-options[data-v-69331e34]{margin-bottom:20px}.vote-detail-option[data-v-69331e34]{background:#fff;border-radius:8px;padding:15px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.option-header[data-v-69331e34]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.option-count[data-v-69331e34]{font-size:13px;color:#909399}.option-bar-container[data-v-69331e34]{display:flex;align-items:center;gap:10px}.option-bar[data-v-69331e34]{flex:1;height:10px;background:#409eff;border-radius:5px;transition:width .3s ease}.option-percent[data-v-69331e34]{font-size:13px;color:#606266;min-width:40px;text-align:right}.vote-detail-footer[data-v-69331e34]{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid #e4e7ed;font-size:13px;color:#909399}@media screen and (max-width:768px){.group-chat[data-v-69331e34]{flex-direction:column;height:calc(100vh - 100px)}.room-sidebar[data-v-69331e34]{width:100%;height:auto;max-height:120px;border-right:none;border-bottom:1px solid #e4e7ed;flex-shrink:0}.sidebar-header[data-v-69331e34]{padding:8px 15px;font-size:13px;display:none}.create-room-btn[data-v-69331e34]{padding:4px 10px;font-size:11px}.room-list[data-v-69331e34]{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:10px;gap:10px;max-height:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.room-list[data-v-69331e34]::-webkit-scrollbar{display:none}.room-item[data-v-69331e34]{padding:8px 12px;flex-direction:column;align-items:center;min-width:70px;gap:4px;border-radius:12px;position:relative}.room-avatar[data-v-69331e34]{width:48px;height:48px;font-size:18px;margin-right:0}.room-info[data-v-69331e34]{text-align:center;min-width:0}.room-name[data-v-69331e34]{font-size:12px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-meta[data-v-69331e34]{font-size:10px;display:none}.room-badge[data-v-69331e34]{position:absolute;top:5px;right:5px;padding:2px 6px;font-size:10px;min-width:18px;height:18px;line-height:14px;border-radius:9px}.chat-main[data-v-69331e34]{height:calc(100vh - 170px);min-height:0;display:flex;flex-direction:column}.chat-header-bar[data-v-69331e34]{padding:10px 15px;min-height:50px}.header-room-name[data-v-69331e34]{font-size:15px}.header-room-info[data-v-69331e34]{font-size:11px}.header-actions .el-button[data-v-69331e34]{padding:6px 10px;font-size:12px}.chat-messages[data-v-69331e34]{padding:10px;flex:1;min-height:0;overflow-y:auto}.message[data-v-69331e34]{margin-bottom:12px;gap:8px}.message-avatar[data-v-69331e34]{width:32px;height:32px;font-size:12px}.message-body[data-v-69331e34]{max-width:75%;padding:8px 12px}.message-header[data-v-69331e34]{margin-bottom:4px}.sender[data-v-69331e34]{font-size:12px}.time[data-v-69331e34]{font-size:10px}.message-content[data-v-69331e34]{font-size:14px;line-height:1.4}.message-image[data-v-69331e34]{max-width:150px}.vote-message-card[data-v-69331e34]{padding:12px}.vote-card-header[data-v-69331e34]{font-size:13px}.vote-card-title[data-v-69331e34]{font-size:14px}.vote-card-status[data-v-69331e34]{font-size:11px;padding:2px 8px}.vote-card-options[data-v-69331e34]{gap:6px}.vote-card-option[data-v-69331e34]{padding:8px 10px;font-size:13px}.vote-card-footer[data-v-69331e34]{font-size:11px}.chat-input-area[data-v-69331e34]{padding:10px 12px;flex-shrink:0;background:#fff;border-top:1px solid #e4e7ed}.input-toolbar[data-v-69331e34]{margin-bottom:8px}.toolbar-btn[data-v-69331e34]{width:32px;height:32px}.input-wrapper[data-v-69331e34]{gap:8px}.message-input[data-v-69331e34]{padding:8px 12px;min-height:36px;font-size:16px}.send-btn[data-v-69331e34]{width:36px;height:36px}.welcome-screen[data-v-69331e34]{padding:20px}.welcome-icon[data-v-69331e34]{font-size:48px;margin-bottom:15px}.welcome-text[data-v-69331e34]{font-size:16px}.welcome-subtext[data-v-69331e34]{font-size:13px}.empty-messages[data-v-69331e34]{padding:30px 20px}.empty-icon[data-v-69331e34]{font-size:36px;margin-bottom:10px}.empty-text[data-v-69331e34]{font-size:14px}.empty-subtext[data-v-69331e34]{font-size:12px}.vote-list-header[data-v-69331e34]{padding:15px}.vote-list-header h3[data-v-69331e34]{font-size:16px}.vote-list-content[data-v-69331e34]{padding:10px}.vote-item[data-v-69331e34]{padding:12px}.vote-item-title[data-v-69331e34]{font-size:14px}.vote-item-meta[data-v-69331e34]{font-size:11px}.vote-detail-header[data-v-69331e34]{padding:15px}.vote-detail-header h3[data-v-69331e34]{font-size:16px}.vote-detail-content[data-v-69331e34]{padding:15px}.vote-detail-title[data-v-69331e34]{font-size:15px}.vote-detail-info[data-v-69331e34]{font-size:12px}.vote-option-item[data-v-69331e34]{padding:12px}.vote-option-text[data-v-69331e34]{font-size:14px}.vote-option-count[data-v-69331e34]{font-size:12px}.vote-progress-bar[data-v-69331e34]{height:6px}.create-vote-header[data-v-69331e34]{padding:15px}.create-vote-header h3[data-v-69331e34]{font-size:16px}.create-vote-content[data-v-69331e34]{padding:15px}.vote-form[data-v-69331e34] .el-form-item__label{font-size:13px}.option-input[data-v-69331e34]{margin-bottom:8px}.option-input[data-v-69331e34] .el-input__inner{font-size:14px}}@media screen and (max-width:375px){.message-body[data-v-69331e34]{max-width:80%}.message-content[data-v-69331e34]{font-size:13px}.room-avatar[data-v-69331e34]{width:40px;height:40px;font-size:16px}.vote-message-card[data-v-69331e34]{padding:10px}.vote-card-title[data-v-69331e34]{font-size:13px}.vote-card-option[data-v-69331e34]{padding:6px 8px;font-size:12px}}.emoji-picker[data-v-69331e34]{padding:10px}.emoji-categories[data-v-69331e34]{display:flex;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #ebeef5;overflow-x:auto}.emoji-category[data-v-69331e34]{cursor:pointer;padding:5px 10px;border-radius:4px;font-size:20px;transition:background-color .3s}.emoji-category[data-v-69331e34]:hover{background-color:#f5f7fa}.emoji-category.active[data-v-69331e34]{background-color:#ecf5ff}.emoji-list[data-v-69331e34]{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;max-height:200px;overflow-y:auto}.emoji-item[data-v-69331e34]{cursor:pointer;font-size:24px;padding:5px;text-align:center;border-radius:4px;transition:background-color .2s}.emoji-item[data-v-69331e34]:hover{background-color:#f5f7fa}.emoji-popover[data-v-69331e34]{padding:0}.emoji-popover .el-popover__title[data-v-69331e34]{margin:0;padding:10px;border-bottom:1px solid #ebeef5}.screenshot-container[data-v-69331e34]{padding:10px}.screenshot-hint[data-v-69331e34]{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#f4f4f5;border-radius:8px;margin-bottom:15px;color:#606266;font-size:14px}.screenshot-hint i[data-v-69331e34]{color:#409eff;font-size:16px}.screenshot-preview-area[data-v-69331e34]{min-height:300px;border:2px dashed #dcdfe6;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;cursor:pointer;transition:all .3s;outline:none}.screenshot-preview-area[data-v-69331e34]:focus,.screenshot-preview-area[data-v-69331e34]:hover{border-color:#409eff;background:#ecf5ff}.screenshot-placeholder[data-v-69331e34]{text-align:center;color:#909399}.screenshot-placeholder i[data-v-69331e34]{font-size:48px;margin-bottom:10px}.screenshot-placeholder p[data-v-69331e34]{margin:0;font-size:14px}.screenshot-preview-img[data-v-69331e34]{max-width:100%;max-height:400px;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.1)}.search-room-container[data-v-69331e34]{padding:10px 0}.search-result[data-v-69331e34]{margin-top:20px}.room-card[data-v-69331e34]{background:#f5f7fa;border-radius:8px;padding:15px;margin-bottom:15px}.room-card-header[data-v-69331e34]{display:flex;align-items:center;margin-bottom:10px}.room-card-avatar[data-v-69331e34]{width:50px;height:50px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;margin-right:12px}.room-card-info[data-v-69331e34]{flex:1}.room-card-name[data-v-69331e34]{font-size:16px;font-weight:600;color:#303133;margin-bottom:4px}.room-card-meta[data-v-69331e34]{font-size:12px;color:#909399}.room-card-desc[data-v-69331e34]{font-size:13px;color:#606266;margin-bottom:8px;line-height:1.5}.room-card-creator[data-v-69331e34]{font-size:12px;color:#909399}.join-status[data-v-69331e34]{display:flex;align-items:center;justify-content:center;padding:15px;border-radius:8px;font-size:14px}.join-status.joined[data-v-69331e34]{background:#f0f9ff;color:#409eff}.join-status.pending[data-v-69331e34]{background:#fffbe6;color:#faad14}.join-status.rejected[data-v-69331e34]{background:#fff1f0;color:#ff4d4f}.join-status i[data-v-69331e34]{margin-right:8px;font-size:16px}.join-action[data-v-69331e34]{margin-top:15px}.request-message-input[data-v-69331e34]{margin-bottom:10px}.join-btn[data-v-69331e34]{width:100%}.search-empty[data-v-69331e34]{display:flex;flex-direction:column;align-items:center;padding:40px 0;color:#909399}.search-empty i[data-v-69331e34]{font-size:48px;margin-bottom:10px}.members-list[data-v-69331e34]{max-height:400px;overflow-y:auto}.member-item[data-v-69331e34]{display:flex;align-items:center;padding:12px;border-bottom:1px solid #ebeef5}.member-item[data-v-69331e34]:last-child{border-bottom:none}.member-avatar[data-v-69331e34]{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin-right:12px}.member-info[data-v-69331e34]{flex:1}.member-name[data-v-69331e34]{font-size:14px;color:#303133;display:flex;align-items:center;gap:6px}.kick-btn[data-v-69331e34]{color:#f56c6c}.kick-btn[data-v-69331e34]:hover{color:#ff4d4f}.empty-requests[data-v-69331e34],.loading-requests[data-v-69331e34]{display:flex;flex-direction:column;align-items:center;padding:40px 0;color:#909399}.empty-requests i[data-v-69331e34],.loading-requests i[data-v-69331e34]{font-size:48px;margin-bottom:10px}.requests-list[data-v-69331e34]{max-height:400px;overflow-y:auto}.request-item[data-v-69331e34]{padding:15px;border-bottom:1px solid #ebeef5}.request-item[data-v-69331e34]:last-child{border-bottom:none}.request-user[data-v-69331e34]{display:flex;align-items:center;margin-bottom:10px}.request-avatar[data-v-69331e34]{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin-right:12px}.request-info[data-v-69331e34]{flex:1}.request-name[data-v-69331e34]{font-size:14px;font-weight:500;color:#303133}.request-time[data-v-69331e34]{font-size:12px;color:#909399}.request-message[data-v-69331e34]{background:#f5f7fa;padding:10px;border-radius:6px;font-size:13px;color:#606266;margin-bottom:10px;font-style:italic}.request-actions[data-v-69331e34]{display:flex;gap:10px;justify-content:flex-end}.request-badge[data-v-69331e34]{background:#ff4d4f;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;margin-left:4px}.theme-switcher[data-v-3e0983a4]{display:inline-block}.theme-trigger[data-v-3e0983a4]{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.theme-trigger[data-v-3e0983a4]:hover{background:hsla(0,0%,100%,.1)}.current-theme[data-v-3e0983a4]{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid hsla(0,0%,100%,.3);box-shadow:0 2px 4px rgba(0,0,0,.2)}.theme-trigger i[data-v-3e0983a4]{color:#fff;font-size:12px}.theme-dropdown[data-v-3e0983a4]{min-width:140px}.theme-option[data-v-3e0983a4]{display:flex;align-items:center;gap:10px;padding:4px 0}.theme-color[data-v-3e0983a4]{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid transparent;transition:all var(--transition-fast)}.theme-label[data-v-3e0983a4]{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.theme-check[data-v-3e0983a4]{color:var(--primary-color);font-size:14px;font-weight:700}[data-v-3e0983a4] .el-dropdown-menu__item.active{background:var(--primary-light)}[data-v-3e0983a4] .el-dropdown-menu__item.active .theme-color{border-color:var(--primary-color)}[data-v-3e0983a4] .el-dropdown-menu__item{padding:8px 16px;transition:background var(--transition-fast)}[data-v-3e0983a4] .el-dropdown-menu__item:hover{background:var(--bg-hover)}.ai-image-analysis[data-v-1da2e848]{.analysis-form[data-v-1da2e848]{margin-bottom:20px}.image-preview[data-v-1da2e848]{margin-top:10px;text-align:center;.preview-image[data-v-1da2e848]{max-width:100%;max-height:200px;border-radius:4px;border:1px solid #e0e0e0}}.loading-container[data-v-1da2e848]{text-align:center;padding:30px 0;.loading-text[data-v-1da2e848]{margin-top:10px;color:#606266}}.analysis-result[data-v-1da2e848]{margin-top:20px;padding:15px;background:#f5f7fa;border-radius:4px;h3[data-v-1da2e848]{margin-bottom:10px;color:#303133}.result-content[data-v-1da2e848]{line-height:1.6;color:#606266}}.error-message[data-v-1da2e848]{margin-top:10px}}.chat-container[data-v-30e9696a]{height:100vh;display:flex;flex-direction:column;background:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.chat-header[data-v-30e9696a]{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-md);z-index:100}.header-content[data-v-30e9696a]{max-width:1400px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-30e9696a]{font-size:20px;font-weight:600;display:flex;align-items:center;gap:10px}.user-section[data-v-30e9696a]{display:flex;align-items:center;gap:12px}.theme-switcher-wrapper[data-v-30e9696a]{margin-right:8px}.user-menu[data-v-30e9696a]{display:flex;align-items:center;gap:8px;position:relative}.el-dropdown-link[data-v-30e9696a]{cursor:pointer;color:#fff;font-size:14px;transition:color .2s}.el-dropdown-link[data-v-30e9696a]:hover{color:hsla(0,0%,100%,.8)}.user-avatar[data-v-30e9696a]{width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:background .2s;position:relative;overflow:hidden}.avatar-img[data-v-30e9696a]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-upload[data-v-30e9696a]{text-align:center}.current-avatar[data-v-30e9696a]{width:100px;height:100px;border-radius:50%;margin:0 auto 20px;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px;overflow:hidden}.avatar-placeholder[data-v-30e9696a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.user-avatar[data-v-30e9696a]:hover{background:hsla(0,0%,100%,.3)}.user-avatar.offline[data-v-30e9696a]{background:var(--text-placeholder)}.offline-badge[data-v-30e9696a]{position:absolute;bottom:-2px;right:-2px;background:var(--danger-color);color:#fff;font-size:9px;padding:1px 4px;border-radius:8px;font-weight:700}.username[data-v-30e9696a]{font-weight:500;cursor:pointer;transition:opacity .2s;color:#fff}.username[data-v-30e9696a]:hover{opacity:.8}.username.offline[data-v-30e9696a]{color:var(--text-placeholder)}.offline-text[data-v-30e9696a]{font-size:12px;color:var(--danger-color);margin-left:5px}.logout-btn[data-v-30e9696a]{color:#fff!important;font-size:18px}.chat-tabs[data-v-30e9696a]{display:flex;background:var(--bg-white);border-bottom:1px solid var(--border-color);padding:0 20px}.tab-item[data-v-30e9696a]{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px;cursor:pointer;position:relative;transition:all .3s;color:var(--text-primary)}.tab-item[data-v-30e9696a]:hover{background:var(--bg-color)}.tab-item.active[data-v-30e9696a]{color:var(--primary-color)}.tab-icon[data-v-30e9696a]{font-size:20px;margin-bottom:4px;position:relative;color:var(--text-primary)}.badge[data-v-30e9696a]{position:absolute;top:-8px;right:-8px;background:#f56c6c;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;min-width:16px;text-align:center}.tab-text[data-v-30e9696a]{font-size:12px;color:var(--text-primary)}.tab-indicator[data-v-30e9696a]{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:30px;height:3px;background:var(--text-primary);border-radius:2px}.member-list[data-v-30e9696a]{max-height:300px;overflow-y:auto}.member-item[data-v-30e9696a]{display:flex;align-items:center;padding:10px;border-bottom:1px solid var(--border-color)}.member-avatar[data-v-30e9696a]{width:32px;height:32px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;margin-right:10px;overflow:hidden}.member-avatar .avatar-img[data-v-30e9696a]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.member-name[data-v-30e9696a]{flex:1;color:var(--text-primary)}@media screen and (max-width:768px){.header-content[data-v-30e9696a]{padding:0 10px;height:50px}.logo[data-v-30e9696a]{font-size:16px}.username[data-v-30e9696a]{display:none}.chat-tabs[data-v-30e9696a]{padding:0}.tab-item[data-v-30e9696a]{padding:8px 12px;font-size:13px}.tab-badge[data-v-30e9696a]{font-size:10px;min-width:16px;height:16px;line-height:16px}.chat-content[data-v-30e9696a]{padding:0}.user-avatar.offline[data-v-30e9696a]{opacity:.7}.offline-badge[data-v-30e9696a]{font-size:8px;padding:1px 3px;bottom:-1px;right:-1px}[data-v-30e9696a] .el-dialog{width:90%!important;margin-top:10vh!important}[data-v-30e9696a] .el-dialog__header{padding:15px}[data-v-30e9696a] .el-dialog__title{font-size:16px}[data-v-30e9696a] .el-dialog__body{padding:15px}[data-v-30e9696a] .el-dialog__footer{padding:10px 15px 15px}.member-list[data-v-30e9696a]{max-height:250px}.member-item[data-v-30e9696a]{padding:8px}.member-avatar[data-v-30e9696a]{width:28px;height:28px;font-size:11px}.member-name[data-v-30e9696a]{font-size:13px}}@media screen and (max-width:375px){.header-content[data-v-30e9696a]{padding:0 8px;height:45px}.logo[data-v-30e9696a]{font-size:14px}.logo-icon[data-v-30e9696a]{font-size:20px;margin-right:6px}.user-avatar[data-v-30e9696a]{width:32px;height:32px;font-size:12px}.logout-btn[data-v-30e9696a]{font-size:16px}.tab-item[data-v-30e9696a]{padding:6px 10px;font-size:12px}.tab-badge[data-v-30e9696a]{font-size:9px;min-width:14px;height:14px;line-height:14px}}.chat-rooms-container[data-v-361d8f8e]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.chat-rooms-header[data-v-361d8f8e]{max-width:1200px;margin:0 auto 20px;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:hsla(0,0%,100%,.95);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.chat-rooms-header h2[data-v-361d8f8e]{margin:0;color:#2c3e50}.chat-rooms-list[data-v-361d8f8e]{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.room-card[data-v-361d8f8e]{border-radius:12px;transition:transform .3s}.room-card[data-v-361d8f8e]:hover{transform:translateY(-5px)}.room-info[data-v-361d8f8e]{margin-bottom:15px}.room-name[data-v-361d8f8e]{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:8px}.room-desc[data-v-361d8f8e]{font-size:14px;color:#666;margin-bottom:12px;min-height:40px}.room-meta[data-v-361d8f8e]{display:flex;justify-content:space-between;font-size:12px;color:#999}.room-members[data-v-361d8f8e]{display:flex;align-items:center;gap:5px}.room-actions[data-v-361d8f8e]{text-align:right}.empty-state[data-v-361d8f8e]{max-width:400px;margin:100px auto;text-align:center;padding:40px;background:hsla(0,0%,100%,.95);border-radius:12px}.empty-state i[data-v-361d8f8e]{font-size:64px;color:#667eea;margin-bottom:20px}.empty-state p[data-v-361d8f8e]{font-size:16px;color:#666;margin-bottom:20px}.notification-tip[data-v-16e23fc7]{flex-shrink:0;margin:0}.room-chat-container[data-v-16e23fc7]{height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.room-header[data-v-16e23fc7]{flex-shrink:0;padding:15px 20px;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center}.room-title[data-v-16e23fc7]{display:flex;align-items:center;gap:15px}.room-name[data-v-16e23fc7]{font-size:18px;font-weight:600;color:#2c3e50}.room-member-count[data-v-16e23fc7]{font-size:14px;color:#666}.room-messages[data-v-16e23fc7]{flex:1;overflow-y:auto;padding:20px;background:linear-gradient(180deg,#f8f9fa,#e9ecef);min-height:0}.load-more-hint[data-v-16e23fc7],.loading-more[data-v-16e23fc7]{text-align:center;padding:15px;color:#667eea;font-size:14px}.load-more-hint[data-v-16e23fc7]{cursor:pointer;background:rgba(102,126,234,.1);border-radius:8px;margin-bottom:10px;transition:all .3s}.load-more-hint[data-v-16e23fc7]:hover{background:rgba(102,126,234,.2)}.no-more-hint[data-v-16e23fc7]{text-align:center;padding:15px;color:#999;font-size:14px}.message[data-v-16e23fc7]{margin-bottom:15px;display:flex;flex-direction:column;animation:slideIn-16e23fc7 .3s ease-out}@keyframes slideIn-16e23fc7{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent[data-v-16e23fc7]{align-items:flex-end}.message.received[data-v-16e23fc7]{align-items:flex-start}.message-header[data-v-16e23fc7]{display:flex;align-items:center;margin-bottom:5px;font-size:12px;color:#6c757d}.message.sent .message-header[data-v-16e23fc7]{flex-direction:row-reverse}.sender[data-v-16e23fc7]{font-weight:600;margin:0 8px}.message-content[data-v-16e23fc7]{max-width:70%;padding:12px 16px;border-radius:18px;word-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,.1)}.message.sent .message-content[data-v-16e23fc7]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.message.received .message-content[data-v-16e23fc7]{background:#fff;color:#2c3e50;border-bottom-left-radius:4px}.message-image[data-v-16e23fc7]{max-width:280px;max-height:280px;border-radius:12px}.room-input-area[data-v-16e23fc7]{flex-shrink:0;background:#f5f5f5;border-top:1px solid #e0e0e0;padding:10px 15px;box-shadow:0 -2px 10px rgba(0,0,0,.1);overflow:visible;position:relative;z-index:100}.room-toolbar[data-v-16e23fc7]{display:flex;align-items:center;gap:15px;margin-bottom:8px;padding:0 5px}.room-toolbar .upload-btn[data-v-16e23fc7]{cursor:pointer;font-size:24px;color:#666;transition:color .3s}.room-toolbar .upload-btn[data-v-16e23fc7]:hover{color:#07c160}.room-textarea-wrapper[data-v-16e23fc7]{background:#fff;border-radius:6px;padding:8px 12px;margin-bottom:8px;border:1px solid #e0e0e0;position:relative;overflow:visible}.room-textarea[data-v-16e23fc7]{width:100%;min-height:60px;max-height:120px;border:none;outline:none;resize:none;font-size:15px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.room-textarea[data-v-16e23fc7]::-moz-placeholder{color:#999}.room-textarea[data-v-16e23fc7]::placeholder{color:#999}.room-send-bar[data-v-16e23fc7]{background:#f5f5f5;display:flex;justify-content:space-between;align-items:center;padding:0 5px}.send-tip[data-v-16e23fc7]{font-size:12px;color:#999}.members-list[data-v-16e23fc7]{padding:20px}.member-item[data-v-16e23fc7]{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .3s}.member-item[data-v-16e23fc7]:hover{background-color:#f5f5f5}.member-avatar[data-v-16e23fc7]{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;overflow:hidden}.member-avatar .avatar-img[data-v-16e23fc7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.member-item i[data-v-16e23fc7]{font-size:20px;color:#fff}.member-name[data-v-16e23fc7]{flex:1;font-size:14px;color:#333}.unread-badge[data-v-16e23fc7]{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;background:#f56c6c;color:#fff;font-size:11px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 4px rgba(0,0,0,.2)}:root{--primary-color:#4f46e5;--primary-light:rgba(79,70,229,0.15);--primary-color-rgb:79,70,229;--primary-gradient:linear-gradient(135deg,#4f46e5,#7c3aed);--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#3b82f6;--text-primary:#1f2937;--text-secondary:#6b7280;--text-placeholder:#9ca3af;--text-white:#fff;--bg-color:#f3f4f6;--bg-white:#fff;--bg-white-rgb:255,255,255;--bg-light:#f9fafb;--bg-hover:#e5e7eb;--border-color:#e5e7eb;--border-light:#f3f4f6;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:50%;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.35s cubic-bezier(0.4,0,0.2,1);--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;height:100vh;overflow:hidden}.el-button--primary{background-color:var(--primary-color);border-color:var(--primary-color)}.el-button--primary:hover{background-color:#05a653;border-color:#05a653}.el-input__inner{border-radius:var(--radius-sm);background-color:var(--bg-white);border-color:var(--border-color);color:var(--text-primary)}.el-input__inner::-moz-placeholder{color:var(--text-placeholder)}.el-input__inner::placeholder{color:var(--text-placeholder)}.el-dialog{border-radius:var(--radius-md);overflow:hidden}.el-dialog,.el-dialog__header{background-color:var(--bg-white)}.el-dialog__header{padding:20px 24px 16px;border-bottom:1px solid var(--border-color)}.el-dialog__title{font-size:16px;font-weight:600;color:var(--text-primary)}.el-dialog__body{background-color:var(--bg-white);color:var(--text-primary)}.el-dialog__footer{border-top:1px solid var(--border-color)}.el-dialog__footer,.el-menu{background-color:var(--bg-white)}.el-menu{border-right:1px solid var(--border-color)}.el-menu-item{color:var(--text-primary)}.el-menu-item.is-active,.el-menu-item:hover{background-color:var(--primary-light)}.el-menu-item.is-active{color:var(--primary-color)}.el-card{background-color:var(--bg-white);border:1px solid var(--border-color)}.el-card__header{border-bottom:1px solid var(--border-color)}.el-card__body,.el-card__header{background-color:var(--bg-white);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#444;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter,.fade-leave-to{opacity:0}