/* A single row/branch contract for every node, regardless of its data source. */
.sidebar nav [data-manager-navigation] li.workspace-tree-item { display: block; padding: 0; margin: 0; min-width: 0; }
.sidebar nav [data-manager-navigation] ul:has(> .workspace-tree-item) { margin-block: 0; padding-block: 0; }
.sidebar nav [data-manager-navigation] > .bank-tree { border-top: 0; }
.sidebar nav [data-workspace-row].workspace-tree-row {
    display: flex; align-items: center; gap: 8px; position: relative;
    min-height: 28px; padding: 0 0 0 10px; margin: 2px 0 0; border-radius: var(--hub-marker-radius, 7px);
    color: inherit; font-size: 13px; font-weight: 400; list-style: none;
}
.sidebar nav .workspace-tree-row::-webkit-details-marker { display: none; }
.sidebar nav .workspace-tree-row::after { display: none; }
.sidebar nav .workspace-tree-row::before { content: ''; box-sizing: border-box; width: 6px; height: 6px; flex: 0 0 6px; }
.sidebar nav summary.workspace-tree-row { cursor: pointer; }
.sidebar nav summary.workspace-tree-row::before {
    border-inline-end: 1px solid currentColor; border-block-end: 1px solid currentColor;
    transform: rotate(-45deg);
}
.sidebar nav details[open] > summary.workspace-tree-row::before { transform: rotate(45deg); }
:root .sidebar nav .workspace-tree-row > a,
:root .sidebar nav .workspace-tree-row > form > .workspace-action {
    display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; width: auto;
    padding: 4px 0; min-height: 28px; text-decoration: none; color: inherit; background: transparent;
}
:root .sidebar nav .workspace-tree-row > a:is(:hover, :focus-visible, .active),
:root .sidebar nav .workspace-tree-row > form > .workspace-action:is(:hover, :focus-visible, .active) { background: transparent; }
.sidebar nav .workspace-tree-row > form { flex: 1; min-width: 0; margin: 0; }
:root .sidebar nav .workspace-tree-row > form > .workspace-action { width: 100%; }
.sidebar nav .workspace-tree-row:has(> a.active, > form > .workspace-action.active),
.sidebar nav .workspace-tree-row:has(> a:focus-visible, > form > .workspace-action:focus-visible),
.sidebar nav .workspace-tree-row:hover {
    background: var(--brand-sidebar-active); color: var(--brand-sidebar-active-text);
}
.sidebar nav .workspace-tree-row:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.sidebar nav .workspace-tree-row .workspace-unit-name {
    display: flex; min-width: 0; max-width: 100%; text-overflow: clip;
}
.sidebar nav .workspace-tree-row .workspace-unit-name-start {
    flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sidebar nav .workspace-tree-row .workspace-unit-name-end {
    display: flex; justify-content: flex-end; flex: 0 0 auto; max-width: 65%; overflow: hidden; text-overflow: clip;
}
.sidebar nav .workspace-tree-row .workspace-unit-name-end > span {
    flex: none; overflow: visible; text-overflow: clip; white-space: nowrap;
}
.sidebar nav .workspace-tree-row > button { position: static; flex: 0 0 auto; margin: 0; box-sizing: border-box; height: 28px; padding-block: 0; }
.sidebar nav .workspace-tree-row > button:is([data-workspace-remove], [data-close-workspace-bank]) {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; padding: 0;
    border: 0; border-radius: 5px; background: transparent; color: inherit; cursor: pointer; font-size: 18px;
}
.sidebar nav .workspace-tree-row > button:is([data-workspace-remove], [data-close-workspace-bank]):is(:hover, :focus-visible) {
    background: transparent;
}
.sidebar nav .workspace-tree-row > button:is([data-workspace-remove], [data-close-workspace-bank]):focus-visible {
    outline: 2px solid currentColor; outline-offset: -2px;
}
.sidebar nav .workspace-tree-row img, .sidebar nav .workspace-tree-row .manager-avatar {
    width: 16px; height: 16px; flex-shrink: 0; border-radius: 0; background: transparent;
}
.sidebar nav .workspace-tree-row img { transform: scale(1.25); }
.sidebar nav .workspace-tree-row img[src*="electroluxprofessional.com/"] { transform: scale(1.6); }
.sidebar nav .workspace-tree-row .workspace-icon img[src*="electroluxprofessional.com/"] {
    /* Neutralize navy while preserving the source image's antialiased edges. */
    filter: grayscale(1) contrast(1.4) invert(var(--brand-sidebar-favicon-invert, 1));
    mix-blend-mode: var(--brand-sidebar-favicon-blend, screen);
}
.sidebar nav .workspace-tree-row .workspace-icon img[src*="kombinelogo1/black.svg"] {
    filter: brightness(0) invert(var(--brand-sidebar-favicon-invert, 1));
}
.sidebar nav .workspace-tree-children {
    /* Contain row margins so adjacent child lists share an unbroken border.
       Center the 1px border under the 6px arrow after the row's 10px inset;
       use an 18px step to leave more room for deeply nested names. */
    display: flow-root; list-style: none;
    margin: 0; margin-inline-start: 12.5px; padding: 0; padding-inline-start: 4.5px;
    border-inline-start: 1px solid var(--hub-line, #ccd0d8);
}
.sidebar nav .workspace-tree-children:is(:empty, [hidden]) { display: none; }
/* Native details keeps keyboard behavior and open state; unsupported browsers
   retain the immediate disclosure. Reduced motion also stays immediate. */
@media (prefers-reduced-motion: no-preference) {
    @supports (interpolate-size: allow-keywords) and selector(details::details-content) {
        .sidebar nav details.workspace-tree-branch { interpolate-size: allow-keywords; }
        .sidebar nav details.workspace-tree-branch::details-content {
            height: 0; overflow: clip; opacity: 0;
            transition: height 180ms ease, opacity 180ms ease, content-visibility 180ms allow-discrete;
        }
        .sidebar nav details.workspace-tree-branch[open]::details-content { height: auto; opacity: 1; }
    }
    .sidebar nav summary.workspace-tree-row::before { transition: transform 180ms ease; }
    .sidebar nav .workspace-tree-enter { animation: workspace-tree-enter 180ms ease-out; }
}
@keyframes workspace-tree-enter {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 820px), (pointer: coarse) {
    .sidebar nav [data-workspace-row].workspace-tree-row, .sidebar nav .workspace-tree-row > a { min-height: 44px; }
    .sidebar nav .workspace-tree-row > button:is([data-workspace-remove], [data-close-workspace-bank]) { width: 40px; height: 40px; }
}
