.football-page{min-height:80vh;background:radial-gradient(circle at 75% 8%,rgba(214,168,61,.16),transparent 27%),#09090a}.football-active{color:#f0c75e!important}.football-hero{padding:78px 0 48px;border-bottom:1px solid #202024}.football-hero h1{font-size:clamp(45px,7vw,78px)}.football-hero p{max-width:700px;color:#bbb;font-size:17px}.score-rules{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.score-rules span{border:1px solid #42391f;background:#15130e;border-radius:999px;padding:9px 15px;color:#ddd}.score-rules b{color:#f0c75e;margin-right:5px}.football-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding-top:55px;padding-bottom:60px}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:end}.section-title h2,.leaderboard h2{font-size:38px}.football-notice{padding:14px 16px;border:1px solid #383329;border-radius:12px;color:#c9c2b4;margin:18px 0;background:#121113}.football-notice.success{border-color:#325e3b;color:#aee5b7}.football-notice.error{border-color:#713939;color:#ffb4b4}.match-list{display:grid;gap:16px}.match-card,.bace-picks-card,.leaderboard{background:#121214;border:1px solid #29292e;border-radius:20px;padding:21px}.match-top{display:flex;justify-content:space-between;gap:16px;color:#999;font-size:12px}.match-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin:20px 0;font:700 24px Oswald,sans-serif}.match-teams span:last-child{text-align:right}.match-teams b{color:#f0c75e;font-size:16px}.match-form{display:grid;grid-template-columns:140px 1fr 1.2fr auto;gap:10px;align-items:end}.match-form label{font-size:11px;color:#aaa;font-weight:800}.match-form input,.match-form select{margin-top:5px;padding:10px}.score-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.score-inputs input{text-align:center}.match-form button{padding:11px 15px}.locked-pick{padding:12px;border:1px solid #353128;border-radius:11px;background:#0d0d0f;color:#ccc}.locked-pick b{color:#f0c75e}.bace-picks-card{margin:18px 0;border-color:#5a4922;background:linear-gradient(145deg,#18140c,#111114)}.bace-picks-card h3{color:#f0c75e}.bace-pick-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid #302b20}.leaderboard{position:sticky;top:92px;height:max-content}.ranking-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:16px 0}.ranking-tabs button{border:1px solid #37373c;background:#19191c;color:#ddd;padding:8px;border-radius:9px;cursor:pointer}.ranking-tabs button.active{background:#f0c75e;color:#111;font-weight:900}.rank-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #27272b}.rank-row>span:first-child{color:#f0c75e;font-weight:900}.rank-row small{display:block;color:#777}.rank-row strong{color:#f0c75e}.bace-badge{font-size:9px;background:#f0c75e;color:#111;padding:2px 5px;border-radius:4px;margin-left:5px}.tiny-note,.game-disclaimer{font-size:12px;color:#8f8f96}.game-disclaimer{margin-bottom:60px;padding:17px;border:1px dashed #4a4028;border-radius:12px}.admin-shell{padding:60px 0;max-width:920px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{background:#121214;border:1px solid #29292e;border-radius:18px;padding:22px}.admin-card form{display:grid;gap:11px}.admin-card label{font-size:12px;font-weight:700}.admin-list{display:grid;gap:10px;margin-top:15px}.admin-match{border:1px solid #29292e;border-radius:12px;padding:13px}.admin-match form{grid-template-columns:1fr 1fr 2fr auto;align-items:end}.hidden{display:none!important}@media(max-width:900px){.football-layout{grid-template-columns:1fr}.leaderboard{position:static}.match-form{grid-template-columns:1fr 1fr}.match-form .scorer-field{grid-column:span 2}}@media(max-width:600px){.football-hero{padding-top:48px}.section-title{align-items:start;flex-direction:column}.match-form{grid-template-columns:1fr}.match-form .scorer-field{grid-column:auto}.match-teams{font-size:20px}.admin-grid{grid-template-columns:1fr}.admin-match form{grid-template-columns:1fr 1fr}.admin-match form label:nth-child(3){grid-column:span 2}}
