/* Professional shell only. Public, participant, MFA and password layouts are independent. */
.app-frame.portal-workspace { display:grid; grid-template-columns:256px minmax(0,1fr); min-height:100dvh; width:100%; }
.app-frame.portal-workspace.sidebar-compact { grid-template-columns:72px minmax(0,1fr); }
.portal-workspace .portal-sidebar { position:sticky; top:0; height:100dvh; min-width:0; display:flex; flex-direction:column; background:var(--panel,#fff); border-right:1px solid var(--line); z-index:40; }
.portal-workspace .portal-sidebar-brand { display:flex; align-items:center; justify-content:space-between; padding:16px; min-height:72px; }
.portal-workspace .portal-sidebar-brand .brand-lockup { gap:10px; }
.portal-workspace .portal-sidebar-brand .brand-copy strong { font-size:1rem; }
.portal-workspace .portal-workspace-content { min-width:0; display:flex; flex-direction:column; }
.app-frame.portal-workspace .workspace.page-shell { width:100%; max-width:none; margin:0; padding:24px 24px 40px; flex:1; min-width:0; }
.portal-workspace .portal-contextbar.topbar { min-height:56px; padding:8px 24px; gap:12px; background:var(--panel,#fff); backdrop-filter:none; }
.portal-workspace .portal-context-label { min-width:0; font-weight:600; font-size:.85rem; }
.portal-workspace .portal-release { margin-left:auto; color:var(--muted); font-size:.72rem; white-space:nowrap; }
.portal-workspace .app-footer { padding:16px 24px; margin:0; }
.portal-workspace .portal-icon-button { border:0; background:transparent; color:var(--ink); min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:8px; }
.portal-workspace .portal-icon-button:hover { background:var(--soft); }
.portal-workspace .sidebar-density { margin:0 12px 8px; justify-content:flex-start; padding:10px 12px; font-size:.8rem; }
.portal-workspace .portal-nav-icon { width:22px; height:22px; flex:0 0 22px; }
.portal-workspace .app-nav.portal-sidebar-nav { display:block; flex:1; overflow:auto; padding:0 12px 24px; overscroll-behavior:contain; }
.portal-workspace .portal-sidebar-nav .nav-dropdown { position:static; margin:3px 0; }
/* Account follows the vertical navigation: separate above, without the legacy left border. */
.app-frame.portal-workspace .portal-sidebar-nav .account-menu { margin:12px 0 0; padding:12px 0 0; border-left:0; border-top:1px solid var(--line); }
.portal-workspace .portal-sidebar-nav summary, .portal-workspace .portal-sidebar-nav > a { display:flex; align-items:center; gap:12px; padding:10px 12px; min-height:44px; font-size:.85rem; color:var(--ink); border-radius:8px; cursor:pointer; list-style:none; }
.portal-workspace .portal-sidebar-nav summary::-webkit-details-marker { display:none; }
.portal-workspace .portal-sidebar-nav summary:hover, .portal-workspace .portal-sidebar-nav a:hover { background:var(--soft); }
.portal-workspace .portal-sidebar-nav .nav-chevron { margin-left:auto; }
/* Legacy dropdown CSS rotates every summary span; keep sidebar labels upright. */
.portal-workspace .portal-sidebar-nav .nav-dropdown > summary > .nav-label { transform:none; margin-left:0; }
.portal-workspace .portal-sidebar-nav .nav-dropdown[open] > summary .nav-chevron { transform:rotate(180deg); }
.portal-workspace .portal-sidebar-nav .nav-dropdown-menu { position:static; min-width:0; width:auto; max-width:none; border:0; box-shadow:none; margin:4px 0 8px; padding:0 0 0 12px; background:transparent; }
.portal-workspace .portal-sidebar-nav .nav-dropdown-menu a, .portal-workspace .portal-sidebar-nav .nav-menu-button { display:flex; align-items:center; gap:10px; padding:9px 10px; min-height:44px; width:100%; font-size:.8rem; white-space:normal; text-align:left; }
.portal-workspace .portal-sidebar-nav .nav-dropdown-menu .portal-nav-icon { width:18px; height:18px; flex-basis:18px; }
.portal-workspace .portal-sidebar-nav .nav-dropdown-menu form { margin:0; }
.portal-workspace .portal-sidebar-nav a.active { background:var(--soft); color:var(--primary-dark); font-weight:700; box-shadow:inset 3px 0 var(--primary); }
.portal-workspace .portal-sidebar-nav .nav-dropdown[data-active] > summary { color:var(--primary-dark); background:var(--soft); }
.portal-workspace .sidebar-close, .portal-workspace .sidebar-mobile-toggle, .portal-sidebar-backdrop { display:none; }
.portal-workspace.sidebar-compact .portal-sidebar-brand { padding:16px; }
.portal-workspace.sidebar-compact .brand-copy { display:none; }
.portal-workspace.sidebar-compact .portal-sidebar-nav { padding:0 8px 24px; }
.portal-workspace.sidebar-compact .sidebar-density { margin:0 8px 8px; justify-content:center; padding:10px; }
.portal-workspace.sidebar-compact .portal-sidebar-nav summary, .portal-workspace.sidebar-compact .portal-sidebar-nav > a { justify-content:center; padding:10px; }
.portal-workspace.sidebar-compact .portal-sidebar > .sidebar-density .nav-label,
.portal-workspace.sidebar-compact .portal-sidebar-nav > a > .nav-label,
.portal-workspace.sidebar-compact .portal-sidebar-nav summary > .nav-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.portal-workspace.sidebar-compact .portal-sidebar-nav summary > .nav-chevron { display:none; }
.portal-workspace.sidebar-compact .portal-sidebar-nav .nav-dropdown-menu { position:fixed; left:80px; top:var(--flyout-top,80px); width:264px; max-height:calc(100dvh - 24px); overflow:auto; background:var(--panel,#fff); border:1px solid var(--line); border-radius:10px; padding:8px; margin:0; box-shadow:0 12px 30px #17203326; }
.portal-nav-tooltip { position:fixed; z-index:90; background:var(--ink); color:#fff; border-radius:6px; padding:7px 10px; font-size:.8rem; pointer-events:none; max-width:min(260px,70vw); }
.portal-nav-tooltip[hidden] { display:none; }
.portal-workspace .method-editor { padding:24px; }
.portal-workspace .method-package-json { width:100%; resize:vertical; font-family:ui-monospace,monospace; line-height:1.5; font-size:.8rem; padding:12px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--panel,#fff); }
.portal-workspace .method-package-json:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
.portal-workspace .method-hash { overflow-wrap:anywhere; font-size:.7rem; }
@media (max-width:1023px) {
 .app-frame.portal-workspace, .app-frame.portal-workspace.sidebar-compact { display:flex; flex-direction:column; }
 .portal-workspace .portal-workspace-content { min-height:100dvh; }
 .portal-workspace .portal-sidebar { display:none; position:fixed; inset:0 auto 0 0; width:min(288px,85vw); height:100dvh; z-index:70; }
 .portal-workspace.sidebar-open .portal-sidebar { display:flex; }
 .portal-workspace.sidebar-open .portal-sidebar-backdrop { display:block; position:fixed; inset:0; border:0; padding:0; background:#17203380; z-index:60; }
 .portal-workspace .sidebar-close, .portal-workspace .sidebar-mobile-toggle { display:flex; }
 .portal-workspace .sidebar-density { display:none; }
 .portal-workspace .portal-contextbar.topbar { padding:6px 12px; }
 .app-frame.portal-workspace .workspace.page-shell { padding:20px 16px 32px; }
 .portal-workspace .portal-release { font-size:.65rem; }
 .portal-workspace .app-footer { padding:16px; flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) { .portal-workspace * { scroll-behavior:auto; transition:none !important; } }
@media print {
 .app-frame.portal-workspace { display:block !important; }
 .portal-workspace .portal-sidebar, .portal-workspace .portal-contextbar, .portal-workspace .app-footer, .portal-sidebar-backdrop, .portal-nav-tooltip { display:none !important; }
 .app-frame.portal-workspace .workspace.page-shell { padding:0; margin:0; width:100%; }
}

/* Wave 1 reports and collection */
.expanded-block { padding: 1rem 0; border-bottom: 1px solid var(--mdl-border, #dce8e5); }
.expanded-block h3 { margin-top: 0; }
.expanded-block details { font-size: .9rem; color: var(--mdl-muted, #496269); }
@media print { .expanded-block details { display: none; } .expanded-block, .question-card { break-inside: avoid; } }

.life-wheel-chart{display:block;width:100%;max-width:560px;margin:0 auto;}
@media print{.life-wheel-chart{max-width:420px;}fieldset{border:0}}

.manager-self-item{padding:1rem 0;border-top:1px solid #d6e1e2}.manager-self-meter{display:block;width:100%;min-width:6rem;height:1.1rem;margin-top:.35rem}

/* Current account identity: retain the right alignment and wrap long names on narrow screens. */
.portal-workspace .portal-release { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:0; min-width:0; max-width:65%; white-space:normal; text-align:right; overflow-wrap:anywhere; }
.portal-workspace .portal-release > span:first-child { white-space:nowrap; }
@media (max-width:760px) { .portal-workspace .portal-context-label { min-width:0; } .portal-workspace .portal-release { max-width:60%; } }
