/* JSV 2.0.119 — unified inner-page context rail, sponsor rail, help and contrast contract. */
:root{
  --jsv-context-rail-width:220px;
  --jsv-context-gap:16px;
  --jsv-context-navy:#102d4d;
  --jsv-context-navy-2:#0b2744;
  --jsv-context-gold:#efc94c;
  --jsv-context-paper:#fffdf8;
  --jsv-context-ink:#10284a;
  --jsv-context-muted:#5c6d84;
  --jsv-context-line:#d8e0eb;
}
/* The global sponsor rail is one theme-owned component everywhere it is eligible. */
@media (min-width:1280px){
  /* Initial CSS fallback only. The connected shell measures the visible rail
     after styles load; an absent/hidden rail must not retain a blank column. */
  body.jsv-x-standard:has(.jsv-site-sponsor-rail:not([hidden])){--jsx-sponsor:314px}
  body.jsv-x-standard:has(.jsv-site-sponsor-rail)>.jsv-x-page{margin-right:var(--jsx-sponsor)!important;width:calc(100% - var(--jsx-rail,0px) - var(--jsx-sponsor))!important}
  .jsv-site-sponsor-rail{width:276px!important;right:22px!important;border-radius:22px!important;background:linear-gradient(180deg,#173e67 0%,#102d4d 100%)!important}
}
@media (max-width:1279px){body.jsv-x-standard{--jsx-sponsor:0px!important}}

/* When a feature owns a useful context rail, it becomes the single left rail. */
@media (min-width:901px){
  body.jsv-context-rail-owned{--jsx-rail:0px!important;overflow-x:hidden!important}
  body.jsv-context-rail-owned>#jsv-x-rail,
  body.jsv-context-rail-owned>.jsv-x-rail,
  body.jsv-context-rail-owned>.jsv-x-backdrop{display:none!important;visibility:hidden!important;width:0!important}
  body.jsv-context-rail-owned>.jsv-x-page{margin-left:0!important;max-width:none!important;width:calc(100% - var(--jsx-sponsor,0px))!important}
  body.jsv-context-rail-owned .jsv-x-content{width:100%!important;max-width:none!important;margin:0!important;padding:16px 14px 36px!important;box-sizing:border-box!important}

  body.jsv-context-rail-owned :is(.jsf-exact-profile-hub,.jspui-surface.jsf-exact-profile-hub,.js-events-home-shell,.jsf-events-alive,.jsf-account-shell,.jsm-marketplace-hub,.jsm-marketplace-workspace,.jsm-marketplace-rewards-workspace,.jsw-centre-layout,.jsf-context-shell){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

  /* Profile: My Panel takes the former global-rail position inside the widened workspace. */
  body.jsv-context-profile .jspui-surface.jsf-exact-profile-hub,
  body.jsv-context-profile .jsf-exact-profile-hub{grid-template-columns:minmax(190px,220px) minmax(170px,190px) minmax(0,1fr) minmax(230px,270px)!important;gap:14px!important}
  body.jsv-context-profile .jsf-xp-buddypanel{position:sticky!important;top:calc(var(--jsv-live-header-bottom,72px) + 16px)!important;max-height:calc(100vh - var(--jsv-live-header-bottom,72px) - 32px)!important}

  /* Events: Events/My Panel rail owns the left edge; center receives reclaimed width. */
  body.jsv-context-events .js-events-home-shell{grid-template-columns:minmax(205px,220px) minmax(0,1fr) minmax(245px,270px)!important;gap:14px!important}
  body.jsv-context-events .jsf-events-alive{grid-template-columns:minmax(205px,220px) minmax(0,1fr) minmax(245px,270px)!important;gap:14px!important}
  body.jsv-context-events :is(.js-events-home-rail,.jsf-events-panel){position:sticky!important;top:calc(var(--jsv-live-header-bottom,72px) + 16px)!important;align-self:start!important;max-height:calc(100vh - var(--jsv-live-header-bottom,72px) - 32px)!important;overflow:auto!important}
  body.jsv-context-events :is(.js-events-home-hero,.jsf-events-hero,.jsf-events-main){max-width:none!important;width:100%!important}

  /* Account/settings: My Account rail replaces the generic rail. */
  body.jsv-context-account .jsf-account-shell{max-width:none!important;width:100%!important;margin:0!important}
  body.jsv-context-account .account-settings-grid{grid-template-columns:minmax(205px,220px) minmax(0,1fr)!important;gap:16px!important}
  body.jsv-context-account .jsf-settings-rail{position:sticky!important;top:calc(var(--jsv-live-header-bottom,72px) + 16px)!important;align-self:start!important;max-height:calc(100vh - var(--jsv-live-header-bottom,72px) - 32px)!important;overflow:auto!important}
  body.jsv-context-account .jsf-account-layout,
  body.jsv-context-account .jsf-account-main{max-width:none!important;width:100%!important}
}

/* Context rails share a readable navy/gold visual language. */
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar){background:linear-gradient(180deg,var(--jsv-context-navy-2),var(--jsv-context-navy))!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar) :is(h1,h2,h3,h4,strong,b,small,p,span,label){color:inherit}
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar) nav a,
:is(.jsf-xp-panel-nav,.jsf-events-panel-nav,.jsf-settings-rail-links) a{color:#fff!important;text-decoration:none!important;opacity:1!important}
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar) nav a:hover,
:is(.jsf-xp-panel-nav,.jsf-events-panel-nav,.jsf-settings-rail-links) a:hover{background:rgba(255,255,255,.10)!important;color:#fff!important}
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar) nav a[aria-current="page"],
:is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar) nav a.active,
:is(.jsf-xp-panel-nav,.jsf-events-panel-nav,.jsf-settings-rail-links) a.active{background:var(--jsv-context-gold)!important;color:#10284a!important;border-color:var(--jsv-context-gold)!important}
.jsv-context-help-link,.jsv-context-feedback-link{display:flex!important;align-items:center!important;gap:9px!important;min-height:42px!important;margin-top:5px!important;border-radius:9px!important;padding:9px 11px!important;font-weight:800!important}
.jsv-context-help-link{color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.jsv-context-feedback-link{color:#fff!important;border:1px solid rgba(239,201,76,.45)!important}
.jsv-context-help-link .jsv-context-link-icon,.jsv-context-feedback-link .jsv-context-link-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.10);font-size:13px}

/* Header Help lives beside messages and notifications. */
.jsf-header-help{width:auto!important;min-width:64px!important;padding:0 11px!important;gap:6px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.jsf-header-help svg{width:19px!important;height:19px!important}
.jsf-header-help-label{display:inline!important;font-size:12px!important;font-weight:900!important;color:inherit!important}
@media (max-width:1240px) and (min-width:901px){.jsf-header-help{min-width:42px!important;padding:0 8px!important}.jsf-header-help-label{display:none!important}}

/* Settings readability and contrast. */
body.jsv-context-account .jsf-account-hero{background:linear-gradient(135deg,#fffdf8 0%,#f0f4f8 100%)!important;color:var(--jsv-context-ink)!important;border:1px solid var(--jsv-context-line)!important}
body.jsv-context-account .jsf-account-hero :is(h1,h2,h3,p,small,span){color:var(--jsv-context-ink)!important;opacity:1!important;text-shadow:none!important}
body.jsv-context-account .jsf-account-main :is(h1,h2,h3,h4,label,strong){color:var(--jsv-context-ink)!important}
body.jsv-context-account .jsf-account-main :is(p,small,.description,.hint){color:#52647c!important;opacity:1!important}
body.jsv-context-account .jsf-account-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#fff!important;color:#10284a!important;border:1px solid #c8d2df!important;opacity:1!important}
body.jsv-context-account .jsf-account-main :is(input,select,textarea)::placeholder{color:#6b7a8e!important;opacity:1!important}

/* Rewards: the hero becomes the first visual surface; Marketplace information follows it. */
body.jsv-rewards-hero-first .jsm-marketplace-rewards-workspace .jsf-rewards-hero{margin-top:0!important;margin-bottom:14px!important}
body.jsv-rewards-hero-first .jsm-marketplace-rewards-workspace .jsm-rewards-panel{margin:0 0 14px!important;max-width:none!important}

/* Retire old floating Feedback and old KB Help: header Help + assistant own those placements. */
#jsfb-bubble,.jsfb-bubble,.js-kb-context-help{display:none!important}

/* Mobile: context navigation is one app-style swipe strip, never a permanent sidebar. */
.jsv-mobile-context-nav{display:none}
@media (max-width:900px){
  body.jsv-context-rail-owned{--jsx-rail:0px!important;--jsx-sponsor:0px!important;overflow-x:hidden!important}
  body.jsv-context-rail-owned>.jsv-x-page{margin:0!important;width:100%!important;max-width:none!important}
  body.jsv-context-rail-owned .jsv-x-content{width:100%!important;max-width:none!important;margin:0!important;padding:10px 10px calc(82px + env(safe-area-inset-bottom))!important}
  body.jsv-context-rail-owned :is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail){display:none!important}
  .jsv-mobile-context-nav{display:flex;position:sticky;top:var(--jsv-live-header-bottom,60px);z-index:150;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:8px 10px;margin:-10px -10px 10px;background:rgba(255,253,248,.97);border-bottom:1px solid #dde4ed;box-shadow:0 5px 16px rgba(16,40,74,.08)}
  .jsv-mobile-context-nav::-webkit-scrollbar{display:none}
  .jsv-mobile-context-nav a{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:8px 12px;border:1px solid #d7e0ea;border-radius:999px;background:#fff;color:#10284a!important;text-decoration:none;font:800 12px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;white-space:nowrap}
  .jsv-mobile-context-nav a[aria-current="page"],.jsv-mobile-context-nav a.active{background:#102d4d!important;border-color:#102d4d!important;color:#fff!important}
  body.jsv-context-profile .jspui-surface.jsf-exact-profile-hub,
  body.jsv-context-profile .jsf-exact-profile-hub,
  body.jsv-context-events .js-events-home-shell,
  body.jsv-context-events .jsf-events-alive,
  body.jsv-context-account .account-settings-grid{display:block!important;width:100%!important;max-width:none!important}
  body.jsv-context-profile :is(.jsf-xp-passport,.jsf-xp-main,.jsf-xp-right),
  body.jsv-context-events :is(.js-events-home-main,.js-events-home-right,.jsf-events-main,.jsf-events-utility),
  body.jsv-context-account :is(.jsf-account-main,.jsf-account-layout){width:100%!important;max-width:none!important;margin:0 0 12px!important;position:static!important}
  .jsf-header-help{min-width:42px!important;width:42px!important;padding:0!important}.jsf-header-help-label{display:none!important}
}
@media (max-width:600px){
  body.jsv-context-rail-owned .jsv-x-content{padding-left:7px!important;padding-right:7px!important}
  .jsv-mobile-context-nav{margin-left:-7px;margin-right:-7px;padding-left:7px;padding-right:7px}
}
@media (prefers-contrast:more){
  :is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail){border:2px solid #fff!important}
  body.jsv-context-account .jsf-account-main :is(input,select,textarea){border:2px solid #10284a!important}
}

/* JSV 2.0.120 — Help controls hardening.
   Keep Help compact in the primary header and prevent support labels from inheriting
   icon-only width rules from feature rails. */
html body header.top.jsf-hybrid-top .quick.jsf-hybrid-quick .jsf-header-action.jsf-header-help{
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  gap:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
html body header.top.jsf-hybrid-top .jsf-header-help .jsf-header-help-icon{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  color:inherit!important;
}
html body header.top.jsf-hybrid-top .jsf-header-help .jsf-svg-icon{
  display:block!important;
  width:21px!important;
  height:21px!important;
}
html body header.top.jsf-hybrid-top .jsf-header-help .jsf-header-help-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html body .jsv-context-help-link,
html body .jsv-context-feedback-link{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:8px 10px!important;
  line-height:1.2!important;
  text-align:left!important;
  overflow:hidden!important;
}
html body .jsv-context-help-link>.jsv-context-link-icon,
html body .jsv-context-feedback-link>.jsv-context-link-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  font-size:13px!important;
  line-height:1!important;
  text-align:center!important;
}
html body .jsv-context-help-link>.jsv-context-link-label,
html body .jsv-context-feedback-link>.jsv-context-link-label{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  color:#fff!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:left!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
/* Profile has older generic a>span icon sizing. Only the actual icon is constrained. */
body.jsf-exact-profile-page .jsf-xp-panel-nav a.jsv-context-help-link>.jsv-context-link-icon,
body.jsf-exact-profile-page .jsf-xp-panel-nav a.jsv-context-feedback-link>.jsv-context-link-icon{
  width:20px!important;
  min-width:20px!important;
  flex-basis:20px!important;
}
body.jsf-exact-profile-page .jsf-xp-panel-nav a.jsv-context-help-link>.jsv-context-link-label,
body.jsf-exact-profile-page .jsf-xp-panel-nav a.jsv-context-feedback-link>.jsv-context-link-label{
  width:auto!important;
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:11px!important;
  line-height:1.2!important;
}
@media(max-width:900px){
  html body header.top.jsf-hybrid-top .quick.jsf-hybrid-quick .jsf-header-action.jsf-header-help{
    width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;
  }
}

/* JSV 2.0.121 — context rail height, Settings contrast, and legal/footer presentation. */
:root{
  --jsv-footer-bg:#102d4d;
  --jsv-footer-bg-2:#0b2744;
  --jsv-footer-text:#f8f4e8;
  --jsv-footer-link:#f3d56b;
}

@media (min-width:901px){
  body.jsv-context-rail-owned :is(.jsf-xp-buddypanel,.js-events-home-rail,.jsf-events-panel,.jsf-settings-rail,.jsm-mp-rail,.jsw-centre-left,.jsf-context-tools,.jsst-sidebar){
    min-height:calc(100dvh - var(--jsv-live-header-bottom,72px) - 28px)!important;
    height:auto!important;
    box-sizing:border-box!important;
    padding-bottom:18px!important;
  }
  body.jsv-context-account .jsf-settings-rail{
    min-height:max(620px,calc(100dvh - var(--jsv-live-header-bottom,72px) - 28px))!important;
    max-height:calc(100dvh - var(--jsv-live-header-bottom,72px) - 22px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(243,213,107,.65) transparent!important;
  }
  body.jsv-context-profile .jsf-xp-buddypanel,
  body.jsv-context-events :is(.js-events-home-rail,.jsf-events-panel){
    max-height:calc(100dvh - var(--jsv-live-header-bottom,72px) - 22px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}

/* Settings/Profile hero text must stay readable even when legacy page CSS loads later. */
html body.jsv-context-account .jsf-account-hero,
html body.jsv-context-account .jsf-account-hero *{
  text-shadow:none!important;
}
html body.jsv-context-account .jsf-account-hero :is(h1,h2,h3,strong,b){
  color:#10284a!important;
  opacity:1!important;
}
html body.jsv-context-account .jsf-account-hero :is(p,small,span,.description,.subtitle){
  color:#51657d!important;
  opacity:1!important;
}
html body.jsv-context-account .jsf-account-main,
html body.jsv-context-account .jsf-account-main :is(section,article,.card,.panel){
  color:#10284a!important;
}
html body.jsv-context-account .jsf-account-main :is(p,small,.description,.hint,.help-text){
  color:#52647c!important;
  opacity:1!important;
}
html body.jsv-context-account .jsf-account-main a:not(.button):not(.btn){
  color:#164f85!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}

/* Prevent bottom rail links from looking clipped. */
html body .jsv-context-help-link,
html body .jsv-context-feedback-link{
  flex-shrink:0!important;
  margin-left:6px!important;
  margin-right:6px!important;
  width:calc(100% - 12px)!important;
}
html body .jsv-context-help-link:last-child,
html body .jsv-context-feedback-link:last-child{margin-bottom:10px!important}

/* One footer visual language for classic and connected shells. */
html body footer.site-footer.jsf-visual-footer,
html body .jsv-x-footer{
  background:linear-gradient(180deg,var(--jsv-footer-bg) 0%,var(--jsv-footer-bg-2) 100%)!important;
  color:var(--jsv-footer-text)!important;
  border-top:2px solid #d9b23f!important;
  box-shadow:0 -4px 18px rgba(5,25,44,.12)!important;
}
html body .jsv-x-footer{
  min-height:58px!important;
  padding:14px 22px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
html body .jsv-x-footer b{color:#fff!important;font-size:17px!important}
html body .jsv-x-footer b span{color:#d8e1ea!important;font:italic 13px Georgia,serif!important;margin-left:10px!important}
html body .jsv-x-footer nav{display:flex!important;align-items:center!important;gap:8px 15px!important;flex-wrap:wrap!important}
html body .jsv-x-footer a,
html body footer.site-footer.jsf-visual-footer a{
  color:var(--jsv-footer-link)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
html body .jsv-x-footer a:hover,
html body .jsv-x-footer a:focus-visible,
html body footer.site-footer.jsf-visual-footer a:hover,
html body footer.site-footer.jsf-visual-footer a:focus-visible{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* Legal pages read as first-class JustScribes content. */
body.page-slug-terms-of-service .jsv-x-content,
body.page-slug-privacy-policy .jsv-x-content{background:#f6f3ea!important}
@media(max-width:900px){
  html body .jsv-x-footer{display:none!important}
}


/* JSV 2.0.124 — Command Center section-owned rail
   Presentation only: the Command Center/plugin remains the owning engine. */
@media (min-width:901px){
  body.jsv-context-admin{--jsx-rail:0px!important;overflow-x:hidden!important}
  body.jsv-context-admin>#jsv-x-rail,
  body.jsv-context-admin>.jsv-x-rail,
  body.jsv-context-admin>.jsv-x-backdrop{display:none!important;visibility:hidden!important;width:0!important;max-width:0!important;overflow:hidden!important}
  body.jsv-context-admin>.jsv-x-page{margin-left:0!important;max-width:none!important;width:calc(100% - var(--jsx-sponsor,0px))!important}
  body.jsv-context-admin .jsv-x-content{width:100%!important;max-width:none!important;margin:0!important;padding:16px 14px 36px!important;box-sizing:border-box!important}
  body.jsv-context-admin .jsf-command-center-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0!important}
  body.jsv-context-admin .jsf-command-center-page .jsf-cc-v2,
  body.jsv-context-admin .jsf-cc-v2{display:grid!important;grid-template-columns:minmax(235px,260px) minmax(0,1fr)!important;width:100%!important;max-width:none!important;margin:0!important;gap:0!important;align-items:stretch!important}
  body.jsv-context-admin .jsf-cc-v2>.jsf-cc-side{
    position:sticky!important;
    top:calc(var(--jsv-live-header-bottom,72px) + 16px)!important;
    align-self:start!important;
    min-height:calc(100vh - var(--jsv-live-header-bottom,72px) - 32px)!important;
    max-height:calc(100vh - var(--jsv-live-header-bottom,72px) - 32px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:16px 0 0 16px!important;
  }
  body.jsv-context-admin .jsf-cc-v2>.jsf-cc-main{min-width:0!important;width:100%!important;max-width:none!important}
}
@media (min-width:1280px){
  body.jsv-context-admin .jsf-command-center-page .jsf-cc-v2{width:100%!important}
}
@media (max-width:900px){
  body.jsv-context-admin .jsf-command-center-page .jsf-cc-v2,
  body.jsv-context-admin .jsf-cc-v2{display:block!important;width:100%!important;margin:0!important;border-radius:0!important}
  body.jsv-context-admin .jsf-cc-v2>.jsf-cc-side{position:static!important;min-height:0!important;max-height:none!important;overflow:visible!important;border-radius:0!important}
}
