/* Один состав меню на всех страницах; компактная главная сохраняет свою шапку. */
.site-visually-hidden {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.cabinet-page .site-cabinet-primary { display: inline-flex; }
.hq-utility-menu .site-mobile-menu-panel {
    width: min(800px, calc(100vw - 40px));
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 16px;
    padding: 16px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.site-menu-account { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.site-menu-group { min-width: 0; }
.site-menu-group h2 { margin: 0 0 8px; padding: 0 12px 8px; border-bottom: 1px solid var(--bss-line); color: var(--bss-muted); font: 600 13px/1.5 var(--bss-font-body); }
.site-menu-links { display: grid; align-content: start; }
.site-menu-identity { padding: 8px 12px; margin: 0; overflow-wrap: anywhere; color: var(--bss-muted); font-size: 13px; }
.site-menu-group .site-header-logout { margin: 4px 12px 0; }
.site-menu-status { grid-column: 1 / -1; margin: 0; color: var(--bss-muted); font-size: 13px; }
.site-menu-status[hidden] { display: none; }
.site-menu-status a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; font-size: inherit; text-decoration: underline; }
.site-menu-full-link { border-top: 1px solid var(--bss-line); padding-top: 12px; }
.site-navigation-page { max-width: 900px; margin: auto; }
.site-navigation-page .site-menu-account { padding: 20px; background: var(--bss-panel); border: 1px solid var(--bss-line); border-radius: var(--bss-radius-lg); }
.site-navigation-page .site-menu-links a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; }
.site-mobile-menu-panel a { overflow-wrap: anywhere; }
.site-mobile-menu-panel a[aria-current="page"] { color: var(--bss-accent-strong); }
@media (min-width: 601px) {
    .hq-utility-menu .site-mobile-menu-panel:not(:has([data-site-management])) { width: min(560px, calc(100vw - 40px)); grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-menu-account:not(:has([data-site-management])) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .site-header-inner { position: relative; }
    .site-header-tools { position: static; }
    .hq-utility-menu .site-mobile-menu-panel { left: 0; right: auto; width: 100%; grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .site-menu-account { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .site-menu-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
    .site-menu-group h2 { padding-inline: 8px; }
    .site-mobile-menu-panel a { padding: 8px; font-size: 13px; }
}
