/* Top bar, injected by session.js into any page that has <div id="portalBar"></div>. */
.pbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  max-width: 960px; margin: 0 auto 14px; padding: 8px 16px; font-family: var(--body, 'Nunito Sans', 'Segoe UI', -apple-system, Arial, sans-serif); font-size: 15px; color: var(--ink, #17233B) }
.pbar a.home { display: inline-flex; align-items: center; gap: 8px; font-family: var(--display, 'Fredoka', 'Arial Rounded MT Bold', 'Trebuchet MS', sans-serif); font-weight: 600; font-size: 18px;
  color: var(--ink, #17233B); text-decoration: none; min-height: 44px }
.pbar a.home svg { width: 22px; height: 22px }
.pbar .who { display: flex; align-items: center; gap: 10px; font-weight: 700 }
.pbar .tag { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px;
  background: var(--give-tint, #E4EEFA); color: var(--give, #2B6CB0) }
.pbar button { font: inherit; font-weight: 800; color: var(--ink, #17233B); background: transparent; border: 2px solid var(--line, #D6DDE7);
  border-radius: 999px; padding: 6px 14px; min-height: 40px; cursor: pointer }
.pbar button:focus-visible, .pbar a:focus-visible { outline: 3px solid var(--give, #2B6CB0); outline-offset: 2px }
@media print { .pbar { display: none } }

/* Parent-only content stays hidden until session.js confirms a parent is logged in. */
.parent-only { display: none !important }
html[data-role="parent"] .parent-only { display: revert !important }
