/* SIGNALREITER / SIGNAL RIDER v0.11.58 - navigation/workspace regression fixes */
:root{
  --sr-work-header-height:54px;
  --sr-nav-z:12050;
  --sr-header-z:11900;
}
.site-header.topbar{
  position:sticky;top:0;z-index:var(--sr-header-z);padding:10px 0;min-height:62px;
  background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:0;isolation:isolate
}
.site-header.topbar::before{
  content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:color-mix(in srgb,var(--app-bg) 96%,var(--app-text) 4%);
  border-bottom:1px solid color-mix(in srgb,var(--app-panel-border) 78%,transparent);
  box-shadow:0 8px 26px rgba(0,0,0,.08)
}
.site-header .brand{min-width:0}.site-header .top-actions,.site-header .user-actions{min-width:0}
.site-header .brand-logo{width:44px;height:44px;object-fit:cover;border-radius:13px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.site-header .brand-placeholder-logo{background:#111827}
.site-header.topbar{align-items:center;box-sizing:border-box}
.site-header .top-actions,.site-header .guest-actions,.site-header .user-actions{align-items:center}
.site-header .lang-switch{height:38px;max-height:38px;padding:3px;box-sizing:border-box;align-self:center;flex:0 0 auto}
.site-header .lang-btn{height:30px;min-height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1}
.global-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.global-menu-trigger-icon{font-size:1.15rem;line-height:1}.header-blog-link{text-decoration:none}
.global-nav-backdrop{position:fixed;inset:0;z-index:calc(var(--sr-nav-z) - 1);background:rgba(4,8,18,.34);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.global-app-menu{position:fixed;z-index:var(--sr-nav-z);width:min(376px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 80px));overflow:auto;padding:11px;border:1px solid var(--app-panel-border);border-radius:18px;background:color-mix(in srgb,var(--app-bg) 92%,var(--app-text) 8%);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.global-app-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px 9px;border-bottom:1px solid color-mix(in srgb,var(--app-panel-border) 65%,transparent)}
.global-app-menu-head>div{display:grid;gap:1px}.global-app-menu-head strong{font-size:1rem}.global-app-menu-head small{font-size:.72rem;color:var(--app-muted);letter-spacing:.04em}
.global-app-menu-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--app-muted);cursor:pointer;font-size:1.25rem}
.global-app-menu-close:hover,.global-app-menu-close:focus-visible{color:var(--app-text);background:var(--app-panel-strong);border-color:var(--app-panel-border);outline:none}
.global-app-menu-list{display:grid;gap:4px;padding-top:7px}.global-app-menu-group{padding:4px 0 7px}.global-app-menu-group+.global-app-menu-group{border-top:1px solid color-mix(in srgb,var(--app-panel-border) 65%,transparent);padding-top:10px}
.global-app-menu-group-title{margin:0 8px 5px;font-size:.7rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:var(--app-muted)}
.global-app-menu-group-items{display:grid;gap:3px}.global-app-menu-item{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--app-text);text-align:left;cursor:pointer;font:inherit}
.global-app-menu-item:hover,.global-app-menu-item:focus-visible{background:var(--app-panel-strong);border-color:var(--app-panel-border);outline:none}.global-app-menu-item.active{background:color-mix(in srgb,var(--app-primary) 16%,var(--app-panel));border-color:color-mix(in srgb,var(--app-primary) 52%,var(--app-panel-border));font-weight:800}
.global-app-menu-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--app-primary) 9%,var(--app-bg));color:var(--app-primary);font-weight:800}.global-app-menu-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Work views: same global navigation, but a genuinely compact fixed header. */
body.protocol-workspace-open .site-header.topbar,body.project-page-open .site-header.topbar,body.session-page-open .site-header.topbar{
  position:fixed!important;left:0;right:0;top:0;width:100%;box-sizing:border-box;min-height:var(--sr-work-header-height);height:var(--sr-work-header-height);padding:5px 12px;z-index:var(--sr-header-z)
}
body.protocol-workspace-open .site-header .brand,body.project-page-open .site-header .brand,body.session-page-open .site-header .brand{gap:0}
body.protocol-workspace-open .site-header .brand-copy,body.project-page-open .site-header .brand-copy,body.session-page-open .site-header .brand-copy{display:none!important}
body.protocol-workspace-open .site-header .brand-logo,body.project-page-open .site-header .brand-logo,body.session-page-open .site-header .brand-logo{width:36px;height:36px;border-radius:10px}
body.protocol-workspace-open #logoutBtn,body.project-page-open #logoutBtn,body.session-page-open #logoutBtn,body.protocol-workspace-open .global-header-image,body.project-page-open .global-header-image,body.session-page-open .global-header-image{display:none!important}
body.protocol-workspace-open .site-header .btn,body.project-page-open .site-header .btn,body.session-page-open .site-header .btn{padding:7px 10px}
body.protocol-workspace-open #protocolDialog{top:var(--sr-work-header-height)!important;right:0!important;bottom:0!important;left:0!important;height:calc(100dvh - var(--sr-work-header-height))!important;z-index:1800!important}
body.protocol-workspace-open #protocolDialog .protocol-fast-shell{min-height:calc(100dvh - var(--sr-work-header-height))!important}
body.project-page-open #projectDialog{top:var(--sr-work-header-height)!important;right:0!important;bottom:0!important;left:0!important;height:calc(100dvh - var(--sr-work-header-height))!important;z-index:1740!important}
body.project-page-open #projectDialog .project-dialog-card{min-height:calc(100dvh - var(--sr-work-header-height))!important}
body.protocol-workspace-open .protocol-fast-header{align-items:center;padding:10px 16px 9px;gap:14px}.protocol-fast-header .protocol-sidebar-toggle{white-space:nowrap}

