/* ============================================================================
   THE LOCKED HEADER (Peter 2026-10-19). "Locked everywhere." · Calendar's
   header "is a perfect example for the other black headers".
   - The black header holds at the top of the screen on every tab, desktop and
     phone: it is sticky on the page's own scroll (the page is the one scroller
     here; the phone's home drawer already scrolls inside .pl-body).
   - The heads that already stuck inside a tab (Purchase Orders' head, the
     plan's store tabs, Payroll's block) now stick just BELOW it, at the
     header's real height (--pulse-hdr, measured by assets/locked-header.js;
     the calc is the first-paint fallback).
   - The title reads like Calendar's: AllureOS in bright cream Georgia 400, the
     app's name in gold Cormorant italic; the top row is 1fr · auto · 1fr so
     the pivot and the sign-out never push it off centre (desktop and phone,
     the landing drawer's header included).
   Nothing else about the header moves: same height, padding, colours, markup.
   ========================================================================== */
:root { --pulse-hdr: calc(88px + env(safe-area-inset-top, 0px)); }
#app > .topbar { position: sticky; top: 0; z-index: 45; }
.topbar .topbar-row { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.topbar .topbar-brand { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: #fdf8f3; }
.topbar .topbar-brand span { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 400; color: #c5a572; }
/* The tab strip stays pinned under the header too (Peter 2026-10-19: "yes" — Pulse's row of tabs).
   It sits at the header's height on flat cream so nothing shows through it; on the phone the strip is
   the drawer (display:none), so its height --pulse-tabs is 0 there. */
#app > .tabs { position: sticky; top: var(--pulse-hdr); z-index: 44; background: #fdf8f3; }
#sv-purchase-orders .po-head,
.pr-storetabs,
.pay-sticky { top: calc(var(--pulse-hdr) + var(--pulse-tabs, 0px)); }
