/* Разделы дашборда — вертикальная колонка слева на широких экранах, сворачивается
   в узкую полосу. Узкие экраны, вход без разделов и TV-режим не меняются. */
#sideNavToggle { display: none; }
@media (min-width: 1081px) {
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) { --side-nav-width: 188px; margin-left: var(--side-nav-width) !important; }
  body.side-nav-collapsed:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) { --side-nav-width: 52px; }
  /* Шапка по-прежнему на всю ширину окна: компенсируем сдвиг страницы. */
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .app-header.global-shell {
    margin-left: calc((100% - 100vw - var(--side-nav-width)) / 2);
    margin-right: calc((100% - 100vw + var(--side-nav-width)) / 2);
    padding-left: calc(var(--side-nav-width) + 20px);
  }
  /* Список ушёл из сетки шапки: кнопка TV и профиль остаются справа. */
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .tv-mode-enter { grid-column: 3; }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .user-chip { grid-column: 4; }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .module-nav.seo-reference-nav {
    position: fixed; top: 0; bottom: 0; left: 0; z-index: 69;
    display: flex; flex-direction: column; align-items: stretch; gap: 2px;
    width: var(--side-nav-width); padding: 58px 10px 16px;
    overflow-x: hidden; overflow-y: auto;
    border-right: 1px solid var(--n4); background: var(--n1);
  }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .seo-reference-nav-item {
    display: block; align-self: auto; min-width: 0; padding: 7px 10px 7px 12px; border-radius: 7px;
    color: var(--n12); font-size: 13px; line-height: 1.3; text-align: left; white-space: normal;
  }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .seo-reference-nav-item:hover { color: var(--n14); background: var(--n3); }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .seo-reference-nav-item.is-active { color: var(--sky); background: var(--sky-tint); }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .seo-reference-nav-item::after { top: 7px; right: auto; bottom: 7px; left: 0; width: 3px; height: auto; border-radius: 2px; }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) #sideNavToggle {
    position: fixed; top: 14px; left: 10px; z-index: 70;
    display: block; width: calc(var(--side-nav-width) - 20px); min-height: 32px; padding: 5px 10px;
    border: 1px solid var(--n6); border-radius: 7px; color: var(--n12); background: var(--n2);
    font: inherit; font-size: 12px; text-align: left; white-space: nowrap; cursor: pointer;
  }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) #sideNavToggle:hover { color: var(--n14); border-color: var(--sky); }
  body:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) #sideNavToggle:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
  body.side-nav-collapsed:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) #sideNavToggle { padding: 5px 0; text-align: center; }
  body.side-nav-collapsed:not(.tv-mode):has(#moduleNav:not([hidden]):not(:empty)) .global-shell .seo-reference-nav-item { display: none; }
}