/* Unified friends surface in account and messages. */
.account-unified-friends{width:100%}.account-unified-friends .signal-social-grid{margin:0}.friend-pref-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.friend-pref-options .choice-card{margin:0!important;background:color-mix(in srgb,var(--app-panel-strong) 66%,transparent)}
.friend-pref-options .choice-card:has(input:checked){border-color:color-mix(in srgb,var(--app-primary) 62%,var(--app-panel-border));background:color-mix(in srgb,var(--app-primary) 12%,var(--app-panel))}.friend-pref-options input[type="radio"]{margin-top:.2rem;flex:0 0 auto}.friend-pref-status{display:block;min-height:1.2em;margin-top:8px;color:var(--app-muted);font-size:.82rem}

/* Blog placeholder. */
.page-blog .shell{min-height:100dvh}.blog-coming-soon{min-height:calc(100dvh - 190px);display:grid;place-items:center;padding:42px 0}.blog-coming-card{width:min(780px,100%);padding:clamp(24px,5vw,48px);border:1px solid var(--app-panel-border);border-radius:22px;background:var(--app-panel);box-shadow:0 20px 70px rgba(0,0,0,.16)}.blog-coming-card h1{margin:.15rem 0 .75rem;font-size:clamp(2rem,5vw,3.4rem)}.blog-coming-lead{font-size:1.2rem;font-weight:750}.blog-coming-card p{line-height:1.65}.blog-coming-status{margin-top:20px;padding:12px 14px;border:1px dashed var(--app-panel-border);border-radius:12px;color:var(--app-muted)}

@media(max-width:900px){.site-header.topbar{gap:10px}.site-header .brand .sub{display:none}.site-header #logoutBtn{display:none}.friend-pref-options{grid-template-columns:1fr}}
@media(max-width:700px){
  :root{--sr-work-header-height:50px}.shell{width:min(var(--app-content-width),calc(100% - 18px))}.site-header.topbar{min-height:56px;padding:6px 0;align-items:center!important}.site-header .brand-copy{display:none}.site-header .brand-logo{width:38px;height:38px;border-radius:10px}.global-menu-trigger-label{display:none}.global-menu-trigger{min-width:40px;padding-left:9px!important;padding-right:9px!important}
  .global-app-menu{top:0!important;right:0!important;left:auto!important;width:min(88vw,370px);height:100dvh;max-height:none;border-radius:18px 0 0 18px;padding:12px}.global-app-menu-head{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--app-bg) 92%,var(--app-text) 8%)}
  body.protocol-workspace-open .site-header.topbar,body.project-page-open .site-header.topbar,body.session-page-open .site-header.topbar{padding:4px 8px}.user-chip #userChipName{display:none}.user-chip{padding-left:5px!important;padding-right:5px!important}.lang-switch{flex:0 0 auto}.blog-coming-soon{padding:24px 0}.blog-coming-card{border-radius:16px}
}
.signal-friend-preferences{display:grid;gap:18px}.signal-friend-pref-block{display:grid;gap:9px}.signal-friend-pref-block h3{margin:0;font-size:.96rem}.signal-friends-embedded{min-height:0}.signal-friends-embedded>.signal-social-grid{width:100%}.signal-friends-embedded .signal-social-card{min-width:0}

/* v0.11.57: public blog entry inside the personal left navigation. */
#workspaceTabs .workspace-blog-tab{order:7!important;text-decoration:none!important}
#workspaceTabs .workspace-tab[data-workspace-tab="research"]{order:8!important}


/* ================================================================
   SIGNALREITER v0.11.58 - navigation/workspace regression fixes
   ================================================================ */
/* While the protocol workspace is open, the underlying session-overview page must
   not bleed through as a thin breadcrumb strip below the compact global header. */
body.protocol-workspace-open .workspace-panel[data-workspace-panel="session-detail"]{visibility:hidden!important;}
body.protocol-workspace-open #protocolDialog{margin:0!important;padding:0!important;background:var(--app-bg)!important;overflow:auto!important;}
body.protocol-workspace-open #protocolDialog .protocol-fast-shell{background:var(--app-bg)!important;margin:0!important;}

/* Communication belongs to the normal workspace content column. These rules are a
   second safety net in case an older cached social root is remounted after update. */
#messagesWorkspaceHost{width:100%;min-width:0;}
#messagesWorkspaceHost #signalSocialPage.signal-social-page{position:static!important;inset:auto!important;z-index:auto!important;display:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;background:transparent!important;overflow:visible!important;}
#messagesWorkspaceHost #signalSocialPage.signal-social-page.open{display:block!important;}
#messagesWorkspaceHost .signal-social-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
#messagesWorkspaceHost .signal-social-header{position:static!important;margin:0 0 14px!important;padding:0!important;}
#messagesWorkspaceHost .signal-social-tabs{margin-top:0!important;}

/* Account and messages are full-width function pages below the normal sticky header. */
body.workspace-function-page-open #appView{padding-top:24px!important;}
body.workspace-function-page-open .workspace-panels{min-width:0!important;}

/* v0.11.62: stable account chip - avatar/photo + fixed Konto/Account label + privileged role. */
.user-chip #userAvatar{overflow:hidden;flex:0 0 auto}
.user-chip #userAvatar.has-image{padding:0;background:transparent}
.user-chip #userAvatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.user-chip #userChipName{white-space:nowrap}
.user-chip .user-chip-role{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:1px 7px;border:1px solid color-mix(in srgb,var(--app-accent) 48%,var(--app-panel-border));border-radius:999px;background:color-mix(in srgb,var(--app-accent) 15%,transparent);font-size:.72rem;font-weight:800;line-height:1;white-space:nowrap}
@media(max-width:700px){.user-chip #userChipRole{display:none!important}}
