.layout{grid-template-columns:270px minmax(0,1fr) 250px}
.sidebar{padding:24px 18px 16px;gap:0;background:linear-gradient(155deg,#8971ed0d,transparent 45%),var(--panel);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.sidebar-modern-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}
.sidebar .logo{margin:0;gap:11px;min-width:0}
.sidebar .logo>span{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border:1px solid #aa91ff33;border-radius:14px;background:linear-gradient(145deg,#aa91ff26,#7965dd12);font-size:28px}
.sidebar .logo strong{font-size:16px;letter-spacing:-.4px}
.sidebar .logo small{font-size:8px;letter-spacing:1.7px}
.sidebar-close{display:none;background:transparent;font-size:26px;padding:3px 10px;color:var(--muted)}
.sidebar-community{display:flex;flex-wrap:wrap;gap:10px;padding:14px;margin-bottom:17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(125deg,#a68afa11,transparent)}
.sidebar-community strong{display:block;font-size:12px;font-weight:650}
.sidebar-community small{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:4px}
.sidebar-presence{display:inline-flex;align-items:center;gap:6px;color:#80cdb1;font-size:10px;font-weight:600}
.sidebar-presence:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #80cdb115}
.sidebar-search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:var(--input);padding:0 11px;margin-bottom:22px;color:var(--muted)}
.sidebar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #a68afa12}
.sidebar-search input{margin:0;padding:11px 0;border:0;background:transparent;min-width:0;font-size:12px;box-shadow:none;outline:none}
.sidebar .sidebar-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.5px;font-weight:650;margin:0 4px 12px}
.sidebar-room-count{letter-spacing:0;font-size:10px;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--accent)}
.sidebar #rooms{flex:1;min-height:70px;display:flex;flex-direction:column;gap:5px;padding:2px 0 14px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.sidebar .room{display:flex;align-items:center;gap:12px;position:relative;flex-shrink:0;min-height:46px;padding:12px 13px;border:1px solid transparent;border-radius:12px;text-align:left;background:transparent;color:var(--muted);transition:background .15s,border-color .15s,color .15s;filter:none}
.sidebar .room:hover{background:var(--panel2);color:var(--text)}
.sidebar .room.active{background:linear-gradient(110deg,#9580f029,#9580f011);border-color:#9580f033;color:var(--accent);font-weight:650}
.sidebar .room.active:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--accent)}
.sidebar-icon{display:block;width:19px;height:19px;flex:0 0 19px}
.sidebar-room-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-empty{font-size:12px;text-align:center;color:var(--muted);padding:12px 4px;margin:0}
.sidebar .sidebar-bottom{flex-shrink:0;margin-top:auto;padding-top:14px;gap:3px;border-top:1px solid var(--line)}
.sidebar-account-title{font-size:9px;letter-spacing:1.6px;color:var(--muted);padding:2px 12px 9px}
.sidebar .sidebar-bottom>button:not(.admin-report-alert){display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:40px;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;filter:none}
.sidebar .sidebar-bottom>button:not(.admin-report-alert):hover{background:var(--panel2);color:var(--text)}
.sidebar #logoutButton{color:var(--danger)}
.sidebar .sidebar-action-label{min-width:0;overflow-wrap:anywhere}
.sidebar .me-badge{margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--input)}
.sidebar .me-badge .user-line{margin:0;gap:10px}
.sidebar .me-badge .avatar{width:35px;height:35px;flex-basis:35px;border-radius:11px}
.sidebar .admin-report-alert{font-size:11px;margin:4px 0 8px;line-height:1.6}
.sidebar [hidden],.sidebar-backdrop[hidden]{display:none!important}
.sidebar-backdrop{position:fixed;inset:0;width:100%;height:100dvh;z-index:50;border:0;border-radius:0;background:#080b14a6;backdrop-filter:blur(3px);padding:0;filter:none!important}
body.light .sidebar-presence{color:#267859}
@media(max-width:1150px){.layout{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:700px){
 .sidebar,.menu-open .sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(310px,calc(100vw - 42px));height:100dvh;z-index:51;border:0;border-right:1px solid var(--line);padding:calc(22px + env(safe-area-inset-top)) 18px calc(16px + env(safe-area-inset-bottom));box-shadow:18px 0 70px #0005}
 .sidebar{transform:translateX(-105%);visibility:hidden;pointer-events:none;transition:transform .22s ease,visibility .22s}
 .menu-open .sidebar{transform:translateX(0);visibility:visible;pointer-events:auto}
 .sidebar-close{display:block}
 body.menu-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar .room{transition:none}}

/* Chat modern — păstrează structura și funcțiile existente. */
.chat{background:radial-gradient(ellipse at 75% 0,#8d78ef08,transparent 52%),var(--bg)}
.chat-header{min-height:88px;padding:19px 26px;background:var(--panel);gap:14px}
.chat-header h1{font-size:20px;letter-spacing:-.5px;margin-bottom:5px}
.chat-header p{font-size:12px;line-height:1.5}
.chat-header .status{padding:7px 10px;background:#72c5a512;border:1px solid #72c5a525;border-radius:20px;font-size:10px}
.intro{padding:16px 26px 6px;font-size:11px}
.history{border:1px solid var(--line);border-radius:20px;padding:7px 14px;margin:9px auto 5px;background:var(--panel)}
.messages{padding:16px 26px 26px;scrollbar-gutter:stable}
.message{gap:12px;padding:12px 0}
.message>.avatar{width:38px;height:38px;flex-basis:38px;border-radius:13px;box-shadow:0 4px 12px #0001}
.message-content{border:1px solid var(--line);border-radius:0 16px 16px 16px;background:var(--panel);padding:12px 15px;box-shadow:0 3px 14px #00000008}
.message.own .message-content{background:linear-gradient(135deg,#9782f012,#9782f008),var(--panel);border:1px solid #9782f030;border-radius:16px 0 16px 16px;padding:12px 15px}
.message-meta{margin-bottom:8px;gap:9px;flex-wrap:wrap}
.message-meta strong{font-size:13px;letter-spacing:.1px}
.message-meta time{font-size:10px}
.role-tag{padding:4px 6px;border-radius:5px;font-size:8px}
.message-body{font-size:14px;line-height:1.75}
.message-actions{opacity:.75;gap:5px;margin-top:10px;padding-top:7px;border-top:1px solid var(--line)}
.message-actions button{padding:5px 8px;border-radius:7px;font-size:10px}
.message-actions button:hover{background:var(--panel2)}
.reactions{gap:6px;margin-top:10px}
.reactions button{padding:5px 10px;border-radius:20px;background:var(--input)}
.video-card{border-radius:15px;margin:12px 0 3px;box-shadow:0 5px 20px #0001}
.compose{padding:17px 24px calc(17px + env(safe-area-inset-bottom));background:var(--bg)}
.compose form{padding:7px;border-radius:17px;gap:7px;box-shadow:0 6px 25px #00000009;transition:border-color .15s}
.compose form:focus-within{border-color:var(--accent)}
.compose textarea{font-size:16px;line-height:1.5;min-height:46px;padding:11px 6px}
.compose form>button[type=button]{flex-shrink:0;min-width:39px;min-height:42px;background:transparent}
.compose #sendButton{min-height:44px;padding:12px 17px;border-radius:12px;font-size:13px;box-shadow:0 3px 10px #8170e725}
.compose-note{font-size:10px;line-height:1.5;padding:10px 3px 0}
#replyBar{border-radius:11px;padding:9px 12px}
#newMessages{border-radius:22px;padding:10px 16px;bottom:160px;z-index:5}
.people{padding:28px 22px;background:var(--panel)}
.people .user-line{padding:10px;border:1px solid var(--line);border-radius:12px;margin:9px 0;background:var(--input)}
.people h2{margin-bottom:17px}
.community-note{border-radius:17px}
button{touch-action:manipulation}
#toast{border-radius:15px;font-size:13px}
body.light .message-content{box-shadow:0 3px 16px #28254005}
@media(max-width:700px){
 .chat-header{min-height:76px;padding:14px 12px;gap:10px}
 .chat-header h1{font-size:17px}
 .chat-header p{font-size:11px}
 .chat-header .status{font-size:9px;padding:6px 8px}
 .intro{padding:12px 14px 5px;font-size:10px}
 .messages{padding:10px 12px 20px;scrollbar-gutter:auto}
 .message{gap:8px;padding:9px 0}
 .message>.avatar{width:30px;height:30px;flex-basis:30px;border-radius:10px;font-size:12px}
 .message-content,.message.own .message-content{padding:10px 11px;border-radius:13px}
 .message-meta{gap:6px}
 .message-body{font-size:14px;line-height:1.7}
 .compose{padding:10px 9px calc(12px + env(safe-area-inset-bottom))}
 .compose form{gap:3px;padding:5px;border-radius:15px}
 .compose textarea{font-size:16px;min-width:0;line-height:1.5;padding:10px 4px}
 .compose #emojiButton{font-size:24px;padding:7px 5px}
 .compose form>button[type=button]{min-width:32px;padding:8px 5px}
 .compose #sendButton{padding:11px 9px;font-size:12px;min-height:43px}
 .compose-note{font-size:9px;gap:6px}
 .compose-note span:first-child{max-width:78%}
 .auth-page input,dialog input,dialog textarea,dialog select,.sidebar input,.sidebar select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.compose form{transition:none}}
@media(hover:none) and (pointer:coarse){.auth-page input,dialog input,dialog textarea,dialog select,.sidebar input,.sidebar select,.compose textarea{font-size:16px}}

/* Sidebar v5: camere lizibile, o singură zonă de derulare. */
@media(min-width:1151px){.layout{grid-template-columns:320px minmax(0,1fr) 250px}}
@media(min-width:701px) and (max-width:1150px){.layout{grid-template-columns:290px minmax(0,1fr)}}
.sidebar{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 20px 18px}
.sidebar>*{flex-shrink:0}
.sidebar-modern-header{margin-bottom:16px}
.sidebar-community{margin-bottom:14px;padding:12px 14px}
.sidebar-search{margin-bottom:18px}
.sidebar .sidebar-label{font-size:10px;letter-spacing:1px;margin:0 4px 12px;gap:10px}
.sidebar #rooms{flex:0 0 auto;min-height:0;height:auto;max-height:none;overflow:visible;gap:8px;padding:4px 0 18px}
.sidebar .room{width:100%;min-width:0;min-height:56px;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:var(--input);color:var(--text);line-height:1.45}
.sidebar .room:hover{background:var(--panel2);border-color:#9580f066}
.sidebar .room.active{background:linear-gradient(110deg,#9580f02e,#9580f012);border-color:#9580f066;color:var(--accent);box-shadow:0 4px 15px #00000008}
.sidebar .room.active:before{top:14px;bottom:14px;left:0;width:3px}
.sidebar .room .sidebar-icon{width:21px;height:21px;flex-basis:21px}
.sidebar-room-name{flex:1;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.45;text-align:left}
.sidebar .private-room-lock{flex:0 0 auto;margin-left:0;font-size:13px}
.sidebar .sidebar-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px;padding-top:17px;min-width:0}
.sidebar-account-title,.sidebar .me-badge,.sidebar .sidebar-bottom>.admin-report-alert{grid-column:1 / -1}
.sidebar-account-title{padding:0 4px 7px;font-size:10px;letter-spacing:1px}
.sidebar .sidebar-bottom>button:not(.admin-report-alert){min-width:0;min-height:46px;gap:8px;padding:10px;border:1px solid var(--line);background:var(--input);font-size:12px;line-height:1.45;text-align:left;white-space:normal;overflow-wrap:anywhere;justify-content:flex-start}
.sidebar .sidebar-bottom>button:not(.admin-report-alert):hover{background:var(--panel2);border-color:#9580f055}
.sidebar .sidebar-bottom .sidebar-icon{width:17px;height:17px;flex-basis:17px}
.sidebar .sidebar-action-label{flex:1;min-width:0;line-height:1.45}
.sidebar .me-badge{margin-top:7px;padding:12px}
.sidebar .sidebar-bottom>button#quizButton,.sidebar .sidebar-bottom>button#pmReportsButton{grid-column:1 / -1}
.sidebar .sidebar-search input{font-size:16px;line-height:1.4}
@media(max-width:700px){
 .sidebar,.menu-open .sidebar{width:min(360px,calc(100vw - 24px));padding:calc(20px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;scrollbar-gutter:auto}
 .sidebar .room{min-height:54px;padding:13px 14px}
 .sidebar-room-name{font-size:14px}
 .sidebar .sidebar-bottom{gap:7px}
}

