/* Keep navigation independently styled when an older offline theme is cached. */
.app-header .header-actions { gap:12px; flex-shrink:0; }
.app-header .beta-login { display:inline-flex; align-items:center; white-space:nowrap; flex:none!important; font-size:14px; min-height:44px; padding:9px 12px; border-radius:6px; }
.app-header .site-menu { position:relative; flex:none; }
.app-header .site-menu summary { cursor:pointer; min-height:44px; padding:12px 8px; font-size:14px; white-space:nowrap; }
.app-header .site-menu-items { position:absolute; right:0; top:calc(100% + 8px); width:220px; max-width:calc(100vw - 32px); background:var(--panel,#09111f); border:1px solid var(--line,#52606d); box-shadow:0 8px 24px #0002; padding:8px; z-index:20; border-radius:6px; }
.app-header .site-menu-items > * { display:block; width:100%; text-align:left; padding:10px; white-space:normal; margin:0; }
@media (max-width:600px) {
  .app-header { display:grid; grid-template-columns:minmax(0,1fr); height:auto; min-height:112px; gap:8px; }
  .app-header .brand { width:100%; min-width:0; }
  .app-header .brand-lockup small { display:none; }
  .app-header .header-actions { width:100%; min-width:0; display:flex; justify-content:space-between; gap:8px; }
}
