.workspace-share-popover.demo-workspace-share-panel {
    position: fixed;
    z-index: 3900;
    top: 50%;
    right: 28px;
    left: auto;
    width: min(540px, calc(100vw - 56px));
    max-height: min(680px, calc(100vh - 56px));
    overflow: auto;
    transform: translateY(-50%);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.demo-workspace-share-panel .workspace-share-close {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: var(--zn-member-bg-surface, #f5f5f5);
    color: var(--zn-member-text-primary, #252525);
    font: 800 1.2rem/1 sans-serif;
    cursor: pointer;
}

@media (max-width: 720px) {
    .workspace-share-popover.demo-workspace-share-panel {
        right: 16px;
        width: calc(100vw - 32px);
    }
}

.znode-demo-badge {
    position: fixed;
    right: 18px;
    bottom: 14px;
    z-index: 2000;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid var(--zn-border, rgba(0, 0, 0, 0.14));
    border-radius: 999px;
    background: color-mix(in srgb, var(--zn-bg-surface, #fff) 92%, transparent);
    color: var(--zn-text-secondary, #626262);
    box-shadow: var(--zn-shadow-soft, 0 8px 24px rgba(0, 0, 0, 0.1));
    backdrop-filter: blur(10px);
    font: 750 10px/1 Inter, "Segoe UI", sans-serif;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    pointer-events: none;
}

body.user-body-workspace .workspace-browser .workspace-explorer .workspace-folder-card > .workspace-explorer-name {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    padding-top: 28px;
    padding-right: 0 !important;
}

body.user-body-workspace .workspace-browser .workspace-explorer .workspace-folder-card .workspace-row-icon-folder {
    width: 58px !important;
    height: 46px !important;
}

body.user-body-workspace .workspace-browser .workspace-explorer .workspace-folder-card .workspace-row-icon-folder::before {
    top: 7px;
    left: 8px;
    width: 24px;
    height: 10px;
    border-radius: 6px 6px 2px 2px;
}

body.user-body-workspace .workspace-browser .workspace-explorer .workspace-folder-card .workspace-row-icon-folder::after {
    top: 14px;
    left: 2px;
    width: 54px;
    height: 30px;
    border-radius: 7px;
}

body.user-body-workspace .workspace-browser .workspace-explorer-table .workspace-row-more-menu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
}

body.user-body-workspace .workspace-folder-card:has(.workspace-row-more[open]) {
    z-index: 120;
}

body.user-body-workspace .workspace-folder-card .workspace-row-more[open],
body.user-body-workspace .workspace-folder-card .workspace-row-more[open] .workspace-row-more-menu {
    z-index: 130;
}

body.user-body-workspace .workspace-folder-card .workspace-row-more-menu {
    background: var(--zn-bg-surface, #fff) !important;
}

body.user-body-workspace .workspace-browser {
    overflow: hidden !important;
}

body.user-body-workspace .workspace-finder-window {
    flex: 1 1 auto;
    min-height: 0 !important;
    overflow: hidden;
}

body.user-body-workspace .workspace-finder-window .workspace-explorer {
    flex: 1 1 auto;
    min-height: 0 !important;
    overflow-x: hidden;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.znode-demo-badge::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--zn-success, #3f755b);
}

.znode-app-splash,
[data-znode-app-splash] {
    display: none !important;
}

.znode-demo-toast {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 2100;
    width: min(380px, calc(100vw - 36px));
    padding: 13px 15px;
    border: 1px solid var(--zn-border-strong, rgba(0, 0, 0, 0.18));
    border-radius: 8px;
    background: var(--zn-bg-surface, #fff);
    color: var(--zn-text-primary, #2c2c2c);
    box-shadow: var(--zn-shadow, 0 14px 34px rgba(0, 0, 0, 0.16));
    font: 650 12px/1.45 Inter, "Segoe UI", sans-serif;
}

.znode-demo-toast strong { display: block; margin-bottom: 3px; }
