:root{--primary:#8e2de2;--primary-gradient:linear-gradient(135deg, #8e2de2, #4a00e0);--accent:#7e57c2;--bg-dark:#121212;--sidebar-bg:#1e1e1e;--glass:#ffffff14;--glass-border:#ffffff1f}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:#fff;font-family:Inter,sans-serif;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-container{background:radial-gradient(circle at 100% 0,#4a00e0,#0f0c29);justify-content:center;align-items:center;height:100vh;display:flex}.auth-card{background:var(--glass);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--glass-border);text-align:center;border-radius:28px;width:380px;padding:40px;animation:.4s ease-out slideUp}.auth-logo{letter-spacing:-1px;margin-bottom:20px;font-size:42px;font-weight:900}.auth-card input{border:1px solid var(--glass-border);color:#fff;background:#0003;border-radius:12px;outline:none;width:100%;margin:10px 0;padding:14px;font-size:15px;transition:all .3s}.auth-card input:focus{border-color:var(--primary);box-shadow:0 0 15px #8e2de24d}.auth-card button{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:15px;padding:14px;font-size:16px;font-weight:700;transition:all .3s}.error-text{color:#ff4757;margin-top:15px;font-size:13px}.boom-app{background:var(--bg-dark);color:#fff;height:100vh;display:flex}.drawer{z-index:1001;border-right:1px solid var(--glass);background:#171717;width:280px;height:100%;padding:30px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-300px}.drawer.open{left:0}.sidebar-overlay{opacity:0;visibility:hidden;z-index:1000;background:#00000080;transition:all .3s;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-header{text-align:center;margin-bottom:30px}.profile-avatar{border:3px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 15px;font-size:32px;font-weight:700;display:flex}.drawer-header h3{margin-bottom:5px;font-size:20px}.drawer-header span{color:#888;font-size:14px}.menu-item{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;gap:15px;width:100%;margin-bottom:5px;padding:14px;font-size:16px;transition:all .2s;display:flex}.menu-item:hover{background:var(--glass)}.menu-item.logout{color:#ff5252;margin-top:20px}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--glass);flex-direction:column;width:320px;display:flex}.sidebar-header{align-items:center;gap:15px;padding:20px;display:flex}.sidebar-header h2{letter-spacing:1px;font-weight:900}.icon-btn{color:#fff;cursor:pointer;background:0 0;border:none;margin-right:5px;font-size:26px;transition:all .2s}.icon-btn:hover{color:var(--accent)}.search-bar{padding:0 15px 15px}.search-bar input{border:1px solid var(--glass);color:#fff;background:#2a2a2a;border-radius:12px;outline:none;width:100%;padding:12px}.search-bar input:focus{border-color:var(--accent)}.chat-list{flex:1;overflow-y:auto}.chat-item{cursor:pointer;border-radius:10px;align-items:center;gap:12px;margin:0 10px 5px;padding:12px 15px;transition:all .2s;display:flex}.chat-item:hover,.chat-item.active{background:var(--glass)}.chat-item .name{margin-bottom:3px;font-size:15px;font-weight:600}.chat-item .sub{color:#888;font-size:13px}.avatar.sm{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:18px;font-weight:700;display:flex}.main-chat{background:#0a0a0a;flex-direction:column;flex:1;display:flex;position:relative}.chat-top{border-bottom:1px solid var(--glass);background:#171717;align-items:center;gap:15px;padding:15px 25px;display:flex}.status{margin-top:2px;font-size:13px;font-weight:700}.message-list{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.message-wrapper{width:100%;display:flex}.message-box{border-radius:18px;max-width:70%;padding:12px 16px;font-size:15px;line-height:1.4;position:relative;box-shadow:0 2px 5px #0003}.sent{justify-content:flex-end}.sent .message-box{background:var(--primary-gradient);color:#fff;border-bottom-right-radius:4px}.received{justify-content:flex-start}.received .message-box{color:#fff;background:#2a2a2a;border-bottom-left-radius:4px}.time{color:#fff9;justify-content:flex-end;gap:4px;margin-top:5px;font-size:11px;display:flex}.input-row{background:#171717;align-items:center;gap:12px;padding:20px;display:flex}.input-row input{border:1px solid var(--glass);color:#fff;background:#2a2a2a;border-radius:25px;outline:none;flex:1;padding:14px 20px;font-size:15px;transition:all .2s}.input-row input:focus{border-color:var(--accent)}.send-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:26px;transition:all .2s}.send-btn:hover{color:#9c27b0;transform:scale(1.1)}.empty-state{color:#666;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.online-badge{border:2px solid var(--sidebar-bg);background:#4caf50;border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.unread-badge{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:flex}.ticks{margin-left:5px;font-size:12px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--sidebar-bg);border:1px solid var(--glass-border);border-radius:20px;width:350px;padding:30px;animation:.3s ease-out slideUp;box-shadow:0 20px 50px #00000080}.modal h3{text-align:center;margin-bottom:20px;font-size:22px}.modal-body{flex-direction:column;gap:10px;margin-bottom:25px;display:flex}.modal-body label{color:#aaa;margin-bottom:-5px;font-size:13px}.modal-body input{color:#fff;border:1px solid var(--glass-border);background:#2a2a2a;border-radius:12px;outline:none;padding:12px 15px;font-size:15px}.modal-body input:focus{border-color:var(--primary)}.modal-actions{gap:10px;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-size:15px;font-weight:700;transition:all .2s}.save-btn{background:var(--primary-gradient);color:#fff}.save-btn:hover{box-shadow:0 5px 15px #8e2de266}.cancel-btn{color:#fff;background:#333}.cancel-btn:hover{background:#444}.typing-indicator{align-items:center;gap:5px;width:fit-content;display:flex;padding:15px 20px!important}.typing-indicator .dot{background:#888;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both typing}.typing-indicator .dot:first-child{animation-delay:-.32s}.typing-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}
