/* Unified desktop navigation: top bar, collapsible sidebar and fluid primary navigation. */
body.app-ui .ui-shell,
body.admin-ui .ui-shell {
    --hybrid-sidebar-width: clamp(14rem, 17vw, 17rem);
    --hybrid-sidebar-collapsed-width: 4.25rem;
    --hybrid-navigation-height: 3.25rem;
}

body.app-ui .ui-header--hybrid,
body.admin-ui .ui-header--hybrid {
    padding-bottom: 0;
}

body.app-ui .ui-content--hybrid,
body.admin-ui .ui-content--hybrid {
    max-width: none;
    padding-top: 0;
    overflow: hidden;
}

body.app-ui .hybrid-workspace,
body.admin-ui .hybrid-workspace {
    display: grid;
    grid-template-columns: var(--hybrid-sidebar-width) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    transition: grid-template-columns 180ms ease;
}

body.app-ui .hybrid-primary-row,
body.admin-ui .hybrid-primary-row {
    position: relative;
    z-index: 5;
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: var(--hybrid-navigation-height);
    overflow: visible;
    border: 1px solid var(--ui-border);
    border-left: 0;
    background: #ffffff;
}

body.app-ui .hybrid-primary-row > .ui-primary-nav--hybrid,
body.admin-ui .hybrid-primary-row > .ui-primary-nav--hybrid {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    min-height: var(--hybrid-navigation-height);
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border: 0;
    border-radius: 0;
    background: #ffffff !important;
    scrollbar-width: thin;
}

body.app-ui .ui-primary-nav__context {
    position: relative;
    z-index: 6;
    display: flex;
    flex: 0 1 auto;
    align-items: stretch;
    min-width: 0;
    max-width: min(48rem, 58vw);
    border-left: 1px solid var(--ui-border);
    background: #ffffff;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__header {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0.35rem 0.55rem !important;
    border: 0 !important;
    background: #ffffff !important;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__eyebrow {
    display: none;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__workspace-heading {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 14rem;
    gap: 0.35rem;
    padding-right: 0.7rem;
    border-right: 1px solid var(--ui-border);
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__title--workspace {
    max-width: 11rem;
    color: var(--ui-ink);
    font-size: 0.78rem;
    line-height: 1.15;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__context-list {
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    margin: 0;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__context-item,
body.app-ui .ui-primary-nav__context .hybrid-sidebar__context-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}

body.app-ui .ui-primary-nav__context .hybrid-sidebar__context-value {
    max-width: 12rem;
    font-size: 0.76rem;
    line-height: 1.15;
}

body.app-ui .ui-primary-nav__context .workspace-switcher__trigger {
    width: 2rem;
    height: 2rem;
}

body.app-ui .hybrid-sidebar .hybrid-sidebar__header {
    display: none !important;
}

body.app-ui .hybrid-sidebar,
body.admin-ui .hybrid-sidebar {
    grid-column: 1;
    grid-row: 1 / 3;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--ui-border);
    background: #ffffff !important;
    scrollbar-width: thin;
}

body.app-ui .hybrid-sidebar__toolbar,
body.admin-ui .hybrid-sidebar__toolbar {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 var(--hybrid-navigation-height);
    min-height: var(--hybrid-navigation-height);
    padding: 0.35rem;
    border-bottom: 1px solid var(--ui-border);
    background: #ffffff;
}

.hybrid-sidebar__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent !important;
    color: var(--ui-ink-muted);
}

.hybrid-sidebar__toggle:hover,
.hybrid-sidebar__toggle:focus-visible {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary);
}

.hybrid-sidebar__toggle-icon {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
}

.hybrid-sidebar__toggle-icon--expand {
    display: none;
}

body.app-ui .hybrid-sidebar__panel,
body.admin-ui .hybrid-sidebar__panel {
    flex: 1 0 auto;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0.85rem !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.app-ui .hybrid-content,
body.admin-ui .hybrid-content {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    min-height: 0;
    padding: 1.15rem;
    overflow-y: auto;
    border-right: 1px solid var(--ui-border);
    border-bottom: 1px solid var(--ui-border);
    border-radius: 0;
    background: var(--ui-bg) !important;
}

body.app-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace,
body.admin-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace {
    grid-template-columns: var(--hybrid-sidebar-collapsed-width) minmax(0, 1fr);
}

.ui-shell.is-sidebar-collapsed .hybrid-sidebar__toolbar {
    justify-content: center;
}

.ui-shell.is-sidebar-collapsed .hybrid-sidebar__toggle-icon--collapse {
    display: none;
}

.ui-shell.is-sidebar-collapsed .hybrid-sidebar__toggle-icon--expand {
    display: block;
}

.ui-shell.is-sidebar-collapsed .hybrid-sidebar__header {
    display: none;
}

body.app-ui .ui-shell.is-sidebar-collapsed .ui-primary-nav__context .hybrid-sidebar__header {
    display: flex !important;
}

.ui-shell.is-sidebar-collapsed .hybrid-sidebar__panel {
    padding: 0.45rem !important;
}

.ui-shell.is-sidebar-collapsed .hybrid-side-nav {
    gap: 0.35rem;
}

.ui-shell.is-sidebar-collapsed .hybrid-side-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem;
}

.ui-shell.is-sidebar-collapsed .hybrid-side-nav__link > span {
    display: none;
}

.ui-shell.is-sidebar-collapsed .hybrid-side-nav__icon {
    width: 1.2rem;
    height: 1.2rem;
}

@media (max-width: 1180px) and (min-width: 721px) {
    body.app-ui .hybrid-workspace,
    body.admin-ui .hybrid-workspace {
        grid-template-columns: var(--hybrid-sidebar-width) minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    body.app-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace,
    body.admin-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace {
        grid-template-columns: var(--hybrid-sidebar-collapsed-width) minmax(0, 1fr);
    }

    body.app-ui .ui-primary-nav__context {
        max-width: 54vw;
    }

    body.app-ui .ui-primary-nav__context .hybrid-sidebar__workspace-heading {
        max-width: 10rem;
    }

    body.app-ui .ui-primary-nav__context .hybrid-sidebar__title--workspace,
    body.app-ui .ui-primary-nav__context .hybrid-sidebar__context-value {
        max-width: 8rem;
    }
}

@media (max-width: 720px) {
    body.app-ui .ui-header--hybrid,
    body.admin-ui .ui-header--hybrid {
        padding-bottom: 0.75rem;
    }

    body.app-ui .ui-content--hybrid,
    body.admin-ui .ui-content--hybrid {
        padding-top: 0;
    }

    body.app-ui .hybrid-workspace,
    body.admin-ui .hybrid-workspace,
    body.app-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace,
    body.admin-ui .ui-shell.is-sidebar-collapsed .hybrid-workspace {
        display: block;
        overflow: visible;
    }

    body.app-ui .hybrid-primary-row,
    body.admin-ui .hybrid-primary-row {
        display: none;
    }

    body.app-ui .hybrid-content,
    body.admin-ui .hybrid-content {
        height: 100%;
        border-left: 1px solid var(--ui-border);
    }
}
