/* Desktop shell. Mobile and touch layouts keep the existing TMA UI. */
.desktop-menu-setting { display: none; }
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .desktop-menu-setting { display: flex; }
    #dashboard-screen .hidden { display: none !important; }
    #dashboard-screen {
        --desktop-sidebar-width: 232px;
    }
    #dashboard-screen.desktop-cabinet-collapsed {
        --desktop-sidebar-width: 64px;
    }
    #dashboard-screen > .tma-container {
        padding-left: var(--desktop-sidebar-width);
        transition: padding-left .2s ease;
    }
    #dashboard-screen > .desktop-cabinet-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 121;
        width: var(--desktop-sidebar-width);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        background: #fff;
        border-right: 1px solid #e5e7eb;
        padding: calc(var(--tg-safe-area-inset-top, 0px) + 16px) 12px calc(var(--tg-safe-area-inset-bottom, 0px) + 16px);
        transition: width .2s ease;
    }
    #dashboard-screen.desktop-cabinet-top > .desktop-cabinet-sidebar { display: none; }
    #dashboard-screen.desktop-cabinet-top > .tma-container { padding-left: 0; padding-top: calc(var(--tg-safe-area-inset-top, 0px) + 56px); }
    #dashboard-screen.desktop-cabinet-top > .tma-container > .app-view { max-width: none; }
    #dashboard-screen.desktop-cabinet-top > .tma-container > #view-editor,
    #dashboard-screen.desktop-cabinet-top > .tma-container > #view-host-profile { max-width: 800px; }
    #dashboard-screen.desktop-cabinet-top .tma-titlebar { padding-top: 0; }
    #dashboard-screen.desktop-cabinet-top #view-journal > div:first-child { padding-top: 0 !important; }
    #dashboard-screen > .desktop-cabinet-topbar { display: none; }
    #dashboard-screen.desktop-cabinet-top > .desktop-cabinet-topbar {
        position: fixed;
        top: var(--tg-safe-area-inset-top, 0px);
        left: 0;
        right: 0;
        height: 56px;
        z-index: 121;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 0 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }
    .desktop-cabinet-top-brand { display: flex; align-items: center; gap: 8px; flex: none; font-size: 14px; font-weight: 750; color: #111827; }
    .desktop-cabinet-top-brand i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #fde68a; color: #92400e; }
    .desktop-cabinet-top .desktop-cabinet-nav { flex: 1 1 auto; min-width: 0; flex-direction: row; align-items: stretch; overflow: hidden; gap: 0; white-space: nowrap; }
    .desktop-cabinet-top .desktop-cabinet-link { flex: none; width: auto; min-height: 56px; padding: 0 11px; border-radius: 0; }
    .desktop-cabinet-top .desktop-cabinet-link i { display: none; }
    .desktop-cabinet-top .desktop-cabinet-link.active { background: transparent; color: #1d4ed8; box-shadow: inset 0 -2px #2563eb; }
    .desktop-cabinet-top-actions { display: flex; align-items: center; gap: 10px; flex: none; }
    .desktop-cabinet-top-actions button, .desktop-cabinet-more-button { height: 40px; border: 0; border-radius: 10px; cursor: pointer; }
    .desktop-cabinet-bell { width: 40px; background: #f3f4f6; color: #374151; }
    .desktop-cabinet-top-add { display: flex; align-items: center; gap: 8px; padding: 0 14px; background: #2563eb; color: #fff; font-weight: 650; }
    .desktop-cabinet-more { display: none; position: relative; flex: none; }
    .desktop-cabinet-more.has-items { display: block; }
    .desktop-cabinet-more-button { display: flex; align-items: center; gap: 6px; padding: 0 10px; background: transparent; color: #4b5563; }
    .desktop-cabinet-more.active .desktop-cabinet-more-button { color: #1d4ed8; font-weight: 650; }
    .desktop-cabinet-more-menu { display: none; position: absolute; top: 48px; right: 0; min-width: 200px; max-height: min(500px, calc(100dvh - var(--tg-safe-area-inset-top, 0px) - var(--tg-safe-area-inset-bottom, 0px) - 120px)); overflow-y: auto; padding: 6px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px #11182722; }
    .desktop-cabinet-more.open .desktop-cabinet-more-menu { display: block; }
    .desktop-cabinet-more-menu .desktop-cabinet-link { width: 100%; min-height: 40px; border-radius: 8px; box-shadow: none; }
    .desktop-cabinet-more-menu .desktop-cabinet-link i { display: block; }
    .desktop-cabinet-topbar button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
    .desktop-cabinet-brand {
        min-height: 40px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 0 8px;
        font-size: 14px;
        font-weight: 750;
        color: #111827;
        white-space: nowrap;
    }
    .desktop-cabinet-brand i {
        width: 30px;
        height: 30px;
        flex: none;
        display: grid;
        place-items: center;
        border-radius: 9px;
        background: #fde68a;
        color: #92400e;
    }
    .desktop-cabinet-add,
    .desktop-cabinet-link,
    .desktop-cabinet-collapse {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        min-height: 42px;
        border: 0;
        border-radius: 12px;
        padding: 0 12px;
        text-align: left;
        white-space: nowrap;
        font-size: 14px;
        font-weight: 550;
        cursor: pointer;
    }
    .desktop-cabinet-add {
        min-height: 44px;
        margin: 12px 0 16px;
        background: #2563eb;
        color: #fff;
        font-weight: 650;
    }
    .desktop-cabinet-link,
    .desktop-cabinet-collapse { background: transparent; color: #4b5563; }
    .desktop-cabinet-link:hover,
    .desktop-cabinet-collapse:hover { background: #f3f4f6; }
    .desktop-cabinet-link.active { background: #eff6ff; color: #1d4ed8; }
    .desktop-cabinet-link i,
    .desktop-cabinet-add i,
    .desktop-cabinet-collapse i { width: 20px; text-align: center; flex: none; }
    .desktop-cabinet-nav { display: flex; flex-direction: column; gap: 2px; overflow: auto; min-height: 0; }
    .desktop-cabinet-footer { margin-top: auto; padding-top: 12px; border-top: 1px solid #f1f2f4; }
    .desktop-cabinet-collapse { font-size: 13px; }
    .desktop-cabinet-add:focus-visible,
    .desktop-cabinet-link:focus-visible,
    .desktop-cabinet-collapse:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar { padding-left: 8px; padding-right: 8px; }
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-label { display: none; }
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-brand,
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-link,
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-add,
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-collapse { justify-content: center; padding-left: 0; padding-right: 0; }
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-nav { scrollbar-width: none; }
    .desktop-cabinet-collapsed .desktop-cabinet-sidebar .desktop-cabinet-nav::-webkit-scrollbar { display: none; }
    #view-home > div:first-child { padding-bottom: 24px; }
    /* dense: «Заселения» встают справа от дашборда, кнопка «Свободно на даты» не оставляет пустоты (13.10). */
    #dashboard-screen #home-widgets-container { grid-template-columns: minmax(0, 1.9fr) minmax(320px, 1fr); gap: 16px; grid-auto-flow: row dense; }
    #dashboard-screen #gb-av-home-entry { grid-column: 1; margin: 0; }
    #dashboard-screen #hero-card { grid-column: 1; }
    #dashboard-screen #home-widgets-container > section:nth-of-type(2) { grid-column: 2; }
    #dashboard-screen #home-widgets-container > section:nth-of-type(3) { grid-column: 1; }
    #dashboard-screen #longterm-home { max-width: 1280px; margin: auto; }
    #dashboard-screen #longterm-home-stats { gap: 16px; }
    #dashboard-screen #journal-scroll-root { grid-template-columns: minmax(340px, 36%) minmax(0, 1fr); }
    #dashboard-screen #view-journal > div:first-child { padding-top: var(--tg-safe-area-inset-top, 0px) !important; }
    #dashboard-screen #view-journal > div:first-child > div { height: 64px !important; }
    #dashboard-screen #view-editor,
    #dashboard-screen #view-host-profile { max-width: 880px; }
}
@media (max-width: 1023px), (hover: none), (pointer: coarse) {
    #dashboard-screen > .desktop-cabinet-sidebar,
    #dashboard-screen > .desktop-cabinet-topbar { display: none; }
}
