body.theme-halloween{background-color:var(--season-page);background-image:radial-gradient(circle at 8% 12%,rgba(237,141,25,.10),transparent 22rem),radial-gradient(circle at 92% 72%,rgba(81,38,95,.12),transparent 28rem)}
body.theme-christmas{background-color:var(--season-page);background-image:radial-gradient(circle at 12% 18%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 76% 42%,rgba(255,255,255,.8) 0 2px,transparent 3px),linear-gradient(135deg,rgba(20,91,60,.04),transparent 45%);background-size:76px 76px,108px 108px,auto}
body.theme-halloween:not(.legacy-kiosk) .header,body.theme-christmas:not(.legacy-kiosk) .header{position:relative;isolation:isolate;overflow:hidden}
body.theme-halloween:not(.legacy-kiosk) .header>* ,body.theme-christmas:not(.legacy-kiosk) .header>*{position:relative;z-index:2}
body.theme-halloween:not(.legacy-kiosk) .header::before{content:'🦇       🦇';position:absolute;z-index:1;left:36%;top:7px;color:#fff;font-size:20px;letter-spacing:42px;opacity:.34;animation:halloween-bats 5s ease-in-out infinite}
body.theme-halloween:not(.legacy-kiosk) .header::after{content:'🌕';position:absolute;z-index:1;right:18px;top:-29px;font-size:84px;opacity:.13;transform:rotate(-8deg)}
body.theme-halloween:not(.legacy-kiosk) .brand::after{content:' 🎃';margin-left:5px}
body.theme-halloween .card,body.theme-halloween .table-wrap,body.theme-halloween .stat{box-shadow:0 10px 30px rgba(61,25,70,.10)}
body.theme-halloween .dashboard-card h2::before{content:'🕯️ ';font-size:.86em}
body.theme-halloween .member-life-card strong::before{content:'🕸️ ';font-size:.9em}
body.theme-halloween .event{border-left-color:var(--season-accent);background:#fff6e5}
body.theme-halloween .button.primary{background:linear-gradient(135deg,var(--green),#6f3278)}
body.theme-halloween .badge:not(.danger){background:#fff0d7;color:#713b23}
body.theme-christmas:not(.legacy-kiosk) .header::before{content:'❄   ❅   ❄   ❅   ❄   ❅';position:absolute;z-index:1;left:30%;top:-28px;width:70%;color:#fff;font-size:18px;word-spacing:34px;opacity:.5;animation:christmas-snow 6s linear infinite}
body.theme-christmas:not(.legacy-kiosk) .header::after{content:'✦  ✧  ✦';position:absolute;z-index:1;right:22px;bottom:-4px;color:#f6d98c;font-size:18px;letter-spacing:15px;opacity:.65}
body.theme-christmas:not(.legacy-kiosk) .brand::after{content:' 🎄';margin-left:5px}
body.theme-christmas .card,body.theme-christmas .table-wrap,body.theme-christmas .stat{box-shadow:0 10px 30px rgba(19,76,51,.09)}
body.theme-christmas .dashboard-card h2::before{content:'⭐ ';font-size:.86em}
body.theme-christmas .member-life-card strong::before{content:'🎁 ';font-size:.9em}
body.theme-christmas .event{border-left-color:var(--season-accent);background:#fff4e5}
body.theme-christmas .button.primary{background:linear-gradient(135deg,var(--green),#0e6b46)}
body.theme-christmas .badge:not(.danger){background:#f7eadc;color:#8c2933}
@keyframes halloween-bats{50%{transform:translateY(9px) rotate(3deg)}}
@keyframes christmas-snow{from{transform:translateY(0)}to{transform:translateY(102px)}}
@media(prefers-reduced-motion:reduce){body.theme-halloween .header::before,body.theme-christmas .header::before{animation:none}}
@media(max-width:760px){body.theme-halloween:not(.legacy-kiosk) .header::before{left:48%;letter-spacing:15px;opacity:.22}body.theme-halloween:not(.legacy-kiosk) .header::after{right:-12px}body.theme-christmas:not(.legacy-kiosk) .header::before{left:42%;width:58%;word-spacing:14px;opacity:.34}.theme-halloween .brand::after,.theme-christmas .brand::after{display:none}}
