.loading-screen[data-v-13d3cd0c]{text-align:center}.spinner[data-v-13d3cd0c]{width:40px;height:40px;margin:0 auto;border:3px solid #333;border-top-color:#e94560;border-radius:50%;animation:spin-13d3cd0c .8s linear infinite}@keyframes spin-13d3cd0c{to{transform:rotate(360deg)}}.login-screen[data-v-edcccced]{text-align:center;max-width:360px;width:100%}.subtitle[data-v-edcccced]{font-size:14px;color:#666;margin-bottom:32px}.login-form[data-v-edcccced]{display:flex;flex-direction:column;gap:20px}.field[data-v-edcccced]{display:flex;flex-direction:column;gap:6px;text-align:left}.field label[data-v-edcccced]{font-size:13px;color:#888;font-weight:500}.field input[data-v-edcccced]{padding:14px 16px;font-size:16px;border:1px solid #333;border-radius:12px;background:#16213e;color:#eee;outline:none;transition:border-color .2s}.field input[data-v-edcccced]:focus{border-color:#e94560}.field input[data-v-edcccced]::placeholder{color:#555}.error[data-v-edcccced]{color:#ef5350;font-size:14px;padding:8px 12px;background:#3a1a1a;border-radius:8px}.btn-primary[data-v-edcccced]{padding:16px;font-size:18px;border:none;border-radius:12px;background:#e94560;color:#fff;font-weight:600;cursor:pointer;transition:transform .1s,opacity .2s}.btn-primary[data-v-edcccced]:active{transform:scale(.97)}.btn-primary[data-v-edcccced]:disabled{opacity:.6;cursor:not-allowed}.btn-clear[data-v-edcccced]{padding:12px;font-size:14px;border:1px solid #333;border-radius:12px;background:transparent;color:#888;cursor:pointer;transition:color .2s,border-color .2s}.btn-clear[data-v-edcccced]:active{color:#eee;border-color:#555}.contacts-screen[data-v-9c514b22]{max-width:400px;width:100%}.header[data-v-9c514b22]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1[data-v-9c514b22]{font-size:24px;color:#e94560}.btn-icon[data-v-9c514b22]{background:none;border:none;color:#888;cursor:pointer;padding:8px;border-radius:8px;transition:color .2s}.btn-icon[data-v-9c514b22]:hover{color:#eee}.actions[data-v-9c514b22]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.btn[data-v-9c514b22]{border:none;border-radius:10px;cursor:pointer;font-weight:500;transition:transform .1s}.btn[data-v-9c514b22]:active{transform:scale(.97)}.btn-secondary[data-v-9c514b22]{padding:10px 16px;font-size:14px;background:#16213e;color:#aaa}.btn-small[data-v-9c514b22]{padding:8px 16px;font-size:14px}.btn-primary[data-v-9c514b22]{background:#e94560;color:#fff}.btn-cancel[data-v-9c514b22]{background:#333;color:#aaa}.add-dialog[data-v-9c514b22]{background:#16213e;border-radius:12px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.add-dialog .field input[data-v-9c514b22]{width:100%;padding:12px 14px;font-size:16px;border:1px solid #333;border-radius:10px;background:#1a1a2e;color:#eee;outline:none;box-sizing:border-box}.add-dialog .field input[data-v-9c514b22]:focus{border-color:#e94560}.add-buttons[data-v-9c514b22]{display:flex;gap:8px}.error[data-v-9c514b22]{color:#ef5350;font-size:13px}.notification[data-v-9c514b22]{background:#1a3a1a;color:#66bb6a;padding:10px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;text-align:center}.empty[data-v-9c514b22]{text-align:center;padding:40px 0}.empty p[data-v-9c514b22]{color:#666;font-size:16px}.empty .hint[data-v-9c514b22]{font-size:13px;color:#555;margin-top:8px}.contact-list[data-v-9c514b22]{display:flex;flex-direction:column;gap:4px}.contact-wrapper[data-v-9c514b22]{position:relative;overflow:hidden;border-radius:12px}.contact-item[data-v-9c514b22]{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:14px 16px;background:#16213e;border-radius:12px;cursor:pointer;transition:transform .3s ease,background .2s;touch-action:pan-y}.contact-item-swiping[data-v-9c514b22]{transition:none}.contact-delete-btn[data-v-9c514b22]{position:absolute;right:0;top:0;bottom:0;width:80px;background:#e94560;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:14px;cursor:pointer}.contact-item[data-v-9c514b22]:active{background:#1a3050}.contact-avatar[data-v-9c514b22]{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.avatar-online[data-v-9c514b22]{background:#1a3a1a;color:#66bb6a}.avatar-offline[data-v-9c514b22]{background:#2a2a2a;color:#777}.contact-info[data-v-9c514b22]{flex:1;min-width:0}.contact-name[data-v-9c514b22]{font-size:16px;font-weight:500;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-phone[data-v-9c514b22]{font-size:13px;color:#666;margin-top:2px}.contact-status-dot[data-v-9c514b22]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-online[data-v-9c514b22]{background:#66bb6a;box-shadow:0 0 6px #66bb6a}.dot-offline[data-v-9c514b22]{background:#555}.call-screen[data-v-e3b6fcfd]{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:360px;width:100%;min-height:70vh}.caller-info[data-v-e3b6fcfd]{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.caller-avatar[data-v-e3b6fcfd]{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;margin-bottom:16px}.avatar-online[data-v-e3b6fcfd]{background:#1a3a1a;color:#66bb6a}.avatar-offline[data-v-e3b6fcfd]{background:#2a2a2a;color:#777}.caller-name[data-v-e3b6fcfd]{font-size:24px;font-weight:600;color:#eee}.caller-online[data-v-e3b6fcfd]{font-size:13px;color:#66bb6a;margin-top:4px}.call-status[data-v-e3b6fcfd]{font-size:18px;padding:12px 24px;border-radius:12px;margin-bottom:24px;text-align:center}.status-idle[data-v-e3b6fcfd]{background:#16213e;color:#888}.status-calling[data-v-e3b6fcfd]{background:#1a3a5c;color:#4fc3f7;animation:pulse-e3b6fcfd 1.5s infinite}.status-incoming[data-v-e3b6fcfd]{background:#3a1a1a;color:#ff6b6b;animation:pulse-e3b6fcfd .8s infinite}.status-connected[data-v-e3b6fcfd]{background:#1a3a1a;color:#66bb6a}.status-cancelled[data-v-e3b6fcfd],.status-no-answer[data-v-e3b6fcfd]{background:#3a2a1a;color:#ffa726}@keyframes pulse-e3b6fcfd{0%,to{opacity:1}50%{opacity:.6}}.connection-info[data-v-e3b6fcfd]{font-size:13px;padding:6px 14px;border-radius:8px;margin-bottom:24px;font-weight:600}.conn-direct[data-v-e3b6fcfd]{background:#1b5e20;color:#a5d6a7}.conn-relay[data-v-e3b6fcfd]{background:#e65100;color:#ffcc80}.conn-unknown[data-v-e3b6fcfd]{background:#37474f;color:#90a4ae}.call-buttons[data-v-e3b6fcfd]{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:16px}.btn-round[data-v-e3b6fcfd]{width:64px;height:64px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s}.btn-round[data-v-e3b6fcfd]:active{transform:scale(.9)}.btn-accept[data-v-e3b6fcfd]{background:#66bb6a;width:72px;height:72px}.btn-reject[data-v-e3b6fcfd],.btn-end-call[data-v-e3b6fcfd]{background:#ef5350;width:72px;height:72px}.btn-feature[data-v-e3b6fcfd]{background:#37474f;color:#aaa}.btn-feature.btn-active[data-v-e3b6fcfd]{background:#fff;color:#333}.btn-back[data-v-e3b6fcfd]{margin-top:32px;background:none;border:none;color:#666;font-size:14px;cursor:pointer;text-decoration:underline}.pending-call-overlay[data-v-e3b6fcfd]{position:fixed;top:0;left:0;right:0;padding:16px;z-index:100;display:flex;justify-content:center;animation:slideDown-e3b6fcfd .3s ease-out}@keyframes slideDown-e3b6fcfd{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.pending-call-card[data-v-e3b6fcfd]{background:#2a1a3a;border:1px solid #e94560;border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;max-width:360px;width:100%;box-shadow:0 4px 20px #e945604d}.pending-call-text[data-v-e3b6fcfd]{flex:1;font-size:15px;color:#eee;line-height:1.3}.pending-call-buttons[data-v-e3b6fcfd]{display:flex;gap:12px;flex-shrink:0}.btn-pending[data-v-e3b6fcfd]{width:52px;height:52px}.settings-screen[data-v-a7d9e640]{max-width:400px;width:100%}.header[data-v-a7d9e640]{display:flex;align-items:center;gap:12px;margin-bottom:24px}.header h1[data-v-a7d9e640]{font-size:24px;color:#e94560}.btn-back[data-v-a7d9e640]{background:none;border:none;color:#888;cursor:pointer;padding:8px;border-radius:8px}.section[data-v-a7d9e640]{margin-bottom:24px}.section-title[data-v-a7d9e640]{font-size:13px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.info-row[data-v-a7d9e640]{display:flex;justify-content:space-between;padding:12px 16px;background:#16213e;border-radius:10px;margin-bottom:4px}.info-row[data-v-a7d9e640]:first-of-type{border-radius:10px 10px 4px 4px}.info-row[data-v-a7d9e640]:last-of-type{border-radius:4px 4px 10px 10px}.info-label[data-v-a7d9e640]{color:#888;font-size:14px}.info-value[data-v-a7d9e640]{color:#eee;font-size:14px;font-weight:500}.toggle-row[data-v-a7d9e640]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#16213e;border-radius:10px}.toggle-info[data-v-a7d9e640]{flex:1}.toggle-title[data-v-a7d9e640]{font-size:14px;color:#eee;font-weight:500}.toggle-desc[data-v-a7d9e640]{font-size:12px;color:#666;margin-top:2px}.toggle-label[data-v-a7d9e640]{display:inline-flex;cursor:pointer}.toggle-label input[data-v-a7d9e640]{display:none}.toggle-switch[data-v-a7d9e640]{position:relative;width:44px;height:24px;background:#37474f;border-radius:12px;transition:background .3s}.toggle-switch[data-v-a7d9e640]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#ccc;border-radius:50%;transition:transform .3s}.toggle-label input:checked+.toggle-switch[data-v-a7d9e640]{background:#e65100}.toggle-label input:checked+.toggle-switch[data-v-a7d9e640]:after{transform:translate(20px);background:#fff}.btn[data-v-a7d9e640]{width:100%;padding:14px;font-size:16px;border:none;border-radius:10px;cursor:pointer;font-weight:500;transition:transform .1s}.btn[data-v-a7d9e640]:active{transform:scale(.97)}.btn-admin[data-v-a7d9e640]{background:#1a2a3e;color:#64b5f6}.btn-logout[data-v-a7d9e640]{background:#3a1a1a;color:#ef5350}.version[data-v-a7d9e640]{text-align:center;font-size:11px;color:#444;margin-top:32px}.admin-users-screen[data-v-38bae117]{max-width:400px;width:100%}.header[data-v-38bae117]{display:flex;align-items:center;gap:12px;margin-bottom:24px}.header h1[data-v-38bae117]{font-size:24px;color:#e94560}.btn-back[data-v-38bae117]{background:none;border:none;color:#888;cursor:pointer;padding:8px;border-radius:8px}.user-count[data-v-38bae117]{font-size:14px;color:#666;background:#16213e;padding:4px 10px;border-radius:12px;margin-left:auto}.loading[data-v-38bae117],.error[data-v-38bae117]{text-align:center;padding:32px 0;color:#888;font-size:14px}.error[data-v-38bae117]{color:#ef5350}.users-list[data-v-38bae117]{display:flex;flex-direction:column;gap:4px}.user-card[data-v-38bae117]{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;background:#16213e;border-radius:10px}.user-main[data-v-38bae117]{flex:1;min-width:0}.user-name[data-v-38bae117]{font-size:14px;font-weight:500;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-phone[data-v-38bae117]{font-size:12px;color:#888;margin-top:2px}.user-meta[data-v-38bae117]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;margin-left:12px}.user-date[data-v-38bae117]{font-size:12px;color:#666}.user-device[data-v-38bae117]{font-size:11px;color:#555}.user-online[data-v-38bae117]{font-size:11px;color:#4caf50;font-weight:500}.user-logout[data-v-38bae117]{font-size:11px;color:#ff9800}.btn-reset-device[data-v-38bae117]{font-size:11px;padding:3px 8px;border:1px solid #555;border-radius:6px;background:transparent;color:#ff9800;cursor:pointer;margin-top:2px}.btn-reset-device[data-v-38bae117]:active{background:#ff980026}.btn-reset-device[data-v-38bae117]:disabled{opacity:.5;cursor:default}.logs-screen[data-v-8e3ac0c9]{display:flex;flex-direction:column;height:calc(100vh - 95px);overflow:hidden}.logs-toolbar[data-v-8e3ac0c9]{padding:8px 12px;background:#16213e;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:6px}.logs-toolbar-row[data-v-8e3ac0c9]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.logs-select[data-v-8e3ac0c9]{background:#1a1a2e;color:#eee;border:1px solid #444;padding:4px 8px;border-radius:4px;font-size:13px}.logs-btn[data-v-8e3ac0c9]{background:#e94560;color:#fff;border:none;padding:5px 12px;border-radius:6px;cursor:pointer;font-size:13px}.logs-btn[data-v-8e3ac0c9]:hover{opacity:.85}.logs-btn.secondary[data-v-8e3ac0c9]{background:#333}.logs-auto[data-v-8e3ac0c9]{color:#888;font-size:12px;display:flex;align-items:center;gap:4px}.logs-count[data-v-8e3ac0c9]{color:#666;font-size:12px;margin-left:auto}.logs-body[data-v-8e3ac0c9]{flex:1;overflow-y:auto;padding:4px 8px;font-family:monospace;font-size:12px}.logs-empty[data-v-8e3ac0c9]{color:#666;text-align:center;padding:40px}.logs-entry[data-v-8e3ac0c9]{padding:1px 0;border-bottom:1px solid #1a1a2e;display:flex;gap:6px;line-height:1.4}.le-time[data-v-8e3ac0c9]{color:#666;white-space:nowrap}.le-src[data-v-8e3ac0c9]{font-weight:700;min-width:50px}.le-server[data-v-8e3ac0c9]{color:#4fc3f7}.le-ios[data-v-8e3ac0c9]{color:#81c784}.le-android[data-v-8e3ac0c9]{color:#ffb74d}.le-web[data-v-8e3ac0c9]{color:#ba68c8}.le-user[data-v-8e3ac0c9]{color:#888;min-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.le-msg[data-v-8e3ac0c9]{word-break:break-all;color:#ccc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh}.app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:20px}.app-header{display:flex;align-items:center;gap:10px;font-size:24px;color:#e94560;font-weight:700;letter-spacing:.5px;padding:12px 0;flex-shrink:0}.connection-indicators{display:flex;gap:6px}.indicator{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;line-height:1}.indicator-on{background:#00c85333;color:#00c853}.indicator-off{background:#ff525233;color:#ff5252}.app-body{flex:1;display:flex;justify-content:center;align-items:center;width:100%}.log-panel{width:100%;max-width:500px;background:#0d1117;border:1px solid #333;border-radius:10px;overflow:hidden;flex-shrink:0;margin-top:12px}.log-panel-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#161b22;font-size:13px;color:#888}.log-header-buttons{display:flex;gap:4px}.log-clear-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:6px}.log-content{height:calc(21em + 16px);overflow-y:auto;padding:8px 12px;font-family:Courier New,monospace;font-size:11px;line-height:1.4;color:#aaa}.log-line{white-space:pre-wrap;word-break:break-all}
