body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:2rem;width:100%}.login-box h2{color:#333;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#667eea;outline:none}button{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background .3s;width:100%}button:hover:not(:disabled){background:#5568d3}button:disabled{cursor:not-allowed;opacity:.6}.error{color:#e74c3c;font-size:.9rem;margin-bottom:1rem;text-align:center}.toggle-auth{color:#666;margin-top:1rem;text-align:center}.toggle-auth span{color:#667eea;cursor:pointer;text-decoration:underline}.toggle-auth span:hover{color:#5568d3}body.dark-mode .login-container{background:linear-gradient(135deg,#2d3748,#1a202c)}body.dark-mode .login-box{background:#2d3748;box-shadow:0 10px 25px #00000080}body.dark-mode .login-box h2{color:#e0e0e0}body.dark-mode .form-group input{background:#1a202c;border-color:#4a5568;color:#e0e0e0}body.dark-mode .form-group input:focus{border-color:#667eea}body.dark-mode .toggle-auth{color:#a0a0a0}body.dark-mode .toggle-auth span{color:#667eea}.contacts-container{background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;height:100%;min-height:0;width:300px}.contacts-header{border-bottom:1px solid #ddd;padding:1rem}.contacts-header h2{color:#333;margin:0 0 1rem}.search-container{position:relative}.search-container input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:.9rem;padding:.5rem;width:100%}.search-results{background:#fff;border:1px solid #ddd;border-radius:5px;box-shadow:0 4px 6px #0000001a;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.search-result-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem}.search-result-item:hover{background:#f5f5f5}.search-result-item:last-child{border-bottom:none}.search-user-info{display:flex;flex-direction:column}.user-email{color:#666;font-size:.8rem;margin-top:.25rem}.add-btn{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;width:30px}.add-btn:hover{background:#5568d3}.no-contacts,.no-results{color:#666;padding:2rem;text-align:center}.contacts-list{flex:1 1;overflow-y:auto}.contact-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:1rem;transition:background .2s}.contact-item:hover{background:#f5f5f5}.contact-item.selected{background:#e8eaf6;border-left:3px solid #667eea}.contact-avatar{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;margin-right:.75rem;width:40px}.contact-info{display:flex;flex:1 1;flex-direction:column}.contact-name-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.unread-badge{align-items:center;background:#e53e3e;border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;height:18px;justify-content:center;margin-left:6px;min-width:18px;padding:0 6px;vertical-align:middle}.contact-info strong{color:#333}.contact-status{font-size:.7rem}.contact-email{color:#666;font-size:.8rem;margin-top:.25rem}body.dark-mode .contacts-container{background:#2d3748;border-right-color:#4a5568}body.dark-mode .contacts-header{background:#1a202c;border-bottom-color:#4a5568}body.dark-mode .contacts-header h2{color:#e0e0e0}body.dark-mode .search-container input{color:#e0e0e0}body.dark-mode .search-container input,body.dark-mode .search-results{background:#2d3748;border-color:#4a5568}body.dark-mode .search-result-item{border-bottom-color:#4a5568;color:#e0e0e0}body.dark-mode .search-result-item:hover{background:#4a5568}body.dark-mode .contact-item{border-bottom-color:#4a5568;color:#e0e0e0}body.dark-mode .contact-item:hover{background:#4a5568}body.dark-mode .contact-item.selected{background:#4c51bf;border-left-color:#667eea}body.dark-mode .contact-info strong{color:#e0e0e0}body.dark-mode .contact-email,body.dark-mode .no-contacts,body.dark-mode .no-results,body.dark-mode .user-email{color:#a0a0a0}.chat-container{background:#f5f5f5;display:flex;flex:1 1;flex-direction:column;height:auto;min-height:0}.chat-header{background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;padding:1rem}.chat-header h3{color:#333;margin:0}.connection-badge{font-size:.85rem;margin-top:.4rem;opacity:.9}.connection-badge.online{color:#2f855a}.connection-badge.offline{color:#c53030}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-height:0;overflow-y:auto;padding:1rem}.message{word-wrap:break-word;border-radius:10px;max-width:70%;padding:.75rem 1rem}.message.sent{align-self:flex-end;background:#667eea;color:#fff}.message.received{align-self:flex-start;background:#fff;box-shadow:0 1px 2px #0000001a;color:#333}.message-content{word-wrap:break-word;margin-bottom:.25rem;overflow-wrap:break-word}.message-image{border-radius:8px;display:block;max-height:300px;max-width:100%}.message-file,.message-image{margin-top:.5rem}.file-link{align-items:center;background:#fff3;border-radius:5px;color:inherit;display:inline-flex;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.file-link:hover{background:#ffffff4d}body.dark-mode .chat-container{background:#2d3748}body.dark-mode .chat-header{background:#1a202c;border-bottom-color:#4a5568}body.dark-mode .connection-badge.online{color:#68d391}body.dark-mode .connection-badge.offline{color:#fc8181}body.dark-mode .messages-container{background:#2d3748}body.dark-mode .message.received{background:#4a5568;color:#e0e0e0}body.dark-mode .message.sent{background:#4c51bf}body.dark-mode .chat-input{background:#1a202c;border-top-color:#4a5568}body.dark-mode .attach-btn,body.dark-mode .chat-input input[type=text]{background:#2d3748;border-color:#4a5568;color:#e0e0e0}body.dark-mode .attach-btn:hover:not(:disabled){background:#4a5568}.message-footer{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:.25rem}.message-time{font-size:.75rem;opacity:.7}.message-status{font-size:.75rem;margin-left:auto;opacity:.8}.typing-indicator{align-self:flex-start;display:flex;gap:.25rem;padding:.5rem}.typing-indicator span{animation:typing 1.4s infinite;background:#999;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.chat-input{align-items:stretch;background:#fff;border-top:1px solid #ddd;box-sizing:border-box;display:flex;flex-direction:column;gap:.45rem;padding:1rem;width:100%}.chat-input-actions{display:flex;flex-wrap:nowrap;gap:.5rem;justify-content:flex-end}.chat-input-actions.mobile-actions{justify-content:space-between}.attach-btn{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:5px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;min-width:72px;padding:.75rem;transition:background .2s;visibility:visible;white-space:nowrap}.attach-btn:hover:not(:disabled){background:#e0e0e0}.attach-btn:disabled{cursor:not-allowed;opacity:.5}.chat-input textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:1rem;line-height:1.35;max-height:140px;min-height:42px;min-width:0;overflow-y:auto;padding:.75rem;resize:none;width:100%}.chat-input textarea:focus{border-color:#667eea;outline:none}.chat-input-actions button{-webkit-tap-highlight-color:transparent;background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;min-width:100px;padding:.75rem 1.5rem;touch-action:manipulation}.chat-input-actions button:hover:not(:disabled){background:#5568d3}.chat-input-actions button:disabled{cursor:not-allowed;opacity:.5}.chat-input-actions button:active{transform:scale(.98)}@media (max-width:900px){.chat-input{gap:.35rem;padding:.5rem}.attach-btn{flex:0 0 38px;font-size:1rem;height:38px;min-width:38px;padding:0;width:38px}.chat-input textarea{font-size:16px;padding:.6rem .55rem}.chat-input-actions button{flex:0 0 auto;font-size:.9rem;min-width:64px;padding:.6rem .7rem}}body.android-app .chat-input{gap:.3rem!important;padding:.45rem!important}body.android-app .chat-input textarea{min-width:0!important;width:100%!important}body.android-app .chat-input-actions button{min-width:60px!important;padding:.55rem .65rem!important}body.android-app .attach-btn{display:inline-flex!important;min-width:72px!important;visibility:visible!important}body.android-app .file-btn-prominent{background:#eef2ff!important;border:1px solid #c7d2fe!important;color:#1f2937!important;font-weight:700!important;min-width:92px!important}.call-button-container{background:#fff;border-top:1px solid #ddd;padding:1rem}.call-btn{background:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background .3s;width:100%}.call-btn:hover:not(:disabled){background:#45a049}.call-btn:disabled{cursor:not-allowed;opacity:.6}.call-controls{display:flex;flex-direction:column;gap:.5rem}.call-status{color:#666;font-size:.9rem;text-align:center}.end-call-btn{background:#f44336;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background .3s;width:100%}.end-call-btn:hover{background:#da190b}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}.loading{align-items:center;color:#666;display:flex;font-size:1.2rem;height:100vh;justify-content:center}.app{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.app-header{background:#667eea;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;gap:.75rem;justify-content:space-between;min-height:56px;padding:1rem 2rem}.app-header,.app-header h1{align-items:center;display:flex}.app-header h1{flex:1 1;font-size:1.5rem;gap:.5rem;margin:0;min-width:0}.user-info{align-items:center;display:flex;flex-wrap:nowrap;gap:.5rem;min-width:0}.user-info>span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;min-width:40px;padding:.5rem;transition:background .3s}.theme-toggle-btn:hover{background:#ffffff4d}.logout-btn{padding:.5rem 1rem;transition:background .3s}.logout-btn,.reset-keys-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:5px;color:#fff;cursor:pointer;white-space:nowrap}.reset-keys-btn{font-size:.9rem;padding:.5rem .75rem;transition:background .3s,opacity .2s}.reset-keys-btn:hover:not(:disabled){background:#ffffff4d}.reset-keys-btn:disabled{cursor:not-allowed;opacity:.7}.logout-btn:hover{background:#ffffff4d}.app-content{overflow:hidden}.app-content,.app-content.single-pane,.main-content{display:flex;flex:1 1;min-height:0}.main-content{flex-direction:column;overflow:hidden}.app-content.single-pane .main-content{width:100%}.app-content.single-pane .contacts-container{border-right:none;flex:1 1;width:100%}.app-content.single-pane .main-content,.app-content.single-pane.chat-open .contacts-container{display:none}.app-content.single-pane.chat-open .main-content{display:flex;flex:1 1;min-height:0}body.android-app .app-content{display:block!important}body.android-app .chat-container,body.android-app .contacts-container,body.android-app .main-content{max-width:100%!important;min-width:0!important;width:100%!important}body.android-app .app-content .main-content,body.android-app .app-content.chat-open .contacts-container{display:none!important}body.android-app .app-content.chat-open .main-content{display:flex!important;height:100%!important;min-height:0!important}@media (max-width:900px){.app-header{padding:.6rem .8rem}.app-header h1{font-size:1.05rem}.theme-toggle-btn{font-size:1rem;min-width:34px;padding:.35rem}.logout-btn,.reset-keys-btn{font-size:.75rem;padding:.35rem .5rem}.user-info>span{font-size:.85rem;max-width:80px}}@media (max-width:700px){.app-header{min-height:48px;padding:.45rem .6rem}.app-header h1{font-size:.95rem}.reset-keys-btn,.user-info>span{display:none}.logout-btn{font-size:.72rem;padding:.3rem .45rem}.back-btn{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.back-btn:active{background:#ffffff40}}.no-contact-selected{align-items:center;color:#666;display:flex;font-size:1.2rem;height:100%;justify-content:center}body.dark-mode{color:#e0e0e0}body.dark-mode,body.dark-mode .app{background:#1a1a1a}body.dark-mode .app-header{background:#2d3748}body.dark-mode .app-content{background:#1a1a1a}body.dark-mode .no-contact-selected{color:#a0a0a0}
/*# sourceMappingURL=main.37de2999.css.map*/