/* Elite Ballers FC — release admin UI */
html.eb-light{--adm-bg:#f3f6f8;--adm-surface:#fff;--adm-soft:#f7f9fa;--adm-text:#17222c;--adm-muted:#6d7983;--adm-line:rgba(19,31,41,.10);--adm-shadow:0 18px 50px rgba(24,40,54,.10)}
html.eb-dark{--adm-bg:#06090c;--adm-surface:#0f151b;--adm-soft:#121a21;--adm-text:#edf3f7;--adm-muted:#98a7b3;--adm-line:rgba(255,255,255,.09);--adm-shadow:0 18px 55px rgba(0,0,0,.28)}
.eb-admin-page{margin:0;min-height:100vh;background:radial-gradient(circle at 0 0,rgba(212,255,0,.08),transparent 28%),var(--adm-bg);color:var(--adm-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.eb-admin-page *{box-sizing:border-box}.eb-admin-page a{color:inherit;text-decoration:none}.eb-admin-page button,.eb-admin-page input,.eb-admin-page select,.eb-admin-page textarea{font:inherit}.eb-admin-page input,.eb-admin-page select,.eb-admin-page textarea{width:100%;border:1px solid var(--adm-line);background:var(--adm-soft);color:var(--adm-text);border-radius:13px;padding:12px 13px;outline:none}.eb-admin-page input:focus,.eb-admin-page select:focus,.eb-admin-page textarea:focus{border-color:#d4ff00;box-shadow:0 0 0 3px rgba(212,255,0,.11)}
.eb-admin-shell{min-height:100vh;display:flex}.eb-admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:18px 14px;background:rgba(15,20,26,.97);background:color-mix(in srgb,var(--adm-surface) 93%,transparent);border-right:1px solid var(--adm-line);backdrop-filter:blur(20px);z-index:100}.eb-admin-logo{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--adm-line);padding-bottom:18px}.eb-admin-logo>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:#d4ff00;color:#111}.eb-admin-logo>span img{width:100%;height:100%;object-fit:cover}.eb-admin-logo strong,.eb-admin-logo small{display:block}.eb-admin-logo strong{font-size:.82rem}.eb-admin-logo small{font-size:.63rem;color:var(--adm-muted);letter-spacing:.18em;margin-top:2px}.eb-admin-nav{display:grid;gap:5px;margin-top:20px}.eb-admin-link{display:flex;align-items:center;gap:11px;padding:12px;border-radius:13px;color:var(--adm-muted);transition:.18s}.eb-admin-link span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(127,127,127,.08)}.eb-admin-link strong{font-size:.88rem}.eb-admin-link:hover,.eb-admin-link.active{background:rgba(212,255,0,.1);color:var(--adm-text)}.eb-admin-link.active span{background:#d4ff00;color:#111}.eb-admin-side-footer{margin-top:auto;position:absolute;left:14px;right:14px;bottom:18px;display:grid;gap:7px}.eb-admin-side-footer a,.eb-admin-side-footer button{border:1px solid var(--adm-line);background:var(--adm-soft);color:inherit;border-radius:12px;padding:11px 12px;text-align:center;cursor:pointer}.eb-admin-side-footer button{color:#ff7979}.eb-admin-main{margin-left:250px;flex:1;min-width:0}.eb-admin-header{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px clamp(14px,3vw,30px);background:rgba(6,9,12,.90);background:color-mix(in srgb,var(--adm-bg) 86%,transparent);border-bottom:1px solid var(--adm-line);backdrop-filter:blur(18px)}.eb-admin-kicker{font-size:.62rem;letter-spacing:.18em;font-weight:900;color:#a8cf00}.eb-admin-header h1{margin:2px 0 0;font-size:clamp(1.25rem,2.4vw,1.75rem)}.eb-admin-header-actions{display:flex;align-items:center;gap:8px}.eb-admin-icon,.eb-admin-menu{width:40px;height:40px;border:1px solid var(--adm-line);border-radius:12px;background:var(--adm-soft);color:inherit;cursor:pointer}.eb-admin-menu{display:none}.eb-admin-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#d4ff00;color:#111;font-weight:900}.eb-admin-content{padding:22px clamp(12px,3vw,30px) 38px;max-width:1500px;margin:auto}.eb-admin-mobile-nav,.eb-admin-more{display:none}
.eb-admin-page .page-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.page-head .eyebrow{font-size:.65rem;letter-spacing:.16em;color:var(--adm-muted);font-weight:900}.page-head h2{margin:5px 0 3px;font-size:clamp(1.35rem,4vw,2rem)}.page-head p{margin:0;color:var(--adm-muted)}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--adm-line);background:var(--adm-soft);color:inherit;border-radius:12px;padding:11px 14px;font-weight:850;cursor:pointer}.btn.primary{background:#d4ff00;color:#111;border-color:#d4ff00}.btn.danger{color:#ff7b7b}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:rgba(15,20,26,.95);background:color-mix(in srgb,var(--adm-surface) 95%,transparent);border:1px solid var(--adm-line);border-radius:20px;box-shadow:var(--adm-shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--adm-line)}.card-head h3{margin:0;font-size:1rem}.card-head small{color:var(--adm-muted)}.card-body{padding:18px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--adm-line)}.toolbar .grow{flex:1;min-width:210px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.skeleton{height:120px;border-radius:16px;background:linear-gradient(90deg,rgba(127,127,127,.05),rgba(127,127,127,.11),rgba(127,127,127,.05));animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:200% 0}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}.kpi{padding:16px;border-radius:18px;background:var(--adm-surface);border:1px solid var(--adm-line);box-shadow:var(--adm-shadow)}.kpi-label{font-size:.65rem;letter-spacing:.12em;color:var(--adm-muted);font-weight:900}.kpi-value{font-size:clamp(1.35rem,3vw,1.9rem);font-weight:950;margin-top:5px}.kpi-note{font-size:.75rem;color:var(--adm-muted);margin-top:3px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.dashboard-list{display:grid;gap:8px}.dashboard-item{padding:12px;border:1px solid var(--adm-line);border-radius:15px;background:var(--adm-soft);display:flex;justify-content:space-between;gap:10px}.dashboard-item strong{display:block}.dashboard-item span{color:var(--adm-muted);font-size:.78rem}.empty,.error-state{padding:24px;text-align:center;color:var(--adm-muted)}.error-state strong{display:block;color:#ff7777;margin-bottom:4px}
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:16px}.player-card-admin{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--adm-line);border-radius:17px;background:var(--adm-soft)}.player-avatar{width:62px;height:62px;border-radius:16px;object-fit:cover;background:rgba(127,127,127,.08);flex:none}.player-copy{min-width:0;flex:1}.player-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-copy small{display:block;color:var(--adm-muted);margin-top:4px}.row-actions{display:flex;gap:5px}.mini-btn{width:36px;height:36px;border:1px solid var(--adm-line);border-radius:10px;background:transparent;color:inherit;cursor:pointer}.mini-btn.danger{color:#ff7777}
.list-stack{display:grid;gap:8px;padding:14px}.list-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--adm-line);border-radius:16px;background:var(--adm-soft)}.list-row h4{margin:0 0 3px}.list-row p{margin:0;color:var(--adm-muted);font-size:.82rem}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:rgba(212,255,0,.12);font-size:.68rem;font-weight:900;text-transform:uppercase}.badge.muted{background:rgba(127,127,127,.1);color:var(--adm-muted)}
.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:flex-end;justify-content:center;padding:10px;background:rgba(0,0,0,.62);backdrop-filter:blur(9px)}.modal.open{display:flex}.modal-card{width:min(620px,100%);max-height:min(90vh,760px);overflow:auto;background:var(--adm-surface);border:1px solid var(--adm-line);border-radius:24px 24px 16px;box-shadow:0 30px 90px rgba(0,0,0,.45);padding:18px}.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:14px}.modal-head h3{margin:4px 0}.modal-close{width:38px;height:38px;border:1px solid var(--adm-line);border-radius:11px;background:var(--adm-soft);color:inherit;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.73rem;font-weight:850;color:var(--adm-muted)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.helper{font-size:.73rem;color:var(--adm-muted)}
.dues-wrap{overflow:auto;border-top:1px solid var(--adm-line)}.dues-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0}.dues-table th,.dues-table td{padding:10px 8px;border-bottom:1px solid var(--adm-line);border-right:1px solid var(--adm-line);text-align:center;white-space:nowrap}.dues-table th{position:sticky;top:0;background:var(--adm-surface);z-index:4;font-size:.71rem}.dues-table .sticky-player{position:sticky;left:0;background:var(--adm-surface);z-index:5;text-align:left;min-width:170px}.dues-table td.sticky-player{font-weight:850}.week-date{display:block;color:var(--adm-muted);font-size:.64rem;margin-top:2px}.due-cell{width:26px;height:26px;border-radius:8px;border:1px solid var(--adm-line);display:inline-grid;place-items:center;cursor:pointer;background:transparent;color:inherit}.due-cell.paid{background:#d4ff00;color:#111;border-color:#d4ff00}.due-cell:disabled{opacity:.6;cursor:wait}.dues-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:14px}.dues-kpi{padding:13px;border-radius:15px;background:var(--adm-soft);border:1px solid var(--adm-line)}.dues-kpi small{display:block;color:var(--adm-muted);font-size:.67rem}.dues-kpi strong{display:block;margin-top:3px;font-size:1.25rem}.photo-preview{width:90px;height:90px;border-radius:18px;object-fit:cover;background:var(--adm-soft);border:1px solid var(--adm-line)}.drop-zone{padding:16px;border:1px dashed var(--adm-line);border-radius:16px;text-align:center;background:var(--adm-soft)}.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:15px}.gallery-admin-card{overflow:hidden;border:1px solid var(--adm-line);border-radius:16px;background:var(--adm-soft)}.gallery-admin-card img{width:100%;height:150px;object-fit:cover}.gallery-admin-copy{padding:11px}.gallery-admin-copy strong{display:block}.gallery-admin-copy small{display:block;color:var(--adm-muted);margin:4px 0 8px}.toast{position:fixed;left:50%;bottom:18px;z-index:2000;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 15px;border-radius:13px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.35);transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error{background:#5b1e22}.loading-dot{display:inline-block;margin-left:5px;animation:blink 1s infinite}@keyframes blink{50%{opacity:.35}}
@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}
@media(max-width:900px){.eb-admin-sidebar{transform:translateX(-102%);transition:.2s}.eb-admin-sidebar.open{transform:none;box-shadow:25px 0 70px rgba(0,0,0,.35)}.eb-admin-main{margin-left:0}.eb-admin-menu{display:block}.eb-admin-mobile-nav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:95;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:5px;border:1px solid var(--adm-line);border-radius:19px;background:rgba(15,20,26,.96);background:color-mix(in srgb,var(--adm-surface) 96%,transparent);backdrop-filter:blur(18px);box-shadow:var(--adm-shadow)}.eb-admin-mobile-nav a,.eb-admin-mobile-nav button{border:0;background:transparent;color:var(--adm-muted);min-height:56px;border-radius:14px;display:grid;place-items:center;align-content:center;gap:2px;font-weight:800;cursor:pointer}.eb-admin-mobile-nav a.active{background:#d4ff00;color:#111}.eb-admin-mobile-nav small{font-size:.62rem}.eb-admin-more{position:fixed;right:8px;left:8px;bottom:74px;z-index:94;display:none;background:var(--adm-surface);border:1px solid var(--adm-line);border-radius:20px;padding:12px;box-shadow:var(--adm-shadow)}.eb-admin-more.open{display:block}.eb-admin-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.eb-admin-more-grid a,.eb-admin-more>a,.eb-admin-more>button{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--adm-line);border-radius:12px;background:var(--adm-soft);color:inherit}.eb-admin-more>button{width:100%;margin-top:7px;justify-content:center;cursor:pointer}.eb-admin-content{padding-bottom:96px}}
@media(max-width:620px){.eb-admin-content{padding:14px 9px 94px}.page-head{flex-direction:column;align-items:stretch!important}.page-actions .btn{flex:1}.kpis{gap:7px}.kpi{padding:12px}.kpi-value{font-size:1.25rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:0}.modal-card{border-radius:22px 22px 0 0;padding:15px}.toolbar .grow{min-width:100%}.grid,.player-grid{grid-template-columns:1fr}.list-row{grid-template-columns:1fr}.dues-summary{grid-template-columns:repeat(2,1fr);padding:10px}.dues-kpi{padding:10px}.dues-kpi strong{font-size:1.1rem}.eb-admin-header h1{font-size:1.15rem}.eb-admin-header{padding:13px 10px}.eb-admin-header-actions .eb-admin-avatar{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

html.eb-admin-checking .eb-admin-shell{visibility:hidden} html.eb-admin-checking .eb-admin-page > [data-admin-page]{visibility:hidden}
.eb-login-forgot{border:0;background:transparent;color:var(--adm-muted);font-size:.76rem;text-decoration:underline;cursor:pointer;padding:2px 0;justify-self:start}
.eb-login-forgot:disabled{opacity:.55;cursor:wait}
.eb-admin-page .eb-loading,.eb-admin-page .eb-empty{min-height:120px;display:grid;place-items:center;color:var(--adm-muted);padding:20px}
@media(max-width:620px){.page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.page-actions .btn{min-width:0}.dues-wrap{max-height:65vh}.dues-table th,.dues-table td{padding:8px 6px}.dues-table .sticky-player{min-width:145px}}
