/* ============================================================
   SEASONAL THEME — FIFA WORLD CUP 2026 (Distributor variant)
   Mirrors agent/theme.css 1:1 in colors and motion. Selectors
   remapped to distributor_dashboard.php's actual DOM (top-header,
   bal-val/refreshBtn, u-card, sheet, toast) since structure differs
   from agent.php. Swap this single file each season.
   ============================================================ */

@keyframes wcFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-6px) rotate(8deg)}}
@keyframes wcSpinSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes wcShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes wcPulseRing{0%{box-shadow:0 0 0 0 rgba(37,99,235,.35)}70%{box-shadow:0 0 0 8px rgba(37,99,235,0)}100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}}
@keyframes wcPop{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.03)}100%{transform:scale(1);opacity:1}}
@keyframes wcConfettiFall{0%{transform:translateY(-12px) rotate(0deg);opacity:1}100%{transform:translateY(120px) rotate(540deg);opacity:0}}
@keyframes wcSlideUp{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}

/* Top header gets a tiny floating ball + subtle animated underline */
.top-header{position:relative;overflow:visible}
.top-header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#2563EB,#0EA5E9,#2563EB);background-size:200% 100%;animation:wcShimmer 3.5s linear infinite}
.brand-icon::after{content:'⚽';display:inline-block;margin-left:6px;font-size:13px;animation:wcFloat 2.4s ease-in-out infinite}

/* Balance pill — shimmer sweep + soft pulse ring on load */
.bal-refresh-row{position:relative;overflow:hidden;animation:wcPulseRing 2.5s ease-out 1}
.bal-refresh-row::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:200% 100%;animation:wcShimmer 2.8s linear infinite}
#refreshBtn{transition:transform .25s}
#refreshBtn:hover{transform:rotate(120deg)}

/* Sidebar nav links — staggered slide-in + hover bounce */
.sidebar.active .nav-link{animation:wcSlideUp .35s ease both}
.sidebar.active .nav-link:nth-child(2){animation-delay:.03s}
.sidebar.active .nav-link:nth-child(3){animation-delay:.07s}
.sidebar.active .nav-link:nth-child(4){animation-delay:.11s}
.sidebar.active .nav-link:nth-child(5){animation-delay:.15s}
.nav-link:hover i{transform:translateX(3px) scale(1.1);transition:transform .2s}
.nav-link i{transition:transform .2s}

/* Cards entrance */
.card{animation:wcSlideUp .4s ease both}

/* Stat cards — small trophy/ball accents + hover lift */
.stat-card{position:relative;transition:transform .2s,box-shadow .2s}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(37,99,235,.12)}
.stat-card:first-child .stat-val::after{content:'🏆';margin-left:6px;font-size:13px;display:inline-block;animation:wcFloat 3s ease-in-out infinite}

/* Buttons — confident press + shine sweep on hover */
.btn-primary{position:relative;overflow:hidden}
.btn-primary::before{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .5s ease}
.btn-primary:hover::before{left:130%}
.btn:active{transform:scale(.97)}

/* Preset balance buttons — playful pop on hover */
.preset{transition:transform .18s,background .18s,color .18s,border-color .18s}
.preset:hover{transform:translateY(-2px) scale(1.05)}

/* Account rows — subtle slide-in + hover highlight bar */
.u-card{position:relative;animation:wcSlideUp .3s ease both}
.u-card::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,#2563EB,#0EA5E9);transform:scaleY(0);transition:transform .2s}
.u-card:hover::before{transform:scaleY(1)}

/* Sheet — bouncy entrance */
.sheet.active{animation:wcSlideUp .3s cubic-bezier(.34,1.56,.64,1) both}

/* Toast — slight bounce on show */
.toast.show{animation:wcPop .3s cubic-bezier(.34,1.56,.64,1) both}

/* Login page accents (only applies if present on this page) */
.logo-icon{animation:wcFloat 3.2s ease-in-out infinite}
.submit-btn{position:relative;overflow:hidden}
.submit-btn::before{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .5s ease}
.submit-btn:hover::before{left:130%}

/* Reduced motion respect */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
