/* Minimal product adaptations over the verified NEXUS shell. */
.hn-sidebar .portal-sidebar-auth { display:block; flex:none; margin-top:auto; padding:8px 8px max(12px,env(safe-area-inset-bottom)); border-color:var(--hn-border-color); }
.portal-sidebar-auth form { margin:0; }
.portal-account-text { min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.portal-account-text > span { display:block; }
.portal-account-email { font-size:12px; font-weight:400; color:var(--hn-body-color); }
.portal-sidebar-auth .portal-auth-action { width:100%; min-height:40px; border:0; background:transparent; text-align:left; font:inherit; font-size:13px; }
.portal-sidebar-auth .portal-auth-action:hover { background:var(--hn-primary-lt); color:var(--hn-primary); }
body.hn-app .hn-main .btn:not(.hn-icon-button) { box-sizing:border-box; min-height:40px; height:auto; padding-block:7px; }
.hn-sidebar-header .hn-brand { gap: 8px; }
.portal-brand-mark { display: block; width: 40px; height: 40px; object-fit: contain; flex: none; }
.portal-wordmark { min-width: 0; }
.portal-wordmark img { display: block; width: 100%; max-width: 130px; height: auto; }
.portal-wordmark-dark { display: none !important; }
html[data-bs-theme=dark] .portal-wordmark-light { display: none; }
html[data-bs-theme=dark] .portal-wordmark-dark { display: block !important; }
.hn-topbar-actions #hn-theme { display: grid; }
#hn-mobile-menu { display:none; }
.hn-app .hn-breadcrumb { font-size:12px; line-height:1.25; }
.hn-breadcrumb strong { font-size:20px; font-weight:700; }
.hn-app .hn-breadcrumb h1 { margin:0; font-size:20px; font-weight:700; line-height:inherit; color:var(--hn-body-color); }
/* Preserve the NEXUS blue gradient with AA contrast for small white labels. */
body.hn-app .btn.btn-primary { background:linear-gradient(165deg,#4c65dd,#3e55c7); color:#fff; }
body.hn-app .btn.btn-primary:hover,body.hn-app .btn.btn-primary:active { background:linear-gradient(165deg,#425bd0,#354bb8); color:#fff; }
/* Portal-owned select adaptation; keep the verified NEXUS component untouched. */
body.hn-app .nx-select-menu[data-variant=search] .nx-select-option[aria-selected=true] { background:linear-gradient(165deg,#4c65dd,#3e55c7); color:#fff; }
@media(max-width:767px) { body.hn-app .nx-select-search input { font-size:16px; } }
.hn-menu-backdrop { position:fixed; inset:0; z-index:1030; width:100%; height:100dvh; border:0; padding:0; background:#080d1c66; }
@media(max-width:991.98px) {
  #hn-mobile-menu { display:grid; flex:none; }
  #hn-menu { display:none; }
  body.hn-app .hn-shell { margin-left:0; }
  body.hn-app .hn-sidebar { width:264px; transform:translateX(-100%); visibility:hidden; }
  body.hn-menu-open .hn-sidebar { transform:translateX(0); visibility:visible; }
  body.hn-menu-open::after { display:none; }
  body.hn-app .hn-sidebar-header .hn-brand { display:flex; }
  body.hn-app .hn-sidebar .hn-navigation { display:grid; padding-top:18px; }
  body.hn-app .hn-sidebar .hn-nav-label { display:block; }
}
.hn-main h1 { overflow-wrap: anywhere; }
body.hn-app .hn-sidebar .hn-navigation { display:flex; flex-direction:column; min-height:0; }
.hn-navigation > .hn-nav-link { flex-shrink:0; }
.portal-legal-links { display:grid; gap:4px; flex-shrink:0; margin-top:auto; padding-top:24px; }
:is(a, button):focus-visible { outline: 2px solid var(--hn-primary); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
