html:has(.web-shell), body:has(.web-shell) { height:auto; min-height:100%; overflow:visible; }
.workspace.web-shell { height:auto; min-height:100dvh; overflow:visible; align-items:flex-start; }
.web-shell > .app-sidebar { position:sticky; top:0; height:100dvh; font-family:'Open Sans',sans-serif; }
.web-shell-content { flex:1; min-width:0; }
.web-shell .app-sidebar button { border:0; background:transparent; }
.web-shell #connection::before { display:none; }
/* Кружок статуса скрываем только там, где нет подключения к чату (отдельные веб-страницы без ui.js) */
.web-shell .profile:not(:has(#connection[data-realtime])) .profile-connection-dot { display:none; }
.web-shell-content > .mobile-shell-bar:where(.web-shell, .web-shell *) { position:sticky; top:0; }
@media(max-width:768px) {
 .workspace.web-shell { display:block; }
 .web-shell > .app-sidebar { position:fixed; height:100dvh; max-height:100dvh; bottom:0; }
 body:has(.mobile-bottom-nav) .web-shell-content { padding-bottom:var(--mobile-nav-height); }
}
