/* Outer application navigation only. The takeoff's own controls are separate. */
.job-panel__main-menu {
    border: 0; background: transparent; color: var(--text-secondary);
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; min-height: 36px; padding: 6px; border-radius: 6px;
    font: inherit; font-size: 12px; cursor: pointer; touch-action: manipulation;
}
.job-panel__main-menu:hover { background: var(--bg-muted); color: var(--text); }
.job-panel__main-menu:focus-visible {
    outline: 2px solid var(--brand); outline-offset: -2px;
}
.app-nav-sidebar .sidebar-header > .nav-brand { min-width: 0; flex: 1; }
.job-panel__head { display: flow-root; }
.job-panel__tools { display: flex; align-items: center; float: right; margin: -4px -4px 0 6px; }
.job-panel__main-menu { line-height: 1.2; }
.job-panel__main-menu[aria-expanded="true"] { background: var(--bg-muted); color: var(--text); }

@media (min-width: 1181px) {
    body.has-job-panel { --sidebar-w: 52px; --job-panel-w: 200px; }
    body.nav-main-collapsed { --sidebar-w: 52px; }
    body.nav-main-expanded { --sidebar-w: 200px; }
    body.nav-job-collapsed { --job-panel-w: 52px; }
    .app-nav-sidebar .sidebar-header { padding: 8px; min-height: 48px; gap: 4px; }
    .app-nav-sidebar .sidebar-nav, .job-panel .sidebar-nav { padding: 4px 8px 12px; }
    .job-panel .job-panel__head { padding: 8px 12px; }
    .job-panel .job-panel__name { font-size: 13px; }
    .job-panel .sidebar-link { min-height: 34px; padding: 6px 9px; font-size: 12px; gap: 9px; }
    .job-panel .sidebar-group-label { min-height: 32px; padding-top: 5px; padding-bottom: 5px; }

    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .nav-brand { display: none; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-header { display: none; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-search { justify-content: center; padding: 8px; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-search span,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-search kbd,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-group-label,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-subnav,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-caret-btn,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link > span,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-badge,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .whatsnew-dot,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .nav-user-info,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .nav-user-chevron { display: none; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-nav { padding: 2px 4px 12px; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link { justify-content: center; min-height: 36px; padding: 8px 0; gap: 0; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link > i:first-child { width: 20px; font-size: 13px; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-footer { flex-direction: column; gap: 6px; padding: 8px 6px; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .nav-user-trigger { justify-content: center; padding: 4px; }
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .nav-user-menu { left: 0; right: auto; min-width: 220px; }

    /* Compact navigation uses bare icons; focus remains visible for keyboards. */
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link:hover,
    body:is(.nav-main-collapsed, .has-job-panel:not(.nav-main-expanded)) .app-nav-sidebar .sidebar-link.active {
        background: transparent;
        box-shadow: none;
        border-radius: 0;
    }

    body.nav-job-collapsed .job-panel__head { padding: 4px; }
    body.nav-job-collapsed .job-panel__head > :not(.job-panel__tools),
    body.nav-job-collapsed .job-panel .sidebar-link > span,
    body.nav-job-collapsed .job-panel .sidebar-group-label,
    body.nav-job-collapsed .job-panel .job-side-count { display: none; }
    body.nav-job-collapsed .job-panel__tools { float: none; justify-content: center; margin: 0; }
    body.nav-job-collapsed .job-panel__main-menu { width: 100%; padding: 4px 2px; }
    body.nav-job-collapsed .job-panel .sidebar-nav { padding: 4px; }
    body.nav-job-collapsed .job-panel .sidebar-link { justify-content: center; min-height: 36px; padding: 8px 0; gap: 0; }
    body.nav-job-collapsed .job-panel .sidebar-link > i { margin: 0; width: 20px; text-align: center; }
}

@media (pointer: coarse) {
    .job-panel__main-menu { min-width: 44px; min-height: 44px; }
    /* Override the more specific compact/collapsed desktop rules on tablets. */
    .app-nav-sidebar .sidebar-link, .app-nav-sidebar .sidebar-sublink,
    .job-panel .sidebar-link, .job-panel .sidebar-group-toggle,
    .mobile-topbar-btn { min-height: 44px !important; }
    .mobile-topbar-btn { min-width: 44px; }
}

/* With a job workspace open, the outer rail is a single route home. */
@media (min-width: 1181px) {
    body.has-job-panel:not(.nav-main-expanded) .app-nav-sidebar .sidebar-nav > :not(.nav-accent-dashboard),
    body.has-job-panel:not(.nav-main-expanded) .app-nav-sidebar .sidebar-search,
    body.has-job-panel:not(.nav-main-expanded) .app-nav-sidebar .sidebar-footer { display:none; }
}
