/* V27.7.6 - iOS-safe shared application header.
   Moves the effective header content below the iOS reserved top strip,
   gives logo/share tighter button outlines, relocates the visible BETA slot
   into the user row, and trims the nav row to reclaim vertical pixels. */
.admin-global-nav{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}
.global-layout-container{padding-top:0!important}
.rcm-app-header{position:relative;z-index:120;display:block;width:100%;margin:0;padding:0}

/* Media row */
.top-share-header{
    width:100%!important;
    height:56px!important;
    min-height:0!important;
    max-height:56px!important;
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr) max-content!important;
    grid-template-rows:56px!important;
    gap:6px!important;
    align-items:end!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
.top-share-header>.rcm-header-logo-cell,
.top-share-header>.top-share-ad,
.top-share-header>.page-share-qr-stack{
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}
.top-share-header>.rcm-header-logo-cell{
    width:max-content!important;
    max-width:100%!important;
    justify-self:start!important;
    align-self:end!important;
}
.top-share-header>.top-share-ad{
    width:100%!important;
    height:56px!important;
    min-height:0!important;
    max-height:56px!important;
}
.top-share-header>.page-share-qr-stack{
    width:max-content!important;
    justify-self:end!important;
    align-self:end!important;
}

.brand-logo-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:100%!important;
    height:50px!important;
    min-height:0!important;
    max-height:50px!important;
    padding:2px!important;
    border:1px solid #334155!important;
    border-radius:10px!important;
    background:#0b1220!important;
    box-shadow:0 2px 7px rgba(0,0,0,.28)!important;
    overflow:hidden!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
}
.brand-logo-button:hover{border-color:#60a5fa!important}
.brand-logo-button:active{transform:translateY(1px)}
.brand-logo-button .logo{
    display:block!important;
    width:auto!important;
    height:46px!important;
    min-height:0!important;
    max-height:46px!important;
    object-fit:contain!important;
    margin:0!important;
}

.top-share-ad{display:flex!important;min-height:0!important;align-items:end!important}
.top-share-ad .ad-banner-728x90{
    width:100%!important;
    max-width:none!important;
    height:54px!important;
    min-height:0!important;
    max-height:54px!important;
    margin:0!important;
    padding:0!important;
    border-radius:9px!important;
    overflow:hidden!important;
}

.page-share-qr-stack{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:0!important;
    min-height:0!important;
}
.page-share-qr-button{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:2px!important;
    border:1px solid #475569!important;
    border-radius:10px!important;
    background:#111827!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    overflow:hidden!important;
    touch-action:manipulation!important;
}
.page-share-qr-button:hover,.page-share-qr-button:active{border-color:#7ab8ff!important;background:#172033!important}
.page-share-qr-button img:not(.page-share-vip-badge){
    display:block!important;
    width:44px!important;
    height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
    aspect-ratio:1/1!important;
    background:#fff!important;
    border-radius:4px!important;
}
.page-share-vip-badge{
    display:block!important;
    width:44px!important;
    height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
    border-radius:5px!important;
    object-fit:cover!important;
}
.page-share-signin-link{display:none!important}

/* Status row */
.header-user-line{
    position:relative!important;
    z-index:125!important;
    width:auto!important;
    min-height:44px!important;
    max-height:44px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 78px!important;
    align-items:center!important;
    gap:8px!important;
    margin:1px 0 0!important;
    padding:0 1px!important;
    line-height:1!important;
}
.header-user-left,.header-user-right{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
}
.header-user-right{justify-content:flex-end!important}
.header-beta-slot{
    position:relative!important;
    z-index:130!important;
    width:78px!important;
    min-width:78px!important;
    height:36px!important;
    min-height:36px!important;
    justify-self:end!important;
}
.header-user-profile-link,.header-user-profile-placeholder{min-width:0;line-height:1!important}
.header-user-profile-link{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    min-height:44px!important;
    padding:0 3px!important;
    font-size:clamp(14px,3.1vw,18px)!important;
    text-decoration:none!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(122,184,255,.18)!important;
}
.header-user-profile-link:hover,.header-user-profile-link:active{text-decoration:underline!important}
.header-user-signout-link,
.header-user-signout-link:visited,
.header-user-signout-link:hover,
.header-user-signout-link:focus,
.header-user-signout-link:active{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:0 10px!important;
    border-radius:8px!important;
    color:#ff4d4d!important;
    font-size:clamp(12px,2.7vw,15px)!important;
    font-weight:1000!important;
    line-height:1!important;
    text-decoration:underline!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(255,77,77,.16)!important;
}
.header-user-signin-link,
.header-user-signin-link:visited,
.header-user-signin-link:hover,
.header-user-signin-link:active,
.header-user-signin-link:focus{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:0 10px!important;
    border-radius:8px!important;
    color:#7ab8ff!important;
    font-size:clamp(12px,2.7vw,15px)!important;
    font-weight:1000!important;
    line-height:1!important;
    text-decoration:underline!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(122,184,255,.18)!important;
}
.header-user-profile-placeholder{
    display:inline-flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:0 3px!important;
    color:#60a5fa!important;
    font-size:clamp(13px,3vw,16px)!important;
    font-weight:900!important;
    text-decoration:underline!important;
}

/* Main entity tabs */
.unified-nav-row{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 6px!important;
    padding:1px 0 6px!important;
    border-bottom:1px solid #263244!important;
    background:#05070d!important;
}
.header-nav-left{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
}
.header-nav-left .nav-button{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:5px 6px!important;
    border:1px solid #475569!important;
    border-radius:8px!important;
    background:#172033!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-user-select:none!important;
    user-select:none!important;
}
.header-nav-left .nav-button:hover,.header-nav-left .nav-button:active{background:#22304a!important;border-color:#64748b!important}
.header-nav-left .nav-button.is-active{background:#1d4ed8!important;border-color:#93c5fd!important;box-shadow:inset 0 0 0 1px rgba(147,197,253,.24),0 2px 7px rgba(37,99,235,.28)!important}
.header-nav-left .nav-button.is-active:hover,.header-nav-left .nav-button.is-active:active{background:#2563eb!important;border-color:#bfdbfe!important}
.header-nav-left .nav-button .rcm-tab-label{pointer-events:none!important;white-space:nowrap!important}
.header-nav-left .nav-button.is-rcm-reset-armed{box-shadow:inset 0 0 0 2px rgba(250,204,21,.9)!important}

.calendar-event.is-share-selected{border-color:#60a5fa!important;box-shadow:0 0 0 2px rgba(96,165,250,.55) inset,0 0 12px rgba(96,165,250,.22)!important}
.rcm-share-host{font-size:13px}

@media(max-width:460px){
    .rcm-app-header{
        padding-top:calc(env(safe-area-inset-top, 0px) + 6px)!important;
    }
    .top-share-header{
        height:54px!important;
        max-height:54px!important;
        grid-template-rows:54px!important;
        gap:5px!important;
    }
    .top-share-header>.top-share-ad{height:54px!important;max-height:54px!important}
    .top-share-ad .ad-banner-728x90{height:50px!important;max-height:50px!important}
    .brand-logo-button{height:48px!important;max-height:48px!important;padding:2px!important}
    .brand-logo-button .logo{height:44px!important;max-height:44px!important}
        .page-share-qr-button{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important}
    .page-share-qr-button img:not(.page-share-vip-badge),
    .page-share-vip-badge{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important}
    .header-user-line{gap:6px!important;margin:0!important}
    .header-beta-slot{width:78px!important;min-width:78px!important;height:34px!important;min-height:34px!important}
    .unified-nav-row{padding:1px 0 5px!important;margin:0 0 5px!important}
    .header-nav-left{gap:4px!important}
    .header-nav-left .nav-button{min-height:32px!important;padding:3px 3px!important;font-size:12px!important}
}


/* V27.7.9: detail/card state uses the same green cue as Show list. */
.header-nav-left .nav-button.is-active.is-detail-active{
    background:#16a34a!important;
    border-color:#86efac!important;
    box-shadow:inset 0 0 0 1px rgba(134,239,172,.24),0 2px 7px rgba(22,163,74,.28)!important;
}
.header-nav-left .nav-button.is-active.is-detail-active:hover,
.header-nav-left .nav-button.is-active.is-detail-active:active{
    background:#22c55e!important;
    border-color:#bbf7d0!important;
}

/* V27.7.10.5.3: guests get a moving auth/perks callout with a reserved BETA zone.
   BETA floats at the right edge for signed-out users while the ticker is clipped
   before the BETA hit area; the guest row itself stays overflow-visible so the
   expanded BETA panel is not clipped. Signed-in geometry is unchanged. */
.header-user-line.is-guest{
    display:block!important;
    position:relative!important;
    min-height:44px!important;
    max-height:44px!important;
    overflow:visible!important;
    padding:0!important;
    border-radius:8px!important;
}
.header-user-line.is-guest .header-beta-slot-guest{
    position:absolute!important;
    top:5px!important;
    right:4px!important;
    left:auto!important;
    transform:none!important;
    z-index:150!important;
    margin:0!important;
    pointer-events:auto!important;
    isolation:isolate!important;
}
.header-guest-perks-link,
.header-guest-perks-link:visited,
.header-guest-perks-link:hover,
.header-guest-perks-link:active,
.header-guest-perks-link:focus{
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:88px!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    min-height:44px!important;
    overflow:hidden!important;
    border:1px solid rgba(250,204,21,.38)!important;
    border-radius:8px!important;
    background:linear-gradient(90deg,rgba(8,47,73,.52),rgba(30,41,59,.72),rgba(8,47,73,.52))!important;
    color:#fde68a!important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:1000!important;
    line-height:1!important;
    white-space:nowrap!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(250,204,21,.16)!important;
    animation:rcm-guest-perks-glow 1.8s ease-in-out infinite alternate!important;
}
.header-guest-perks-track{
    position:relative!important;
    left:100%!important;
    display:inline-block!important;
    width:max-content!important;
    min-width:max-content!important;
    padding-left:0!important;
    will-change:transform!important;
    text-shadow:0 0 7px rgba(250,204,21,.28)!important;
}
.header-guest-perks-track.is-running{
    animation:rcm-guest-perks-pass var(--rcm-guest-pass-duration,32s) linear 1 forwards!important;
}
@keyframes rcm-guest-perks-pass{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-100% - var(--rcm-guest-lane-width,300px)))}
}
@keyframes rcm-guest-perks-glow{
    from{border-color:rgba(59,130,246,.32);color:#bfdbfe;box-shadow:inset 0 0 0 1px rgba(59,130,246,.04)}
    to{border-color:rgba(250,204,21,.58);color:#fde68a;box-shadow:inset 0 0 10px rgba(250,204,21,.08)}
}
@media(max-width:460px){
    .header-guest-perks-link{font-size:12px!important}
    .header-user-line.is-guest .header-beta-slot-guest{top:5px!important;right:3px!important}
    .header-guest-perks-link{right:84px!important}
}
@media(prefers-reduced-motion:reduce){
    .header-guest-perks-link{animation:none!important}
    .header-guest-perks-track{
        width:100%!important;
        min-width:0!important;
        padding:0 86px!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        text-align:center!important;
        animation:none!important;
        left:0!important;
        transform:none!important;
    }
}


/* V27.7.10.5.4: keep the signed-out BETA dropdown inside the app frame and
   make the auth CTA visually louder than the surrounding rocker ticker. */
.header-user-line.is-guest .header-beta-slot-guest [data-rcm-drag-panel="1"] .rcm-beta-panel-body{
    left:auto!important;
    right:0!important;
    transform:translateY(-6px)!important;
    width:min(220px,calc(100vw - 18px))!important;
    max-width:calc(100vw - 18px)!important;
}
.header-user-line.is-guest .header-beta-slot-guest [data-rcm-drag-panel="1"].is-expanded .rcm-beta-panel-body{
    transform:translateY(0)!important;
}
.header-guest-perks-cta{
    color:#7cff6b!important;
    font-weight:1000!important;
    text-shadow:0 0 5px rgba(124,255,107,.95),0 0 11px rgba(34,197,94,.55)!important;
    animation:rcm-guest-cta-pulse .9s ease-in-out infinite alternate!important;
}
@keyframes rcm-guest-cta-pulse{
    from{filter:brightness(1);opacity:.9}
    to{filter:brightness(1.35);opacity:1}
}
@media(prefers-reduced-motion:reduce){
    .header-guest-perks-cta{animation:none!important}
}

/* V27.7.10.5.7: one complete pass per message; approximately 2x faster. Active page/card scrolling
   freezes the pass; copy is never replaced until the old message is fully off-screen. */
.header-guest-perks-track.is-page-scrolling{
    animation-play-state:paused!important;
}


/* V27.7.10.5.9: signed-in status row uses the full line for My Fan/account state.
   Header Sign Out is intentionally removed; the RCM logo opens the Front Door,
   where the existing Sign Out action remains available. BETA owns the right edge. */
.header-user-line:not(.is-guest){
    grid-template-columns:minmax(0,1fr) 78px!important;
    gap:6px!important;
}
.header-user-line:not(.is-guest) .header-user-left{min-width:0!important;overflow:hidden!important;}
.header-user-line:not(.is-guest) .header-user-profile-link{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
}
.header-user-line:not(.is-guest) .header-user-profile-link>*{flex:0 0 auto!important;}
.header-user-line:not(.is-guest) .global-user-name{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.header-user-line:not(.is-guest) .header-beta-slot{justify-self:end!important;}
.header-user-right,.header-user-signout-link{display:none!important;}
@media(max-width:460px){
    .header-user-line:not(.is-guest){grid-template-columns:minmax(0,1fr) 78px!important;gap:4px!important;}
    .header-user-line:not(.is-guest) .header-user-profile-link{font-size:14px!important;padding-left:2px!important;padding-right:2px!important;}
}

/* V27.7.10.5.10: signed-in BETA is anchored at the far-right edge of the
   account row, so its dropdown must open leftward from that same edge.
   This mirrors the guest containment rule and keeps the panel inside the app. */
.header-user-line:not(.is-guest) .header-beta-slot [data-rcm-drag-panel="1"] .rcm-beta-panel-body{
    left:auto!important;
    right:0!important;
    transform:translateY(-6px)!important;
    width:min(220px,calc(100vw - 18px))!important;
    max-width:calc(100vw - 18px)!important;
}
.header-user-line:not(.is-guest) .header-beta-slot [data-rcm-drag-panel="1"].is-expanded .rcm-beta-panel-body{
    transform:translateY(0)!important;
}

/* V27.7.10.5.23.8.5: hard-right RCM reset switch. BETA remains immediately
   to its left; the control clears RCM-owned browser cache/state and replaces
   the current entry with the canonical Events Month root. Native Back stays
   browser/PWA controlled. */
.rcm-header-kill-switch{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
    border:2px solid #ef4444!important;border-radius:999px!important;
    background:#16090b!important;color:#fecaca!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;margin:0!important;font:900 23px/1 Arial,sans-serif!important;
    cursor:pointer!important;touch-action:manipulation!important;z-index:156!important;
    box-shadow:0 2px 8px rgba(0,0,0,.35)!important;
}
.rcm-header-kill-switch:hover,.rcm-header-kill-switch:active{background:#7f1d1d!important;color:#fff!important;border-color:#fca5a5!important;}
.header-user-line:not(.is-guest){grid-template-columns:minmax(0,1fr) 78px 32px!important;gap:5px!important;}
.header-user-line:not(.is-guest)>.rcm-header-kill-switch{justify-self:end!important;}
.header-user-line.is-guest>.rcm-header-kill-switch{position:absolute!important;top:5px!important;right:3px!important;}
.header-user-line.is-guest .header-beta-slot-guest{right:40px!important;}
.header-user-line.is-guest .header-guest-perks-link{right:124px!important;}
@media(max-width:460px){
    .header-user-line:not(.is-guest){grid-template-columns:minmax(0,1fr) 74px 32px!important;gap:3px!important;}
    .header-user-line.is-guest .header-beta-slot-guest{right:39px!important;}
    .header-user-line.is-guest .header-guest-perks-link{right:122px!important;}
}


/* RCM_APP_28.1.3.29 — make My Fan an unmistakable app-nav control. */
.header-user-line:not(.is-guest) .header-user-profile-link{
    width:auto!important;max-width:100%!important;min-height:34px!important;margin:2px 0!important;padding:4px 9px!important;
    border:1px solid #4f73aa!important;border-radius:8px!important;background:#142238!important;
    box-shadow:inset 0 0 0 1px rgba(116,164,229,.08)!important;color:#fff!important;font-weight:900!important;text-decoration:none!important;
}
.header-user-line:not(.is-guest) .header-user-profile-link:hover,
.header-user-line:not(.is-guest) .header-user-profile-link:active{border-color:#60a5fa!important;background:#1d4ed8!important;text-decoration:none!important}
.header-user-line:not(.is-guest) .header-user-profile-label{color:#bfdbfe!important;font-weight:900!important}
