:root{--bg:#07111f;--panel:#0d1a2c;--panel2:#13243b;--line:#233a56;--text:#f6f8fc;--muted:#99acc5;--green:#35e6a1;--gold:#ffd45a;--red:#ff7282}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.eyebrow{color:var(--green);font-size:.7rem;letter-spacing:.16em;font-weight:900;margin:0 0 7px}.primary,.secondary{border:0;border-radius:10px;padding:12px 16px;font-weight:800}.primary{background:var(--green);color:#052318}.secondary{background:#172b45;color:var(--text);border:1px solid var(--line)}.wide{width:100%}.muted{color:var(--muted)}label{display:flex;flex-direction:column;gap:7px;margin:13px 0;font-size:.85rem;font-weight:700}input,select,textarea{background:#071422;border:1px solid var(--line);border-radius:10px;padding:12px;color:white;outline:none}textarea{min-height:110px;resize:vertical}.two,.three{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{padding:9vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 25% 25%,#17485a,transparent 34%)}.auth-brand h1{font-size:clamp(4rem,10vw,8rem);margin:10px 0;line-height:.86}.auth-brand>p:last-child{max-width:620px;color:var(--muted);line-height:1.7}.logo{width:70px;height:70px;border-radius:20px;background:var(--green);color:#052318;display:grid;place-items:center;font-weight:900;font-size:1.4rem}.logo.small{width:44px;height:44px;border-radius:13px;font-size:1rem}.auth-card{margin:auto;width:min(440px,calc(100% - 40px));padding:28px;border:1px solid var(--line);background:var(--panel);border-radius:22px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#071422;padding:5px;border-radius:11px;margin-bottom:22px}.tabs button{background:transparent;border:0;color:var(--muted);padding:11px;border-radius:8px}.tabs button.active{background:var(--panel2);color:white}
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:240px;padding:20px 14px;background:#081522;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:8}.side-brand{display:flex;gap:11px;align-items:center;padding:0 7px 24px}.side-brand>div:last-child{display:flex;flex-direction:column}.side-brand span{font-size:.7rem;color:var(--muted)}nav{display:flex;flex-direction:column;gap:5px}.nav{border:0;background:transparent;color:var(--muted);text-align:left;padding:12px 14px;border-radius:10px;font-weight:700}.nav.active,.nav:hover{background:var(--panel2);color:white}.logout{margin-top:auto;color:#ff9aa6}main{grid-column:2}header{height:86px;position:sticky;top:0;z-index:6;background:#07111fe9;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}header h2{margin:0}.user{display:flex;align-items:center;gap:10px}.user-label{display:flex;flex-direction:column}.user-label span{font-size:.72rem;color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:#052318;display:grid;place-items:center;font-weight:900;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.trophy-pill{padding:9px 13px;border-radius:999px;background:#2b2716;color:var(--gold);border:1px solid #645629}#menuBtn{display:none;background:none;border:0;color:white;font-size:1.4rem}
.page{display:none;padding:30px;max-width:1500px;margin:auto}.page.active{display:block}.hero{padding:40px;border:1px solid var(--line);border-radius:23px;background:radial-gradient(circle at 83% 40%,#31e6a12e,transparent 25%),linear-gradient(140deg,#122b43,#091725);display:grid;grid-template-columns:1fr 190px;gap:30px;align-items:center}.hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1;margin:9px 0 17px}.hero p:not(.eyebrow){color:var(--muted);line-height:1.65}.hero-number{aspect-ratio:1;border-radius:50%;border:11px solid #29435d;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-number b{font-size:4rem}.hero-number span{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0 32px}.stats article,.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:21px}.stats article{display:flex;flex-direction:column;gap:8px}.stats span{color:var(--muted)}.stats b{font-size:2rem}.section-title{display:flex;justify-content:space-between;align-items:end;margin:18px 0}.section-title h3{margin:3px 0;font-size:1.45rem}.filters{display:flex;gap:8px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:19px}.meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.76rem}.teams{margin:17px 0}.team{padding:12px 0;border-bottom:1px solid #1e334c;font-weight:800}.team:last-child{border:0}.game-card .secondary{width:100%}.tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:#17352e;color:#71efbe;font-size:.7rem;font-weight:800}.stack{display:flex;flex-direction:column;gap:10px}.row{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:15px;display:grid;grid-template-columns:1.5fr repeat(3,.65fr);align-items:center;gap:12px}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.danger{background:#421d29;color:#ff9baa;border:1px solid #783143}.table{border:1px solid var(--line);border-radius:15px;overflow:hidden}.table-row{display:grid;grid-template-columns:70px 1fr 130px 130px;padding:16px 19px;background:var(--panel);border-bottom:1px solid var(--line)}.table-row:last-child{border:0}.table-row.head{background:#081522;color:var(--muted);font-size:.78rem;font-weight:800}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.school-card{background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:15px}.school-card h3{margin:7px 0}.record-list{margin-top:14px;border-top:1px solid var(--line)}.record{display:grid;grid-template-columns:1fr auto;padding:8px 0;border-bottom:1px solid #1a2d44;font-size:.82rem}.search{width:min(420px,100%)}.profile-grid{display:grid;grid-template-columns:330px 1fr;gap:18px}.profile-card{text-align:center}.profile-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:auto}.fallback{display:grid;place-items:center;background:var(--green);color:#052318;font-size:3rem;font-weight:900}.trophy-showcase{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.trophy-showcase>div{padding:14px;border-radius:12px;background:#091725;display:flex;flex-direction:column}.trophy-showcase b{font-size:1.7rem}.trophy-showcase span{color:var(--muted);font-size:.72rem}.admin-grid{display:grid;grid-template-columns:430px 1fr;gap:17px}.admin-grid.lower{margin-top:17px}.actions{display:flex;gap:8px}.file-btn{display:inline-block}.file-btn input{display:none}.modal{position:fixed;inset:0;background:#000b;z-index:30;display:grid;place-items:center;padding:18px}.modal-card{width:min(650px,100%);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:19px;padding:25px;position:relative}.close{position:absolute;right:14px;top:10px;background:none;border:0;color:white;font-size:2rem}.pick-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.pick-choice{padding:16px;border-radius:12px;border:1px solid var(--line);background:#10243a;color:white;font-weight:800}.pick-choice.selected{border-color:var(--green);color:var(--green)}.percentage{margin:9px 0}.bar{height:8px;background:#071422;border-radius:999px;overflow:hidden;margin-top:5px}.bar span{display:block;height:100%;background:var(--green)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.comments{display:flex;flex-direction:column;gap:9px}.comment{padding:11px;background:#071422;border:1px solid var(--line);border-radius:10px}.comment p{margin:7px 0 0}.comment-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.toast{position:fixed;right:20px;bottom:20px;z-index:60;background:var(--green);color:#052318;border-radius:10px;padding:13px 17px;font-weight:800;transform:translateY(100px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.empty{padding:25px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}
@media(max-width:1050px){.game-grid,.school-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-brand{min-height:45vh}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app{display:block}aside{transform:translateX(-100%);transition:.25s}aside.open{transform:none}main{grid-column:auto}#menuBtn{display:block}.page{padding:18px 13px}header{padding:0 14px}.user-label{display:none}.hero{grid-template-columns:1fr;padding:24px}.hero-number{width:160px}.game-grid,.school-grid,.stats,.profile-grid{grid-template-columns:1fr}.two,.three{grid-template-columns:1fr}.section-title{align-items:stretch;flex-direction:column;gap:12px}.filters{flex-direction:column}.row{grid-template-columns:1fr 1fr}.table-row{grid-template-columns:45px 1fr 90px}.table-row>*:last-child{display:none}}
.school-tools{display:flex;gap:9px;align-items:center}.school-tools .search{min-width:320px}
@media(max-width:720px){.school-tools{display:flex;flex-direction:column;align-items:stretch}.school-tools .search{min-width:0;width:100%}}

/* Compact game-creation controls */
.compact-game-form label{margin:9px 0;gap:5px}
.compact-game-form input,
.compact-game-form select{min-height:36px;padding:7px 9px;border-radius:8px;font-size:.82rem}
.compact-game-form .two,
.compact-game-form .three{gap:8px}
.compact-game-form h3{margin:0 0 10px}
.compact-game-form .actions{margin-top:10px}
.compact-game-form .actions button{padding:9px 13px;font-size:.82rem}


/* No-logo test branding */
.text-brand{
  color:var(--green);
  font-size:2.6rem;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.text-brand-small{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--panel2);
  color:var(--green);
  font-size:1.1rem;
  font-weight:900;
  margin-bottom:0;
  flex:0 0 auto;
}


/* Tournament brackets */
.bracket-status{margin:0 0 14px;color:var(--muted)}
.bracket-board{display:flex;gap:18px;overflow-x:auto;padding:8px 2px 22px;align-items:stretch}
.bracket-round{min-width:255px;display:flex;flex-direction:column;gap:14px}
.bracket-round h4{margin:0 0 3px;color:var(--green);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.bracket-match{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px;display:flex;flex-direction:column;gap:7px}
.bracket-team{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);background:#0a1727;color:var(--text);padding:8px;border-radius:10px;text-align:left;min-width:0}
.bracket-team:hover{border-color:var(--green)}
.bracket-team.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset;color:var(--green)}
.bracket-team:disabled{cursor:default;opacity:.75}
.bracket-team-logo{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#172b45}
.bracket-team-logo.fallback{display:grid;place-items:center;font-size:.75rem;font-weight:900;color:var(--green)}
.bracket-team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.bracket-pick-count{font-size:.7rem;color:var(--muted)}
.bracket-empty{padding:22px;border:1px dashed var(--line);border-radius:13px;color:var(--muted)}
.bracket-admin-modal{width:min(760px,100%)}
.bracket-team-edit{display:grid;grid-template-columns:48px minmax(0,1fr) 180px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#081522}
.bracket-team-edit img,.bracket-team-edit .fallback{width:48px;height:48px;border-radius:10px;object-fit:cover}
.bracket-team-edit .fallback{display:grid;place-items:center;background:#172b45;color:var(--green);font-weight:900}
.bracket-team-edit label{margin:0}
.bracket-logo-input{font-size:.75rem;padding:7px}
.bracket-summary{display:flex;justify-content:space-between;gap:10px;align-items:center}
.bracket-summary .row-actions{justify-content:flex-end}
@media(max-width:720px){
  .bracket-board{gap:12px}
  .bracket-round{min-width:230px}
  .bracket-team-edit{grid-template-columns:44px 1fr}
  .bracket-team-edit .bracket-logo-field{grid-column:1/-1}
}

/* Official Release branding */
.official-logo{display:block;object-fit:cover;border-radius:16px}.official-logo-large{width:72px;height:72px;margin-bottom:14px}.official-logo-small{width:44px;height:44px;border-radius:12px}.official-release-note{display:inline-flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#0c1d30;color:var(--green);font-size:.76rem}.official-release-note span{color:var(--muted)}


/* Compact team selectors: native popup width follows option text, so labels are shortened in app.js */
#awaySchool,#homeSchool{width:100%!important;max-width:100%!important;height:36px!important;min-height:36px!important;font-size:.8rem!important;padding:5px 28px 5px 8px!important;}
