/* All presentation is opt-in and desktop-only; no Workspace or mobile selectors. */
#public-navigation { display:none; }
@media screen and (min-width:1280px) {
  body.pn-enabled { margin-left:68px; }
  body.pn-enabled > .site-header .main-nav { display:none; }
  body.pn-enabled > .site-header .header-inner { justify-content:space-between; }
  /* Keep branding clear of the overlay; tool inputs need a permanent safe gutter. */
  body.pn-enabled > .site-header .brand { margin-left:176px; }
  body.pn-enabled[data-page] > main.pn-tool-surface { width:auto; margin-left:188px; margin-right:20px; }
  #public-navigation { --pn-text:#e6edf5; display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; z-index:90; width:68px; height:100dvh; color:var(--pn-text); background:#142435; border-right:1px solid #33485c; font:500 13px/1.4 Inter,system-ui,sans-serif; transition:width 160ms ease; isolation:isolate; }
  #public-navigation[data-expanded="true"] { width:244px; box-shadow:12px 0 32px #10233725; }
  #public-navigation *, #public-navigation *::before, #public-navigation *::after { box-sizing:border-box; }
  #public-navigation [hidden] { display:none !important; }
  #public-navigation .pn-top { flex:none; padding:14px 10px 10px; border-bottom:1px solid #324458; }
  #public-navigation .pn-brand { display:flex; gap:12px; align-items:center; color:white; text-decoration:none; margin:0 0 16px; padding:3px 4px; }
  #public-navigation .pn-brand b { display:grid; place-items:center; width:38px; height:38px; flex:none; background:#c3e77a; color:#142435; font-size:24px; border-radius:11px; }
  #public-navigation .pn-brand .pn-label { font-size:19px; font-weight:750; }
  #public-navigation .pn-brand small { display:block; font-size:8px; color:#b4c4d4; letter-spacing:1px; white-space:nowrap; }
  #public-navigation .pn-middle { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:12px 10px; scrollbar-width:thin; scrollbar-color:#50667a transparent; }
  #public-navigation .pn-link { display:flex; align-items:center; gap:12px; min-height:42px; width:100%; padding:10px 13px; margin:3px 0; border:0; border-radius:7px; color:var(--pn-text); background:transparent; font:inherit; text-align:left; text-decoration:none; cursor:pointer; box-shadow:none; }
  #public-navigation .pn-link:hover { color:white; background:#263d53; }
  #public-navigation .pn-link[aria-current="page"] { color:#d3f39a; background:#2b4152; box-shadow:inset 3px 0 #c3e77a; }
  #public-navigation .pn-link svg, #public-navigation .pn-link img { display:block; flex:none; width:20px; height:20px; }
  #public-navigation svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  #public-navigation .pn-link img { filter:brightness(0) invert(1); opacity:.85; }
  #public-navigation .pn-label { min-width:0; }
  #public-navigation[data-expanded="false"] .pn-label, #public-navigation[data-expanded="false"] .pn-status { display:none; }
  #public-navigation :is(a,button,input,summary):focus-visible { outline:2px solid #d3f39a; outline-offset:2px; }
  #public-navigation .pn-context { margin:4px 12px 14px; font-size:17px; font-weight:700; color:white; }
  #public-navigation .pn-directory { color:#c3d5e8; background:#203549; margin-bottom:16px; }
  #public-navigation .pn-group { margin:0 0 16px; padding:0; border:0; background:none; border-radius:0; }
  #public-navigation .pn-group h2 { margin:16px 12px 6px; font:600 10px/1.5 Inter,system-ui,sans-serif; color:#a5b8ca; letter-spacing:1.2px; text-transform:uppercase; }
  #public-navigation .pn-group summary { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 8px; color:#d5e1ee; font-size:12px; cursor:pointer; list-style:none; border-bottom:1px solid #304358; }
  #public-navigation .pn-group summary::before { content:'+'; color:#c3e77a; font-size:17px; }
  #public-navigation .pn-group[open] summary::before { content:'−'; }
  #public-navigation .pn-group summary span { margin-left:auto; font-size:10px; color:#a5b8ca; }
  #public-navigation .pn-tool { font-size:12px; padding:9px 8px; gap:8px; }
  #public-navigation .pn-tool img { width:16px; height:16px; }
  #public-navigation .pn-search-label { display:block; font-size:11px; margin:0 4px 6px; color:#b9c9d8; }
  #public-navigation #pn-search { width:100%; min-width:0; min-height:38px; background:#0f1e2d; color:white; border:1px solid #52677b; border-radius:7px; padding:8px; font:inherit; }
  #public-navigation #pn-search::placeholder { color:#a5b8ca; }
  #public-navigation .pn-count { font-size:11px; color:#a5b8ca; margin:8px 4px 14px; }
  #public-navigation .pn-account { flex:none; padding:10px; border-top:1px solid #3a5065; background:#102030; }
  #public-navigation .pn-account .pn-link { font-size:12px; }
  #public-navigation .pn-status { margin:0 8px 5px; font-size:11px; color:#b5c7d9; }
  #public-navigation .pn-tooltip { position:fixed; left:76px; max-width:240px; padding:8px 12px; color:white; background:#142435; border:1px solid #52677b; border-radius:6px; box-shadow:0 4px 12px #10233725; pointer-events:none; }
}
@media (prefers-reduced-motion:reduce) { #public-navigation { transition:none; } }
@media print { #public-navigation { display:none !important; } body.pn-enabled { margin-left:0; } }
