/* ============================================================
   Member Portal nav — one look on every portal page (Dashboard is the
   reference). Scoped to nav.portal-nav so it wins over each page's own
   older nav rules; position/top/z-index stay with the page (fixed or
   sticky). Markup: see the <nav class="portal-nav"> block in dashboard.html.
   ============================================================ */
nav.portal-nav{display:flex;align-items:center;justify-content:space-between;gap:0;padding:0 40px;height:64px;margin:0;box-sizing:border-box;width:100%;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);font-family:'Flama',sans-serif;line-height:1.6}
nav.portal-nav .nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
nav.portal-nav .nav-logo-badge{background:var(--red);color:#fff;font-family:'PP Monument Extended',sans-serif;font-weight:900;font-size:18px;letter-spacing:.06em;padding:4px 10px;line-height:1;border-radius:0;box-shadow:none}
nav.portal-nav .nav-logo-text{display:inline;font-family:'PP Monument Extended',sans-serif;font-weight:700;font-size:20px;letter-spacing:.1em;color:var(--white)}
nav.portal-nav .nav-right{display:flex;align-items:center;gap:18px}
nav.portal-nav .nav-right .who{display:inline;margin:0;padding:0;font-size:13px;font-weight:400;line-height:1.6;color:var(--silver)}
nav.portal-nav .nav-avatar{position:relative;width:36px;height:36px;border-radius:50%;overflow:hidden;flex:none;background:var(--red);display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line)}
nav.portal-nav .nav-avatar img{width:100%;height:100%;object-fit:cover;display:none}
nav.portal-nav .nav-avatar.has-photo img{display:block}
nav.portal-nav .nav-avatar.has-photo .nav-avatar-ini{display:none}
nav.portal-nav .nav-avatar-ini{color:#fff;font-family:'PP Monument Extended',sans-serif;font-weight:900;font-size:13px;letter-spacing:.02em;user-select:none}
nav.portal-nav .nav-avatar:hover{border-color:var(--red)}
nav.portal-nav .nav-link{color:var(--silver);text-decoration:none;font-family:'Flama',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:0;border:0;white-space:nowrap}
nav.portal-nav .nav-link:hover{color:var(--red)}
nav.portal-nav .nav-menu{display:flex;align-items:center;gap:18px}
nav.portal-nav .nav-menu .nav-link[aria-current="page"]{color:var(--red)}
nav.portal-nav .nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:0;cursor:pointer;padding:7px}
nav.portal-nav .nav-burger span{display:block;height:2px;background:var(--white);border-radius:2px;transition:transform .2s,opacity .2s}
nav.portal-nav .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.portal-nav .nav-burger.open span:nth-child(2){opacity:0}
nav.portal-nav .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Hamburger up to iPad portrait. */
@media(max-width:900px){
  nav.portal-nav .nav-burger{display:flex}
  nav.portal-nav .nav-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.28);padding:4px 0;display:none;z-index:80}
  nav.portal-nav .nav-menu.open{display:flex}
  nav.portal-nav .nav-menu .nav-link{padding:16px 20px;font-size:13px;letter-spacing:.06em;border-top:1px solid var(--line)}
  nav.portal-nav .nav-menu .nav-link:first-child{border-top:0}
}
@media(max-width:680px){
  nav.portal-nav{padding:0 12px;height:58px}
  nav.portal-nav .nav-logo-badge{font-size:15px;padding:4px 8px}
  nav.portal-nav .nav-logo-text{font-size:16px}
  nav.portal-nav .nav-right{gap:6px}
  nav.portal-nav .nav-right .who{display:none}
}
@media(max-width:430px){
  nav.portal-nav{gap:8px}
  nav.portal-nav .nav-logo{gap:7px}
  nav.portal-nav .nav-logo-badge{font-size:15px;padding:3px 7px}
  nav.portal-nav .nav-logo-text{font-size:16px;letter-spacing:.06em}
}
@media(max-width:360px){ nav.portal-nav .nav-logo-text{display:none} }
