:root{--y:#fdd41e;--b:#000;--r:#e63946;--g:#06d6a0;--w:#fff;--dg:#1a1a1a}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Arial,sans-serif;background:#000;color:#fff;min-height:100vh}
.hidden{display:none!important}

/* BRAND LOGO */
.sl-wordmark{font-family:Impact,"Arial Black",sans-serif;font-style:italic;font-weight:900;font-size:18px;letter-spacing:1px;text-transform:uppercase;color:#FFA520;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,2px 2px 0 rgba(0,0,0,.6)}
.sl-mark{display:block;flex-shrink:0}

/* LOADING */
#loading-screen{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999}
.loader-mark{animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.loader-text{margin-top:18px;color:#888;letter-spacing:3px;font-size:12px;text-transform:uppercase}

/* LANDING NAV */
#landing-nav{background:#000;padding:0 40px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid #111}
.lnav-logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.lnav-links{display:flex;gap:32px;list-style:none}
.lnav-links a{color:#999;text-decoration:none;font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:color .2s}
.lnav-links a:hover{color:#fff}
.lnav-right{display:flex;gap:10px}
.btn-lnav{background:transparent;border:2px solid #fff;color:#fff;padding:7px 20px;border-radius:25px;font-weight:bold;font-size:12px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s}
.btn-lnav:hover{background:#fff;color:#000}

/* HERO */
#sec-hero{background:#000;padding:80px 40px 70px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#111;border:1px solid #333;padding:8px 18px;border-radius:30px;font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:#ccc;margin-bottom:44px}
.hero-h{font-size:96px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:-2px;margin-bottom:16px}
.hero-h .y{color:var(--y)}
.hero-tag{font-size:13px;letter-spacing:6px;text-transform:uppercase;color:#666;margin-bottom:28px}
.hero-desc{font-size:16px;color:#bbb;line-height:1.7;max-width:540px;margin-bottom:44px}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:70px}
.btn-hp{background:var(--y);color:#000;padding:16px 36px;border:none;border-radius:50px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s}
.btn-hp:hover{background:#e6c000;transform:translateY(-2px)}
.btn-hs{background:transparent;border:2px solid #555;color:#fff;padding:16px 36px;border-radius:50px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s}
.btn-hs:hover{border-color:#fff}
.hero-stats{display:flex;gap:60px;justify-content:center;flex-wrap:wrap}
.hstat-num{font-size:42px;font-weight:900;color:var(--y);display:block}
.hstat-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:2px}

/* SEARCH */
#sec-search{background:var(--y);padding:22px 40px;display:flex;justify-content:center}
.search-wrap{display:flex;max-width:680px;width:100%}
.search-input{flex:1;padding:14px 20px;background:#fff;border:none;border-radius:8px 0 0 8px;font-size:15px;color:#333;outline:none}
.search-input::placeholder{color:#bbb}
.search-btn{background:var(--r);color:#fff;padding:14px 28px;border:none;border-radius:0 8px 8px 0;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.search-btn:hover{background:#c0303a}

/* SECTION SHARED */
.sec-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--y);margin-bottom:10px;font-weight:bold}
.sec-title{font-size:46px;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}
.sec-desc{font-size:15px;line-height:1.6;max-width:520px;margin:0 auto 50px}

/* HOW IT WORKS */
#sec-how{background:#111;padding:80px 40px;text-align:center}
#sec-how .sec-desc{color:#888}
.steps{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto}
.step-card{background:var(--dg);border-radius:12px;padding:28px 22px;flex:1;min-width:180px;max-width:210px;border-top:3px solid var(--r);position:relative;text-align:left}
.step-n{position:absolute;top:14px;right:16px;font-size:34px;font-weight:900;color:#2a2a2a}
.step-icon{width:44px;height:44px;background:#222;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.step-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.step-desc{font-size:12px;color:#888;line-height:1.6}

/* PICK YOUR SPORT */
#sec-sports{background:var(--dg);padding:80px 40px;text-align:center}
#sec-sports .sec-desc{color:#888}
.sports-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto}
.sport-card{background:#111;border-radius:12px;padding:28px 18px;flex:1;min-width:150px;max-width:190px;border:2px solid #222;text-align:center;cursor:pointer;transition:all .3s}
.sport-card:hover{border-color:var(--y);transform:translateY(-4px)}
.sport-icon{font-size:38px;display:block;margin-bottom:10px}
.sport-name{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.sport-players{font-size:11px;color:#666}

/* HYDERABAD LADDERS */
#sec-ladders{background:#fff;color:#000;padding:80px 40px;text-align:center}
#sec-ladders .sec-label{color:var(--r)}
#sec-ladders .sec-title{color:#000}
#sec-ladders .sec-desc{color:#666}
.ltabs{display:flex;gap:8px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}
.ltab{padding:10px 24px;background:transparent;border:2px solid #ddd;border-radius:30px;font-weight:bold;font-size:12px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:#aaa;transition:all .2s}
.ltab.active{background:#000;color:#fff;border-color:#000}
.ltable{max-width:700px;margin:0 auto;border-radius:12px;overflow:hidden;border:1px solid #eee}
.ltable-head{display:grid;grid-template-columns:80px 1fr 80px 80px 110px;background:#111;color:#aaa;font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;padding:13px 20px}
.ltable-row{display:grid;grid-template-columns:80px 1fr 80px 80px 110px;padding:15px 20px;border-bottom:1px solid #f0f0f0;align-items:center;background:#fff}
.ltable-row:last-child{border-bottom:none}
.rbadge{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;color:#fff}
.rb1{background:#FFD700;color:#000}.rb2{background:#C0C0C0;color:#000}.rb3{background:#CD7F32}.rbn{background:#333}
.ch-btn{background:#000;color:#fff;padding:6px 14px;border:none;border-radius:20px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.ch-btn:hover{background:#333}
.ldata.hidden{display:none!important}

/* BENEFITS */
#sec-benefits{background:var(--y);padding:80px 40px;text-align:center}
#sec-benefits .sec-label{color:rgba(0,0,0,.55)}
#sec-benefits .sec-title{color:#000}
#sec-benefits .sec-desc{color:rgba(0,0,0,.6)}
.bene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.bene-card{background:rgba(255,255,255,.18);border:2px solid rgba(0,0,0,.1);border-radius:12px;padding:28px 22px;text-align:center}
.bene-icon{font-size:30px;display:block;margin-bottom:12px}
.bene-title{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;color:#000}
.bene-desc{font-size:13px;color:rgba(0,0,0,.65);line-height:1.6}

/* DASHBOARD PREVIEW */
#sec-dash-prev{background:#fff;color:#000;padding:80px 40px;text-align:center}
#sec-dash-prev .sec-label{color:var(--r)}
#sec-dash-prev .sec-title{color:#000}
#sec-dash-prev .sec-desc{color:#666}
.prev-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.prev-card{border-radius:12px;padding:22px;text-align:left;border:2px solid}
.prev-card.c-red{border-color:var(--r)}.prev-card.c-green{border-color:var(--g)}.prev-card.c-yellow{border-color:var(--y)}
.prev-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:18px;text-align:center;color:#000}
.prev-vs{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:14px}
.prev-player{text-align:center}
.prev-av{width:46px;height:46px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;margin:0 auto 5px;color:#333}
.prev-pname{font-size:10px;color:#999}
.prev-vstext{font-weight:900;color:#ccc;font-size:14px}
.prev-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px;color:#888}
.prev-row b{color:#000}
.prev-actions{display:flex;gap:8px;margin-top:14px}
.btn-accept{background:var(--g);color:#000;padding:8px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:pointer;flex:1}
.btn-decline{background:var(--r);color:#fff;padding:8px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:pointer;flex:1}
.btn-manage{background:#000;color:#fff;padding:9px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:pointer;width:100%;margin-top:14px}
.score-wrap{display:flex;justify-content:center;align-items:center;gap:12px;margin:10px 0}
.score-box{width:46px;height:46px;border:2px solid #ddd;border-radius:8px;font-size:22px;font-weight:900;text-align:center;background:#fff;color:#000}
.btn-submit{background:var(--y);color:#000;padding:9px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:pointer;width:100%;margin-top:8px}

/* ACTIVE LADDERS */
#sec-active{background:var(--y);padding:80px 40px;text-align:center}
#sec-active .sec-label{color:rgba(0,0,0,.55)}
#sec-active .sec-title{color:#000;font-size:38px}
#sec-active .sec-desc{color:rgba(0,0,0,.6)}
.btn-create{background:#000;color:#fff;padding:13px 26px;border:none;border-radius:50px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer;margin-bottom:38px;display:inline-block}
.aladders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.alad-card{background:#fff;border-radius:12px;padding:22px;text-align:left;border:2px solid rgba(0,0,0,.08)}
.alad-sport{font-size:10px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:#888;margin-bottom:6px}
.alad-name{font-size:17px;font-weight:900;color:#000;text-transform:uppercase;margin-bottom:5px}
.alad-venue{font-size:11px;color:#aaa;margin-bottom:14px}
.alad-stats{display:flex;gap:18px;margin-bottom:14px}
.alad-stat span{display:block;font-size:20px;font-weight:900;color:#000}
.alad-stat label{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:1px}
.btn-join{background:#000;color:#fff;padding:10px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:pointer;width:100%}
.btn-join:hover{background:#333}
.btn-join-full{background:#e0e0e0;color:#aaa;padding:10px;border:none;border-radius:8px;font-weight:900;font-size:12px;text-transform:uppercase;cursor:not-allowed;width:100%}

/* RULES */
#sec-rules{background:#fff;color:#000;padding:80px 40px;text-align:center}
#sec-rules .sec-label{color:var(--r)}
#sec-rules .sec-title{color:#000}
#sec-rules .sec-desc{color:#666}
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:880px;margin:0 auto}
.rule-card{border-radius:12px;padding:34px;text-align:left}
.rule-card.dark{background:#000;color:#fff}
.rule-card.ylw{background:var(--y);color:#000}
.rule-card-title{font-size:17px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;color:var(--y)}
.rule-card.ylw .rule-card-title{color:#000}
.rule-card ol{padding-left:18px}
.rule-card ol li,.rule-card ul li{font-size:13px;line-height:1.8;margin-bottom:2px}
.rule-card ul{list-style:disc;padding-left:18px}

/* JOIN SECTION */
#sec-join{background:var(--dg);padding:80px 40px;text-align:center}
#sec-join .sec-label{color:var(--y)}
#sec-join .sec-title{color:#fff}
#sec-join .sec-desc{color:#888}
.join-box{background:#111;border-radius:16px;padding:40px;max-width:460px;margin:0 auto;border-top:5px solid var(--y)}
.join-title{font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:24px;color:#fff}
.fg{margin-bottom:16px;text-align:left}
.fg label{display:block;font-size:10px;font-weight:bold;color:#888;text-transform:uppercase;letter-spacing:2px;margin-bottom:7px}
.fg input{width:100%;padding:13px 16px;background:var(--dg);border:2px solid #333;border-radius:10px;color:#fff;font-size:15px;outline:none;transition:border-color .2s;font-family:inherit}
.fg input:focus{border-color:var(--y)}
.fg input::placeholder{color:#555}
.btn-create-acct{width:100%;background:var(--y);color:#000;padding:15px;border:none;border-radius:50px;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s;margin-top:6px}
.btn-create-acct:hover{background:#e6c000;transform:translateY(-2px)}
.btn-create-acct:disabled{background:#555;color:#888;cursor:not-allowed;transform:none}
.join-signin-txt{margin-top:16px;font-size:13px;color:#888}
.join-signin-txt a{color:var(--y);cursor:pointer;font-weight:bold}
.err-msg{background:rgba(230,57,70,.15);border:1px solid var(--r);color:#ff8a8a;padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:14px;display:none;text-align:left}
.err-msg.show{display:block}
.succ-msg{background:rgba(6,214,160,.15);border:1px solid var(--g);color:#06d6a0;padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:14px;display:none;text-align:left}
.succ-msg.show{display:block}

/* CTA */
#sec-cta{background:var(--r);padding:80px 40px;text-align:center}
.cta-title{font-size:54px;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;font-style:italic}
.cta-desc{font-size:16px;color:rgba(255,255,255,.85);margin-bottom:34px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-cta1{background:transparent;border:3px solid #fff;color:#fff;padding:15px 34px;border-radius:50px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;font-style:italic;transition:all .2s}
.btn-cta1:hover{background:#fff;color:var(--r)}
.btn-cta2{background:transparent;border:3px solid rgba(255,255,255,.5);color:rgba(255,255,255,.85);padding:15px 34px;border-radius:50px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;font-style:italic;transition:all .2s}
.btn-cta2:hover{border-color:#fff;color:#fff}

/* FOOTER */
footer{background:#111;padding:56px 60px 28px;color:#fff}
.footer-top{display:grid;grid-template-columns:260px 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
.flogo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.fbrand-desc{font-size:13px;color:#777;line-height:1.7}
.fcol-title{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:2px;color:#555;margin-bottom:14px}
.fcol ul{list-style:none}
.fcol ul li{margin-bottom:9px}
.fcol ul li a{font-size:13px;color:#999;text-decoration:none;cursor:pointer;transition:color .2s}
.fcol ul li a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #1e1e1e;padding-top:22px}
.fcopy{font-size:12px;color:#555}
.ftagline{font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:var(--y)}

/* LOGIN MODAL */
#login-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
#login-modal.hidden{display:none!important}
.login-box{background:#111;border-radius:20px;padding:40px;width:100%;max-width:400px;border-top:5px solid var(--y);position:relative}
.login-box h3{font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:#fff;margin-bottom:6px}
.login-box p{color:#888;font-size:14px;margin-bottom:26px}
.modal-close{position:absolute;top:14px;right:16px;background:transparent;border:none;color:#666;font-size:26px;cursor:pointer;line-height:1}
.modal-close:hover{color:#fff}
.btn-login-go{width:100%;background:var(--y);color:#000;padding:15px;border:none;border-radius:50px;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s;margin-top:6px}
.btn-login-go:hover{background:#e6c000}
.btn-login-go:disabled{background:#555;color:#888;cursor:not-allowed}
.login-create-link{margin-top:18px;text-align:center;font-size:13px;color:#888}
.login-create-link a{color:var(--y);cursor:pointer;font-weight:bold}

/* SETUP SCREEN */
#setup-screen{min-height:100vh;padding:30px 20px;background:var(--dg);display:flex;flex-direction:column;align-items:center}
.setup-box{background:#111;border-radius:20px;padding:40px;width:100%;max-width:500px;border-top:5px solid var(--g)}
.setup-box h2{font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;color:var(--y)}
.setup-box>p{color:#888;font-size:14px;margin-bottom:28px;line-height:1.6}
.avatar-picker{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.avatar-opt{width:44px;height:44px;border-radius:50%;cursor:pointer;border:3px solid transparent;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.avatar-opt:hover,.avatar-opt.selected{border-color:var(--y);transform:scale(1.15)}
.sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px}
.sport-opt{position:relative;padding:11px 6px;border:2px solid #333;border-radius:10px;text-align:center;cursor:pointer;transition:all .2s;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;color:#888;background:var(--dg)}
.sport-opt:hover,.sport-opt.selected{border-color:var(--y);color:var(--y);background:rgba(253,212,30,.08)}
.sport-opt.joined{border-color:#4ade80!important;color:#4ade80!important;background:rgba(74,222,128,.1)!important;cursor:default}
.sport-opt.joined::after{content:'✓';position:absolute;top:4px;right:6px;font-size:10px;font-weight:900;color:#4ade80}
.sport-opt .sico{font-size:20px;display:block;margin-bottom:4px}
.btn-primary{width:100%;background:var(--y);color:#000;padding:15px;border:none;border-radius:50px;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s;margin-top:6px}
.btn-primary:hover{background:#e6c000;transform:translateY(-2px)}
.btn-primary:disabled{background:#555;color:#888;cursor:not-allowed;transform:none}

/* DASHBOARD */
#dashboard-screen{min-height:100vh;background:var(--dg)}
#top-nav{background:#000;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--y)}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.nav-right{display:flex;align-items:center;gap:10px}
#nav-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--y);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#000;cursor:pointer;border:2px solid transparent;transition:border-color .2s}
#nav-user-avatar:hover{border-color:var(--r)}
.btn-nav{background:transparent;border:2px solid var(--y);color:var(--y);padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:bold;font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:all .2s}
.btn-nav:hover{background:var(--y);color:#000}
.dash-content{padding:20px}
.dash-grid{display:grid;grid-template-columns:300px 1fr;gap:22px;max-width:1080px;margin:0 auto}
.profile-card{background:#111;border-radius:20px;padding:28px;border-top:5px solid var(--y);height:fit-content}
.profile-avatar{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 14px;border:3px solid var(--y)}
.profile-name{text-align:center;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.profile-team{text-align:center;color:var(--y);font-size:13px;font-weight:bold;letter-spacing:1px;margin-bottom:18px}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.stat-box{background:var(--dg);border-radius:10px;padding:11px;text-align:center}
.stat-num{font-size:22px;font-weight:900;color:var(--y);display:block}
.stat-label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:1px}
.profile-detail{font-size:13px;color:#888;margin:5px 0;display:flex;align-items:center;gap:7px}
.profile-detail span{color:#ccc}
.btn-edit{width:100%;background:transparent;border:2px solid var(--y);color:var(--y);padding:9px;border-radius:25px;font-weight:bold;font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;margin-top:18px;transition:all .2s}
.btn-edit:hover{background:var(--y);color:#000}
.panel{background:#111;border-radius:20px;padding:22px}
.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.panel-title{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:var(--y)}
.panel-badge{background:var(--r);color:#fff;font-size:11px;font-weight:bold;padding:4px 10px;border-radius:20px;letter-spacing:1px}
.ladder-row{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:12px;margin-bottom:7px;background:var(--dg);transition:all .2s}
.ladder-row:hover{background:#222}
.ladder-row.is-me{background:rgba(253,212,30,.08);border:2px solid rgba(253,212,30,.3)}
.ladder-rank{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;flex-shrink:0}
.r1{background:#FFD700;color:#000}.r2{background:#C0C0C0;color:#000}.r3{background:#CD7F32;color:#fff}.rn{background:#333;color:#999}
.ladder-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;border:2px solid #333}
.ladder-info{flex:1;min-width:0}
.ladder-name{font-size:14px;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ladder-sub{font-size:11px;color:#888;margin-top:2px}
.ladder-wins{text-align:right;flex-shrink:0}
.ladder-wins-num{font-size:17px;font-weight:900;color:var(--g);display:block}
.ladder-wins-label{font-size:10px;color:#666}
.me-badge{background:var(--y);color:#000;font-size:10px;font-weight:900;padding:2px 7px;border-radius:10px;letter-spacing:1px;margin-left:5px}
.empty-state{text-align:center;padding:38px;color:#555}
.empty-state .empty-icon{font-size:38px;display:block;margin-bottom:10px}
.players-grid{display:flex;flex-direction:column;gap:0;margin-top:0}
.player-card{background:var(--dg);border-radius:13px;padding:18px;text-align:center;transition:all .3s;border:2px solid transparent}
.player-card:hover{border-color:var(--y);transform:translateY(-4px)}
.player-card .p-avatar{width:52px;height:52px;border-radius:50%;margin:0 auto 9px;display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid #333}
.player-card .p-name{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.player-card .p-team{font-size:11px;color:var(--y);margin-bottom:5px}
.player-card .p-sport{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:1px}
.player-card .p-stats{display:flex;gap:9px;justify-content:center;margin-top:9px}
.player-card .p-stat{font-size:11px;color:#888}
.player-card .p-stat b{color:#fff;font-size:13px}
.dash-tabs{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap}
.dash-tab{padding:8px 18px;background:var(--dg);border:2px solid #333;border-radius:25px;font-weight:bold;font-size:12px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:#666;transition:all .2s}
.dash-tab.active,.dash-tab:hover{background:var(--y);color:#000;border-color:var(--y)}

/* TEAM CHOICE SCREEN */
#team-choice-screen{min-height:100vh;padding:30px 20px;background:var(--dg);display:flex;flex-direction:column;align-items:center}
.tc-toggle{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.btn-tc{flex:1;padding:13px;border-radius:12px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s}
.btn-tc-outline{background:transparent;border:2px solid var(--y);color:var(--y)}
.btn-tc-outline:hover,.btn-tc-outline.active{background:var(--y);color:#000}
.btn-tc-solid{background:var(--g);border:2px solid var(--g);color:#000}
.btn-tc-solid:hover{background:#05c090}
.team-select{width:100%;padding:13px 16px;background:var(--dg);border:2px solid #333;border-radius:10px;color:#fff;font-size:14px;outline:none;font-family:inherit;cursor:pointer;transition:border-color .2s}
.team-select:focus{border-color:var(--y)}
.team-select option{background:#1a1a1a;color:#fff}
.cap-badge{background:var(--r);color:#fff;font-size:10px;font-weight:900;padding:2px 7px;border-radius:10px;letter-spacing:1px;margin-left:5px}

/* EDIT MODAL */
#edit-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
#edit-modal.hidden{display:none!important}
/* MULTI-LADDER MODAL */
#multi-ladder-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}
#multi-ladder-modal.hidden{display:none!important}
.ml-box{background:#111;border-radius:18px;padding:30px;width:100%;max-width:440px;border-top:4px solid var(--y)}
.ml-sport-label{display:flex;align-items:center;gap:10px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:11px 14px;cursor:pointer;transition:border-color .15s}
.ml-sport-label:hover{border-color:#555}
.ml-sport-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--y);cursor:pointer;flex-shrink:0}
.edit-box{background:#111;border-radius:20px;padding:34px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;border-top:5px solid var(--g)}
.edit-box h3{font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:var(--y);margin-bottom:22px}
.modal-btns{display:flex;gap:10px;margin-top:18px}
.btn-save{flex:1;background:var(--y);color:#000;padding:12px;border:none;border-radius:25px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.btn-save:hover{background:#e6c000}
.btn-cancel{flex:1;background:transparent;border:2px solid #555;color:#888;padding:12px;border-radius:25px;font-weight:bold;font-size:14px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.btn-cancel:hover{border-color:#888;color:#fff}

/* TOAST */
#toast{position:fixed;bottom:28px;right:28px;background:var(--g);color:#000;padding:13px 22px;border-radius:50px;font-weight:bold;font-size:13px;z-index:999;transform:translateY(80px);opacity:0;transition:all .3s;letter-spacing:1px}
#toast.show{transform:translateY(0);opacity:1}
#toast.error{background:var(--r);color:#fff}

/* CHALLENGE SYSTEM */
#challenge-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:700;display:flex;align-items:center;justify-content:center;padding:20px}
#challenge-modal.hidden{display:none!important}
#challenge-sent-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:800;display:flex;align-items:center;justify-content:center;padding:20px}
#autowin-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:810;display:flex;align-items:center;justify-content:center;padding:20px}
#autowin-modal.hidden{display:none!important}
#join-request-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:820;display:flex;align-items:center;justify-content:center;padding:20px}
#join-request-modal.hidden{display:none!important}
.challenge-box{background:#111;border-radius:20px;padding:30px;width:100%;max-width:380px;border-top:5px solid var(--r)}
.ch-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:2px;text-align:center;margin-bottom:6px;color:var(--r)}
.ch-timer-row{text-align:center;font-size:11px;color:#666;letter-spacing:1px;margin-bottom:16px}
.ch-timer-val{color:var(--y);font-weight:900;font-size:15px}
.ch-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px;color:#888}
.ch-row b{color:#fff}
.ch-warn{background:rgba(230,57,70,.12);border:1px solid rgba(230,57,70,.3);border-radius:8px;padding:9px;font-size:11px;color:#ff8a8a;margin-bottom:14px;text-align:center}
.ch-card{background:var(--dg);border-radius:12px;padding:16px;border-left:4px solid var(--r);margin-bottom:10px}
.ch-card.ch-accepted{border-left-color:var(--g)}
.ch-card.ch-ongoing{border-left-color:var(--y)}
.ch-card.ch-result{border-left-color:#555}
.ch-card-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:#777;margin-bottom:8px}
.ch-teams{font-size:14px;font-weight:900;color:#fff;margin-bottom:3px}
.ch-teams .hl{color:var(--y)}
.ch-sub{font-size:11px;color:#555;margin-bottom:8px}
.ch-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.ch-btn{flex:1;min-width:70px;padding:8px 12px;border:none;border-radius:20px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.ch-btn-red{background:var(--r);color:#fff}
.ch-btn-green{background:var(--g);color:#000}
.ch-btn-yellow{background:var(--y);color:#000}
.ch-btn-dark{background:#2a2a2a;color:#888;border:1px solid #333}
.game-timer{font-size:36px;font-weight:900;color:var(--y);text-align:center;margin:8px 0;font-family:monospace;letter-spacing:4px}
.game-timer.expired{color:var(--r)}
.result-btns{display:flex;gap:8px;margin-top:10px}
.btn-won{flex:1;background:var(--g);color:#000;border:none;padding:12px;border-radius:10px;font-weight:900;font-size:13px;text-transform:uppercase;cursor:pointer}
.btn-lost{flex:1;background:#333;color:#aaa;border:none;padding:12px;border-radius:10px;font-weight:900;font-size:13px;text-transform:uppercase;cursor:pointer}
.score-row{display:flex;align-items:flex-end;gap:10px;margin:10px 0 12px;justify-content:center}
.score-side{text-align:center;flex:1}
.score-side label{display:block;font-size:10px;color:#666;margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}
.score-input{width:100%;background:#1a1a1a;border:1px solid #444;color:#fff;font-size:28px;font-weight:900;text-align:center;padding:10px 4px;border-radius:8px;appearance:textfield;-moz-appearance:textfield;box-sizing:border-box}
.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}
.score-input:focus{outline:none;border-color:var(--y)}
.score-dash{font-size:22px;font-weight:900;color:#444;padding-bottom:12px}
.final-score{font-size:22px;font-weight:900;color:#fff;text-align:center;letter-spacing:3px;margin:6px 0}
.final-score .s-win{color:var(--g)}.final-score .s-lose{color:#555}
.challenge-rank-btn{background:var(--r);color:#fff;border:none;padding:5px 10px;border-radius:12px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer;flex-shrink:0}
.challenge-rank-btn:hover{background:#c0303a}

/* CHALLENGE DETAILS MODAL */
#challenge-details-modal{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:850;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.cd-field{margin-bottom:13px}
.cd-label{display:block;font-size:10px;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-weight:700}
.cd-input{width:100%;background:#1a1a1a;border:1px solid #333;color:#fff;padding:10px 12px;border-radius:8px;font-size:14px;box-sizing:border-box;font-family:inherit}
.cd-input:focus{outline:none;border-color:var(--y)}
.cd-input::placeholder{color:#444}
.cd-fee-box{background:#0d0d0d;border:1px solid #1e3a1e;border-radius:10px;padding:14px;margin-bottom:14px}
.cd-fee-title{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.cd-fee-amt{font-size:30px;font-weight:900;color:var(--g);line-height:1}
.cd-fee-upi{font-size:12px;color:#888;margin:6px 0 10px}
.cd-fee-upi b{color:#aaa;user-select:all}
.cd-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#aaa;cursor:pointer;line-height:1.4}
.formation-grid{display:flex;gap:8px;flex-wrap:wrap}
.form-opt{flex:1;min-width:50px;padding:8px 4px;background:#1a1a1a;border:1px solid #333;color:#aaa;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;text-align:center;transition:border-color .15s,color .15s,background .15s;letter-spacing:.5px}
.form-opt:hover{border-color:#555;color:#fff}
.form-opt.selected{border-color:var(--y);color:var(--y);background:#1a1600}
.grounds-checklist{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow-y:auto;padding:2px 0}
.ground-item{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#0d0d0d;border:1px solid #222;border-radius:8px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}
.ground-item:hover{border-color:#444}
.ground-item.selected{border-color:var(--y);background:#1a1600}
.gi-name{font-size:13px;color:#bbb;font-weight:600}
.gi-area{font-size:10px;color:#555;margin-left:8px;white-space:nowrap}
.ground-item.selected .gi-name{color:var(--y)}
.ground-item.selected .gi-area{color:#888}
.ground-chip{background:#1a1600;border:1px solid #4a3800;color:#c8a000;border-radius:12px;padding:3px 10px;font-size:10px;font-weight:700;white-space:nowrap}
.jr-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #0d0d0d;background:#111}
.jr-row:first-child{border-top:1px solid #1a1a1a}
.jr-av{width:40px;height:40px;border-radius:50%;background:#000;border:2px solid var(--y);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:var(--y);flex-shrink:0;text-transform:uppercase}
.jr-info{flex:1;min-width:0}
.jr-name{font-size:14px;font-weight:700;color:#fff;letter-spacing:.3px;margin-bottom:3px}
.jr-sub{font-size:11px;color:#555}
.jr-sub b{color:#888;font-weight:600}
.jr-btns{display:flex;gap:8px;flex-shrink:0}
.jr-btn-accept{background:var(--g);border:none;color:#000;padding:7px 14px;border-radius:20px;font-size:11px;font-weight:900;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:opacity .15s}
.jr-btn-accept:hover{opacity:.8}
.jr-btn-reject{background:transparent;border:1px solid #333;color:#555;padding:7px 14px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:border-color .15s,color .15s}
.jr-btn-reject:hover{border-color:#666;color:#888}
.squad-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #0d0d0d;transition:background .15s}
.squad-row:hover{background:#0a0a0a}
.squad-me{background:#0d0d00!important}
.sq-av{width:40px;height:40px;border-radius:50%;background:#1a1a1a;border:2px solid #333;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:900;color:#ccc;flex-shrink:0}
.squad-me .sq-av{border-color:var(--y);color:var(--y)}
.sq-info{flex:1;min-width:0}
.sq-name{font-size:13px;font-weight:700;color:#fff;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sq-cap-tag{background:var(--y);color:#000;font-size:9px;font-weight:900;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}
.sq-sub{font-size:11px;color:#555;margin-top:2px}
.sq-actions{display:flex;gap:6px;flex-shrink:0}
.sq-btn{padding:5px 11px;border-radius:20px;font-size:10px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .15s;border:1px solid}
.sq-btn-transfer{border-color:var(--y);color:var(--y);background:transparent}
.sq-btn-transfer:hover{background:var(--y);color:#000}
.sq-btn-remove{border-color:#333;color:#555;background:transparent}
.sq-btn-remove:hover{border-color:var(--r);color:var(--r)}
#transfer-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:820;display:flex;align-items:center;justify-content:center;padding:20px}
#transfer-modal.hidden{display:none!important}
.cd-check input{margin-top:2px;accent-color:var(--g);flex-shrink:0}
.cd-error{font-size:12px;color:var(--r);min-height:16px;margin-bottom:8px;text-align:center}

/* LOADER LOGO */
.loader-logo{width:90px;animation:pulse 1.2s infinite}
/* NAV LOGO IMG */
.sl-nav-img{height:36px;display:block}

/* SCROLLABLE LADDER TABS */
.ltabs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.ltabs{display:flex;gap:8px;flex-wrap:nowrap;min-width:max-content;justify-content:flex-start}
.ltab-sep{display:flex;align-items:center;color:#999;padding:0 4px;font-size:16px;flex-shrink:0}

/* ALERT BELL BUTTON */
.btn-alert-bell{background:transparent;border:2px solid #555;color:#fff;padding:6px 12px;border-radius:20px;cursor:pointer;font-size:16px;transition:all .2s;line-height:1}
.btn-alert-bell:hover{border-color:var(--y)}

/* DELETE / LEAVE TEAM BUTTON */
.btn-delete-team{margin-top:6px;background:transparent;border:2px solid var(--r);color:var(--r);padding:5px 16px;border-radius:20px;font-size:10px;font-weight:900;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s;display:block;width:fit-content;margin-left:auto;margin-right:auto}
.btn-delete-team:hover{background:var(--r);color:#fff}

/* LOSERS PAY NOTE */
.losers-pay-note{font-size:11px;color:var(--r);background:rgba(230,57,70,.1);border:1px solid rgba(230,57,70,.3);border-radius:6px;padding:6px 10px;margin:8px 0;text-align:center}

/* PUBLIC RANK SECTION */
.rank-section{margin:12px 0 8px;border-top:1px solid #1a1a1a;padding-top:12px}
.rank-section-title{font-size:10px;color:#555;text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:10px;text-align:center}
.rank-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rank-item{background:var(--dg);border-radius:8px;padding:8px;text-align:center}
.rank-num{font-size:18px;font-weight:900;color:#74b9ff;display:block}
.rank-lbl{font-size:10px;color:#555;text-transform:uppercase;letter-spacing:1px}

/* ALERT MODAL */
#alert-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}
#alert-modal.hidden{display:none!important}
.alert-item{background:var(--dg);border-radius:10px;padding:14px;margin-bottom:10px;border-left:3px solid #333}
.alert-item.notif-unread{border-left-color:var(--y);background:#1b1b00}
.alert-title{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px;line-height:1.4}
.alert-body{font-size:12px;color:#aaa;line-height:1.5}
.alert-time{font-size:10px;color:#555;margin-top:5px}

/* MOM MODAL */
#mom-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}
#mom-modal.hidden{display:none!important}

/* CALENDAR MODAL */
#calendar-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}
#calendar-modal.hidden{display:none!important}
.cal-day-header{font-size:10px;color:#555;text-transform:uppercase;letter-spacing:2px;font-weight:700;padding:10px 0 6px;border-top:1px solid #1a1a1a;margin-top:6px}
.cal-day-header:first-child{border-top:none;margin-top:0}
.cal-match-card{background:#0d0d0d;border:1px solid #1a1a1a;border-left:3px solid #74b9ff;border-radius:8px;padding:11px 13px;margin-bottom:7px}
.cal-match-teams{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px}
.cal-match-teams .hl{color:var(--y)}
.cal-match-meta{font-size:11px;color:#555;line-height:1.6}
.cal-empty{text-align:center;padding:32px;color:#444;font-size:13px}

/* CAPTAIN CHAT MODAL */
#chat-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px}
#chat-modal.hidden{display:none!important}
#chat-messages::-webkit-scrollbar{width:4px}
#chat-messages::-webkit-scrollbar-track{background:#111}
#chat-messages::-webkit-scrollbar-thumb{background:#333;border-radius:2px}

/* UPCOMING MATCHES section */
#sec-upcoming-matches{padding-top:20px}

/* ── ADMIN CONTROL PANEL ── */
.adm-statusbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #1a1a1a}
.adm-dot{width:8px;height:8px;border-radius:50%;background:#555;display:inline-block;margin-right:5px;vertical-align:middle;transition:background .3s}
.adm-dot.live{background:#06d6a0;box-shadow:0 0 6px #06d6a0}
.adm-dot.dead{background:var(--r)}
.adm-sec{background:#0d0d0d;border:1px solid #1e1e1e;border-radius:12px;padding:16px;margin-bottom:14px}
.adm-sec.adm-danger{border-color:rgba(230,57,70,.35)}
.adm-sec-title{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:900;color:#888;margin-bottom:12px}
.adm-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:500px){.adm-stats-grid{grid-template-columns:repeat(2,1fr)}}
.adm-stat{background:#111;border:1px solid #1e1e1e;border-radius:10px;padding:12px 8px;text-align:center}
.adm-stat span{display:block;font-size:22px;font-weight:900;color:var(--y)}
.adm-stat small{display:block;font-size:10px;color:#555;text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.adm-input{width:100%;background:#111;border:1px solid #333;border-radius:8px;color:#fff;padding:8px 12px;font-size:12px;font-family:inherit;outline:none}
.adm-input:focus{border-color:var(--y)}
.adm-input option{background:#111}
.adm-label{display:block;font-size:10px;color:#666;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:5px}
.adm-btn{background:var(--y);color:#000;border:none;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:background .2s}
.adm-btn:hover{background:#e6c000}
.adm-btn.adm-ghost{background:transparent;border:1px solid var(--y);color:var(--y)}
.adm-mode-btn{background:#1a1a1a!important;color:#888!important;border:1px solid #333!important;font-weight:700}
.adm-btn.adm-ghost:hover{background:var(--y);color:#000}
.adm-btn.adm-danger{background:var(--r);color:#fff}
.adm-btn.adm-danger:hover{background:#c92a38}
.adm-tool-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.adm-diag{background:#000;border:1px solid #1a1a1a;border-radius:8px;padding:12px;font-family:monospace;font-size:11px;color:#0f0;max-height:200px;overflow-y:auto;white-space:pre-wrap;line-height:1.7;margin-top:0}
.adm-user-row{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#111;border-radius:8px;margin-bottom:6px;flex-wrap:wrap}
.adm-user-row .aur-info{flex:1;min-width:0}
.adm-user-row .aur-name{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-user-row .aur-sub{font-size:10px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-btn-xs{padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:1px solid #333;background:#1a1a1a;color:#888;transition:all .15s}
.adm-btn-xs.edit{color:var(--y);border-color:var(--y)}
.adm-btn-xs.edit:hover{background:var(--y);color:#000}
.adm-btn-xs.role{color:#a29bfe;border-color:#a29bfe}
.adm-btn-xs.del{color:#ff8a8a;border-color:var(--r)}
.adm-btn-xs.del:hover{background:var(--r);color:#fff}
.adm-ch-card{background:#111;border:1px solid #1e1e1e;border-radius:10px;padding:12px;margin-bottom:8px}
.adm-ch-teams{font-size:13px;font-weight:900;color:#fff;margin-bottom:4px}
.adm-ch-meta{font-size:11px;color:#555;line-height:1.7;margin-bottom:8px}
#admin-edit-user-modal{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px}
#admin-edit-user-modal.hidden{display:none!important}
#maintenance-screen.hidden{display:none!important}

/* PIE CARD */
#pie-card{display:block}

/* ACTIVE LADDER CARD PREVIEW */
.alad-preview{margin-bottom:10px}
.aladders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.alad-card{background:#fff;border-radius:12px;padding:18px;text-align:left;border:2px solid rgba(0,0,0,.08);display:flex;flex-direction:column}

/* GENDER RADIO */
.gender-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:#ccc;cursor:pointer;padding:5px 0}
.gender-opt input[type=radio]{accent-color:var(--y);width:15px;height:15px;cursor:pointer;flex-shrink:0}

/* THEME COLOR PICKER */
.theme-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.theme-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:transform .15s,border-color .15s;flex-shrink:0}
.theme-swatch:hover{transform:scale(1.15)}
.theme-swatch.active{border-color:#fff;transform:scale(1.2)}

/* PAYMENT OPTIONS */
.pay-opts{display:flex;gap:8px;margin-top:6px}
.pay-opt{flex:1;padding:8px 10px;border-radius:8px;border:1px solid #333;background:#111;color:#666;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.5px}
.pay-opt.active{border-color:var(--y);color:var(--y);background:#1a1500}
.pay-opt:hover:not(.active){border-color:#555;color:#aaa}

/* PROFILE AVATAR supports image */
#nav-user-avatar,#dash-avatar{overflow:hidden}
#nav-user-avatar img,#dash-avatar img{width:100%;height:100%;object-fit:cover}

/* SUB-LADDER MULTI-SECTION */
.sub-lad-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(135deg,#000 0%,#1a1a1a 100%);border-bottom:2px solid #fdd41e}
.sub-lad-banner-left{display:flex;align-items:center;gap:10px}
.sub-lad-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.4);animation:pulseDot 2s ease-in-out infinite;flex-shrink:0}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.4)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.1)}}
.sub-lad-title{font-size:12px;font-weight:900;color:#fff;letter-spacing:.5px;text-transform:uppercase}
.sub-lad-age-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;background:#fdd41e;color:#000;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}
.sub-lad-sep{display:flex;align-items:center;padding:0 20px;background:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}
.sub-lad-sep span{font-size:9px;font-weight:900;color:#aaa;letter-spacing:2px;text-transform:uppercase;padding:8px 0}
.sub-lad-empty{padding:14px 20px;background:#fafafa;border-bottom:1px solid #eee}
.sub-lad-empty:last-child{border-bottom:none}
.sub-lad-empty-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.sub-lad-empty-name{font-size:12px;font-weight:700;color:#555}
.sub-lad-age-tag.sub-lad-age-dim{background:#efefef;color:#888}
.sub-lad-inst-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;background:#1a1a2e;color:#7c83fd;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}
.sub-lad-corp-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;background:rgba(245,158,11,.12);color:#d97706;border:1.5px solid #f59e0b;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}
.sub-lad-empty-msg{font-size:11px;color:#bbb}
.sub-lad-table-head{display:grid;grid-template-columns:80px 1fr 60px 60px 110px;padding:8px 20px;background:#f5f5f5;font-size:10px;font-weight:900;color:#aaa;letter-spacing:1.5px;text-transform:uppercase}

/* DASHBOARD — MULTI-SPORT LADDER SECTIONS */
.dash-group-hdr{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:#666;padding:12px 4px 6px;margin-top:4px}
.sport-cat-hdr{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:var(--y);padding:14px 2px 6px;margin-top:6px}
.sport-sub-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#888;padding:8px 2px 4px;margin-top:2px}
.btn-more-panel{display:block;width:100%;margin:10px 0 4px;padding:9px 0;background:transparent;border:1px dashed #333;border-radius:8px;color:#777;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;text-align:center;transition:border-color .2s,color .2s}
.btn-more-panel:hover{border-color:var(--y);color:var(--y)}
.dash-ladder-sec{margin-bottom:14px;border-radius:12px;overflow:hidden;border:1px solid #1e1e1e}
.dash-lsec-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#1a1a1a;border-bottom:2px solid var(--y)}
.dash-lsec-sport{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:#fff}
.dash-lsec-rank{font-size:12px;font-weight:700;color:var(--y)}
.dash-lsec-loading{padding:16px;color:#555;font-size:12px;text-align:center}

/* LOCATION FILTER (ladder page) */
.loc-filter{background:#f7f7f7;border:1px solid #e8e8e8;border-radius:12px;padding:14px 20px;margin:0 auto 24px;max-width:700px}
.loc-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.loc-state-sel{background:#fff;border:2px solid #ddd;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700;color:#111;cursor:pointer;outline:none;flex-shrink:0}
.loc-state-sel:focus{border-color:#000}
.loc-dist-tabs{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.loc-dist-pill{padding:6px 14px;border-radius:20px;border:2px solid #ddd;background:#fff;font-size:12px;font-weight:700;color:#666;cursor:pointer;transition:all .15s;white-space:nowrap}
.loc-dist-pill:hover{border-color:#999;color:#111}
.loc-dist-pill.active{background:#111;color:#fff;border-color:#111}
@media(max-width:600px){.loc-filter{padding:10px 14px}.loc-dist-pill{font-size:11px;padding:5px 10px}}

/* FAQ */
#sec-faq{background:#111;padding:80px 40px;text-align:center}
#sec-faq .sec-label{color:var(--y)}
#sec-faq .sec-title{color:#fff}
#sec-faq .sec-desc{color:#888}
.faq-list{margin-top:36px;display:flex;flex-direction:column;gap:6px;max-width:820px;margin-left:auto;margin-right:auto;text-align:left}
.faq-item{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;overflow:hidden}
.faq-item summary{padding:18px 22px;font-size:14px;font-weight:700;color:#f5f5f5;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'＋';font-size:18px;color:#666;flex-shrink:0;transition:color .2s}
.faq-item[open] summary::after{content:'－';color:var(--y)}
.faq-item[open] summary{color:var(--y)}
.faq-item p{padding:0 22px 18px;font-size:13px;color:#aaa;line-height:1.7;margin:0}

/* RESPONSIVE */
@media(max-width:900px){
  .bene-grid,.prev-cards,.aladders-grid{grid-template-columns:1fr 1fr}
  .rules-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .dash-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hero-h{font-size:52px}
  .lnav-links{display:none}
  #landing-nav{padding:0 16px}
  #sec-hero{padding:50px 20px 50px}
  .hero-stats{gap:28px}
  .bene-grid,.prev-cards,.aladders-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  footer{padding:40px 20px 20px}
}
