:root{--ink:#122b22;--muted:#617168;--paper:#f7f4ed;--panel:#fffdf8;--line:#ded7ca;--green:#087b49;--green-soft:#e7f5ed;--red:#bd3731;--red-soft:#fff0ee;--amber:#a46703;--amber-soft:#fff4da}*{box-sizing:border-box}body{margin:0;background:#e3e1da;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{width:min(100%,430px);min-height:100vh;margin:auto;padding-bottom:76px;background:var(--paper);box-shadow:0 0 28px rgba(20,37,29,.13)}button,a{font:inherit}.topbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;min-height:68px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--panel);text-align:center}.topbar strong,.topbar small{display:block}.topbar strong{font-size:17px}.topbar small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.icon-button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:27px;cursor:pointer}.icon-button:last-child{font-size:20px}main{padding:16px 18px 28px}.empty{display:grid;gap:7px;padding:19px;border:1px dashed #d8d0c1;border-radius:8px;background:var(--panel)}.empty strong{font-size:16px}.empty span{color:var(--muted);font-size:13px;line-height:1.4}.warning{border-color:#ebc66d;background:var(--amber-soft)}.route{display:grid;grid-template-columns:repeat(4,1fr);margin:3px 4px 21px}.route div{position:relative;display:grid;justify-items:center;color:#7d8882;font-size:10px;font-weight:850}.route div:not(:last-child):after{content:"";position:absolute;z-index:0;top:6px;left:50%;width:100%;height:2px;background:#d1d8d3}.route i{position:relative;z-index:1;width:14px;height:14px;margin-bottom:6px;border:3px solid #fff;border-radius:50%;background:#c5ccc7}.route .active{color:var(--green)}.route .active i{background:var(--green)}.state-card{padding:18px;border:1px solid #b8ddc6;border-radius:10px;background:linear-gradient(135deg,#effaf2,#e4f4e9);box-shadow:0 8px 20px rgba(20,97,59,.07)}.state-card.red{border-color:#e5b0aa;background:linear-gradient(135deg,#fff3f1,#fde5e2)}.state-card h1{margin:3px 0 5px;font-size:22px}.eyebrow{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.state-card p{margin:0;color:#52675c;font-size:13px;line-height:1.4}.countdown{display:block;margin:13px 0;color:var(--green);font-size:25px;text-align:center}.primary{display:grid;place-items:center;width:100%;min-height:45px;border:0;border-radius:6px;background:var(--green);color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.glance button{min-height:87px;padding:10px 8px;border:1px solid #eae4da;border-radius:7px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.glance button:hover{border-color:#94cba9;background:#f7fcf8}.glance span,.glance small{display:block;color:var(--muted);font-size:10px;font-weight:700}.glance strong{display:block;margin:6px 0;font-size:14px}.panel{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.panel h2{margin:0 0 8px;font-size:16px}.panel p{margin:4px 0;color:var(--muted);font-size:12px;line-height:1.4}.status-row{display:grid;grid-template-columns:27px 1fr auto;gap:8px;align-items:center;min-height:42px;padding:7px 9px;border:1px solid #d9e3da;border-radius:5px;background:#fffdf8}.status-row+.status-row{margin-top:6px}.marker{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6eee8;font-size:13px}.status-row strong{font-size:13px}.pill{padding:4px 7px;border-radius:99px;font-size:10px;font-weight:900}.pill.green{background:#dff3e6;color:var(--green)}.pill.red{background:#fde8e6;color:var(--red)}.pick-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-top:1px solid var(--line);font-size:12px;font-weight:750}.pick-row strong{color:var(--green)}.fixture-list{display:grid;gap:9px}.fixture{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.fixture.open{border-color:#86caa6;box-shadow:0 7px 18px rgba(24,89,56,.08)}.fixture-head{display:grid;grid-template-columns:25px 1fr 18px;gap:8px;align-items:center;width:100%;padding:14px;border:0;background:transparent;color:var(--ink);cursor:pointer}.fixture-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e6ece8;font-size:12px;font-weight:850}.fixture.complete .fixture-number{background:var(--green);color:#fff}.fixture-title{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:6px;font-size:13px;font-weight:820}.fixture-title span:first-child{text-align:right}.fixture-title span:last-child{text-align:left}.fixture-title strong{color:var(--green);text-align:center}.fixture-body{padding:0 14px 14px}.teams{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;text-align:center;font-size:14px;font-weight:850}.teams em{color:var(--muted);font-size:11px;font-style:normal}.score-row{display:grid;grid-template-columns:1fr 18px 1fr;gap:10px;align-items:center;max-width:260px;margin:14px auto 9px}.score-box{height:52px;border:1px solid #91caaa;border-radius:6px;background:#fff;color:var(--ink);font-size:22px;font-weight:900}.score-box.active{border:2px solid var(--green);background:#f6fff9}.picker{display:flex;justify-content:center;gap:6px;margin:9px 0}.picker button{width:37px;height:33px;border:0;border-radius:5px;background:#eaf0eb;color:var(--ink);font-weight:850}.picker button.selected{background:var(--green);color:#fff}.picker .custom{width:48px;font-size:11px}.include{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid #e9e4da;font-size:12px;font-weight:780}.switch{display:flex;justify-content:flex-end;width:42px;height:23px;padding:2px;border:0;border-radius:99px;background:var(--green)}.switch i{width:19px;height:19px;border-radius:50%;background:#fff}.switch.off{justify-content:flex-start;background:#cbd2cd}.next{width:100%;min-height:41px;margin-top:12px;border:0;border-radius:5px;background:#e3f2e8;color:var(--green);font-weight:850}.actions{display:grid;grid-template-columns:1fr 2.4fr;gap:8px;margin-top:17px}.secondary{border:1px solid #e6b6b2;border-radius:6px;background:#fff4f3;color:var(--red);font-weight:850}.shared-head,.slip{display:grid;grid-template-columns:minmax(79px,1.1fr) repeat(3,minmax(0,1fr));gap:5px;align-items:center}.shared-head{padding:9px 8px;background:#f0f5f0;border-bottom:1px solid var(--line);color:#536158;font-size:9px;font-weight:850;text-align:center}.shared-head b,.shared-head i{display:block}.shared-head i{margin:2px 0;font-size:8px;font-style:normal;color:var(--muted)}.slip{width:100%;min-height:55px;padding:8px;border:0;border-bottom:1px solid #e8e3d9;background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.slip.yours{background:#d9f0df}.slip.lost{background:#fde5e2}.slip .player{min-width:0;font-size:11px;font-weight:850}.slip .player small{display:block;margin-top:2px;color:var(--green);font-size:9px}.slip .score{display:grid;place-items:center;min-height:30px;border:1px solid #d6e4d9;border-radius:4px;background:#eff8f1;color:var(--green);font-size:13px;font-weight:900}.slip.lost .score{border-color:#e4aaa6;background:#fff0ee;color:var(--red)}.league-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;min-height:48px;border-top:1px solid var(--line);font-size:13px}.league-row:first-of-type{border-top:0}.league-row .rank{color:var(--muted);font-size:11px;font-weight:850}.nav{position:fixed;right:0;bottom:0;left:0;display:flex;justify-content:center}.nav button{display:grid;place-items:center;gap:2px;min-width:100px;min-height:70px;border:0;border-top:1px solid #e4ded3;background:#fffdf8;color:#77827d;font-size:16px;cursor:pointer}.nav button span{font-size:10px;font-weight:750}.nav .active{color:var(--green)}.nav b{font-size:18px;line-height:1}.more-menu{position:fixed;z-index:20;right:max(14px,calc((100vw - 430px)/2 + 14px));bottom:78px;display:grid;width:min(220px,calc(100vw - 28px));padding:6px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;box-shadow:0 12px 30px rgba(26,51,39,.18)}.more-menu[hidden]{display:none}.more-menu button{display:flex;align-items:center;min-height:42px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}.more-menu button:hover{background:#edf7ef;color:var(--green)}.toast{position:fixed;z-index:25;right:18px;bottom:87px;left:18px;max-width:394px;margin:auto;padding:12px 14px;border-radius:7px;background:#143e30;color:#fff;font-size:13px;font-weight:750;box-shadow:0 10px 28px rgba(14,41,31,.25)}@media(min-width:620px){body{padding:20px 0}.app-shell{min-height:calc(100vh - 40px);border-radius:20px;overflow:hidden}.nav{bottom:20px}.nav button:first-child{border-radius:0 0 0 20px}.nav button:last-child{border-radius:0 0 20px 0}}@media(max-width:360px){main{padding:14px 12px}.topbar{padding:0 12px}.glance{gap:5px}.glance button{padding:9px 7px}.glance strong{font-size:12px}}
 .auth-panel{display:grid;gap:12px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.auth-panel h1{margin:0;font-size:24px}.auth-panel p{margin:-5px 0 2px;color:var(--muted);font-size:13px}.auth-panel label{display:grid;gap:5px;color:var(--ink);font-size:12px;font-weight:800}.auth-panel input{width:100%;height:43px;padding:0 11px;border:1px solid #cfc8bb;border-radius:6px;background:#fffdf8;color:var(--ink);font:inherit}.auth-password{position:relative;display:block}.auth-password input{padding-right:45px}.auth-password button{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:42px;height:41px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.auth-password button:hover{color:var(--green)}.auth-password svg{width:18px;height:18px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:7px;background:#f2efe8}.auth-tabs button{min-height:37px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fffdf8;color:var(--green);box-shadow:0 1px 3px rgba(18,43,34,.13)}.signup-capacity{padding:9px 10px;border:1px solid #d8bd7a;border-radius:6px;background:var(--amber-soft);color:#835600;font-size:11px;font-weight:850;text-align:center}.signup-full #authNameField,.signup-full #authAliasField,.signup-full #authClubField,.signup-full #authCustomClubField,.signup-full label:has(#authEmail),.signup-full label:has(#authPassword){opacity:.48}.auth-panel .primary:disabled{cursor:not-allowed;opacity:.52}.text-button{justify-self:center;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;cursor:pointer}
[hidden]{display:none!important}

/* Keep the mobile navigation in its own layout row. Scrolling happens inside
   the content area, so mobile browser chrome cannot make the menu jump. */
@media (max-width:619px){
  html,body{height:100%;min-height:100%;overflow:hidden}
  body{overscroll-behavior-y:none}
  .app-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100svh;min-height:100svh;padding-bottom:0;overflow:hidden}
  main{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:28px}
  .nav{position:relative;right:auto;bottom:auto;left:auto;z-index:10;width:100%;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .more-menu{position:absolute;right:14px;bottom:76px}
  .toast{position:absolute;bottom:87px}
}
.score-stepper-row{grid-template-columns:34px 48px 34px 16px 34px 48px 34px;gap:5px;max-width:270px}.score-step{height:46px;border:1px solid #a8cfb5;border-radius:6px;background:#edf8f0;color:var(--green);font-size:24px;font-weight:700;line-height:1;cursor:pointer}.score-step:hover{border-color:var(--green);background:#e0f2e5}.score-step:disabled{opacity:.45;cursor:not-allowed}.score-value{display:block;width:100%;height:46px;padding:0;border:1px solid #91caaa;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:20px;font-weight:900;text-align:center}.score-value::placeholder{color:#9ca8a1;opacity:1}.score-value:focus{outline:2px solid rgba(8,123,73,.22);border-color:var(--green)}.score-value:disabled{opacity:.55;cursor:not-allowed}.score-divider{text-align:center}
.correct-score-odds{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:11px 0 0;padding:8px 10px;border:1px solid #bedfc9;border-radius:6px;background:#eef8f1;color:var(--green);font-size:10px;font-weight:800}.correct-score-odds span{min-width:0;color:#557162;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.correct-score-odds strong{flex:0 0 auto;font-size:14px;letter-spacing:0}.correct-score-odds.muted{border-color:#e0ddd4;background:#f7f5f0;color:#708078}.correct-score-odds.muted span{color:#708078}.correct-score-odds.muted strong{font-size:10px;font-weight:800}
[hidden]{display:none!important}.nav button svg{width:18px;height:18px;stroke-width:1.8}.nav button i{display:grid;height:18px;place-items:center}.nav button.active svg{stroke:var(--green)}
[hidden]{display:none!important}.topbar #backButton[hidden]{display:block!important;visibility:hidden}.page-title{margin:0 0 8px;font-size:22px}
[hidden]{display:none!important}.bets-status{display:flex;align-items:center;justify-content:space-between;margin:1px 0 9px;color:var(--muted);font-size:11px;font-weight:800}.bets-status span{color:var(--green);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
[hidden]{display:none!important}.intro{display:none}.page-title{display:none}.bet-type{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 0 10px;padding:10px 12px;border-color:#b9ddc6;background:#f0f8f2}.bet-type strong{color:var(--green);font-size:12px;text-transform:uppercase}.bet-type small{text-align:right;color:var(--muted);font-size:10px;font-weight:750}.fixture-list{gap:7px}.fixture{border-color:#ded7ca}.fixture-head{min-height:57px;padding:11px 13px}.fixture-body{background:#fffdf8}.fixture-body .teams{padding-top:2px}.fixture.open{border-color:#a7d2b7;box-shadow:none}.fixture.open .fixture-head{border-bottom:1px solid #e7e1d7;background:#f2faf4}.fixture .next{background:var(--green);color:#fff}.actions{position:sticky;bottom:76px;padding:9px 0 0;background:linear-gradient(transparent,var(--paper) 35%)}.league-row{padding:0 2px}.admin-block{display:grid;gap:10px;margin-bottom:12px;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.section-label{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-label{font-size:11px;font-weight:850}.admin-select{width:100%;min-height:42px;padding:0 11px;border:1px solid #cfc8bb;border-radius:6px;background:#fffdf8;color:var(--ink);font:inherit;font-weight:750}.admin-current{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 11px;border:1px solid #b9ddc6;border-radius:6px;background:#eff9f2}.admin-current span,.admin-current small{color:var(--muted);font-size:10px;font-weight:750}.admin-current strong{color:var(--green);font-size:13px}.admin-current small{grid-column:1/-1}.admin-stages{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-stages button{display:grid;gap:3px;min-height:64px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.admin-stages button.selected{border-color:var(--green);background:#eaf6ed}.admin-stages small{color:var(--muted);font-size:10px}.admin-fixture{display:grid;gap:9px;padding:11px 0;border-top:1px solid var(--line);font-size:12px}.admin-fixture:first-child{border-top:0}.admin-fixture-controls{display:grid;grid-template-columns:1fr 38px 12px 38px auto;gap:5px;align-items:center}.admin-fixture-controls select,.admin-fixture-controls input{min-width:0;height:35px;border:1px solid #cfc8bb;border-radius:5px;background:#fffdf8;color:var(--ink);font:inherit;font-size:11px;text-align:center}.admin-fixture-controls select{padding:0 4px;text-align:left}.admin-fixture-controls button{height:35px;padding:0 8px;border:0;border-radius:5px;background:var(--green);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.admin-fixture-loading{padding:10px 0;color:var(--muted);font-size:12px}
.league-table-head,.league-row{grid-template-columns:28px minmax(0,1fr) 30px 34px 58px}.league-return{color:var(--green);font-size:10px;text-align:right;white-space:nowrap}.money-summary{display:grid;gap:11px}.money-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.money-summary-head h2{margin:0}.money-summary-head small{color:var(--muted);font-size:10px;font-weight:800}.money-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.money-grid>div{display:grid;gap:4px;min-height:64px;padding:10px;border:1px solid #e1ddd4;border-radius:6px;background:#fffdf8}.money-grid span,.leaderboard-pot span,.leaderboard-pot small{color:var(--muted);font-size:10px;font-weight:800}.money-grid strong{color:var(--green);font-size:15px}.money-grid .negative strong{color:var(--red)}.leaderboard-pot{display:grid;grid-template-columns:1fr auto;gap:3px 9px;padding:11px;border:1px solid #c5dfcc;border-radius:6px;background:#eff8f1}.leaderboard-pot strong{color:var(--green);font-size:18px}.leaderboard-pot small{grid-column:1/-1;line-height:1.35}.help-panel{display:grid;gap:0}.help-panel .page-title{display:block;margin:2px 0 8px}.help-item{padding:11px 0;border-top:1px solid var(--line)}.help-item strong{font-size:13px}.help-item p{margin:3px 0 0}.help-item:first-of-type{border-top:0}@media(max-width:350px){.league-table-head,.league-row{grid-template-columns:24px minmax(0,1fr) 25px 29px 49px;gap:4px;padding-right:8px;padding-left:8px}.league-table-head{font-size:8px}.league-return{font-size:9px}.league-row .club{font-size:9px}}
.pl-week-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;padding:8px 10px;border:1px solid #d8dfd9;border-radius:6px;background:#fffdf8;color:var(--muted);font-size:11px;font-weight:800}.pl-week-picker select{min-width:132px;height:32px;padding:0 8px;border:1px solid #cfc8bb;border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:11px;font-weight:800}
.bet-type{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:10px;padding:10px 12px;border-color:#d9d4c8;background:#fffdf8}.bet-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.bet-type-main{display:flex;align-items:baseline;gap:8px;min-width:0}.bet-type-main span{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:800}.bet-type-main strong{min-width:0;color:var(--green);font-size:12px;line-height:1.2;white-space:nowrap}.bet-type-odds{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:2px 6px;min-width:81px;color:#587464;font-size:10px;font-weight:800}.bet-type-odds span{white-space:nowrap}.bet-type-odds strong{color:var(--green);font-size:12px;text-align:right;white-space:nowrap}.bet-type-odds small{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:700;text-align:right;white-space:nowrap}.bet-type-odds small b{color:var(--green);font-size:11px}.bet-type-included{color:var(--muted);font-size:9px;font-weight:750}.bet-type-odds.muted{color:#748077}.bet-type-odds.muted strong{color:#748077}@media(max-width:390px){#picksView .bet-type-row{gap:7px}#picksView .bet-type-main{display:grid;gap:1px}#picksView .bet-type-main strong{font-size:11px;white-space:normal}#picksView .bet-type-odds{min-width:0;gap:2px 4px}#picksView .bet-type-odds small{display:none}}@media(max-width:360px){.bet-type{padding-right:10px;padding-left:10px}.bet-type-row{gap:7px}.bet-type-main{gap:5px}.bet-type-main strong{font-size:11px}.bet-type-odds{min-width:74px}.bet-type-odds span,.bet-type-odds small{font-size:8px}}

/* On compact phone screens the action buttons must follow the fixtures, not cover them. */
#picksView .actions{position:static;bottom:auto;padding:0;background:transparent}
[hidden]{display:none!important}#picksView>.eyebrow{display:none}

.maintenance-panel{display:grid;gap:12px;min-height:310px;align-content:center;padding:24px;border:1px solid #e7c27c;border-radius:10px;background:#fff7e5;text-align:center}.maintenance-panel h1{margin:0;font-size:23px}.maintenance-panel p{margin:0;color:#755420;font-size:13px;line-height:1.5}
[hidden]{display:none!important}.slip{grid-template-columns:minmax(84px,1.15fr) repeat(3,minmax(0,1fr)) 12px}.slip-wrap{border-bottom:1px solid #e8e3d9}.slip-wrap:last-child{border-bottom:0}.slip-wrap .slip{border-bottom:0}.slip .chevron{color:var(--muted);font-size:18px;text-align:center}.slip .score.left-out{opacity:1;border-color:#d5d9d6;background:#f1f2f0;color:#7b837e}.slip .score.won{border-color:#8bceaa;background:#dff3e6;color:var(--green)}.slip .score.lost{border-color:#e4aaa6;background:#fff0ee;color:var(--red)}.slip-wrap.lost .player small{color:var(--red)}.slip-wrap.won .player small{color:var(--green)}.slip-detail{display:grid;gap:0;margin:0 8px 9px;padding:5px 9px;border:1px solid #d9e4da;border-radius:5px;background:#f5faf6}.slip-detail div{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;min-height:29px;border-top:1px solid #e2e9e3;font-size:10px}.slip-detail div:first-child{border-top:0}.slip-detail strong{font-size:11px}.slip-detail small{color:var(--muted);font-size:9px;font-weight:800}.league-table{padding:0;overflow:hidden}.league-table-head,.league-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(54px,.7fr) 38px;gap:7px;align-items:center}.league-table-head{min-height:38px;padding:0 12px;background:#f0f5f0;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.league-row{min-height:50px;padding:0 12px}.league-row.you{background:#dff1e4}.league-player{display:flex;align-items:center;gap:7px;min-width:0}.league-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.league-row .club{overflow:hidden;color:var(--muted);font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.league-points{color:var(--green);font-size:13px;text-align:right}.history-list{display:grid;gap:7px}.history-row{display:grid;grid-template-columns:1fr auto 12px;gap:8px;align-items:center;width:100%;min-height:48px;padding:0 11px;border:1px solid #ded7ca;border-radius:6px;background:#fffdf8;color:var(--ink);font-size:12px;font-weight:850;text-align:left;cursor:pointer}.history-row small{color:var(--muted);font-size:10px}.history-row:hover{border-color:#9bcaa9;background:#f4fbf6}
.slip-wrap.yours .slip{background:#d9f0df}.slip-wrap.lost .slip{background:#fde5e2}.history-card{padding:0;overflow:hidden}.history-card h2{padding:14px 14px 0}.history-card .shared-head{margin-top:10px}
.slip-detail{gap:0}.slip-detail-head,.slip-detail-row{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(52px,.85fr) 40px 43px!important;gap:6px!important;align-items:center}.slip-detail-head{min-height:26px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.slip-detail-row{min-height:35px!important}.slip-detail-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.slip-detail-row strong{font-size:10px;text-align:center}.slip-detail-row small{color:var(--green);font-size:9px;text-align:right}.slip-detail-row small:empty{color:var(--muted)}
.slip-detail-head span:not(:first-child){text-align:center}.slip-detail-head span:last-child{text-align:right}
.slip-real-name{padding:2px 0 6px;color:var(--muted);font-size:10px;font-weight:800}
.slip-edit{width:100%;min-height:34px;margin-top:8px;border:1px solid #9bcbaa;border-radius:5px;background:#fffdf8;color:var(--green);font-size:11px;font-weight:850;cursor:pointer}.slip-edit:hover{background:#edf8f0}
.shared-panel{padding:10px;background:#faf8f2}.shared-panel .shared-head{border:1px solid #d6e1d7;border-radius:6px;background:#edf5ee}.shared-panel .slip-wrap{margin-top:8px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fffdf8;box-shadow:0 2px 5px rgba(31,49,39,.035)}.shared-panel .slip-wrap.yours{border-color:#9bcdaa}.shared-panel .slip-wrap.lost{border-color:#e7aaa6}.shared-panel .slip-wrap.won{border-color:#8dceaa}.shared-panel .slip{border-radius:6px}.shared-panel .slip-wrap:last-child{margin-bottom:0}
.shared-panel .slip-wrap{padding:3px;border-color:#cec7ba;background:#fffdf8;box-shadow:none}.shared-panel .slip-wrap.yours{border-color:#79b991}.shared-panel .slip-wrap.lost{border-color:#d9837d}.shared-panel .slip-wrap.won{border-color:#6eb789}.shared-panel .slip{border-radius:4px}.shared-panel .slip-detail{margin:6px 4px 2px}

.sealed-panel .slip:disabled {
  cursor:default;
  opacity:1;
}

.sealed-panel .slip .score.sealed {
  border-color:#dde1dd;
  background:#f2f3f1;
  color:#89918c;
}

.sealed-panel .slip .player small { color:var(--muted); }
.sealed-panel .slip-wrap.yours .player small { color:var(--green); }
.club-badge{display:inline-grid;place-items:center;width:27px;height:27px;vertical-align:middle}.club-badge img{width:25px;height:25px;object-fit:contain}.club-badge b{display:grid;place-items:center;width:26px;height:26px;padding:0 4px;border:1px solid #b8d8c3;border-radius:5px;background:#edf7ef;color:var(--green);font-size:9px;font-weight:900;letter-spacing:.02em}.club-badge.compact{width:24px;height:24px}.club-badge.compact img{width:22px;height:22px}.club-badge.compact b{width:23px;height:23px;font-size:8px}.player .club-badge{margin-right:3px}.account-panel{display:grid;gap:11px}.account-panel .page-title{display:block;margin:0}.account-panel label{display:grid;gap:5px;font-size:12px;font-weight:850}.account-panel input,.account-panel select,.auth-panel select{width:100%;height:43px;padding:0 11px;border:1px solid #cfc8bb;border-radius:6px;background:#fffdf8;color:var(--ink);font:inherit}.account-panel input:disabled{color:var(--muted);background:#f2f0ea}.payment-status{display:grid;gap:3px;padding:11px;border:1px solid;border-radius:6px;font-size:12px}.payment-status span{font-size:11px}.payment-status.paid{border-color:#a5d3b4;background:#edf8f0;color:var(--green)}.payment-status.unpaid{border-color:#ebc28b;background:#fff4dc;color:#8a5800}
.account-actions{display:grid;grid-template-columns:1fr 2.4fr;gap:8px;margin-top:6px;position:static;padding:0;background:transparent}.account-actions button{min-height:45px}.fixture-research{color:var(--muted)}
.admin-help{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.payment-row>span{display:grid;grid-template-columns:27px 1fr;column-gap:7px;align-items:center;min-width:0}.payment-row small{grid-column:2;color:var(--muted);font-size:10px;font-weight:700}.payment-row .marker,.club-mini{display:grid;place-items:center;width:26px;height:26px;border:1px solid #b8d8c3;border-radius:5px;background:#edf7ef;color:var(--green);font-size:9px;font-weight:900}.payment-row button{min-width:69px;height:32px;border-radius:5px;font-size:11px;font-weight:850;cursor:pointer}.paid-button{border:1px solid #9dcfb0;background:#e8f6ec;color:var(--green)}.unpaid-button{border:1px solid #e8aaa4;background:#fff0ee;color:var(--red)}
.league-member{border-top:1px solid var(--line)}.league-member:first-of-type{border-top:0}.league-member.you .league-row{background:#dff1e4}.league-member .league-row{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.league-member .league-row:hover{background:#f1f8f2}.league-detail{display:grid;gap:0;margin:0 10px 10px;padding:9px;border:1px solid #d5e2d7;border-radius:6px;background:#f7fbf7}.league-detail-title{display:grid;gap:2px;padding-bottom:7px}.league-detail-title span{font-size:12px;font-weight:850}.league-detail-title small{color:var(--muted);font-size:10px}.form-row{display:grid;grid-template-columns:38px 1fr auto;gap:7px;align-items:center;min-height:31px;border-top:1px solid #e1e9e2;font-size:10px}.form-row span:first-child{color:var(--muted);font-weight:800}.form-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.form-row strong{color:var(--green);font-size:10px}.form-loading{padding:7px 0;color:var(--muted);font-size:11px}.history-link{width:100%;min-height:35px;margin-top:8px;border:1px solid #9bcbaa;border-radius:5px;background:#fffdf8;color:var(--green);font-size:11px;font-weight:850;cursor:pointer}.player-history .page-title{display:block;margin:2px 0 0}.history-score-list{display:grid;margin-top:10px;border-top:1px solid var(--line)}.history-score{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:5px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.history-score>span:first-child{color:var(--muted);font-weight:850}.history-score>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.history-score>strong{font-size:11px;text-align:right}.history-score small{grid-column:2;color:var(--muted);font-size:9px}.history-score b{grid-column:3;grid-row:2;color:var(--green);font-size:10px;text-align:right}
.league-glance{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;margin:0 0 12px;padding:13px 14px;border:1px solid #b9ddc6;border-radius:8px;background:#eaf6ed;color:var(--ink);text-align:left;cursor:pointer}.league-glance span,.league-glance small{color:var(--muted);font-size:10px;font-weight:800}.league-glance strong{font-size:20px;color:var(--green)}.league-glance b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-card{display:grid;gap:14px;padding:16px;border:1px solid #b9ddc6;border-radius:9px;background:#edf7ef}.profile-ident{display:flex;align-items:center;gap:11px}.profile-ident .club-badge{width:42px;height:42px;font-size:12px}.profile-ident h2{margin:3px 0 1px;font-size:20px}.profile-ident small{color:var(--muted);font-size:11px;font-weight:700}.profile-position{display:grid;grid-template-columns:1fr auto;gap:2px 9px;width:100%;padding:11px;border:1px solid #d9e5db;border-radius:6px;background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-position span,.profile-position small{color:var(--muted);font-size:10px;font-weight:800}.profile-position strong{font-size:18px;color:var(--green)}.profile-position b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.profile-stats div{display:grid;gap:5px;min-height:73px;padding:10px;border:1px solid #e3ddd2;border-radius:7px;background:#fffdf8}.profile-stats span{color:var(--muted);font-size:9px;font-weight:850}.profile-stats strong{font-size:13px;color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.profile-section-head h2{margin-bottom:2px}.small-link{padding:4px 0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:850;cursor:pointer}.profile-form-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;min-height:31px;border-top:1px solid #e1e9e2;font-size:10px}.profile-form-row span{color:var(--muted);font-weight:800}.profile-form-row strong{color:var(--green);font-size:10px}.profile-form-row:first-of-type{margin-top:8px}.profile-actions{display:grid;gap:0;padding:0;overflow:hidden}.profile-actions button{display:grid;grid-template-columns:1fr auto;gap:2px 9px;align-items:center;min-height:57px;padding:10px 13px;border:0;border-top:1px solid var(--line);background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-actions button:first-child{border-top:0}.profile-actions span{font-size:12px;font-weight:850}.profile-actions small{color:var(--muted);font-size:10px}.profile-actions b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:18px}
.league-glance{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;margin:0 0 12px;padding:13px 14px;border:1px solid #b9ddc6;border-radius:8px;background:#eaf6ed;color:var(--ink);text-align:left;cursor:pointer}.league-glance span,.league-glance small{color:var(--muted);font-size:10px;font-weight:800}.league-glance strong{font-size:20px;color:var(--green)}.league-glance b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-card{display:grid;gap:14px;padding:16px;border:1px solid #b9ddc6;border-radius:9px;background:#edf7ef}.profile-ident{display:flex;align-items:center;gap:11px}.profile-ident .club-badge{width:42px;height:42px;font-size:12px}.profile-ident h2{margin:3px 0 1px;font-size:20px}.profile-ident small{color:var(--muted);font-size:11px;font-weight:700}.profile-position{display:grid;grid-template-columns:1fr auto;gap:2px 9px;width:100%;padding:11px;border:1px solid #d9e5db;border-radius:6px;background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-position span,.profile-position small{color:var(--muted);font-size:10px;font-weight:800}.profile-position strong{font-size:18px;color:var(--green)}.profile-position b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.profile-stats div{display:grid;gap:5px;min-height:73px;padding:10px;border:1px solid #e3ddd2;border-radius:7px;background:#fffdf8}.profile-stats span{color:var(--muted);font-size:9px;font-weight:850}.profile-stats strong{font-size:13px;color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.profile-section-head h2{margin-bottom:2px}.small-link{padding:4px 0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:850;cursor:pointer}.profile-form-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;min-height:31px;border-top:1px solid #e1e9e2;font-size:10px}.profile-form-row span{color:var(--muted);font-weight:800}.profile-form-row strong{color:var(--green);font-size:10px}.profile-form-row:first-of-type{margin-top:8px}.profile-actions{display:grid;gap:0;padding:0;overflow:hidden}.profile-actions button{display:grid;grid-template-columns:1fr auto;gap:2px 9px;align-items:center;min-height:57px;padding:10px 13px;border:0;border-top:1px solid var(--line);background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-actions button:first-child{border-top:0}.profile-actions span{font-size:12px;font-weight:850}.profile-actions small{color:var(--muted);font-size:10px}.profile-actions b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:18px}.betting-quicklook-block{background:#f5fbf6}.admin-quicklook-summary{display:grid;gap:3px;padding:10px 11px;border:1px solid #b9ddc6;border-radius:6px;background:#edf8f0}.admin-quicklook-summary strong{color:var(--green);font-size:12px}.admin-quicklook-summary span{color:var(--muted);font-size:10px;font-weight:750;line-height:1.35}.admin-bet-slip{margin-top:8px;border:1px solid #d7dfd7;border-radius:7px;overflow:hidden;background:#fffdf8}.admin-bet-slip-head{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;min-height:39px;padding:0 10px;border-bottom:1px solid #e1e7e1;background:#f0f6f1}.admin-bet-slip-head strong{font-size:12px}.admin-bet-slip-head span{padding:3px 6px;border-radius:99px;background:#dff3e6;color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase}.admin-bet-slip-head button{min-height:26px;padding:0 8px;border:1px solid #9bcbaa;border-radius:4px;background:#fffdf8;color:var(--green);font-size:10px;font-weight:850;cursor:pointer}.admin-bet-pick{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-height:35px;padding:0 10px;border-top:1px solid #ece8df;font-size:11px;font-weight:800}.admin-bet-pick:first-of-type{border-top:0}.admin-bet-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-bet-pick strong{color:var(--green);font-size:12px}
.league-glance{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;margin:0 0 12px;padding:13px 14px;border:1px solid #b9ddc6;border-radius:8px;background:#eaf6ed;color:var(--ink);text-align:left;cursor:pointer}.league-glance span,.league-glance small{color:var(--muted);font-size:10px;font-weight:800}.league-glance strong{font-size:20px;color:var(--green)}.league-glance b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-card{display:grid;gap:14px;padding:16px;border:1px solid #b9ddc6;border-radius:9px;background:#edf7ef}.profile-ident{display:flex;align-items:center;gap:11px}.profile-ident .club-badge{width:42px;height:42px;font-size:12px}.profile-ident h2{margin:3px 0 1px;font-size:20px}.profile-ident small{color:var(--muted);font-size:11px;font-weight:700}.profile-position{display:grid;grid-template-columns:1fr auto;gap:2px 9px;width:100%;padding:11px;border:1px solid #d9e5db;border-radius:6px;background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-position span,.profile-position small{color:var(--muted);font-size:10px;font-weight:800}.profile-position strong{font-size:18px;color:var(--green)}.profile-position b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:11px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.profile-stats div{display:grid;gap:5px;min-height:73px;padding:10px;border:1px solid #e3ddd2;border-radius:7px;background:#fffdf8}.profile-stats span{color:var(--muted);font-size:9px;font-weight:850}.profile-stats strong{font-size:13px;color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.profile-section-head h2{margin-bottom:2px}.small-link{padding:4px 0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:850;cursor:pointer}.profile-form-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;min-height:31px;border-top:1px solid #e1e9e2;font-size:10px}.profile-form-row span{color:var(--muted);font-weight:800}.profile-form-row strong{color:var(--green);font-size:10px}.profile-form-row:first-of-type{margin-top:8px}.profile-actions{display:grid;gap:0;padding:0;overflow:hidden}.profile-actions button{display:grid;grid-template-columns:1fr auto;gap:2px 9px;align-items:center;min-height:57px;padding:10px 13px;border:0;border-top:1px solid var(--line);background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.profile-actions button:first-child{border-top:0}.profile-actions span{font-size:12px;font-weight:850}.profile-actions small{color:var(--muted);font-size:10px}.profile-actions b{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--green);font-size:18px}.betting-quicklook-block{background:#f5fbf6}.admin-quicklook-summary{display:grid;gap:3px;padding:10px 11px;border:1px solid #b9ddc6;border-radius:6px;background:#edf8f0}.admin-quicklook-summary strong{color:var(--green);font-size:12px}.admin-quicklook-summary span{color:var(--muted);font-size:10px;font-weight:750;line-height:1.35}.admin-bet-slip{margin-top:8px;border:1px solid #d7dfd7;border-radius:7px;overflow:hidden;background:#fffdf8}.admin-bet-slip-head{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;min-height:39px;padding:0 10px;border-bottom:1px solid #e1e7e1;background:#f0f6f1}.admin-bet-slip-head strong{font-size:12px}.admin-bet-slip-head span{padding:3px 6px;border-radius:99px;background:#dff3e6;color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase}.admin-bet-slip-head button{min-height:26px;padding:0 8px;border:1px solid #9bcbaa;border-radius:4px;background:#fffdf8;color:var(--green);font-size:10px;font-weight:850;cursor:pointer}.admin-bet-pick{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-height:35px;padding:0 10px;border-top:1px solid #ece8df;font-size:11px;font-weight:800}.admin-bet-pick:first-of-type{border-top:0}.admin-bet-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-bet-pick strong{color:var(--green);font-size:12px}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.odds-button{min-height:31px;padding:0 9px;border:1px solid #9bcbaa;border-radius:5px;background:#fffdf8;color:var(--green);font-size:10px;font-weight:850;cursor:pointer}.odds-button:disabled{opacity:.6;cursor:wait}.returns-block{background:#fffdf8}.odds-note{padding:8px 10px;border:1px solid #d8e4d9;border-radius:5px;background:#f4faf5;color:var(--muted);font-size:10px;font-weight:750;line-height:1.35}.admin-return-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;align-items:end;margin-top:8px;padding:10px;border:1px solid #d7dfd7;border-radius:7px;background:#fffdf8}.admin-return-info{display:grid;gap:3px;min-width:0}.admin-return-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-return-info small{color:var(--muted);font-size:9px;font-weight:750;line-height:1.3}.admin-return-row label{display:grid;gap:4px;color:var(--muted);font-size:9px;font-weight:850}.admin-return-row input{width:100%;min-width:0;height:32px;padding:0 6px;border:1px solid #cfc8bb;border-radius:5px;background:#fffdf8;color:var(--ink);font:inherit;font-size:11px;text-align:right}.admin-return-row button{grid-column:1/-1;min-height:33px;border:0;border-radius:5px;background:var(--green);color:#fff;font-size:11px;font-weight:850;cursor:pointer}@media(max-width:350px){.admin-return-row{grid-template-columns:1fr 78px}.admin-return-info small{font-size:8px}}

/* Keep the six League columns on the same fixed tracks on every phone width. */
.league-table{margin-top:10px}.league-table-head,.league-member .league-row{grid-template-columns:28px minmax(0,1fr) 34px;column-gap:7px}.league-table-head{min-height:34px;padding-right:12px;padding-left:12px}.league-member .league-row{min-height:54px;padding-right:12px;padding-left:12px}.league-player{display:grid;gap:3px;min-width:0}.league-identity{display:flex;align-items:center;gap:6px;min-width:0}.league-player .club-badge{flex:0 0 auto}.league-player small{overflow:hidden;color:var(--muted);font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.league-player small i{padding:0 2px;font-style:normal}.league-table-head span:nth-child(3),.league-member .league-points{text-align:right;justify-self:end}.league-member .league-points{font-size:14px;font-variant-numeric:tabular-nums}
@media(max-width:350px){.league-table-head,.league-member .league-row{grid-template-columns:24px minmax(0,1fr) 29px;column-gap:3px}.league-table-head,.league-member .league-row{padding-right:8px;padding-left:8px}.league-player small{font-size:8px}}
/* The source Swansea crest includes unusually generous transparent padding. */
.club-badge.badge-zoom-swansea img{transform:scale(1.35)}
