/* Workspace architecture: a persistent Bulma menu and a compact utility navbar.
   Positioning is custom so navigation stays available without compressing charts. */
html body.pi-site { --pi-workspace-width: 244px; --pi-topbar-height: 4.5rem; }
html body.pi-site .navbar[data-pi-shell="app"] { position: sticky; top: 0; z-index: 35; }
html body.pi-site .pi-workspace-nav .pi-workspace-caption {
  font-family: var(--pi-font-body); font-size: .875rem; letter-spacing: normal;
  text-transform: none; color: var(--pi-muted); margin: .25rem .75rem 1.7rem;
}
html body.pi-site .pi-workspace-group { width: 100%; margin-bottom: 1.35rem; }
html body.pi-site .pi-workspace-group .menu-label {
  color: var(--pi-muted); font-size: .875rem; font-weight: 650;
  letter-spacing: normal; margin: 0 .75rem .4rem; text-transform: none;
}
html body.pi-site .pi-workspace-group .menu-label span { font-family: var(--pi-font-body); margin-right: .55rem; opacity: .75; }
html body.pi-site .pi-workspace-nav .pi-nav-item {
  display: flex; align-items: center; justify-content: flex-start; gap: .65rem;
  padding: .6rem .75rem; min-height: 2.75rem; font-size: 1rem; border-left: 2px solid transparent;
}
html body.pi-site .pi-workspace-nav .pi-nav-item.is-selected {
  border-left-color: var(--pi-brand); background: var(--pi-brand-soft); font-weight: 650;
}
/* Hover previews another destination; the current page retains its brand fill and rule. */
html body.pi-site .navbar[data-pi-shell="app"] .pi-workspace-nav a.pi-nav-item:not(.is-selected):hover {
  background: var(--pi-surface-muted);
  color: var(--pi-text);
}
html body.pi-site .pi-workspace-icon { color: var(--pi-muted); flex: 0 0 1rem; font-size: .875rem; }
html body.pi-site .is-selected .pi-workspace-icon { color: var(--pi-brand); }
html body.pi-site .pi-workspace-nav .pi-nav-label { display: block; white-space: normal; }
html body.pi-site .pi-workspace-nav .pi-nav-state { display: block; font-size: .875rem; color: var(--pi-muted); border: 0; margin: .1rem 0 0; padding: 0; background: transparent; }
html body.pi-site .pi-workspace-access { margin-top: auto; border-top: 1px solid var(--pi-border); padding: 1rem .65rem .25rem; width: 100%; }
html body.pi-site .pi-workspace-access .pi-access-summary { padding: 0; min-height: auto; }
html body.pi-site .pi-workspace-access .tags { flex-wrap: wrap; gap: .35rem; }
html body.pi-site .pi-workspace-access .pi-access-badge { white-space: normal; height: auto; padding: .35rem .45rem; gap: .3rem; }
html body.pi-site .pi-workspace-access .pi-access-badge-prefix { display: none; }
html body.pi-site .pi-workspace-access-link { display: flex; justify-content: space-between; font-size: .875rem; margin-top: .75rem; }
html body.pi-site .pi-workspace-location { gap: .8rem; font-size: .875rem; color: var(--pi-text); margin-right: auto; }
html body.pi-site .pi-location-label { color: var(--pi-muted); }
html body.pi-workspace-site .container { max-width: 100%; }
html body.pi-site .pi-public-access { margin: .25rem .5rem; }
html body.pi-site .pi-signin-heading { color: var(--pi-text); font-weight: 650; padding: .6rem .75rem .75rem; }
html body.pi-site .pi-signin-nav #pi-signin-menu { width: 20rem; }
html body.pi-site .pi-signin-nav .pi-login-slot { padding: 0 .75rem .75rem; }
html body.pi-site .pi-signin-nav .pi-navbar-login { display: block; width: 100%; }
html body.pi-site .pi-signin-nav .pi-navbar-login .control { width: 100%; margin-bottom: .7rem; }
html body.pi-site .pi-signin-nav .pi-navbar-login .input,
html body.pi-site .pi-signin-nav .pi-navbar-login .button { width: 100%; }
html body.pi-site .pi-signin-nav .control.has-icons-left .icon { top: 1.55rem; }
html body.pi-site :is([id], [data-pi-section-nav]) { scroll-margin-top: calc(var(--pi-topbar-height) + 1.25rem); }
html body.pi-site [data-pi-section-nav] a[aria-current="location"] { color: var(--pi-brand); border-bottom-color: var(--pi-brand); font-weight: 650; }
html body.pi-site .pi-workspace-alert { max-width: 48rem; margin-inline: auto; }
@media screen and (min-width: 1024px) {
  html body.pi-workspace-site .navbar[data-pi-shell="app"] { padding-inline: 1.1rem; height: var(--pi-topbar-height); }
  html body.pi-workspace-site .navbar[data-pi-shell="app"] .navbar-brand { width: calc(var(--pi-workspace-width) - 1.1rem); flex-shrink: 0; }
  html body.pi-workspace-site .navbar[data-pi-shell="app"] .pi-brand-link { padding-inline: 0; }
  html body.pi-workspace-site .navbar[data-pi-shell="app"] .navbar-logo { width: 178px; }
  html body.pi-workspace-site .navbar[data-pi-shell="app"] .navbar-end { width: 100%; }
  html body.pi-workspace-site .navbar[data-pi-shell="app"] .pi-workspace-nav {
    position: fixed; top: var(--pi-topbar-height); left: 0; bottom: 0; width: var(--pi-workspace-width);
    display: flex; flex-direction: column; align-items: stretch; gap: 0; overflow-y: auto;
    background: var(--pi-bg); padding: 1.5rem .75rem 1rem; border-right: 1px solid var(--pi-border);
  }
  html body.pi-workspace-site > :is(main, .pi-site-footer) { margin-left: var(--pi-workspace-width); }
  html body.pi-workspace-site > main { min-height: calc(100dvh - var(--pi-topbar-height) - 12rem); min-width: 0; }
  html body.pi-workspace-site > main > .section { padding-inline: clamp(1.5rem, 3vw, 3rem); }
  html body.pi-workspace-site .pi-site-footer { padding: 1.5rem 2rem 1rem; border-top-width: 1px; }
  html body.pi-workspace-site .pi-site-footer .pi-footer-brand img { width: 160px; }
  html body.pi-workspace-site .pi-site-footer .pi-footer-context { display: none; }
  html body.pi-workspace-site .pi-site-footer .pi-footer-fineprint { font-size: .875rem; }
  html body.pi-workspace-site .pi-site-footer .columns { margin-bottom: .6rem; }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  html body.pi-site:not(.pi-workspace-site) .navbar[data-pi-shell="app"] { padding-inline: .75rem; }
  html body.pi-site:not(.pi-workspace-site) .navbar[data-pi-shell="app"] .pi-public-nav .navbar-item { padding-inline: .5rem; font-size: .875rem; }
}
@media screen and (max-width: 1023px) {
  html body.pi-site .navbar[data-pi-shell="app"] { padding-block: .25rem; }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-menu.is-active { display: block; padding: 1rem; max-height: calc(100dvh - var(--pi-topbar-height)); overflow-y: auto; }
  html body.pi-workspace-site .pi-workspace-caption { display: none; }
  html body.pi-site .pi-workspace-group { margin-bottom: 1rem; }
  html body.pi-site .pi-workspace-group .pi-nav-item { padding-block: .6rem; }
  html body.pi-site .pi-workspace-access { padding-bottom: .8rem; }
  html body.pi-site .pi-workspace-location { display: none; }
  html body.pi-site .navbar[data-pi-shell="app"] .navbar-end { display: flex; flex-wrap: wrap; gap: .25rem; border-top: 1px solid var(--pi-border); padding-top: .75rem; margin-top: .5rem; align-items: flex-start; }
  html body.pi-site .pi-account-nav { flex: 1; }
  html body.pi-site .pi-signin-nav { flex: 1 1 100%; order: 3; }
  html body.pi-site .pi-signin-nav #pi-signin-menu { width: 100%; }
  html body.pi-site .pi-public-access { margin-inline: 0; }
}
@media print {
  html body.pi-site .navbar[data-pi-shell="app"] { display: none; }
  html body.pi-workspace-site > :is(main, .pi-site-footer) { margin-left: 0; }
}
/* Instrument selection is a command surface: primary choice, saved scope, refinement. */
html body.pi-site .pi-market-selector-shell .pi-market-selector-panel { border-top-width: 1px; padding: 1.25rem; }
html body.pi-site .pi-market-selector-shell .pi-market-secondary { border-top: 1px solid var(--pi-border); margin-top: .7rem; padding-top: .5rem; }
html body.pi-site .pi-market-selector-shell .pi-market-scope { padding-top: 1.7rem; }
html body.pi-site .pi-market-selector-shell .pi-market-filters { padding-top: .4rem; }
html body.pi-site .pi-market-selector-shell .sd-console { margin-top: .8rem; padding: .6rem .8rem; font-size: .875rem; }
@media screen and (min-width: 769px) {
  html body.pi-site .pi-market-load-column { padding-top: 2.3rem; }
}
@media screen and (max-width: 768px) {
  html body.pi-site .pi-market-selector-shell .pi-market-scope { padding-top: 0; }
  html body.pi-site .pi-market-selector-shell .column { padding-block: .4rem; }
}

