/** JUQOR — Sidebar */
.sidebar{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg0)}
.sidebar-header{padding:14px 18px;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;background:var(--bg1)}
.sidebar-logo{display:flex;align-items:center;gap:10px}
.sidebar-logo-icon{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--a),var(--purple));display:flex;align-items:center;justify-content:center}
.sidebar-logo-text{font-size:14px;color:var(--t0);font-weight:700;letter-spacing:-.3px}
.sidebar-logo-text span{color:var(--a)}
.sidebar-profile{padding:10px 18px;background:var(--bg1);border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:10px}
.sidebar-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--a3),var(--purple-d));display:flex;align-items:center;justify-content:center;border:1px solid rgba(6,214,160,.12)}
.sidebar-avatar span{font-size:13px;color:var(--a);font-family:var(--fm);font-weight:700}
.sidebar-search{padding:12px 18px}
.sidebar-actions{padding:0 18px 12px;display:flex;gap:8px}
.sidebar-list{flex:1;overflow-y:auto}
.sidebar-label{padding:8px 18px 4px;font-size:9px;color:var(--t4);font-family:var(--fm);letter-spacing:2px;text-transform:uppercase}
.contact-item{width:100%;padding:12px 18px;border:none;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;transition:background .2s;color:var(--t1)}
.contact-item:hover{background:var(--bg2)}
.contact-avatar{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.contact-avatar.dm{background:linear-gradient(135deg,var(--a3),var(--blue-d));border:1px solid rgba(6,214,160,.08)}
.contact-avatar.grp{background:linear-gradient(135deg,var(--purple-d),var(--blue-d));border:1px solid rgba(139,92,246,.08)}
.contact-avatar .letter{font-size:15px;font-family:var(--fm);font-weight:700}
.contact-avatar.dm .letter{color:var(--a)}
.contact-avatar.grp .letter{color:var(--purple)}
.online-dot{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:var(--green);border:2.5px solid var(--bg0);box-shadow:0 0 6px rgba(16,185,129,.4)}
.contact-info{flex:1;min-width:0}
.contact-name{font-size:13px;color:var(--t0);font-weight:600}
.contact-name .members{font-size:9px;color:var(--t3);font-weight:400;margin-left:4px}
.contact-last{font-size:11px;color:var(--t2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.contact-time{font-size:10px;color:var(--t4);font-family:var(--fm)}
