/* Nightwave Admin Control Center — game-menu style admin UX */
#admin-panel-view.admin-control-center-ready > h3,
#admin-panel-view.admin-control-center-ready > #admin-site-tabs,
#admin-panel-view.admin-control-center-ready > .admin-zone,
#admin-panel-view.admin-control-center-ready > .admin-panel-grid,
#admin-panel-view.admin-control-center-ready > #admin-raffle-fields,
#admin-panel-view.admin-control-center-ready > #admin-access-fields,
#admin-panel-view.admin-control-center-ready > .admin-btn-row,
#admin-panel-view.admin-control-center-ready > #admin-save-status{display:none!important}

.admin-modal:has(#admin-panel-view.admin-control-center-ready){width:min(1180px,96vw);height:min(820px,92vh);max-height:92vh;overflow:hidden;padding:0;background:linear-gradient(145deg,rgba(9,11,16,.985),rgba(15,18,25,.985));border:1px solid rgba(255,255,255,.11);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.68),0 0 0 1px rgba(230,30,55,.16),0 0 42px rgba(230,30,55,.10)}
.admin-modal:has(#admin-panel-view.admin-control-center-ready) .admin-modal-close{z-index:20;top:16px;right:16px;width:34px;height:34px;border-radius:9px;background:#151922;border-color:rgba(255,255,255,.12)}

.nw-admin-app{height:100%;min-height:650px;display:grid;grid-template-columns:260px minmax(0,1fr);color:#f5f7fb}
.nw-admin-sidebar{position:relative;padding:24px 18px 20px;background:linear-gradient(180deg,#0b0e14 0%,#090b10 100%);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}
.nw-admin-brand{padding:2px 10px 20px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.nw-admin-kicker{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#e61e37;font-weight:900}
.nw-admin-brand h2{margin:5px 0 4px;font-size:1.18rem;letter-spacing:.02em}.nw-admin-brand p{margin:0;color:#7f8796;font-size:.75rem;line-height:1.4}
.nw-admin-nav{display:flex;flex-direction:column;gap:6px}
.nw-admin-nav-btn{appearance:none;width:100%;border:1px solid transparent;background:transparent;color:#aeb5c1;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;font-weight:750;transition:.16s ease}
.nw-admin-nav-btn:hover{color:#fff;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07);transform:translateX(2px)}
.nw-admin-nav-btn.active{color:#fff;background:linear-gradient(90deg,rgba(230,30,55,.20),rgba(230,30,55,.055));border-color:rgba(230,30,55,.26);box-shadow:inset 3px 0 #e61e37}
.nw-admin-nav-icon{width:24px;text-align:center;font-size:1rem}.nw-admin-sidebar-spacer{flex:1}
.nw-admin-session{border-top:1px solid rgba(255,255,255,.07);padding:14px 8px 0;display:grid;gap:8px}.nw-admin-session button{width:100%}

.nw-admin-main{min-width:0;display:flex;flex-direction:column;background:radial-gradient(circle at 80% 0%,rgba(230,30,55,.07),transparent 33%),#10131a}
.nw-admin-topbar{height:78px;flex:0 0 78px;padding:18px 62px 14px 26px;border-bottom:1px solid rgba(255,255,255,.075);display:flex;justify-content:space-between;align-items:center;background:rgba(12,15,21,.78)}
.nw-admin-titlebox{min-width:0}.nw-admin-breadcrumb{font-size:.68rem;color:#737c8b;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin-bottom:4px}.nw-admin-title{font-size:1.25rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nw-admin-status-pill{font-size:.68rem;font-weight:850;color:#86e69a;border:1px solid rgba(76,210,110,.25);background:rgba(76,210,110,.09);padding:6px 10px;border-radius:999px;white-space:nowrap}
.nw-admin-content{position:relative;flex:1;min-height:0;overflow:auto;padding:24px 26px 90px}
.nw-admin-screen[hidden]{display:none!important}

.nw-admin-welcome{margin-bottom:18px}.nw-admin-welcome h3{margin:0 0 6px;font-size:1.35rem}.nw-admin-welcome p{margin:0;color:#8992a2;max-width:720px;line-height:1.55;font-size:.84rem}
.nw-admin-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nw-admin-card{position:relative;min-height:126px;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.085);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.018));cursor:pointer;transition:.17s ease;color:#fff;text-align:left;font:inherit;overflow:hidden}
.nw-admin-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--card-accent,#e61e37);opacity:.8}.nw-admin-card:hover{transform:translateY(-2px);border-color:rgba(230,30,55,.33);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(230,30,55,.035));box-shadow:0 10px 26px rgba(0,0,0,.24)}
.nw-admin-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.nw-admin-card-icon{font-size:1.22rem;width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.06)}.nw-admin-card-title{font-weight:900;font-size:.95rem}.nw-admin-card p{margin:0;color:#8992a2;font-size:.77rem;line-height:1.45;max-width:90%}.nw-admin-card-arrow{position:absolute;right:16px;bottom:14px;color:#596171;font-size:1.1rem}

.nw-admin-submenu-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.nw-admin-back{appearance:none;border:1px solid rgba(255,255,255,.1);background:#171b24;color:#e9edf4;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:800}.nw-admin-back:hover{background:#202631}.nw-admin-submenu-title{font-weight:900;font-size:1.1rem}
.nw-admin-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nw-admin-module-card{min-height:108px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#151922;color:#fff;text-align:left;cursor:pointer;font:inherit;transition:.15s ease}.nw-admin-module-card:hover{border-color:rgba(230,30,55,.34);background:#191e28;transform:translateY(-1px)}.nw-admin-module-card strong{display:block;font-size:.86rem;margin-bottom:5px}.nw-admin-module-card span{display:block;color:#7f8999;font-size:.72rem;line-height:1.4}

.nw-admin-pane{max-width:840px;margin:0 auto}.nw-admin-pane-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.075)}.nw-admin-pane-header h3{margin:0 0 5px;font-size:1.18rem}.nw-admin-pane-header p{margin:0;color:#828b9b;font-size:.78rem;line-height:1.5}
.nw-admin-pane-body{display:grid;gap:12px}.nw-admin-pane-body > .admin-zone,.nw-admin-pane-body > .admin-col-toggles,.nw-admin-pane-body > .leaderboard-field-group,.nw-admin-pane-body > .site-specific-group,.nw-admin-pane-body > .home-only-group,.nw-admin-pane-body > .admin-field,.nw-admin-pane-body > .admin-field-grid,.nw-admin-pane-body > .admin-btn-row{margin:0!important;max-width:none!important;background:#141820;border:1px solid rgba(255,255,255,.075);border-radius:12px;padding:16px}
.nw-admin-pane-body .admin-zone{background:#141820;border-color:rgba(255,255,255,.075)}
.nw-admin-pane-body .admin-zone-danger{background:rgba(105,18,28,.14);border-color:rgba(230,30,55,.30)}
.nw-admin-pane-body .admin-control-desc{color:#858e9e;font-size:.75rem;line-height:1.5}
.nw-admin-pane-body .admin-field label{display:flex;align-items:center;gap:7px;color:#d8dce4;font-weight:800;font-size:.76rem}
.nw-admin-pane-body input[type=text],.nw-admin-pane-body input[type=number],.nw-admin-pane-body input[type=datetime-local],.nw-admin-pane-body input[type=password],.nw-admin-pane-body textarea,.nw-admin-pane-body select{background:#0d1016!important;border:1px solid rgba(255,255,255,.11)!important;color:#f3f5f8!important;border-radius:9px!important;min-height:40px!important;padding:9px 11px!important;outline:none!important;transition:.15s ease!important}.nw-admin-pane-body textarea{min-height:150px!important}.nw-admin-pane-body input:focus,.nw-admin-pane-body textarea:focus,.nw-admin-pane-body select:focus{border-color:rgba(230,30,55,.55)!important;box-shadow:0 0 0 3px rgba(230,30,55,.09)!important}
.nw-admin-pane-body .admin-toggle-row{gap:8px}.nw-admin-pane-body .admin-toggle{background:#0f131a;border:1px solid rgba(255,255,255,.075);padding:10px 12px;border-radius:9px;min-height:42px;display:flex;align-items:center;position:relative}
.nw-admin-pane-body .admin-toggle:hover{border-color:rgba(255,255,255,.15);background:#121720}.nw-admin-pane-body .admin-color-row{background:#0f131a;border:1px solid rgba(255,255,255,.075);border-radius:9px;padding:10px 12px;margin:7px 0}

.nw-admin-info{position:relative;width:18px;height:18px;border-radius:50%;border:1px solid #667083;background:#1a202a;color:#aeb7c6;display:inline-grid;place-items:center;font-size:.65rem;font-weight:900;cursor:help;line-height:1;flex:0 0 18px;padding:0}
.nw-admin-info:hover,.nw-admin-info:focus{color:#fff;border-color:#e61e37;background:#28151a;outline:none}
.nw-admin-info:after{content:attr(data-tip);position:absolute;z-index:1000;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:260px;max-width:70vw;padding:9px 10px;border-radius:8px;background:#07090d;border:1px solid rgba(255,255,255,.13);box-shadow:0 12px 30px rgba(0,0,0,.45);color:#dfe4ec;font-size:.7rem;font-weight:600;line-height:1.45;letter-spacing:0;text-transform:none;opacity:0;pointer-events:none;transition:.13s ease}.nw-admin-info:hover:after,.nw-admin-info:focus:after{opacity:1;transform:translateX(-50%) translateY(0)}

.nw-admin-savebar{position:absolute;z-index:10;left:0;right:0;bottom:0;min-height:68px;padding:12px 26px;border-top:1px solid rgba(255,255,255,.08);background:rgba(10,12,17,.94);backdrop-filter:blur(12px);display:flex;align-items:center;gap:9px}.nw-admin-savebar .admin-btn-row{margin:0!important;display:flex!important;gap:8px}.nw-admin-savebar .admin-status{margin-left:auto}.nw-admin-savebar[data-mode="raffle"] #admin-save-btn,.nw-admin-savebar[data-mode="raffle"] #admin-refresh-btn{display:none}.nw-admin-savebar:not([data-mode="raffle"]) #admin-raffle-save-btn,.nw-admin-savebar:not([data-mode="raffle"]) #admin-raffle-refresh-btn{display:none}

@media(max-width:900px){.nw-admin-app{grid-template-columns:82px minmax(0,1fr)}.nw-admin-brand h2,.nw-admin-brand p,.nw-admin-kicker,.nw-admin-nav-btn span:not(.nw-admin-nav-icon),.nw-admin-session .nw-session-label{display:none}.nw-admin-brand{height:44px;padding:0 0 12px}.nw-admin-nav-btn{justify-content:center;padding:11px}.nw-admin-nav-icon{width:auto}.nw-admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nw-admin-card-grid{grid-template-columns:1fr}}
@media(max-width:620px){.admin-modal:has(#admin-panel-view.admin-control-center-ready){width:100vw;height:100vh;max-height:100vh;border-radius:0}.nw-admin-app{grid-template-columns:64px minmax(0,1fr);min-height:100vh}.nw-admin-sidebar{padding:16px 8px}.nw-admin-content{padding:18px 14px 90px}.nw-admin-topbar{padding-left:16px}.nw-admin-module-grid{grid-template-columns:1fr}.nw-admin-pane-body .admin-field-grid{grid-template-columns:1fr}.nw-admin-info:after{left:auto;right:-8px;transform:none;width:220px}.nw-admin-info:hover:after,.nw-admin-info:focus:after{transform:none}}

/* v1.1 scroll fix: give every layer between the modal and the content area a
   fixed height so .nw-admin-content (overflow:auto) actually scrolls instead
   of growing past the modal and getting clipped. */
.admin-modal:has(#admin-panel-view.admin-control-center-ready){display:flex;flex-direction:column}
#admin-panel-view.admin-control-center-ready{flex:1 1 auto;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#admin-panel-view.admin-control-center-ready>.nw-admin-app{flex:1 1 auto;height:100%;min-height:0}
.nw-admin-main{min-height:0;overflow:hidden}
.nw-admin-content{overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(230,30,55,.55) transparent}
.nw-admin-content::-webkit-scrollbar{width:8px}
.nw-admin-content::-webkit-scrollbar-thumb{background:rgba(230,30,55,.45);border-radius:8px}
.nw-admin-content::-webkit-scrollbar-track{background:transparent}
@media(max-width:900px){.nw-admin-app{min-height:0}}
