:root{--primary-color:#111827;--primary-hover:#374151;--bg-color:#f9fafb;--card-bg:#fff;--text-color:#111827;--text-muted:#6b7280;--border-color:#e5e7eb;--input-bg:#f3f4f6;--message-sent-bg:#111827;--message-sent-text:#fff;--message-received-bg:#f3f4f6;--message-received-text:#111827;--error-color:#ef4444;--chat-bg:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);justify-content:center;align-items:center;height:100dvh;font-family:Inter,sans-serif;display:flex;overflow:hidden}#app{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.screen{justify-content:center;align-items:center;width:100%;height:100%;padding:20px;transition:opacity .3s,transform .3s;display:flex}.screen.hidden{opacity:0;pointer-events:none;position:absolute;transform:scale(.98)}.auth-card{background:var(--card-bg);border:1px solid var(--border-color);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:40px;box-shadow:0 4px 20px #0000000d}.icon-wrapper{background:var(--input-bg);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 24px;display:flex}.brand-icon{width:28px;height:28px;color:var(--primary-color)}.auth-card h2{color:var(--text-color);margin-bottom:8px;font-size:1.5rem;font-weight:600}.auth-card p{color:var(--text-muted);margin-bottom:32px;font-size:.95rem}.input-group{margin-bottom:16px}.input-icon-wrapper{align-items:center;display:flex;position:relative}.input-icon{width:20px;height:20px;color:var(--text-muted);position:absolute;left:16px}.input-icon-wrapper input{background:var(--card-bg);border:1px solid var(--border-color);width:100%;color:var(--text-color);border-radius:12px;outline:none;padding:14px 16px 14px 44px;font-size:.95rem;transition:all .2s}.input-icon-wrapper input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #1118271a}.error-msg{min-height:20px;color:var(--error-color)!important;margin-bottom:16px!important;font-size:.85rem!important}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:14px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--primary-color);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn.secondary:hover{background:var(--input-bg)}.btn.icon-btn{width:40px;height:40px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex}.btn.icon-btn:hover{background:var(--input-bg);color:var(--text-color)}.btn.icon-btn.send-btn{background:var(--primary-color);width:44px;height:44px;color:var(--message-sent-text);border-radius:12px;margin-bottom:0}.btn.icon-btn.send-btn:hover{background:var(--primary-hover);color:var(--message-sent-text)}.btn.send-btn i{width:20px;height:20px;margin-left:-2px}.chat-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:1000px;height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000d}.sidebar{border-right:1px solid var(--border-color);background:var(--bg-color);flex-direction:column;width:320px;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.sidebar-header h2{font-size:1.25rem;font-weight:600}.search-bar{border-bottom:1px solid var(--border-color);padding:16px 24px;position:relative}.search-bar i,.search-bar svg{width:16px;height:16px;color:var(--text-muted);position:absolute;top:50%;left:40px;transform:translateY(-50%)}.search-bar input{border:1px solid var(--border-color);background:var(--card-bg);width:100%;color:var(--text-color);border-radius:24px;outline:none;padding:10px 16px 10px 40px;font-size:.9rem;transition:all .2s}.search-bar input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #11182726}body.dark-theme .search-bar input:focus{box-shadow:0 0 0 3px #f3f4f626}.contacts-list{flex:1;padding:12px;overflow-y:auto}.contact-item{cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:background .2s;display:flex}.contact-item:hover{background:var(--border-color)}.contact-item.active{background:var(--input-bg)}.contact-info{flex:1;overflow:hidden}.contact-name{justify-content:space-between;font-size:.95rem;font-weight:500;display:flex}.contact-time{color:var(--text-muted);font-size:.75rem}.contact-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border-color);background:var(--card-bg);justify-content:space-between;align-items:center;padding:16px;display:flex}.user-info-small{align-items:center;gap:12px;display:flex;overflow:hidden}.avatar.small{width:32px;height:32px;font-size:.9rem}.truncate{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.chat-main{background:var(--card-bg);flex-direction:column;flex:1;display:flex}.chat-header{border-bottom:1px solid var(--border-color);background:var(--card-bg);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.user-info{align-items:center;gap:12px;display:flex}.avatar{background:var(--input-bg);width:44px;height:44px;color:var(--primary-color);border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:500;display:flex}.user-details{flex-direction:column;display:flex}#active-chat-name{font-size:1rem;font-weight:500}.status{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.status-dot{background:#10b981;border-radius:50%;width:8px;height:8px;display:inline-block}.messages-list{background:var(--chat-bg);flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.messages-list::-webkit-scrollbar{width:6px}.contacts-list::-webkit-scrollbar{width:6px}.messages-list::-webkit-scrollbar-track{background:0 0}.contacts-list::-webkit-scrollbar-track{background:0 0}.messages-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.contacts-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.message{flex-direction:column;max-width:65%;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.sent{align-self:flex-end}.message.received{align-self:flex-start}.message .bubble{word-break:break-word;border-radius:16px;padding:12px 16px;font-size:.95rem;line-height:1.5}.message.sent .bubble{background:var(--message-sent-bg);color:var(--message-sent-text);border-bottom-right-radius:4px}.message.received .bubble{background:var(--message-received-bg);color:var(--message-received-text);border-bottom-left-radius:4px}.message .meta{color:var(--text-muted);gap:8px;margin-top:6px;font-size:.75rem;display:flex}.message.sent .meta{justify-content:flex-end}.chat-input-area{border-top:1px solid var(--border-color);background:var(--card-bg);align-items:center;gap:12px;padding:20px 24px;display:flex}.attach-btn{color:var(--text-muted)}.input-wrapper{flex:1;position:relative}.input-wrapper input{background:var(--input-bg);width:100%;color:var(--text-color);border:1px solid #0000;border-radius:24px;outline:none;padding:14px 20px;font-size:.95rem;transition:all .2s}.input-wrapper input:focus{background:var(--card-bg);border-color:var(--border-color);box-shadow:0 2px 10px #00000005}.hidden{display:none!important}.auth-toggle-text{color:var(--text-muted);margin-top:16px;font-size:.9rem}.auth-toggle-text a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s}.auth-toggle-text a:hover{color:var(--primary-hover);text-decoration:underline}body.dark-theme{--primary-color:#f3f4f6;--primary-hover:#e5e7eb;--bg-color:#0b0f19;--card-bg:#111827;--text-color:#f3f4f6;--text-muted:#9ca3af;--border-color:#1f2937;--input-bg:#1f2937;--message-sent-bg:#f3f4f6;--message-sent-text:#111827;--message-received-bg:#374151;--message-received-text:#f3f4f6;--chat-bg:#1f2937}body.dark-theme .avatar{color:#f3f4f6;background:#1f2937;border-color:#374151}body.dark-theme .contact-item:hover{background:#1f2937}body.dark-theme .contact-item.active{background:#374151}.contact-item.unread .contact-name span:first-child{font-weight:600}.contact-item.unread .contact-preview{color:var(--text-color);font-weight:600}.unread-dot{background-color:#3b82f6;border-radius:50%;width:8px;height:8px;animation:2s infinite unreadPulse;display:inline-block}@keyframes unreadPulse{0%{transform:scale(.95);box-shadow:0 0 #3b82f6b3}70%{transform:scale(1);box-shadow:0 0 0 5px #3b82f600}to{transform:scale(.95);box-shadow:0 0 #3b82f600}}.sidebar-header-actions{gap:4px;display:flex}.new-chat-header-content{align-items:center;gap:12px;display:flex}.new-chat-header-content h2{font-size:1.25rem;font-weight:600}#btn-chat-back{display:none}@media (width<=768px){.screen{padding:0}.chat-container{max-width:100%;height:100dvh;box-shadow:none;border:none;border-radius:0}.sidebar{border-right:none;width:100%}.chat-main,.chat-container.show-chat .sidebar{display:none}.chat-container.show-chat .chat-main{width:100%;display:flex}#btn-chat-back{margin-right:0;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.messages-list{padding:16px}.message{max-width:85%}.chat-header{justify-content:center;padding:12px 16px;position:relative}.user-info{align-items:center;gap:12px;margin:0 auto;display:flex}.user-details{text-align:center;align-items:center}.chat-input-area{padding:12px 16px}}@media (width<=480px){.auth-card{border-radius:16px;padding:30px 20px}.screen{padding:16px}}
