#app[data-v-b078a404]{width:100%;height:100vh;display:flex;flex-direction:column}.chat-window[data-v-99b3c62a]{display:flex;flex-direction:column;height:100%}.chat-header[data-v-99b3c62a]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-color);background-color:var(--surface-color)}.chat-user-info[data-v-99b3c62a]{display:flex;align-items:center}.chat-avatar[data-v-99b3c62a]{width:40px;height:40px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;margin-right:12px}.chat-user-name[data-v-99b3c62a]{font-weight:500;margin-bottom:2px}.chat-status[data-v-99b3c62a]{font-size:12px;color:var(--text-secondary)}.status-connected[data-v-99b3c62a]{color:var(--success-color)}.status-connecting[data-v-99b3c62a]{color:#ff9800}.status-disconnected[data-v-99b3c62a]{color:var(--text-secondary)}.status-failed[data-v-99b3c62a]{color:var(--danger-color)}.btn-call-header[data-v-99b3c62a]{background:transparent;font-size:20px;padding:8px;opacity:.7}.btn-call-header[data-v-99b3c62a]:hover{opacity:1}.messages-container[data-v-99b3c62a]{flex:1;overflow-y:auto;padding:20px;background-color:#fafafa}.message[data-v-99b3c62a]{display:flex;flex-direction:column;margin-bottom:15px;max-width:70%}.message-sent[data-v-99b3c62a]{align-self:flex-end;align-items:flex-end}.message-content[data-v-99b3c62a]{padding:10px 15px;border-radius:12px;background-color:var(--surface-color);box-shadow:var(--shadow);word-wrap:break-word}.message-sent .message-content[data-v-99b3c62a]{background-color:var(--primary-color);color:#fff}.message-time[data-v-99b3c62a]{font-size:11px;color:var(--text-secondary);margin-top:4px;padding:0 5px}.chat-input-container[data-v-99b3c62a]{display:flex;padding:15px 20px;border-top:1px solid var(--border-color);background-color:var(--surface-color);gap:10px}.chat-input[data-v-99b3c62a]{flex:1;padding:10px 15px;border:1px solid var(--border-color);border-radius:20px;font-size:14px}.chat-input[data-v-99b3c62a]:focus{border-color:var(--primary-color)}.btn-send[data-v-99b3c62a]{padding:10px 20px;background-color:var(--primary-color);color:#fff;border-radius:20px;font-weight:500}.btn-send[data-v-99b3c62a]:hover{background-color:var(--primary-hover)}@media (max-width: 768px){.chat-header[data-v-99b3c62a]{padding:12px 15px}.chat-avatar[data-v-99b3c62a]{width:36px;height:36px;font-size:16px;margin-right:10px}.chat-user-name[data-v-99b3c62a]{font-size:15px}.chat-status[data-v-99b3c62a]{font-size:11px}.messages-container[data-v-99b3c62a]{padding:15px 12px}.message[data-v-99b3c62a]{max-width:85%;margin-bottom:12px}.message-content[data-v-99b3c62a]{padding:8px 12px;font-size:14px}.message-time[data-v-99b3c62a]{font-size:10px}.chat-input-container[data-v-99b3c62a]{padding:10px 15px;gap:8px}.chat-input[data-v-99b3c62a]{padding:8px 12px;font-size:14px}.btn-send[data-v-99b3c62a]{padding:8px 16px;font-size:14px}}.empty-chat[data-v-b5a35d78]{display:flex;align-items:center;justify-content:center;height:100%;background-color:#fafafa}.empty-chat-content[data-v-b5a35d78]{text-align:center;color:var(--text-secondary)}.empty-icon[data-v-b5a35d78]{font-size:64px;margin-bottom:20px}.empty-chat-content h2[data-v-b5a35d78]{font-size:24px;margin-bottom:10px;color:var(--text-primary)}.empty-chat-content p[data-v-b5a35d78]{font-size:16px}.audio-call-modal[data-v-c6a78b4a]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.call-content[data-v-c6a78b4a]{background-color:var(--surface-color);border-radius:20px;padding:40px;text-align:center;min-width:300px;box-shadow:var(--shadow-lg)}.call-header[data-v-c6a78b4a]{margin-bottom:30px}.call-avatar[data-v-c6a78b4a]{width:80px;height:80px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:600;margin:0 auto 15px}.call-name[data-v-c6a78b4a]{font-size:24px;font-weight:600;margin-bottom:5px}.call-status[data-v-c6a78b4a]{font-size:14px;color:var(--text-secondary)}.call-audio[data-v-c6a78b4a]{display:none}.call-controls[data-v-c6a78b4a]{display:flex;gap:15px;justify-content:center;margin-top:30px}.btn-call-accept[data-v-c6a78b4a],.btn-call-reject[data-v-c6a78b4a],.btn-call-end[data-v-c6a78b4a]{padding:12px 30px;border-radius:25px;font-weight:600;font-size:16px}.btn-call-accept[data-v-c6a78b4a]{background-color:var(--success-color);color:#fff}.btn-call-accept[data-v-c6a78b4a]:hover{background-color:#45a049}.btn-call-reject[data-v-c6a78b4a],.btn-call-end[data-v-c6a78b4a]{background-color:var(--danger-color);color:#fff}.btn-call-reject[data-v-c6a78b4a]:hover,.btn-call-end[data-v-c6a78b4a]:hover{background-color:#da190b}.auth-modal[data-v-dc1e3e69]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.auth-content[data-v-dc1e3e69]{background-color:var(--surface-color);border-radius:12px;padding:30px;min-width:400px;box-shadow:var(--shadow-lg)}.auth-content h2[data-v-dc1e3e69]{margin-bottom:20px;color:var(--primary-color);text-align:center}.form-group[data-v-dc1e3e69]{margin-bottom:15px}.form-group label[data-v-dc1e3e69]{display:block;margin-bottom:5px;font-weight:500;color:var(--text-primary)}.form-group input[data-v-dc1e3e69]{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:14px}.form-group input[data-v-dc1e3e69]:focus{outline:none;border-color:var(--primary-color)}.error-message[data-v-dc1e3e69]{color:var(--danger-color);margin-bottom:15px;padding:10px;background-color:#ffebee;border-radius:6px;font-size:14px}.btn-submit[data-v-dc1e3e69]{width:100%;padding:12px;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;margin-top:10px}.btn-submit[data-v-dc1e3e69]:hover:not(:disabled){background-color:var(--primary-hover)}.btn-submit[data-v-dc1e3e69]:disabled{opacity:.6;cursor:not-allowed}.auth-switch[data-v-dc1e3e69]{margin-top:20px;text-align:center;color:var(--text-secondary);font-size:14px}.btn-link[data-v-dc1e3e69]{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;margin-left:5px;font-size:14px}.btn-link[data-v-dc1e3e69]:hover{color:var(--primary-hover)}@media (max-width: 768px){.auth-content[data-v-dc1e3e69]{min-width:auto;width:90%;max-width:400px;padding:20px;margin:20px}.auth-content h2[data-v-dc1e3e69]{font-size:20px;margin-bottom:15px}.form-group[data-v-dc1e3e69]{margin-bottom:12px}.form-group label[data-v-dc1e3e69]{font-size:13px}.form-group input[data-v-dc1e3e69]{padding:10px;font-size:14px}.btn-submit[data-v-dc1e3e69]{padding:10px;font-size:15px}}@media (max-width: 480px){.auth-content[data-v-dc1e3e69]{width:95%;padding:15px}.auth-content h2[data-v-dc1e3e69]{font-size:18px}}.log-viewer[data-v-3b396a4c]{display:flex;flex-direction:column;height:100%;background-color:var(--surface-color)}.log-header[data-v-3b396a4c]{padding:15px 20px;border-bottom:1px solid var(--border-color);background-color:var(--bg-color)}.log-title h2[data-v-3b396a4c]{margin:0 0 10px;font-size:18px;color:var(--primary-color)}.log-controls[data-v-3b396a4c]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-clear[data-v-3b396a4c]{padding:6px 12px;background-color:var(--danger-color);color:#fff;border-radius:4px;font-size:12px;cursor:pointer}.btn-clear[data-v-3b396a4c]:hover{background-color:#da190b}.log-filter select[data-v-3b396a4c]{padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background-color:var(--surface-color);color:var(--text-primary)}.logs-container[data-v-3b396a4c]{flex:1;overflow-y:auto;padding:10px;background-color:#1e1e1e;font-family:Courier New,monospace;font-size:12px}.log-entry[data-v-3b396a4c]{display:grid;grid-template-columns:80px 120px 60px 1fr;gap:10px;padding:6px 10px;margin-bottom:4px;border-left:3px solid;border-radius:2px;background-color:#2d2d2d;word-break:break-word}.log-entry.log-debug[data-v-3b396a4c]{border-left-color:#888;color:#aaa}.log-entry.log-info[data-v-3b396a4c]{border-left-color:#08c;color:#e0e0e0}.log-entry.log-warn[data-v-3b396a4c]{border-left-color:#ff9800;color:#ffcc80}.log-entry.log-error[data-v-3b396a4c]{border-left-color:#f44336;color:#ffcdd2}.log-time[data-v-3b396a4c]{color:#888;font-size:11px}.log-service[data-v-3b396a4c]{color:#4caf50;font-weight:500}.log-level[data-v-3b396a4c]{font-weight:600;font-size:11px}.log-message[data-v-3b396a4c]{color:inherit}.log-data[data-v-3b396a4c]{grid-column:1 / -1;margin-top:5px;padding:8px;background-color:#1a1a1a;border-radius:4px;overflow-x:auto}.log-data pre[data-v-3b396a4c]{margin:0;color:#d4d4d4;font-size:11px;white-space:pre-wrap;word-wrap:break-word}.log-empty[data-v-3b396a4c]{text-align:center;color:#888;padding:40px;font-size:14px}@media (max-width: 768px){.log-entry[data-v-3b396a4c]{grid-template-columns:1fr;gap:4px}.log-time[data-v-3b396a4c],.log-service[data-v-3b396a4c],.log-level[data-v-3b396a4c]{display:inline;margin-right:8px}.log-controls[data-v-3b396a4c]{flex-direction:column;align-items:stretch}.log-filter[data-v-3b396a4c],.log-filter select[data-v-3b396a4c]{width:100%}}.messenger[data-v-8e49a585]{display:flex;height:100vh;background-color:var(--bg-color)}.sidebar[data-v-8e49a585]{width:350px;background-color:var(--surface-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.sidebar-header[data-v-8e49a585]{padding:20px;border-bottom:1px solid var(--border-color)}.sidebar-header h1[data-v-8e49a585]{font-size:24px;color:var(--primary-color);margin-bottom:15px}.user-info[data-v-8e49a585]{display:flex;justify-content:space-between;align-items:center}.user-info span[data-v-8e49a585]{font-weight:500}.header-buttons[data-v-8e49a585]{display:flex;gap:8px;align-items:center}.btn-logs[data-v-8e49a585]{width:30px;height:30px;border-radius:50%;background-color:var(--text-secondary);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;opacity:.7}.btn-logs[data-v-8e49a585]:hover{opacity:1;background-color:var(--primary-color)}.btn-add[data-v-8e49a585]{width:30px;height:30px;border-radius:50%;background-color:var(--primary-color);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}.btn-add[data-v-8e49a585]:hover{background-color:var(--primary-hover)}.contacts-list[data-v-8e49a585]{flex:1;overflow-y:auto}.contact-item[data-v-8e49a585]{display:flex;align-items:center;padding:15px 20px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s}.contact-item[data-v-8e49a585]:hover{background-color:var(--bg-color)}.contact-item.active[data-v-8e49a585]{background-color:#e3f2fd}.contact-avatar[data-v-8e49a585]{width:48px;height:48px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;margin-right:15px;flex-shrink:0}.contact-info[data-v-8e49a585]{flex:1;min-width:0}.contact-name[data-v-8e49a585]{font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.online-indicator[data-v-8e49a585]{font-size:10px;line-height:1}.online-indicator.online[data-v-8e49a585]{opacity:1}.online-indicator.offline[data-v-8e49a585]{opacity:.4}.contact-last-message[data-v-8e49a585]{font-size:14px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-meta[data-v-8e49a585]{display:flex;align-items:center;gap:10px}.unread-badge[data-v-8e49a585]{background-color:var(--primary-color);color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.btn-call[data-v-8e49a585]{background:transparent;font-size:18px;padding:5px;opacity:.6}.btn-call[data-v-8e49a585]:hover{opacity:1}.chat-area[data-v-8e49a585]{flex:1;display:flex;flex-direction:column;background-color:var(--surface-color);position:relative}.sidebar-toggle-mobile[data-v-8e49a585]{position:fixed;top:10px;left:10px;z-index:1000;width:44px;height:44px;background-color:var(--primary-color);color:#fff;border-radius:8px;font-size:20px;display:none}.sidebar-close-mobile[data-v-8e49a585]{display:none;position:absolute;top:10px;right:10px;width:36px;height:36px;background-color:var(--danger-color);color:#fff;border-radius:50%;font-size:20px;z-index:10}@media (max-width: 768px){.sidebar-toggle-mobile[data-v-8e49a585]{display:flex;align-items:center;justify-content:center}.sidebar[data-v-8e49a585]{position:fixed;top:0;left:0;height:100vh;z-index:999;transition:transform .3s ease}.sidebar-hidden-mobile[data-v-8e49a585]{transform:translate(-100%)}.sidebar-close-mobile[data-v-8e49a585]{display:flex;align-items:center;justify-content:center}.sidebar-header[data-v-8e49a585]{padding:15px}.sidebar-header h1[data-v-8e49a585]{font-size:20px;margin-bottom:10px}.contact-item[data-v-8e49a585]{padding:12px 15px}.contact-avatar[data-v-8e49a585]{width:40px;height:40px;font-size:18px;margin-right:12px}.contact-name[data-v-8e49a585]{font-size:14px}.contact-last-message[data-v-8e49a585]{font-size:12px}.btn-add[data-v-8e49a585]{width:28px;height:28px;font-size:18px}}@media (max-width: 480px){.sidebar[data-v-8e49a585]{width:100%}.sidebar-header[data-v-8e49a585]{padding:12px}.contact-item[data-v-8e49a585]{padding:10px 12px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #0088cc;--primary-hover: #0077b3;--bg-color: #f5f5f5;--surface-color: #ffffff;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--success-color: #4caf50;--danger-color: #f44336;--shadow: 0 2px 4px rgba(0,0,0,.1);--shadow-lg: 0 4px 12px rgba(0,0,0,.15)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6}#app{width:100%;height:100vh;overflow:hidden}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .2s}input,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