html body.pi-site .pi-workspace-pagehead { margin-bottom: 1.4rem; }
html body.pi-site .pi-workspace-eyebrow { color: var(--pi-muted); font: .875rem var(--pi-font-body); letter-spacing: normal; text-transform: none; margin-bottom: .6rem; }
html body.pi-site .pi-workspace-pagehead .title { margin-bottom: .45rem; }

html body.pi-site .pi-workspace-access .pi-access-badge-prefix + span { display: none; }
html body.pi-site .pi-tab-content[data-pi-tab-state="idle"] { min-height: 10rem; }
html body.pi-site .pi-evidence-empty { display: none; padding: 2.5rem 1.5rem; text-align: center; color: var(--pi-muted); }
html body.pi-site [data-pi-tab-state="idle"] > .pi-evidence-empty { display: block; }
html body.pi-site .pi-evidence-empty p { color: var(--pi-text); font-family: var(--pi-font-display); font-size: 1.2rem; font-weight: 650; margin-bottom: .4rem; }
html body.pi-site .pi-evidence-empty span { font-size: .875rem; }

html body.pi-site .navbar[data-pi-shell="app"] .pi-signin-nav .pi-navbar-login .control.has-icons-left { width: 100%; }
html body.pi-site .navbar[data-pi-shell="app"] .pi-signin-nav :is(.pi-login-slot, .pi-navbar-login) { background: transparent; }
html body.pi-site .pi-signin-nav .label { margin-bottom: .3rem; font-size: .875rem; color: var(--pi-muted); }

