/* NOVA RELEASE V7 — unified product shell */
:root{--n-bg:#05060b;--n-panel:rgba(13,16,27,.82);--n-panel2:rgba(18,22,36,.9);--n-border:rgba(255,255,255,.09);--n-border2:rgba(125,105,255,.28);--n-text:#f7f8ff;--n-muted:#9299ae;--n-accent:#7c5cff;--n-accent2:#28c7ff;--n-success:#31d39b;--n-danger:#ff5577;--n-shadow:0 25px 80px rgba(0,0,0,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(900px 500px at 15% -10%,rgba(124,92,255,.18),transparent 60%),radial-gradient(800px 500px at 100% 0%,rgba(40,199,255,.10),transparent 60%),var(--n-bg)!important;color:var(--n-text)!important}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 75%);z-index:-1}
a{color:inherit}button,input,select,textarea{font:inherit}
/* shared surfaces */
.settings-card,.stat-card,.info-box,.module-tile,.server-card,.settings-panel,.dashboard-card,.feature-card,.panel,.card,.nc-panel,.rules-panel,.web-ticket-card,.analytics-card{background:linear-gradient(145deg,rgba(19,23,38,.92),rgba(9,12,21,.88))!important;border:1px solid var(--n-border)!important;box-shadow:var(--n-shadow)!important;backdrop-filter:blur(18px)}
.settings-card,.settings-panel,.panel,.card,.nc-panel,.rules-panel{border-radius:22px!important}.stat-card,.info-box,.module-tile,.server-card,.feature-card{border-radius:18px!important;transition:.22s ease}.stat-card:hover,.module-tile:hover,.server-card:hover,.feature-card:hover{transform:translateY(-3px);border-color:var(--n-border2)!important;box-shadow:0 25px 70px rgba(72,45,180,.18)!important}
button,.btn,.primary-btn,.ghost-btn,.nr-btn,.mini-btn{border-radius:13px!important;transition:.2s ease!important}button:hover,.btn:hover,.primary-btn:hover,.nr-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}input,select,textarea{background:rgba(4,6,12,.72)!important;border:1px solid var(--n-border)!important;color:var(--n-text)!important;border-radius:12px!important;outline:none!important}input:focus,select:focus,textarea:focus{border-color:rgba(124,92,255,.7)!important;box-shadow:0 0 0 4px rgba(124,92,255,.10)!important}
/* landing */
.nl-header{position:sticky!important;top:14px!important;z-index:50!important;margin:14px auto!important;max-width:1240px!important;border:1px solid var(--n-border)!important;background:rgba(6,8,15,.72)!important;backdrop-filter:blur(22px)!important;border-radius:20px!important;box-shadow:0 18px 55px rgba(0,0,0,.35)!important}.nl-hero{max-width:1240px!important;margin:0 auto!important;min-height:760px!important}.nl-hero-copy h1{font-size:clamp(54px,7vw,94px)!important;line-height:.93!important;letter-spacing:-.065em!important}.nl-hero-copy h1 strong{background:linear-gradient(90deg,#fff,#9b8cff 45%,#45d8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.nl-kicker,.nr-kicker{letter-spacing:.16em!important}.nl-product{filter:drop-shadow(0 35px 80px rgba(74,55,190,.25))}.nl-window{border-color:rgba(255,255,255,.14)!important;background:rgba(10,12,20,.9)!important;box-shadow:0 40px 100px rgba(0,0,0,.55)!important}.nl-section{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;padding-top:110px!important}.nl-section-head h2{font-size:clamp(36px,5vw,62px)!important;letter-spacing:-.045em!important}.nl-feature-grid{gap:16px!important}.nl-feature{border-radius:22px!important;background:linear-gradient(145deg,rgba(18,22,36,.9),rgba(8,10,18,.88))!important;border:1px solid var(--n-border)!important}
/* app header / legacy pages */
.app-header{position:sticky!important;top:12px!important;z-index:40!important;margin:12px auto!important;max-width:1280px!important;border:1px solid var(--n-border)!important;background:rgba(6,8,15,.78)!important;backdrop-filter:blur(22px)!important;border-radius:18px!important;box-shadow:0 20px 60px rgba(0,0,0,.35)!important}.dashboard-layout{max-width:1280px!important;margin:0 auto!important}.dashboard-head{padding:54px 0 28px!important}.dashboard-head h1{font-size:clamp(42px,6vw,76px)!important;letter-spacing:-.055em!important}.top-actions{gap:10px!important}.stats-grid{gap:14px!important}.stat-card{padding:22px!important}.stat-card span{color:#8189a2!important;font-size:11px!important;letter-spacing:.12em!important}.stat-card strong{font-size:32px!important}.module-grid{gap:14px!important}.module-tile{padding:22px!important;display:flex!important;flex-direction:column!important;gap:7px!important}.module-tile strong{font-size:17px!important}.module-tile span{color:var(--n-muted)!important;line-height:1.5!important}
/* new dashboard shell */
.nr-app,.nc-shell{min-height:100vh!important}.nr-sidebar,.nc-sidebar{background:linear-gradient(180deg,rgba(8,10,18,.96),rgba(5,7,13,.94))!important;border-right:1px solid var(--n-border)!important;box-shadow:20px 0 70px rgba(0,0,0,.25)!important}.nr-brand,.nc-brand{padding:20px!important}.nr-nav a,.nc-nav-link{margin:4px 10px!important;border-radius:12px!important;color:#8f96aa!important}.nr-nav a.active,.nr-nav a:hover,.nc-nav-link.active,.nc-nav-link:hover{background:linear-gradient(90deg,rgba(124,92,255,.18),rgba(40,199,255,.05))!important;color:#fff!important;border-color:rgba(124,92,255,.2)!important}.nr-content,.nc-content{background:transparent!important}.nr-topbar,.nc-topbar{background:rgba(5,7,13,.72)!important;border-bottom:1px solid var(--n-border)!important;backdrop-filter:blur(18px)!important}.nr-card,.nr-panel{border-radius:20px!important}
/* team/admin */
body:has(.dashboard-layout) .settings-card{padding:24px!important}.server-grid{gap:14px!important}.server-card{padding:20px!important}.server-icon{border-radius:15px!important;background:linear-gradient(135deg,rgba(124,92,255,.35),rgba(40,199,255,.18))!important}.eyebrow{color:#8f83ff!important;letter-spacing:.14em!important;font-weight:800!important}.muted{color:var(--n-muted)!important}.team-nav,.admin-nav{border-color:var(--n-border)!important}
/* public community */
.public-hero,.public-server-hero{position:relative!important;overflow:hidden!important;border-radius:30px!important;border:1px solid var(--n-border)!important;background:radial-gradient(circle at 15% 0%,rgba(124,92,255,.26),transparent 45%),linear-gradient(145deg,rgba(16,19,32,.95),rgba(7,9,16,.92))!important;box-shadow:var(--n-shadow)!important}.public-hero h1,.public-server-hero h1{font-size:clamp(46px,7vw,86px)!important;letter-spacing:-.06em!important}.public-card,.public-section,.public-stat{background:rgba(13,16,27,.78)!important;border:1px solid var(--n-border)!important;border-radius:20px!important;backdrop-filter:blur(16px)!important}.public-stat strong{font-size:32px!important}
/* release banner */
.nova-release-banner{position:relative;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 16px;margin:10px auto 0;max-width:1280px;border:1px solid rgba(124,92,255,.24);border-radius:14px;background:linear-gradient(90deg,rgba(124,92,255,.13),rgba(40,199,255,.08));color:#cbd0e0;font-size:12px}.nova-release-banner b{color:#fff}.nova-release-dot{width:7px;height:7px;border-radius:50%;background:#31d39b;box-shadow:0 0 16px #31d39b}
/* responsive */
@media(max-width:900px){.nl-header{top:6px!important;margin:6px!important}.nl-header nav{display:none}.nl-hero{padding:70px 18px!important}.dashboard-layout{padding:0 16px}.app-header{margin:6px!important}.nova-release-banner{margin:6px 10px 0}.nr-sidebar,.nc-sidebar{display:none!important}}

/* NOVA 1.0.0 — HALLOWEEN 2026 SEASONAL OVERLAY */
:root{--h-orange:#ff7a18;--h-purple:#8b5cf6;--h-night:#03040a}
body.nova-halloween{background:radial-gradient(700px 360px at 82% 0%,rgba(255,122,24,.12),transparent 68%),radial-gradient(650px 420px at 8% 18%,rgba(139,92,246,.13),transparent 70%),var(--n-bg)!important}
.nova-halloween-fx{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}
.nova-halloween-fx:before{content:"";position:absolute;top:-130px;right:-90px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8dc 0 5%,#e8dfbd 18%,rgba(232,223,189,.7) 42%,rgba(232,223,189,0) 70%);box-shadow:0 0 80px rgba(255,240,190,.16)}
.nova-halloween-fx:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(130,130,160,.07),transparent 52%),linear-gradient(to top,rgba(140,140,170,.035),transparent 55%);animation:novaFog 10s ease-in-out infinite alternate}
.nova-web{position:absolute;width:300px;height:300px;opacity:.42;border-radius:50%;background:repeating-radial-gradient(circle at 0 0,transparent 0 25px,rgba(224,229,240,.42) 26px 27px),linear-gradient(45deg,transparent 49.5%,rgba(224,229,240,.34) 50%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,rgba(224,229,240,.34) 50%,transparent 50.5%);filter:drop-shadow(0 0 8px rgba(255,255,255,.08));transform:rotate(15deg)}
.nova-web-a{top:-85px;left:-70px}.nova-web-b{top:5px;right:-120px;transform:rotate(-18deg) scale(.78)}
.nova-spider{position:absolute;font-size:30px;filter:drop-shadow(0 0 9px rgba(0,0,0,.8));animation:novaSpider 7s ease-in-out infinite}
.nova-spider:before{content:"";position:absolute;width:1px;height:150px;background:rgba(220,225,235,.34);left:50%;bottom:85%;transform:translateX(-50%)}
.nova-spider-a{top:110px;left:12%;animation-delay:-2s}.nova-spider-b{top:185px;right:9%;font-size:24px;animation-delay:-5s}
.nova-bat{position:absolute;font-size:25px;opacity:.6;animation:novaBat 12s linear infinite}.nova-bat-a{top:105px;left:-40px}.nova-bat-b{top:240px;left:-100px;animation-delay:-6s;font-size:19px}
.nova-pumpkin{position:absolute;bottom:14px;font-size:24px;opacity:.55;filter:drop-shadow(0 0 10px rgba(255,122,24,.18))}.nova-pumpkin-a{right:20px}.nova-pumpkin-b{left:20px;opacity:.28}
.nova-halloween-badge{position:fixed;right:18px;bottom:18px;z-index:9999;padding:8px 12px;border:1px solid rgba(255,122,24,.22);border-radius:999px;background:rgba(8,7,14,.78);backdrop-filter:blur(12px);color:#ffb26f;font-size:10px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.28)}
@keyframes novaFog{from{transform:translateX(-2%);opacity:.45}to{transform:translateX(2%);opacity:.8}}@keyframes novaSpider{0%,100%{transform:translateY(-8px) rotate(-2deg)}50%{transform:translateY(28px) rotate(3deg)}}@keyframes novaBat{0%{transform:translateX(0) translateY(0) rotate(4deg)}50%{transform:translateX(54vw) translateY(-35px) rotate(-4deg)}100%{transform:translateX(108vw) translateY(5px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.nova-halloween-fx *{animation:none!important}.nova-halloween-fx:after{animation:none!important}}