/* URL destinations live beneath their workspace; section contents live with evidence. */
html body.pi-site #pi-market-scope-unavailable[hidden],
html body.pi-site [data-pi-view-panel][hidden],
html body.pi-site .pi-market-destinations [hidden],
html body.pi-site .pi-contents-nav [hidden] { display: none !important; }
html body.pi-site .pi-market-destinations { margin: .35rem 0 1rem 1.15rem; padding-left: .6rem; border-left: 1px solid var(--pi-border); }
html body.pi-site .pi-market-destinations .menu-label { font: .875rem var(--pi-font-body); letter-spacing: normal; color: var(--pi-muted); padding: .35rem .6rem; margin: 0; }
html body.pi-site .pi-market-destinations .menu-list { margin: 0; }
html body.pi-site .pi-market-destinations .menu-list li { margin: 0; }
html body.pi-site .pi-market-destinations :is(a, .pi-view-unavailable) { display: block; padding: .65rem .6rem; border-radius: 4px; font-size: .875rem; line-height: 1.3; color: var(--pi-text); background: transparent; border: 1px solid transparent; }
html body.pi-site .pi-market-destinations a > span:first-child { display: block; font-weight: 650; }
html body.pi-site .pi-market-destinations small { display: block; color: var(--pi-muted); font-size: .875rem; margin-top: .23rem; }
html body.pi-site .pi-market-destinations .tag { font-size: .875rem; margin-top: .35rem; padding: .1rem .35rem; min-height: 0; height: auto; white-space: normal; }
html body.pi-site .pi-market-destinations a[aria-current="page"] { color: var(--pi-brand); background: var(--pi-brand-soft); border-color: var(--pi-border); box-shadow: inset 2px 0 var(--pi-brand); }
html body.pi-site .pi-market-destinations a:hover { background: var(--pi-surface-muted); }
html body.pi-site .pi-market-destinations a[aria-disabled="true"] { color: var(--pi-muted); background: var(--pi-surface-muted); border-color: var(--pi-border); box-shadow: none; filter: grayscale(1); cursor: not-allowed; }
html body.pi-site .pi-market-destinations a[aria-disabled="true"] .pi-tier-mark { color: var(--pi-muted); background: var(--pi-surface-muted); border-color: var(--pi-border); }
html body.pi-site .pi-market-destinations .pi-view-scope-note { font-size: .875rem; color: var(--pi-text); }
html body.pi-site .pi-market-location { display: flex; align-items: baseline; gap: .65rem; padding: .8rem 1.5rem; border-block: 1px solid var(--pi-border); background: var(--pi-surface); }
html body.pi-site .pi-market-location > span:first-child { color: var(--pi-muted); font-size: .875rem; }
html body.pi-site .pi-market-location h2 { font: 650 1.25rem var(--pi-font-display); margin: 0; color: var(--pi-text); }
html body.pi-site .pi-market-location-note { font-size: .875rem; color: var(--pi-muted); margin-left: auto; }
html body.pi-site .pi-market-view { min-height: 12rem; padding-inline: clamp(1rem, 2vw, 2rem); }
html body.pi-site .pi-market-view > .tab-body > .container { max-width: none; }
html body.pi-site .pi-contents-nav { margin: .8rem 0 1.5rem; padding: .85rem 1.5rem; border-left: 2px solid var(--pi-brand); background: var(--pi-surface); }
html body.pi-site .pi-contents-label { margin: 0 0 .6rem; font: .875rem var(--pi-font-body); letter-spacing: normal; text-transform: none; color: var(--pi-muted); }
html body.pi-site .pi-contents-nav .menu-list { list-style: none; margin: -.2rem -.6rem; counter-reset: section; }
html body.pi-site .pi-contents-nav .menu-list li { margin: 0; padding: .2rem .6rem; counter-increment: section; }
html body.pi-site .pi-contents-nav .menu-list a { display: flex; align-items: baseline; gap: .55rem; padding: .35rem 0; font-size: 1rem; line-height: 1.4; color: var(--pi-muted); border-radius: 0; text-decoration: none; background: transparent; }
html body.pi-site .pi-contents-nav .menu-list a::before { content: none; }
html body.pi-site .pi-contents-nav .menu-list a[aria-current="location"] { color: var(--pi-brand); font-weight: 650; }
html body.pi-site .pi-contents-nav .menu-list a:hover { color: var(--pi-text); background: transparent; text-decoration: underline; text-underline-offset: .25em; }
html body.pi-site .pi-contents-nav .menu-list a[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
html body.pi-site .pi-contents-nav .pi-section-number { display: none; }
html body.pi-site :is(.pi-market-view-toggle, .pi-contents-toggle) { display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; white-space: normal; text-align: left; border: none; box-shadow: none; border-radius: 0; background: transparent; color: var(--pi-text); padding: .65rem 0; }
html body.pi-site :is(.pi-market-destinations a, .pi-contents-nav a, .pi-market-view-toggle, .pi-contents-toggle):focus-visible { outline: 2px solid var(--pi-brand); outline-offset: 3px; }
@media screen and (max-width: 1023px) {
  html body.pi-site .pi-market-wayfinding { position: sticky; top: var(--pi-topbar-height); z-index: 25; padding: 0 1rem; background: var(--pi-surface); border-top: 1px solid var(--pi-border); }
  html body.pi-site .pi-market-destinations { margin: 0; padding: 0; border: none; }
  html body.pi-site .pi-market-destinations .pi-market-nav-label { display: none; }
  html body.pi-site .pi-market-view-toggle small { font: .875rem var(--pi-font-body); text-transform: none; letter-spacing: normal; margin: 0 0 .2rem; }
  html body.pi-site .pi-market-view-toggle strong { font: 650 1.1rem var(--pi-font-display); }
  html body.pi-site .pi-market-destinations .menu-list { padding-bottom: .8rem; }
  html body.pi-site .pi-market-destinations .menu-list a { min-height: 44px; }
  html body.pi-site .pi-market-location { display: none; }
  html body.pi-site .pi-market-view [id] { scroll-margin-top: calc(var(--pi-topbar-height) + 5rem); }
}
@media screen and (max-width: 768px) {
  html body.pi-site .pi-contents-nav { padding: .25rem 1rem; margin-bottom: 1rem; }
  html body.pi-site .pi-contents-nav .pi-contents-label { display: none; }
  html body.pi-site .pi-contents-toggle { gap: .65rem; font-size: .875rem; min-height: 44px; }
  html body.pi-site .pi-contents-toggle > span:first-child { font: .875rem var(--pi-font-body); text-transform: none; letter-spacing: normal; flex-shrink: 0; color: var(--pi-muted); }
  html body.pi-site .pi-contents-current { margin-left: auto; color: var(--pi-brand); font-size: .875rem; }
  html body.pi-site .pi-contents-nav .menu-list { display: block; margin: 0; padding-bottom: .5rem; }
  html body.pi-site .pi-contents-nav .menu-list li { padding: 0; }
  html body.pi-site .pi-contents-nav .menu-list a { min-height: 44px; align-items: center; font-size: .875rem; }
}

html body.pi-site .pi-market-location { flex-wrap: wrap; }
html body.pi-site .pi-contents-toggle { flex-wrap: wrap; }
