:root{
  --bg:#081126;--panel:#101b37;--panel2:#152344;--line:#28385f;--text:#f5f7ff;--muted:#a8b4d0;
  --accent:#7c5cff;--accent2:#22d3a7;--danger:#ff6f7d;--gold:#ffd166;--shadow:0 18px 50px rgba(0,0,0,.25);
}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 85% -10%,rgba(124,92,255,.24),transparent 34%),radial-gradient(circle at -15% 30%,rgba(34,211,167,.12),transparent 32%),var(--bg);color:var(--text);min-height:100vh}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.83rem}.tiny{font-size:.72rem}.strong{font-weight:800}.nowrap{white-space:nowrap}.right{text-align:right}
a{color:inherit}.link{color:#c8bcff;text-decoration:none}.link:hover{text-decoration:underline}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:rgba(8,17,38,.86);backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.25rem;margin:2px 8px 28px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 25px rgba(124,92,255,.35)}.nav{display:grid;gap:6px}.nav button,.bottom-nav button{border:0;background:transparent;color:var(--muted);cursor:pointer}.nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:11px 13px;border-radius:12px;font-weight:700}.nav button:hover,.nav button.active{background:var(--panel2);color:var(--text)}.nav .ico{font-size:1.15rem;width:24px;text-align:center}.sidebar-foot{position:absolute;bottom:20px;left:18px;right:18px}.profile-mini{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(21,35,68,.55)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4056a1,#7c5cff);font-weight:900}.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(40,56,95,.7);position:sticky;top:0;background:rgba(8,17,38,.82);backdrop-filter:blur(18px);z-index:15}.topbar h1{font-size:1.1rem;margin:0}.content{max-width:1220px;margin:0 auto;padding:30px 30px 100px}.bottom-nav{display:none}
.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:800;cursor:pointer;transition:.18s transform,.18s opacity,.18s background}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent),#9a7cff);color:white;box-shadow:0 8px 24px rgba(124,92,255,.25)}.btn-secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid transparent}.btn-danger{background:rgba(255,111,125,.14);color:#ff9da7;border:1px solid rgba(255,111,125,.32)}.btn-sm{padding:7px 10px;border-radius:9px;font-size:.82rem}.btn-block{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.card{background:linear-gradient(180deg,rgba(21,35,68,.95),rgba(14,25,52,.95));border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:stretch}.hero-card{padding:28px;min-height:220px;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-45px;top:-65px;background:radial-gradient(circle,rgba(34,211,167,.42),rgba(124,92,255,.06) 60%,transparent 65%)}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#b7a9ff}.hero h2{font-size:2.15rem;line-height:1.05;margin:10px 0 12px;max-width:650px}.stat-card{display:flex;flex-direction:column;gap:4px;min-height:118px}.stat{font-size:2rem;font-weight:950}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 14px}.section-head h2{margin:0;font-size:1.35rem}.section-head p{margin:4px 0 0;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(8,17,38,.55);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;color:var(--muted)}.pill.green{color:#7ef0d0;border-color:rgba(34,211,167,.35);background:rgba(34,211,167,.08)}.pill.gold{color:var(--gold);border-color:rgba(255,209,102,.34);background:rgba(255,209,102,.08)}.pill.red{color:#ff9da7;border-color:rgba(255,111,125,.35);background:rgba(255,111,125,.08)}.pill.purple{color:#c5baff;border-color:rgba(124,92,255,.4);background:rgba(124,92,255,.1)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:700px}.table th,.table td{padding:13px 14px;border-bottom:1px solid rgba(40,56,95,.65);text-align:left}.table th{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:rgba(8,17,38,.55);position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:rgba(124,92,255,.06)}.rank{font-weight:900}.rank.top{color:var(--gold)}.person{display:flex;align-items:center;gap:10px}.mini-badge{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--panel2)}
.fixture-list{display:grid;gap:12px}.fixture{display:grid;grid-template-columns:minmax(190px,1fr) 180px 140px;gap:15px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(16,27,55,.82)}.teams{display:grid;gap:7px;font-weight:800}.team-row{display:flex;justify-content:space-between;gap:12px}.score-inputs{display:flex;align-items:center;justify-content:center;gap:8px}.score-inputs input{width:58px;height:48px;text-align:center;font-size:1.15rem;font-weight:900;border-radius:11px;border:1px solid var(--line);background:#09142c;color:white}.score-inputs span{color:var(--muted);font-weight:900}.fixture-actions{display:flex;gap:7px;justify-content:flex-end}.toggle-chip{border:1px solid var(--line);border-radius:999px;padding:7px 9px;background:transparent;color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:900}.toggle-chip.active{background:rgba(124,92,255,.17);border-color:#7661d8;color:#d8d0ff}.toggle-chip.shock.active{background:rgba(255,209,102,.12);border-color:#a27e2a;color:#ffe19a}.fixture-meta{display:flex;gap:8px;align-items:center;margin-top:8px;color:var(--muted);font-size:.75rem;flex-wrap:wrap}.locked{opacity:.68}.result-line{font-size:.75rem;color:#7ef0d0;margin-top:5px}
.form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:.79rem;font-weight:800;color:#cbd4e7}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#09142c;color:var(--text);border-radius:12px;padding:12px 13px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#7c5cff;box-shadow:0 0 0 3px rgba(124,92,255,.14)}.textarea{min-height:90px;resize:vertical}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid rgba(40,56,95,.55)}.switch-row:last-child{border-bottom:0}.switch{width:46px;height:26px;border-radius:999px;background:#344467;padding:3px;cursor:pointer;border:0;transition:.2s}.switch:before{content:"";display:block;width:20px;height:20px;background:white;border-radius:50%;transition:.2s}.switch.on{background:var(--accent)}.switch.on:before{transform:translateX(20px)}
.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.tab{white-space:nowrap;border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 12px;border-radius:10px;font-weight:800;cursor:pointer}.tab.active{background:var(--panel2);color:var(--text);border-color:#526693}.league-card{display:flex;gap:14px;align-items:center;cursor:pointer}.league-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,rgba(124,92,255,.32),rgba(34,211,167,.16));display:grid;place-items:center;font-size:1.5rem;flex:0 0 auto}.league-card .grow{min-width:0;flex:1}.league-card h3{margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.code-box{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px dashed #526693;border-radius:12px;background:rgba(8,17,38,.45)}.code{font:900 1.15rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.achievement{position:relative;text-align:center;min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.achievement.locked-ach{filter:saturate(.25);opacity:.7}.badge-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;font-size:2rem;background:radial-gradient(circle at 30% 20%,#9b87ff,#5538c8 65%,#302069);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),0 12px 30px rgba(124,92,255,.2)}.achievement h3{font-size:1rem;margin:13px 0 5px}.progress{width:100%;height:7px;border-radius:999px;background:#263654;overflow:hidden;margin-top:12px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.rarity{position:absolute;top:10px;right:10px}
.pricing{align-items:stretch}.price-card{display:flex;flex-direction:column}.price{font-size:2.3rem;font-weight:950;margin:8px 0}.price small{font-size:.82rem;color:var(--muted)}.feature-list{display:grid;gap:10px;padding:0;margin:18px 0 24px;list-style:none}.feature-list li:before{content:"✓";color:var(--accent2);font-weight:900;margin-right:8px}.price-card .btn{margin-top:auto}.featured{border-color:#7561d7;box-shadow:0 18px 55px rgba(124,92,255,.18)}
.empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty .big{font-size:2.4rem;margin-bottom:10px}.notice{padding:13px 15px;border-radius:12px;border:1px solid rgba(255,209,102,.28);background:rgba(255,209,102,.07);color:#ffe3a1}.success{border-color:rgba(34,211,167,.28);background:rgba(34,211,167,.07);color:#89f0d6}.danger{border-color:rgba(255,111,125,.28);background:rgba(255,111,125,.07);color:#ffabb3}.modal-backdrop{position:fixed;inset:0;background:rgba(2,7,19,.78);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.55);padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-head h2{margin:0}.close{border:0;background:transparent;color:var(--muted);font-size:1.3rem;cursor:pointer}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:999;background:#f5f7ff;color:#0b1430;padding:11px 15px;border-radius:999px;font-weight:850;box-shadow:0 14px 45px rgba(0,0,0,.35);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-art{position:relative;padding:56px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(145deg,#101d42,#141344 55%,#103a39)}.auth-art:before,.auth-art:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.auth-art:before{width:420px;height:420px;background:rgba(124,92,255,.26);right:-120px;top:-110px}.auth-art:after{width:330px;height:330px;background:rgba(34,211,167,.18);left:-80px;bottom:-130px}.auth-copy{position:relative;z-index:1;max-width:650px}.auth-copy h1{font-size:4.2rem;line-height:.95;margin:20px 0}.auth-copy p{font-size:1.1rem;line-height:1.6;color:#cbd5e9}.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1}.auth-point{padding:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:14px}.auth-form-wrap{display:grid;place-items:center;padding:30px}.auth-form{width:min(430px,100%)}.auth-form h2{font-size:2rem;margin-bottom:8px}.otp{font-size:1.5rem;letter-spacing:.25em;text-align:center;font-weight:900}.demo-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;font-weight:900;letter-spacing:.16em}
.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.record .value{font-size:2rem;font-weight:950;margin:8px 0}.shout-card{display:flex;align-items:center;gap:12px}.shout-card .share{font-weight:950;color:var(--gold)}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr}.fixture{grid-template-columns:1fr 170px}.fixture-actions{grid-column:1/-1;justify-content:flex-start}.auth-copy h1{font-size:3.2rem}}
@media(max-width:780px){.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 16px}.content{padding:18px 14px 92px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:70px;background:rgba(8,17,38,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:grid;place-content:center;gap:3px;font-size:.66rem;font-weight:800}.bottom-nav .ico{font-size:1.15rem}.bottom-nav button.active{color:white}.grid-2,.grid-3,.grid-4,.record-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h2{font-size:1.75rem}.hero-card{padding:22px}.fixture{grid-template-columns:1fr;gap:12px}.score-inputs{justify-content:flex-start}.fixture-actions{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.auth-page{display:block}.auth-art{display:none}.auth-form-wrap{min-height:100vh;padding:24px}.table{min-width:620px}.topbar .actions .hide-mobile{display:none}}
@media(max-width:410px){.badge-grid{grid-template-columns:1fr}.auth-form h2{font-size:1.65rem}.score-inputs input{width:54px}.content{padding-left:11px;padding-right:11px}}

/* Top Footy Shouts legacy additions */
.brand-mark{font-size:.72rem;letter-spacing:.04em;line-height:1;text-align:center}.competition-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.competition-tab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:rgba(16,27,55,.72);color:var(--text);cursor:pointer}.competition-tab span{font-size:.76rem;color:var(--muted)}.competition-tab.active{border-color:#806aff;background:linear-gradient(135deg,rgba(124,92,255,.20),rgba(34,211,167,.08));box-shadow:0 10px 28px rgba(124,92,255,.14)}
.hero-progress{display:grid;place-content:center;text-align:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(124,92,255,.12),rgba(34,211,167,.08))}.ring{width:132px;height:132px;margin:auto;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle at center,var(--panel) 57%,transparent 59%),conic-gradient(var(--accent2) 0 68%,rgba(255,255,255,.1) 68%)}.ring b{font-size:2rem}.ring span{font-size:.72rem;color:var(--muted)}
.league-hero{position:relative;display:flex;align-items:center;gap:18px;min-height:195px;padding:25px;border:1px solid color-mix(in srgb,var(--league-primary) 55%,var(--line));border-radius:21px;background-color:var(--panel);background-size:cover;background-position:center;overflow:hidden;box-shadow:var(--shadow)}.league-hero:after{content:"";position:absolute;inset:auto -70px -100px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--league-secondary),transparent 65%);opacity:.16;pointer-events:none}.league-hero>*{position:relative;z-index:1}.league-logo{overflow:hidden;background:linear-gradient(135deg,var(--league-primary,#7c5cff),var(--league-secondary,#22d3a7))}.league-logo img{width:100%;height:100%;object-fit:cover}.league-icon.large{width:78px;height:78px;border-radius:22px;font-size:2rem}.league-format-note{max-width:760px;margin:10px 0;padding:9px 11px;border-left:3px solid var(--league-secondary,#22d3a7);border-radius:0 9px 9px 0;background:rgba(4,10,25,.38);font-size:.81rem;color:#d3dcf0}.division-points{font-weight:780;color:#c8d2ed}
.colour-input{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;background:#09142c;padding:5px;cursor:pointer}
.founder-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:26px;border:1px solid rgba(255,209,102,.42);border-radius:21px;background:radial-gradient(circle at 90% 20%,rgba(255,209,102,.22),transparent 32%),linear-gradient(135deg,rgba(124,92,255,.18),rgba(16,27,55,.95));box-shadow:var(--shadow)}.founder-banner h2{margin:10px 0 5px}.founder-banner p{margin:0;color:var(--muted)}.founder-price{font-size:3.2rem;font-weight:950;color:var(--gold);white-space:nowrap}
.how-hero{text-align:center;padding:38px 22px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% -20%,rgba(124,92,255,.32),transparent 52%),var(--panel);box-shadow:var(--shadow)}.how-hero h2{font-size:2.4rem;margin:13px 0 8px}.how-hero p{max-width:710px;margin:0 auto;color:var(--muted);font-size:1.03rem}.how-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:start;margin-top:24px}.how-step{text-align:center;position:relative}.how-step>span{position:absolute;z-index:2;top:-9px;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:900}.how-step h3{margin:13px 0 5px}.how-step p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.how-arrow{align-self:center;margin-top:68px;color:#8d9ab9;font-size:1.6rem}.visual-card{height:138px;display:flex;flex-direction:column;justify-content:center;gap:10px;margin-top:5px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(124,92,255,.15),rgba(34,211,167,.06));box-shadow:var(--shadow)}.competition-mini{display:flex;gap:7px;justify-content:center}.competition-mini i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);font-style:normal;font-size:.72rem;font-weight:900}.score-visual{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.score-visual strong{font-size:1.5rem}.score-visual b{font-size:.72rem}.pick-chip{padding:9px;border:1px solid var(--line);border-radius:999px;background:rgba(8,17,38,.6);font-size:.8rem;font-weight:850}
@media(max-width:1050px){.how-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.how-arrow{display:none}.league-hero{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:780px){.competition-tabs{grid-template-columns:1fr}.founder-banner{align-items:flex-start;flex-direction:column}.founder-price{font-size:2.6rem}.how-flow{grid-template-columns:1fr}.how-hero h2{font-size:1.8rem}.league-hero{padding:20px}.league-icon.large{width:64px;height:64px}.brand{font-size:1.02rem}}

/* Top Footy Shouts v8: responsive prediction cards, fixture tickers, records and player identity */
.main{overflow:hidden}
.ticker-stack{position:sticky;top:72px;z-index:14;background:rgba(6,14,32,.96);border-bottom:1px solid var(--line);box-shadow:0 9px 22px rgba(0,0,0,.14)}
.ticker-lane{height:36px;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;border-top:1px solid rgba(40,56,95,.45);overflow:hidden}
.ticker-lane:first-child{border-top:0}.ticker-label{height:100%;display:grid;place-items:center;padding:0 12px;background:#101c3a;color:#dfe6fa;font-size:.7rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;z-index:2}.ticker-lane.championship .ticker-label{background:#35151f}.ticker-window{overflow:hidden;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ticker-track{display:flex;width:max-content;align-items:center;gap:30px;padding-left:30px;animation:tfsTicker 58s linear infinite}.ticker-lane.championship .ticker-track{animation-duration:68s}.ticker-fixture{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:.76rem;font-weight:800;color:#e9edfa}.ticker-fixture small{font-size:.64rem;color:var(--muted);margin-left:3px}.ticker-fixture b{color:var(--gold)}.ticker-fixture>span:nth-of-type(2){color:var(--muted)}
@keyframes tfsTicker{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.toast{transition:none}}

.fixture{grid-template-columns:minmax(0,1fr) 150px minmax(220px,270px)}.fixture>div{min-width:0}.fixture-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch;align-items:start}.fixture-actions .toggle-chip{width:100%;min-height:38px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.fixture-actions [data-shock-help]{grid-column:1/-1;line-height:1.35;overflow-wrap:anywhere;min-height:0}.prediction-note{overflow-wrap:anywhere}

.player-shield,.profile-image{overflow:hidden;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-size:.67rem;font-weight:950;background:var(--shield,#7c5cff);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}.player-shield.shield-classic{clip-path:polygon(50% 0,94% 17%,86% 72%,50% 100%,14% 72%,6% 17%);border-radius:4px}.player-shield.shield-hex{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)}.player-shield.shield-round{border-radius:50%}.player-shield.shield-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.player-shield.shield-none{border-radius:9px;background:var(--panel2);box-shadow:none}.profile-image{border-radius:50%;background:var(--panel2)}.profile-image img{width:100%;height:100%;object-fit:cover}.avatar.player-shield,.avatar.profile-image{width:38px;height:38px}.top-profile-mark{width:24px;height:24px}.profile-top{padding:5px 8px}.profile-top .top-profile-mark{pointer-events:none}.mini-badge.player-shield,.mini-badge.profile-image{width:30px;height:32px}.mini-badge.crown{width:30px;height:30px}.profile-preview-mark{width:64px;height:68px;font-size:1rem}.profile-editor{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:center}.profile-preview{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#09142c}.check-card{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#09142c;cursor:pointer}.check-card input{width:18px;height:18px}.check-card span{display:grid;gap:2px}.check-card small{color:var(--muted)}

.records-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.records-table{min-width:520px}.record-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.how-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.how-feature{display:flex;gap:15px;align-items:flex-start}.how-feature h3{margin:0 0 6px}.how-feature p{margin:0;color:var(--muted);line-height:1.5}.how-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;flex:0 0 auto;font-size:1.5rem;background:linear-gradient(145deg,rgba(124,92,255,.28),rgba(34,211,167,.12));border:1px solid var(--line)}.how-mini{margin-top:10px;padding:8px 10px;border-radius:10px;background:#09142c;color:#dbe3f6;font-size:.75rem;font-weight:750}.league-type-card{min-height:190px}.automation-card,.admin-lock{display:flex;gap:18px;align-items:flex-start}.admin-lock .actions{width:min(620px,100%)}.admin-lock .input{flex:1;min-width:220px}

@media(max-width:1180px){.fixture{grid-template-columns:minmax(0,1fr) 150px}.fixture-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(160px,240px));justify-content:start}.fixture-actions [data-shock-help]{max-width:500px}.how-feature-grid{grid-template-columns:1fr}}
@media(max-width:780px){.ticker-stack{top:62px}.ticker-lane{grid-template-columns:92px minmax(0,1fr);height:34px}.ticker-label{font-size:.58rem;padding:0 6px}.ticker-track{gap:24px;padding-left:20px;animation-duration:42s}.ticker-lane.championship .ticker-track{animation-duration:50s}.ticker-fixture{font-size:.69rem}.ticker-fixture small{display:none}.fixture{grid-template-columns:minmax(0,1fr);padding:14px}.score-inputs{justify-content:flex-start}.fixture-actions{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.fixture-actions [data-shock-help]{max-width:none}.records-controls{grid-template-columns:1fr}.profile-editor{grid-template-columns:1fr}.profile-preview{width:100%}.automation-card,.admin-lock{flex-direction:column}.admin-lock .actions{align-items:stretch}.admin-lock .input{min-width:0}.record-grid{grid-template-columns:1fr}.topbar{z-index:16}}
@media(max-width:410px){.fixture-actions{grid-template-columns:1fr}.ticker-lane{grid-template-columns:78px minmax(0,1fr)}.ticker-label{white-space:normal;text-align:center;line-height:1.05}.how-feature{flex-direction:column}.profile-preview{align-items:flex-start}}

/* Top Footy Shouts v8: cropped branding, rewards and consent controls */
.league-logo.logo-circle,.asset-preview.logo-circle{border-radius:50%!important}.league-logo.logo-square,.asset-preview.logo-square{border-radius:15px!important}.league-copy{flex:1;min-width:220px}.league-description{margin:8px 0 0;max-width:760px;line-height:1.48;color:#eef2ff}.league-reward{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;align-items:center;max-width:760px;margin-top:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--league-secondary) 45%,var(--line));border-radius:12px;background:rgba(4,10,25,.55)}.league-reward span{grid-row:1/3;color:var(--gold);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.league-reward b{font-size:.9rem}.league-reward small{color:var(--muted);font-size:.68rem}.league-hero-actions{align-self:flex-start}.league-card .league-logo.logo-circle{border-radius:50%!important}

.modal-wide{width:min(920px,100%)}.branding-editor{display:grid;gap:18px;margin-top:14px}.asset-editor{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,240px);gap:12px 16px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;background:#09142c}.asset-editor.banner-asset{grid-template-columns:minmax(180px,1fr) minmax(300px,1.6fr)}.asset-preview{display:grid;place-items:center;overflow:hidden;border:1px dashed #5a6e98;background:#111d3a;color:var(--muted);min-height:120px}.asset-preview img{width:100%;height:100%;object-fit:cover}.logo-preview{width:150px;height:150px;justify-self:center}.banner-preview{width:100%;aspect-ratio:3/1;min-height:0}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.crop-help{margin-bottom:12px;color:var(--muted);font-size:.84rem}.crop-stage{display:grid;place-items:center;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:15px;background:#050b19}.crop-stage canvas{display:block;max-width:100%;height:auto;cursor:grab;touch-action:none;box-shadow:0 12px 30px rgba(0,0,0,.35)}.crop-stage canvas.dragging{cursor:grabbing}.crop-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px}.crop-controls label{font-weight:850}.crop-controls input[type=range]{width:100%;accent-color:var(--accent)}

.notification-button{position:relative;padding:7px 10px}.notification-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--danger);color:white;font-size:.62rem;font-weight:950;border:2px solid var(--bg)}.notification-list{display:grid;gap:10px}.notification-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:#09142c}.notification-item.unread{border-color:rgba(124,92,255,.6);box-shadow:inset 3px 0 0 var(--accent)}.notification-item p{margin:5px 0;color:var(--muted);font-size:.8rem;line-height:1.4}.notification-item small{color:#8190b2}.marketing-choice{border-color:rgba(255,209,102,.32)}
.official-rule-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.official-rule-row span{padding:6px 9px;border-radius:999px;background:rgba(34,211,167,.08);border:1px solid rgba(34,211,167,.28);color:#8cefd8;font-size:.73rem;font-weight:850}.official-rule-row .no-rule{background:rgba(255,111,125,.08);border-color:rgba(255,111,125,.3);color:#ffabb3}

@media(max-width:780px){.asset-editor,.asset-editor.banner-asset{grid-template-columns:1fr}.logo-preview{justify-self:start}.league-reward{grid-template-columns:1fr}.league-reward span{grid-row:auto}.league-hero-actions{width:100%}.crop-controls{grid-template-columns:1fr}.crop-controls .btn{justify-self:start}}

/* v9 dedicated prizes */
.prize-list{display:grid;gap:10px}.prize-row,.prize-edit-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.prize-place{font-weight:950;color:var(--gold);text-transform:uppercase}.prize-copy{font-weight:750}.prize-edit-row{margin-bottom:10px}.crop-controls:before{content:'Zoom';font-weight:850}.crop-controls input[type=range]{min-height:32px}.asset-editor .file-button{box-shadow:0 0 0 2px rgba(124,92,255,.15)}
@media(max-width:620px){.prize-row,.prize-edit-row{grid-template-columns:55px 1fr}.prize-edit-row .btn{grid-column:2;justify-self:start}}

/* legacy responsive UI foundations retained in v11 */

/* Prediction cards: controls have a dedicated bounded column and can never overlap. */
.fixture{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,430px);gap:22px;align-items:center;padding:18px}
.fixture-info{min-width:0}
.prediction-controls{min-width:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center}
.score-inputs{min-width:0;justify-content:flex-start}
.score-inputs input{flex:0 0 58px}
.fixture-actions{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;justify-content:stretch}
.fixture-actions .toggle-chip{position:static;width:100%;min-width:0;min-height:48px;padding:10px 9px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.1;white-space:normal;overflow-wrap:anywhere}
.fixture-actions [data-shock-help]{grid-column:1/-1;min-width:0;line-height:1.35;overflow-wrap:anywhere}

.league-tabs{scrollbar-width:thin}
.branding-intro{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid rgba(34,211,167,.32);border-radius:13px;background:rgba(34,211,167,.07)}
.branding-intro span{color:var(--muted);font-size:.8rem}
.shape-choice{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.shape-choice label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#0b1731;cursor:pointer;font-size:.8rem;font-weight:850}
.shape-choice input{accent-color:var(--accent)}
.file-button{isolation:isolate}
.file-button input{z-index:2}
.crop-controls:before{content:none}
.crop-controls label{display:block}

.gameweek-history-controls{display:grid;grid-template-columns:repeat(2,minmax(180px,280px));gap:12px;margin-bottom:14px}
.gameweek-history-table{min-width:720px}
.my-gameweek-row{background:rgba(34,211,167,.08)!important;box-shadow:inset 3px 0 0 var(--accent2)}
.tiny-pill{padding:2px 6px;font-size:.58rem;vertical-align:middle}

@media(max-width:1050px){
  .fixture{grid-template-columns:1fr;gap:15px}
  .prediction-controls{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:620px){
  .prediction-controls{grid-template-columns:1fr}
  .score-inputs{justify-content:flex-start}
  .fixture-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gameweek-history-controls{grid-template-columns:1fr}
  .branding-intro{align-items:flex-start;flex-direction:column}
}
@media(max-width:390px){
  .fixture-actions{grid-template-columns:1fr}
}

/* v11: shared gameweek deadline, published picks and multi-colour crest builders */
.ticker-lane{grid-template-columns:170px minmax(0,1fr)}
.ticker-label{padding-inline:10px;overflow:visible;text-overflow:clip}
@media(max-width:780px){.ticker-lane{grid-template-columns:118px minmax(0,1fr)}.ticker-label{font-size:.57rem;white-space:nowrap}}
@media(max-width:440px){.ticker-lane{grid-template-columns:104px minmax(0,1fr)}.ticker-label{font-size:.52rem;padding-inline:4px}}

/* Three-colour badge system inspired by modular football-club crest builders. */
.crest-badge{--crest-1:#7c5cff;--crest-2:#22d3a7;--crest-3:#ffd166;position:relative;isolation:isolate;display:grid!important;place-items:center!important;overflow:hidden!important;color:#fff!important;background:var(--crest-1)!important;border:2px solid color-mix(in srgb,var(--crest-3) 72%,white)!important;box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),0 5px 14px rgba(0,0,0,.18)!important}
.crest-badge.crest-pattern-solid{background:var(--crest-1)!important}
.crest-badge.crest-pattern-halves{background:linear-gradient(90deg,var(--crest-1) 0 50%,var(--crest-2) 50% 100%)!important}
.crest-badge.crest-pattern-quarters{background:conic-gradient(var(--crest-1) 0 25%,var(--crest-2) 25% 50%,var(--crest-1) 50% 75%,var(--crest-2) 75% 100%)!important}
.crest-badge.crest-pattern-diagonal{background:linear-gradient(135deg,var(--crest-1) 0 46%,var(--crest-3) 46% 56%,var(--crest-2) 56% 100%)!important}
.crest-badge.crest-pattern-stripes{background:repeating-linear-gradient(90deg,var(--crest-1) 0 18%,var(--crest-2) 18% 36%)!important}
.crest-badge.crest-classic{clip-path:polygon(50% 0,94% 16%,87% 72%,50% 100%,13% 72%,6% 16%);border-radius:4px!important}
.crest-badge.crest-hex{clip-path:polygon(24% 5%,76% 5%,100% 50%,76% 95%,24% 95%,0 50%);border-radius:3px!important}
.crest-badge.crest-round{border-radius:50%!important}
.crest-badge.crest-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:3px!important}
.crest-accent{position:absolute;z-index:1;left:8%;right:8%;bottom:13%;height:16%;border-radius:999px;background:var(--crest-3);box-shadow:0 0 0 1px rgba(0,0,0,.24)}
.crest-emblem{position:relative;z-index:2;display:grid;place-items:center;min-width:46%;min-height:42%;padding:2px;color:#fff;text-shadow:0 1px 3px #000;font-weight:950;line-height:1}
.generated-league-crest{font-size:1rem!important}
.league-icon.generated-league-crest{border-radius:0;background:none}
.league-icon.large.generated-league-crest{font-size:1.3rem!important}
.no-league-logo .league-copy{margin-left:0}
.logo-mode-choice{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.logo-mode-choice label{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#09142c;font-size:.8rem;font-weight:850;cursor:pointer}
.logo-mode-choice input{accent-color:var(--accent)}
.crest-builder{border-color:rgba(124,92,255,.34);background:rgba(124,92,255,.055)}

/* Hard separation between score fields and selectable bonuses. */
.fixture-v11{grid-template-columns:minmax(260px,1fr) minmax(460px,540px)!important;gap:24px!important;align-items:center!important}
.prediction-controls-v11{display:grid!important;grid-template-columns:150px minmax(280px,1fr)!important;gap:16px!important;align-items:start!important;min-width:0!important}
.score-entry,.pick-area{display:grid;gap:7px;min-width:0}
.control-label{font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.score-entry .score-inputs{width:150px;display:grid!important;grid-template-columns:58px 18px 58px!important;gap:8px!important;align-items:center!important;justify-content:start!important}
.pick-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(120px,1fr))!important;gap:8px!important;min-width:0!important;width:100%!important}
.pick-button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:0!important;width:100%!important;height:48px!important;padding:8px 11px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#0a1732!important;color:var(--muted)!important;font-size:.78rem!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;cursor:pointer!important;overflow:hidden!important}
.pick-button:hover:not(:disabled){border-color:#6176a4!important;color:#fff!important}
.pick-button.active.banker-pick{background:rgba(124,92,255,.2)!important;border-color:#8a76ff!important;color:#eeeaff!important;box-shadow:inset 3px 0 0 #9d89ff!important}
.pick-button.active.shock-pick{background:rgba(255,209,102,.15)!important;border-color:#d1a737!important;color:#ffe59e!important;box-shadow:inset 3px 0 0 #ffd166!important}
.pick-button:disabled{opacity:.58!important;cursor:not-allowed!important}
.pick-icon{font-size:1rem;flex:0 0 auto}
.shock-help{grid-column:1/-1;min-height:18px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:1120px){.fixture-v11{grid-template-columns:1fr!important}.prediction-controls-v11{grid-template-columns:150px minmax(280px,460px)!important}}
@media(max-width:660px){.prediction-controls-v11{grid-template-columns:1fr!important}.pick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}.score-entry .score-inputs{width:auto}.fixture-v11{padding:14px!important}}
@media(max-width:390px){.pick-buttons{grid-template-columns:1fr!important}}

/* Published gameweek prediction matrix. */
.prediction-legend{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 12px;color:var(--muted);font-size:.78rem;font-weight:800}
.prediction-legend span{display:flex;align-items:center;gap:6px}.legend-swatch{width:13px;height:13px;border-radius:4px;display:inline-block}.legend-swatch.banker{background:#7c5cff}.legend-swatch.shock{background:#d8a82f}.legend-swatch.six{background:#22b98f}
.published-table-wrap{max-width:100%;overflow:auto}
.published-predictions-table{min-width:max-content}
.published-predictions-table th,.published-predictions-table td{text-align:center;min-width:100px}
.published-predictions-table th:first-child,.published-predictions-table td:first-child{position:sticky;left:0;z-index:3;text-align:left;min-width:220px;background:#0c1833;box-shadow:7px 0 14px rgba(0,0,0,.18)}
.published-predictions-table thead th:first-child{z-index:5;background:#081126}
.prediction-fixture-head b{display:block;font-size:.72rem;color:#eef2ff}.prediction-fixture-head small{display:block;margin-top:4px;color:var(--muted);font-size:.61rem;font-weight:600;white-space:nowrap}
.prediction-cell{position:relative;font-size:.92rem;background:rgba(8,17,38,.36)}
.prediction-cell.has-banker{background:rgba(124,92,255,.18);box-shadow:inset 0 -3px 0 #8d79ff}
.prediction-cell.has-shock{background:rgba(255,209,102,.14);box-shadow:inset 0 -3px 0 #d8a82f}
.prediction-cell.has-six{outline:1px solid rgba(34,211,167,.55);outline-offset:-3px}
.prediction-cell.has-banker.has-shock{background:linear-gradient(135deg,rgba(124,92,255,.21),rgba(255,209,102,.18))}
.prediction-flags{display:flex;justify-content:center;gap:3px;margin-top:5px}.prediction-flag{display:inline-grid;place-items:center;min-width:19px;height:18px;padding:0 4px;border-radius:5px;font-size:.55rem;font-weight:950}.prediction-flag.banker{background:#7c5cff;color:#fff}.prediction-flag.shock{background:#d8a82f;color:#171107}.prediction-flag.six{background:#22b98f;color:#041611}.empty-prediction{color:var(--muted)}
@media(max-width:620px){.published-predictions-table th:first-child,.published-predictions-table td:first-child{min-width:175px}.prediction-deadline{font-size:.85rem}}

/* v11.1: keep ticker labels inside their own lane */
.ticker-lane{grid-template-columns:184px minmax(0,1fr)}
.ticker-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative;z-index:4;border-right:1px solid rgba(255,255,255,.08)}
.ticker-window{position:relative;z-index:1;min-width:0}
@media(max-width:780px){.ticker-lane{grid-template-columns:132px minmax(0,1fr)}.ticker-label{font-size:.56rem!important;padding-inline:6px!important}}
@media(max-width:440px){.ticker-lane{grid-template-columns:112px minmax(0,1fr)}.ticker-label{font-size:.49rem!important;padding-inline:3px!important}}

/* v12: Premier purple/yellow + Championship red/white visual system */
:root{
  --bg:#070d22;--panel:#111a39;--panel2:#1a244b;--line:#35436b;--text:#ffffff;--muted:#b4bdd6;
  --accent:#7b2cff;--accent2:#ef3340;--danger:#ff5b6a;--gold:#ffd400;--success:#27d7a1;
}
body{background:
  radial-gradient(circle at 84% -8%,rgba(123,44,255,.29),transparent 31%),
  radial-gradient(circle at 5% 45%,rgba(239,51,64,.17),transparent 30%),
  radial-gradient(circle at 62% 108%,rgba(255,212,0,.09),transparent 30%),var(--bg)}
.brand-mark{background:linear-gradient(135deg,var(--accent) 0 50%,var(--accent2) 50% 100%);border:2px solid var(--gold);color:#fff}
.btn-primary{background:linear-gradient(135deg,var(--accent),#9b45ff 55%,var(--accent2));color:#fff;box-shadow:0 8px 26px rgba(123,44,255,.28)}
.progress>span{background:linear-gradient(90deg,var(--accent),var(--gold),var(--accent2))}
.hero-card:after{background:radial-gradient(circle,rgba(255,212,0,.34),rgba(239,51,64,.10) 58%,transparent 65%)}
.competition-tab.active{border-color:var(--gold);background:linear-gradient(135deg,rgba(123,44,255,.23),rgba(239,51,64,.12));box-shadow:inset 0 -3px 0 rgba(255,212,0,.72),0 10px 28px rgba(123,44,255,.15)}
.hero-progress{background:linear-gradient(145deg,rgba(123,44,255,.16),rgba(239,51,64,.10))}
.ring{background:radial-gradient(circle at center,var(--panel) 57%,transparent 59%),conic-gradient(var(--gold) 0 68%,rgba(255,255,255,.1) 68%)}
.pill.green{color:#8ef5d4;border-color:rgba(39,215,161,.38);background:rgba(39,215,161,.09)}
.result-line{color:#8ef5d4}
.ticker-lane.premier .ticker-label{background:linear-gradient(90deg,#401189,#6a25d5)}
.ticker-lane.championship .ticker-label{background:linear-gradient(90deg,#7d1020,#d72439)}
.eyebrow{color:#d7c4ff}

/* Professional score alignment: true horizontal and vertical centring. */
.score-inputs input,
.score-entry .score-inputs input{
  display:block!important;padding:0!important;text-align:center!important;line-height:48px!important;
  font-variant-numeric:tabular-nums!important;-moz-appearance:textfield!important;appearance:textfield!important;
}
.score-inputs input::-webkit-outer-spin-button,.score-inputs input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}
.score-entry .score-inputs{justify-content:center!important}
.score-entry .control-label{text-align:center}

/* Additional navigation items remain usable on shorter laptop screens. */
.sidebar .nav{max-height:calc(100vh - 190px);overflow-y:auto;padding-right:3px;scrollbar-width:thin}

/* Reminder settings now separate delivery method from timing. */
.preference-section{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(7,13,34,.38)}
.preference-section>b{font-size:.8rem;letter-spacing:.04em;color:#fff}

/* Full fixture browser. */
.fixture-hub-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 16px}
.fixture-hub-head h2{margin:6px 0}.fixture-hub-head p{margin:0;color:var(--muted)}
.fixture-week-select{width:auto;min-width:155px}
.fixture-browser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}
.fixture-browser-card{display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(123,44,255,.075),rgba(239,51,64,.055),rgba(17,26,57,.94))}
.fixture-browser-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.fixture-browser-card small{color:var(--muted)}
.fixture-browser-teams{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:10px}.fixture-browser-teams b:last-child{text-align:right}.fixture-browser-teams strong{text-align:center;color:var(--gold)}

/* Founder and featured community league. */
.founder-league-card,.founder-page-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:18px;padding:24px;border:1px solid rgba(255,212,0,.38);border-radius:20px;background:linear-gradient(130deg,rgba(123,44,255,.18),rgba(239,51,64,.11) 66%,rgba(255,212,0,.08));box-shadow:var(--shadow)}
.founder-league-card h2,.founder-page-hero h2{margin:7px 0}.founder-league-card p,.founder-page-hero p{color:var(--muted)}
.founder-league-code{display:grid;place-items:center;min-width:145px;padding:17px;border:1px solid rgba(255,212,0,.48);border-radius:16px;background:rgba(7,13,34,.58)}
.founder-league-code small,.founder-league-code span{color:var(--muted)}.founder-league-code b{font:950 1.65rem ui-monospace,monospace;color:var(--gold);letter-spacing:.08em;margin:4px 0}
.founder-page-hero{grid-template-columns:110px minmax(0,1fr);margin-top:0}.founder-monogram{width:100px;height:100px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:3px solid var(--gold);font-weight:950;font-size:1.25rem}
.featured-founder-league{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:18px}.featured-founder-actions{display:grid;gap:10px;min-width:190px}

/* Sponsor placements are labelled and restrained rather than interruptive. */
.partner-strip{display:flex;align-items:center;gap:13px;margin:16px 0;padding:12px 15px;border:1px solid rgba(255,212,0,.28);border-radius:15px;background:linear-gradient(90deg,rgba(255,212,0,.08),rgba(123,44,255,.08));text-decoration:none;color:inherit}
.partner-strip.compact{margin:12px 0}.partner-logo{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#fff;color:#111;font-weight:950}.partner-logo img{width:100%;height:100%;object-fit:contain}.partner-copy{display:grid;gap:2px;flex:1}.partner-copy .eyebrow{font-size:.61rem;color:var(--gold)}.partner-copy small{color:var(--muted)}.partner-cta{font-size:.78rem;font-weight:850;color:var(--gold)}
.demo-partner-strip{display:flex;align-items:center;gap:12px;margin-top:15px;padding:12px;border:1px solid rgba(255,212,0,.3);border-radius:13px;background:rgba(7,13,34,.5)}.demo-partner-logo{display:grid;place-items:center;width:55px;height:38px;border-radius:8px;background:#fff;color:#111;font-size:.68rem;font-weight:950}.demo-partner-strip>div{display:grid;gap:2px;flex:1}.demo-partner-strip small{color:var(--gold);text-transform:uppercase;font-weight:850}.demo-partner-strip>span:last-child{color:var(--muted);font-size:.75rem}

@media(max-width:850px){.fixture-browser-grid{grid-template-columns:1fr}.fixture-hub-head{align-items:flex-start;flex-direction:column}.founder-league-card,.founder-page-hero,.featured-founder-league{grid-template-columns:1fr}.founder-league-code{place-items:start}.featured-founder-actions{min-width:0}.partner-cta{display:none}}
@media(max-width:500px){.fixture-browser-teams{grid-template-columns:1fr auto 1fr;font-size:.82rem}.founder-page-hero{padding:18px}.founder-monogram{width:80px;height:80px;border-radius:22px}}

/* v13: horizontal fixture cards and strictly separated controls. */
.fixture-v13{display:grid!important;grid-template-columns:minmax(360px,1fr) minmax(440px,560px)!important;gap:28px!important;align-items:center!important;padding:18px!important}
.fixture-info-horizontal{min-width:0}
.fixture-matchup{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:12px;font-size:1rem;line-height:1.25;text-align:center}
.fixture-matchup b{min-width:0;overflow-wrap:anywhere;font-weight:950;color:#fff}
.fixture-matchup span{display:grid;place-items:center;min-width:34px;color:var(--gold);font-weight:950;text-transform:uppercase}
.prediction-controls-v13{display:grid!important;grid-template-columns:150px minmax(260px,1fr)!important;gap:18px!important;align-items:start!important;min-width:0!important}
.prediction-controls-v13 .score-entry,.prediction-controls-v13 .pick-area{min-width:0}
.prediction-controls-v13 .score-inputs{display:grid!important;grid-template-columns:58px 18px 58px!important;justify-content:center!important;width:150px!important;gap:8px!important}
.prediction-controls-v13 .pick-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(112px,1fr))!important;gap:10px!important;width:100%!important}
.prediction-controls-v13 .shock-help{grid-column:1/-1;max-width:none!important}

.late-start-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;border:1px solid rgba(255,212,0,.42);border-radius:18px;background:linear-gradient(110deg,rgba(91,28,170,.24),rgba(239,51,64,.12),rgba(255,212,0,.08));margin:0 0 20px}
.late-start-banner h2{margin:4px 0 5px}.late-start-banner p{margin:0;color:var(--muted)}
.late-start-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--red));color:#fff;font-size:1.5rem;font-weight:950}
.records-explainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.records-explainer>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(8,17,38,.55)}
.records-explainer span{font-size:.76rem;color:var(--muted)}
.records-shout-section .table{min-width:420px}
.gameweek-breakdown{display:grid;gap:3px;min-width:220px}.gameweek-breakdown b{font-size:.78rem}.gameweek-breakdown span{font-size:.7rem;color:var(--muted)}
.not-yet-member{opacity:.62}.joined-later{font-size:.62rem;min-width:70px}
.founder-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.founder-progress-grid>div{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.55)}
.founder-progress-grid b{font-size:1.25rem;color:var(--gold)}.founder-progress-grid span{font-size:.74rem;color:var(--muted)}
.admin-automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.admin-automation-grid>div{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px}.admin-automation-grid span{font-size:.8rem;color:var(--muted);line-height:1.5}

@media(max-width:1180px){
  .fixture-v13{grid-template-columns:1fr!important}
  .prediction-controls-v13{grid-template-columns:150px minmax(280px,520px)!important}
}
@media(max-width:700px){
  .fixture-matchup{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:7px;font-size:.9rem}
  .prediction-controls-v13{grid-template-columns:1fr!important}
  .prediction-controls-v13 .score-inputs{width:auto!important;justify-content:start!important}
  .prediction-controls-v13 .score-entry .control-label{text-align:left!important}
  .prediction-controls-v13 .pick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .late-start-banner{grid-template-columns:auto minmax(0,1fr)}.late-start-banner .btn{grid-column:1/-1;width:100%}
  .records-explainer,.founder-progress-grid,.admin-automation-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .fixture-matchup{grid-template-columns:1fr;gap:4px}.fixture-matchup span{min-height:20px}
  .prediction-controls-v13 .pick-buttons{grid-template-columns:1fr!important}
}


/* v14: managed participants, guest entry and season-equivalent weighting. */
.weighting-guide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;align-items:stretch}
.weighting-formula{display:grid;place-items:center;text-align:center;padding:24px;border:1px solid rgba(255,212,0,.38);border-radius:17px;background:linear-gradient(145deg,rgba(123,44,255,.17),rgba(239,51,64,.08))}
.weighting-formula strong{font-size:1.25rem;color:var(--gold);line-height:1.4}.weighting-formula span{margin-top:8px;color:var(--muted);font-size:.78rem}
.provisional-row{opacity:.76}.provisional-row td{background:rgba(255,212,0,.025)}
.managed-tools{align-items:start}.managed-tools .textarea{width:100%;margin:10px 0 12px}.managed-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.managed-label{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,212,0,.32);background:rgba(255,212,0,.07);color:var(--gold);font-size:.62rem;font-weight:900}
.paste-example{white-space:pre-wrap;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:13px;background:#071026;color:#eef3ff;font:700 .76rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.paste-preview-list{display:grid;gap:8px;margin-top:12px}.paste-preview-list>div{padding:10px;border:1px solid var(--line);border-radius:11px;background:rgba(7,13,34,.48)}
.guest-page{min-height:100vh;padding:28px 16px;background:radial-gradient(circle at 80% 0,rgba(123,44,255,.25),transparent 35%),var(--bg)}
.guest-shell{width:min(980px,100%);margin:0 auto}.guest-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.guest-fixture{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(220px,.7fr);align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.guest-fixture:last-child{border-bottom:0}.guest-match{font-weight:900}.guest-score{display:grid;grid-template-columns:55px 18px 55px;align-items:center;justify-content:center;gap:7px}.guest-score input{text-align:center}.guest-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trusted-host-card{border-color:rgba(255,212,0,.4)!important;background:linear-gradient(145deg,rgba(255,212,0,.08),rgba(123,44,255,.08))!important}
.how-hosting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.how-hosting-grid .card{height:100%}
@media(max-width:900px){.weighting-guide,.how-hosting-grid{grid-template-columns:1fr}.guest-fixture{grid-template-columns:1fr}.guest-score{justify-content:start}.guest-picks{max-width:440px}}
@media(max-width:520px){.guest-head{align-items:flex-start;flex-direction:column}.guest-picks{grid-template-columns:1fr}.managed-actions .btn{width:100%}}

/* v15: creator referral analytics and owner league bookmarks. */
.creator-dashboard-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top left,rgba(124,92,255,.22),transparent 38%),var(--bg)}
.creator-dashboard-shell{max-width:1180px;margin:0 auto}
.creator-dashboard-hero{margin:28px 0 18px;padding:30px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(91,75,255,.22),rgba(239,51,64,.14))}
.creator-dashboard-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.35rem 0}
.creator-dashboard-hero p{max-width:720px;color:var(--muted)}
.compact-select{min-width:190px;margin-top:8px;padding:8px 10px}
.stacked-actions{align-items:flex-start;flex-wrap:wrap;max-width:360px}
.btn.bookmarked{border-color:var(--yellow);box-shadow:0 0 0 1px rgba(255,212,0,.25) inset;color:var(--yellow)}
@media(max-width:760px){.creator-dashboard-page{padding:14px}.creator-dashboard-hero{padding:20px}.creator-metrics{grid-template-columns:1fr 1fr}.stacked-actions{max-width:none}}
.linked-league-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.mini-link-button{border:0;background:transparent;color:var(--purple-light,#a99cff);padding:0;font:inherit;font-size:.75rem;cursor:pointer;text-align:left}
.mini-link-button:hover{text-decoration:underline}

/* v16 help, bulk paste and share-card polish */
.help-tip{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;margin-left:6px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:12px;font-weight:900;color:#ffd400;cursor:help;vertical-align:middle;background:#101a38}
.help-tip>span{position:absolute;z-index:80;left:50%;bottom:calc(100% + 10px);width:280px;padding:11px 13px;border-radius:12px;background:#050b1c;border:1px solid #46527a;box-shadow:0 16px 40px rgba(0,0,0,.38);color:#fff;font-size:13px;font-weight:500;line-height:1.45;letter-spacing:0;text-transform:none;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:.16s ease}
.help-tip:hover>span,.help-tip:focus>span{opacity:1;transform:translate(-50%,0)}
.table-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:35px;padding:4px 7px;margin:2px;border-radius:999px;font-size:11px;font-weight:900;color:#fff}
.table-indicator.banker{background:#6f2cff}.table-indicator.shock{background:#d79b00;color:#101329}.table-indicator.six{background:#0b9f74}.table-indicator.perfect{background:#d3243a}.indicator-cell{white-space:nowrap}
.managed-host-guide{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;border-color:rgba(255,212,0,.35);background:linear-gradient(120deg,rgba(111,44,255,.18),rgba(239,51,64,.11))}
.paste-block-preview{padding:14px 0;border-bottom:1px solid var(--line)}.paste-block-preview:last-of-type{border-bottom:0}.paste-batch-summary{padding:14px 16px;margin-bottom:8px;border-radius:14px;background:#111b3a;color:#dbe3ff}.paste-preview-list{display:grid;gap:7px;margin:10px 0}.paste-preview-list>div{display:flex;justify-content:space-between;gap:16px;padding:8px 12px;border-radius:10px;background:#0c1530}.notice.warning{border-color:rgba(255,212,0,.45);background:rgba(255,212,0,.09);color:#ffe999}
.share-card-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;background:linear-gradient(125deg,rgba(111,44,255,.2),rgba(239,51,64,.13))}.share-card-samples{display:flex;gap:8px;flex-wrap:wrap}.share-card-samples span{padding:10px 14px;border-radius:12px;background:#101a38;border:1px solid #33416b;color:#fff;font-weight:800}.share-card-preview-image{display:block;width:min(100%,720px);max-height:72vh;object-fit:contain;margin:0 auto 14px;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.4)}
@media(max-width:800px){.managed-host-guide,.share-card-intro{align-items:flex-start;flex-direction:column}.help-tip>span{left:auto;right:-20px;transform:translateY(6px)}.help-tip:hover>span,.help-tip:focus>span{transform:translateY(0)}}

/* v18 beta: dedicated Shout download pack */
.share-card-subtabs{margin:0 0 14px;display:flex;gap:8px;flex-wrap:wrap}
.shout-download-intro{border-color:rgba(255,212,0,.45);box-shadow:0 16px 42px rgba(111,44,255,.12)}
.shout-download-intro .share-card-samples span{background:linear-gradient(135deg,rgba(111,44,255,.26),rgba(239,51,64,.22));border-color:rgba(255,212,0,.28)}

/* v18.3 curated league hub */
.official-league-grid,.featured-league-grid,.public-league-grid{align-items:stretch}
.official-world-card,.league-discovery-card{display:flex;align-items:center;gap:16px;min-height:164px;position:relative;overflow:hidden}
.official-world-card:before,.league-discovery-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--league-primary,#7c5cff)}
.official-card-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.7rem;background:linear-gradient(145deg,rgba(124,92,255,.24),rgba(239,51,64,.16));border:1px solid rgba(255,255,255,.1);flex:0 0 auto}
.league-discovery-card .league-icon{flex:0 0 auto}
.league-discovery-card h3,.official-world-card h3{margin:5px 0 7px}
.league-discovery-card p,.official-world-card p{margin:0 0 8px;line-height:1.45}
.featured-placement{background:linear-gradient(145deg,rgba(35,23,76,.92),rgba(13,22,49,.96));box-shadow:0 14px 42px rgba(32,17,79,.24)}
.sponsored-placement{border-color:rgba(255,212,0,.42)}
.sponsored-placement:after{content:"SPONSORED";position:absolute;right:-34px;top:16px;transform:rotate(38deg);font-size:.62rem;font-weight:900;letter-spacing:.12em;background:#ffd400;color:#17120a;padding:5px 38px}
.sponsor-card-logo{width:68px;height:68px;display:grid;place-items:center;border-radius:17px;background:#fff;padding:8px;flex:0 0 auto}
.sponsor-card-logo img{width:100%;height:100%;object-fit:contain}
.sponsor-byline{color:#ffd866;margin-bottom:4px}
.sponsor-opportunity{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:24px;align-items:center;margin:24px 0;padding:24px;border:1px solid rgba(255,212,0,.3);border-radius:22px;background:radial-gradient(circle at top right,rgba(255,212,0,.12),transparent 42%),linear-gradient(145deg,rgba(26,21,52,.96),rgba(9,18,42,.96))}
.sponsor-opportunity h2{margin:6px 0 8px}
.sponsor-opportunity p{margin:0;color:var(--muted);line-height:1.55}
.sponsor-opportunity-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sponsor-opportunity-points span{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);font-size:.83rem;font-weight:800}
.league-discovery-controls{display:flex;align-items:end;gap:12px;margin-bottom:18px}
.league-discovery-controls .field{margin:0;min-width:170px}
.league-discovery-controls .grow{flex:1;min-width:260px}
.discover-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0 4px}

@media(max-width:900px){
  .sponsor-opportunity{grid-template-columns:1fr}
  .league-discovery-controls{flex-wrap:wrap;align-items:stretch}
  .league-discovery-controls .field,.league-discovery-controls .grow{min-width:calc(50% - 8px);flex:1}
  .league-discovery-controls .btn{align-self:end}
}
@media(max-width:620px){
  .official-world-card,.league-discovery-card{align-items:flex-start;flex-wrap:wrap}
  .official-world-card .btn,.league-discovery-card .btn{width:100%}
  .sponsor-opportunity-points{grid-template-columns:1fr}
  .league-discovery-controls{display:grid;grid-template-columns:1fr}
  .league-discovery-controls .field,.league-discovery-controls .grow{min-width:0}
  .discover-pagination{justify-content:space-between;gap:8px}
  .discover-pagination span{text-align:center}
}


/* v18.3.1: restore visible browser score steppers and partnership CTA spacing. */
.score-entry .score-inputs input[type="number"]{
  -moz-appearance:auto!important;appearance:auto!important;padding-right:2px!important;
}
.score-entry .score-inputs input[type="number"]::-webkit-outer-spin-button,
.score-entry .score-inputs input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:auto!important;opacity:1!important;margin:0!important;
}
.partner-contact-button{display:inline-flex;margin-top:14px}
.partner-email-line{margin-top:7px}

/* v18.3.1 passwordless sign-in explanation */
.auth-explainer{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:rgba(18,32,69,.48);overflow:hidden}.auth-explainer summary{cursor:pointer;padding:12px 14px;font-weight:900;color:var(--text);list-style:none}.auth-explainer summary::-webkit-details-marker{display:none}.auth-explainer summary:after{content:'+';float:right;color:var(--accent);font-size:1.1rem}.auth-explainer[open] summary:after{content:'–'}.auth-explainer-body{padding:0 14px 13px;color:var(--muted);font-size:.9rem;line-height:1.45}.auth-explainer-body p{margin:0 0 8px;color:var(--text)}.auth-explainer-body ul{margin:0;padding-left:19px}.auth-explainer-body li+li{margin-top:6px}.signin-reminder{display:grid;gap:3px;margin:10px 0 14px;padding:11px 13px;border:1px solid rgba(34,211,167,.28);border-radius:12px;background:rgba(34,211,167,.07);font-size:.87rem}.signin-reminder span{color:var(--muted);line-height:1.4}.signin-how-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin:18px 0 22px}.signin-how-card h2{margin:5px 0 7px}.signin-how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.signin-how-grid>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(9,20,48,.42)}.signin-how-grid span{color:var(--muted);font-size:.9rem;line-height:1.45}@media(max-width:700px){.signin-how-card{grid-template-columns:1fr}.signin-how-grid{grid-template-columns:1fr}}

/* v18.3.4: mobile-first navigation, favourites and prediction controls */
.btn.favourited{border-color:rgba(255,212,0,.6);color:#ffe36b;background:rgba(255,212,0,.09)}
.league-card-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mobile-score-field{display:grid;place-items:center}
.mobile-score-field input{width:58px!important}
.score-step{display:none;border:1px solid var(--line);background:#142247;color:#fff;font-weight:950;cursor:pointer}
.score-step:disabled{opacity:.45;cursor:not-allowed}
.score-divider{color:var(--muted);font-weight:900;text-align:center}
.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-more-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0a1530;color:var(--text);cursor:pointer}
.mobile-more-item>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--panel2);font-size:1.1rem}
.mobile-more-item b{font-size:.88rem}.mobile-more-item small{color:var(--muted)}
.mobile-more-item.active{border-color:#806aff;background:rgba(124,92,255,.14)}
.mobile-profile-link{margin-top:12px}

@media(max-width:780px){
  .topbar h1{max-width:52vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .actions{gap:7px}
  .content{padding:14px 12px calc(98px + env(safe-area-inset-bottom))}
  .bottom-nav{height:72px;grid-template-columns:repeat(5,minmax(0,1fr))}
  .bottom-nav button{min-width:0;padding:6px 2px;line-height:1.05}
  .bottom-nav button span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis}

  /* Mobile ticker becomes swipeable instead of cutting a moving fixture in half. */
  .ticker-window{overflow-x:auto;overflow-y:hidden;mask-image:none;-webkit-mask-image:none;scrollbar-width:none}
  .ticker-window::-webkit-scrollbar{display:none}
  .ticker-track,.ticker-lane.championship .ticker-track{width:max-content;padding:0 18px;gap:26px}
  .ticker-fixture{font-size:.69rem;flex:0 0 auto}
  .ticker-fixture small{display:inline!important;font-size:.58rem;color:#d4dcf3;margin-left:2px}
  .ticker-label{z-index:5;box-shadow:6px 0 12px rgba(0,0,0,.22)}

  /* Home screen: compact, useful information above the fold. */
  .dashboard-hero{gap:12px}
  .dashboard-hero h2{font-size:1.55rem;line-height:1.08;margin:8px 0 9px;overflow-wrap:anywhere}
  .dashboard-hero h2 span{display:block;font-size:.78em;color:#dbe2f5;margin-bottom:3px}
  .dashboard-hero p{font-size:.92rem;line-height:1.4;margin:0 0 12px}
  .dashboard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .dashboard-actions .btn{width:100%;padding:10px 8px;font-size:.82rem}
  .dashboard-actions .admin-shortcut{grid-column:1/-1;padding:8px}
  .hero-progress{display:flex;align-items:center;justify-content:center;gap:14px;padding:13px 15px;text-align:left}
  .hero-progress .ring{width:86px;height:86px;flex:0 0 auto}.hero-progress .ring b{font-size:1.45rem}
  .hero-progress p{max-width:190px;margin:0;font-size:.73rem}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .dashboard-stats .stat-card{min-height:0;padding:14px;gap:2px}
  .dashboard-stats .stat{font-size:1.55rem}.dashboard-stats .small{font-size:.72rem}
  .favourite-home-head{margin-top:20px}.favourite-home-grid{grid-template-columns:1fr!important}

  /* Every league section is visible; no hidden horizontal tab rail. */
  .league-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible!important;padding:0}
  .league-tabs .tab{white-space:normal;min-height:44px;padding:8px 5px;font-size:.72rem;line-height:1.15}
  .league-hero{min-height:0;padding:16px;gap:12px}
  .league-hero .league-copy{min-width:0;width:calc(100% - 76px)}
  .league-hero h2{font-size:1.55rem;margin:7px 0;overflow-wrap:anywhere}
  .league-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .league-hero-actions .btn{width:100%;font-size:.72rem;padding:8px 5px;white-space:normal}
  .tabs:not(.league-tabs){flex-wrap:wrap;overflow:visible}
  .tabs:not(.league-tabs) .tab{white-space:normal}

  /* Prediction cards keep desktop information but use phone-friendly controls. */
  .fixture-v13{gap:14px!important}
  .fixture-matchup{font-size:.91rem;gap:8px}
  .fixture-meta.fixture-kickoff{display:flex!important;color:#f2f5ff;font-size:.76rem;margin-top:10px}
  .fixture-meta.fixture-kickoff>span:first-child{padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
  .prediction-controls-v13{grid-template-columns:1fr!important;gap:13px!important}
  .score-entry .score-inputs,.guest-fixture .score-inputs{display:grid!important;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)!important;width:100%!important;gap:7px!important;align-items:center}
  .mobile-score-field{display:grid;grid-template-columns:34px minmax(45px,58px) 34px;justify-content:start;gap:5px}
  .mobile-score-field input{width:100%!important;height:46px!important;padding:0!important;-moz-appearance:textfield!important;appearance:textfield!important}
  .mobile-score-field input::-webkit-outer-spin-button,.mobile-score-field input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}
  .score-step{display:grid;place-items:center;width:34px;height:42px;border-radius:10px;font-size:1.15rem}
  .score-divider{font-size:1.15rem}
  .pick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pick-button{height:46px!important;font-size:.72rem!important;padding-inline:6px!important}
  .shock-help{font-size:.68rem}
  .guest-kickoff{display:block!important;margin-top:5px;color:#e3e9fa}

  .section-head{margin:22px 0 11px;gap:8px}.section-head h2{font-size:1.2rem}.section-head p{font-size:.85rem}
  .card{padding:16px;border-radius:16px}
  .league-card{padding:14px}.league-card .league-icon{width:47px;height:47px}
  .late-start-banner{padding:16px}
  .sponsor-opportunity{padding:17px}
  .table-wrap{-webkit-overflow-scrolling:touch}
  .toast{bottom:calc(83px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);white-space:normal;text-align:center;border-radius:16px}
}

@media(max-width:480px){
  .mobile-more-grid{grid-template-columns:1fr}
  .league-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-score-field{grid-template-columns:32px minmax(42px,54px) 32px;gap:4px}
  .score-step{width:32px;height:40px}
  .dashboard-actions{grid-template-columns:1fr}
  .dashboard-actions .admin-shortcut{grid-column:auto}
}

/* v18.3.7 continuous ticker: two equal sets loop on desktop and mobile */
.ticker-track{gap:0!important;padding-left:0!important;animation:tfsTickerV1837 58s linear infinite!important;will-change:transform}
.ticker-lane.championship .ticker-track{animation-duration:68s!important}
.ticker-set{display:flex;align-items:center;gap:30px;padding-left:30px;padding-right:30px;flex:none}
@keyframes tfsTickerV1837{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:780px){.ticker-track{animation-duration:42s!important}.ticker-lane.championship .ticker-track{animation-duration:50s!important}.ticker-set{gap:24px;padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation-play-state:running!important}}

/* v18.3.5: TFS Win Chance and Shock Pick model */
.tfs-chance-line{display:block;line-height:1.45;white-space:normal}
.tfs-chance-line b{color:#fff}
.tfs-model-explainer{grid-column:span 2;border-color:rgba(124,92,255,.45);background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(239,51,64,.08))}
@media(max-width:760px){
  .tfs-model-explainer{grid-column:span 1}
  .tfs-chance-line{font-size:.76rem}
  .fixture-meta .tfs-chance-line{padding-top:3px}
}
.data-attribution{padding:8px 24px 94px;text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.03em}
@media(min-width:901px){.data-attribution{padding-bottom:18px}}

/* v18.3.6: co-hosts, automatic offline-entry eligibility and six-match model blend */
.host-format-guide{margin:12px 0;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.025)}
.host-format-guide summary{cursor:pointer;font-weight:800}
.host-format-guide[open] summary{margin-bottom:10px}
.eligibility-preview>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:14px;align-items:center}
.eligibility-preview small{display:block;color:var(--muted);margin-top:3px}
.eligibility-preview label{display:block;margin-top:5px;color:var(--muted)}
.manual-ineligible{opacity:.72;background:rgba(239,51,64,.08)!important}
.prediction-cell.manual-ineligible{position:relative;text-decoration:none}
.prediction-cell.manual-ineligible b{text-decoration:line-through;text-decoration-thickness:2px}
.season-blend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.season-blend-grid span{display:flex;flex-direction:column;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);font-size:.86rem;color:var(--muted)}
.season-blend-grid b{color:var(--text);margin-bottom:3px}
@media(max-width:700px){
  .eligibility-preview>div{grid-template-columns:1fr}
  .season-blend-grid{grid-template-columns:1fr}
  .managed-actions{gap:6px;flex-wrap:wrap}
}


/* v18.3.6 refreshed: easier How it works navigation */
.how-anchor{scroll-margin-top:88px}
.how-contents{margin:18px 0;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.7fr);gap:18px;align-items:start}
.how-contents h2{margin:6px 0}
.how-contents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.how-contents-grid a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-weight:750;text-decoration:none;color:inherit}
.how-contents-grid a:hover,.how-contents-grid a:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,75,255,.12)}
@media(max-width:760px){
  .how-contents{grid-template-columns:1fr;gap:12px}
  .how-contents-grid{grid-template-columns:1fr 1fr}
  .how-contents-grid a{font-size:.88rem;min-height:44px}
  .how-anchor{scroll-margin-top:74px}
}
@media(max-width:410px){.how-contents-grid{grid-template-columns:1fr}}


/* v18.3.7: gameweek dropdown, share menu, prediction checks and founder pricing */
.gameweek-picker{display:grid;grid-template-columns:auto minmax(180px,240px) auto;align-items:center;gap:8px}
.prediction-week-select{min-width:180px}
.share-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.share-choice{border:1px solid var(--line);background:#0d1832;color:#fff;border-radius:14px;padding:13px 8px;min-height:92px;display:grid;place-items:center;align-content:center;gap:5px;cursor:pointer;text-align:center}
.share-choice:hover,.share-choice:focus{border-color:var(--accent);transform:translateY(-1px)}
.share-choice-icon{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-weight:950;font-size:1.05rem}
.share-choice small{font-size:.62rem;color:var(--muted)}
.prediction-status-table{min-width:680px}
.founder-price-stack{display:grid;justify-items:end;align-content:center;gap:2px;min-width:150px}
.founder-price-stack span,.founder-price-stack small{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.founder-price-stack del{font-size:1.1rem;color:var(--muted)}
.founder-price-stack b{font-size:2.45rem;color:var(--gold)}
@media(max-width:780px){.prediction-round-head .actions{width:100%}.gameweek-picker{grid-template-columns:42px minmax(0,1fr) 42px;width:100%}.prediction-week-select{min-width:0;width:100%}.share-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.founder-price-stack{justify-items:start;margin-top:10px}}
@media(max-width:420px){.share-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v18.3.8: clear three-tier pricing and Pro Plus league tools */
.pricing-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.plan-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plan-saving{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.plan-tagline{min-height:48px;color:var(--muted);margin:8px 0 2px}
.standard-price{font-size:.78rem;color:var(--muted);margin-top:-2px}
.price-card.plan-pro-plus{border-color:rgba(255,209,102,.5);box-shadow:0 18px 55px rgba(255,209,102,.08)}
.multi-plan-banner{align-items:stretch}
.founder-price-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:260px}
.founder-price-pair>div{display:grid;justify-items:center;align-content:center;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(5,9,24,.42)}
.founder-price-pair span{font-size:.72rem;font-weight:900;text-transform:uppercase;color:var(--muted)}
.founder-price-pair del{font-size:.8rem;color:var(--muted)}
.founder-price-pair b{font-size:2rem;color:var(--gold)}
.pricing-explainer{margin-bottom:0}
.pricing-explainer .grid>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}
.pricing-explainer span:not(.eyebrow){font-size:.82rem;color:var(--muted)}
.plan-comparison{margin-top:18px}
.plan-comparison .table{min-width:760px}
.plus-host-controls{display:grid;gap:14px}
.league-announcement,.league-sponsor{margin:0 0 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-decoration:none;color:inherit}
.league-announcement{border-color:rgba(255,209,102,.42);background:linear-gradient(90deg,rgba(255,209,102,.1),rgba(255,255,255,.025))}
.league-sponsor{border-color:rgba(124,92,255,.42);background:linear-gradient(90deg,rgba(124,92,255,.12),rgba(255,255,255,.025))}
.league-announcement .eyebrow,.league-sponsor .eyebrow{width:100%}
.league-sponsor span:last-child{color:var(--muted);font-size:.86rem}
.participation-bars{display:grid;gap:10px}
.participation-row{display:grid;grid-template-columns:70px minmax(140px,1fr) 115px;align-items:center;gap:12px}
.participation-row>b{text-align:right;font-size:.8rem}
@media(max-width:980px){.pricing-three{grid-template-columns:1fr}.plan-tagline{min-height:0}}
@media(max-width:780px){.founder-price-pair{min-width:0;width:100%}.participation-row{grid-template-columns:60px minmax(100px,1fr);gap:8px}.participation-row>b{grid-column:2;text-align:left}.pricing-explainer .grid{grid-template-columns:1fr}}


/* v18.3.9: mobile-first polish, reliable ticker and clearly separated Pro Plus tools */
.hero-progress .ring{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.hero-progress .ring b,.hero-progress .ring span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1.05!important;
}
.ticker-window{overflow:hidden!important;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important}
.ticker-track{animation:tfsTickerV1839 38s linear infinite!important;animation-play-state:running!important;transform:translate3d(0,0,0);will-change:transform}
.ticker-lane.championship .ticker-track{animation-duration:46s!important}
@keyframes tfsTickerV1839{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}
.league-announcement-section{margin:0 0 14px}
.league-announcement-section .card{margin:0}
.host-empty-announcement .card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-style:dashed}
.host-empty-announcement .eyebrow{width:100%}
.pro-plus-tools-button{border-color:rgba(255,209,102,.62)!important;color:#ffe092!important}
.plan-how-grid .how-mini{margin-top:auto}
@media(max-width:780px){
  .ticker-window{overflow:hidden!important;touch-action:pan-y}
  .ticker-track{animation-duration:28s!important}
  .ticker-lane.championship .ticker-track{animation-duration:34s!important}
  .hero-progress .ring{width:86px!important;height:86px!important;min-width:86px!important}
  .league-announcement,.league-sponsor{align-items:flex-start}
  .plus-host-controls{gap:11px}
}


/* v18.3.10: user feedback form and owner-admin feedback inbox */
.feedback-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.feedback-hero h2{margin:6px 0}
.feedback-layout{align-items:start}
.feedback-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.feedback-upload{display:flex;align-items:center;justify-content:center;min-height:76px;border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer;text-align:center;padding:14px}
.feedback-upload input{position:absolute;opacity:0;pointer-events:none}
.feedback-upload:hover{border-color:rgba(124,92,255,.7);background:rgba(124,92,255,.08)}
.feedback-screenshot-preview img{display:block;max-width:100%;max-height:320px;border-radius:12px;margin-top:10px;border:1px solid var(--line)}
.feedback-history{display:grid;gap:10px}
.feedback-history-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}
.feedback-history-row:first-child{border-top:0;padding-top:0}
.feedback-history-row b{display:block;margin:7px 0 4px}
.feedback-history-row p{margin:0;color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.admin-feedback-section{margin:18px 0}
.feedback-email-settings,.feedback-filters{margin-top:16px}
.feedback-counts{margin-top:12px}
.admin-feedback-list{display:grid;gap:14px;margin-top:16px}
.admin-feedback-card{border-left:4px solid rgba(255,209,102,.8)}
.admin-feedback-card.urgency-critical{border-left-color:#ff4d6d}
.admin-feedback-card.urgency-minor{border-left-color:#6f7b9a}
.admin-feedback-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.admin-feedback-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-feedback-head .tiny{width:100%}
.feedback-report-copy{margin:14px 0}
.feedback-report-copy b{display:block;margin-top:10px}
.feedback-report-copy p{white-space:pre-wrap;margin:5px 0;color:var(--muted)}
.feedback-context-chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.feedback-context-chips span{font-size:.75rem;padding:5px 8px;border-radius:999px;background:rgba(124,92,255,.12);border:1px solid var(--line)}
.feedback-screenshot-detail,.feedback-tech-detail{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.feedback-screenshot-detail summary,.feedback-tech-detail summary{cursor:pointer;font-weight:800}
.feedback-screenshot-detail img{display:block;max-width:100%;max-height:560px;margin-top:10px;border-radius:10px}
.feedback-admin-controls{margin-top:12px}
@media(max-width:780px){
  .feedback-hero{align-items:flex-start}
  .feedback-category-grid{grid-template-columns:1fr}
  .feedback-layout{grid-template-columns:1fr!important}
  .feedback-history-row{flex-direction:column}
  .admin-feedback-head{flex-direction:column}
  .feedback-email-settings .grid,.feedback-admin-controls{grid-template-columns:1fr!important}
}


/* v18.3.10 cumulative polish: JS-driven ticker, precise mobile progress alignment and Ultimate GW table. */
.ticker-track,.ticker-lane.championship .ticker-track{animation:none!important;transform:translate3d(0,0,0)}
.hero-progress .ring{position:relative!important;place-content:unset!important;box-sizing:border-box!important}
.hero-progress .ring b,.hero-progress .ring span{position:relative!important;left:0!important;transform:none!important}
.gameweek-history-table .division-points{font-weight:850;color:#dfe6fa}
@media(max-width:780px){.hero-progress .ring{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.hero-progress .ring b{font-size:1.45rem!important;line-height:1!important}.hero-progress .ring span{font-size:.67rem!important;line-height:1.05!important;margin-top:4px!important}.gameweek-history-controls{grid-template-columns:1fr!important}}

/* v18.3.11: make league membership controls obvious without breaking mobile wrapping. */
.league-hero-actions .btn-danger{white-space:nowrap}
@media (max-width:720px){.league-hero-actions .btn-danger{flex:1 1 145px}.league-hero-actions{align-items:stretch}}

/* v18.3.12: launch dashboard, bonus clarity, trophy cabinet, notifications and partnerships */
.maintenance-banner{display:flex;align-items:center;gap:10px;margin:12px 24px 0;padding:11px 14px;border:1px solid rgba(255,209,102,.42);border-radius:13px;background:linear-gradient(90deg,rgba(255,209,102,.13),rgba(124,92,255,.08));color:var(--text);font-size:.86rem}
.maintenance-banner b{color:var(--gold);white-space:nowrap}.maintenance-banner span{min-width:0}
.tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.tour-grid>div{position:relative;min-height:130px;padding:18px 16px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.tour-grid>div>span{display:grid;place-items:center;width:30px;height:30px;margin-bottom:10px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));font-weight:950}.tour-grid b{display:block}.tour-grid p{margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}
.next-action-grid{align-items:stretch}.next-action-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:4px solid var(--primary)}
.next-action-card.complete{border-left-color:#32d583;background:linear-gradient(120deg,rgba(50,213,131,.07),rgba(255,255,255,.025))}.next-action-card h3{margin:9px 0 4px}.next-action-card p{margin:0 0 4px;color:var(--muted);font-size:.84rem}.next-action-card small{color:var(--muted)}
.dashboard-command-grid{margin-top:18px;align-items:start}.dashboard-league-list,.dashboard-notification-list,.dashboard-announcement-list{display:grid;gap:9px}
.dashboard-league-row,.dashboard-notification,.dashboard-announcement{width:100%;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);color:inherit;text-align:left;cursor:pointer;transition:.15s ease}
.dashboard-league-row:hover,.dashboard-notification:hover,.dashboard-announcement:hover{border-color:rgba(124,92,255,.68);transform:translateY(-1px)}
.dashboard-league-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 13px}.dashboard-league-row span{min-width:0}.dashboard-league-row b,.dashboard-league-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-league-row small{margin-top:3px;color:var(--muted)}.dashboard-league-row strong{font-size:1.05rem}.dashboard-league-row em{font-style:normal;color:var(--gold);font-weight:850;white-space:nowrap}
.dashboard-notification{display:flex;align-items:flex-start;gap:10px;padding:11px 12px}.dashboard-notification>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:rgba(124,92,255,.13)}.dashboard-notification div{min-width:0}.dashboard-notification b,.dashboard-notification small{display:block}.dashboard-notification small{margin-top:3px;color:var(--muted);line-height:1.35}
.dashboard-announcement{padding:13px 15px;border-color:rgba(255,209,102,.36);background:linear-gradient(90deg,rgba(255,209,102,.09),rgba(255,255,255,.025))}.dashboard-announcement .eyebrow,.dashboard-announcement b{display:block}.dashboard-announcement b{margin-top:5px}
.dashboard-cabinet-preview{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-top:18px}.dashboard-cabinet-preview h2{margin:5px 0}.dashboard-cabinet-preview p{margin:0;color:var(--muted)}.dashboard-awards{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-award{display:grid;place-items:center;min-width:62px;min-height:62px;padding:7px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);font-size:1.45rem;text-align:center}.dashboard-award small{display:block;max-width:80px;margin-top:2px;color:var(--muted);font-size:.58rem;line-height:1.15}
.master-submission-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start;margin:16px 0;border-color:rgba(124,92,255,.42);background:linear-gradient(135deg,rgba(124,92,255,.1),rgba(255,255,255,.025))}.master-submission-card h3{margin:6px 0}.master-submission-card p{margin:0;color:var(--muted);line-height:1.5}.bonus-dispersion-list{display:grid;gap:8px}.bonus-dispersion-row{display:grid;grid-template-columns:minmax(135px,.32fr) minmax(0,1fr);gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(5,9,24,.34)}.bonus-dispersion-row span{color:var(--muted);font-size:.8rem;line-height:1.4}
.prediction-completion{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0;padding:12px 14px;border:1px solid rgba(255,209,102,.42);border-radius:14px;background:rgba(255,209,102,.08)}.prediction-completion.complete{border-color:rgba(50,213,131,.45);background:rgba(50,213,131,.08)}.prediction-completion>div{display:flex;align-items:center;gap:9px}.prediction-completion>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,209,102,.17);font-weight:950}.prediction-completion.complete>div>span{background:rgba(50,213,131,.2);color:#78efb3}.prediction-completion p{margin:0;color:var(--muted);font-size:.82rem;text-align:right}
.partnership-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px;border:1px solid rgba(124,92,255,.45);border-radius:22px;background:radial-gradient(circle at 85% 20%,rgba(255,209,102,.16),transparent 30%),linear-gradient(135deg,rgba(124,92,255,.18),rgba(5,9,24,.75));overflow:hidden}.partnership-hero h2{max-width:760px;margin:8px 0;font-size:clamp(1.7rem,3vw,2.7rem)}.partnership-hero p{max-width:780px;margin:0;color:var(--muted);line-height:1.6}.partnership-mark{display:grid;place-items:center;width:132px;height:132px;border:1px solid rgba(255,209,102,.52);border-radius:28px;background:linear-gradient(145deg,rgba(255,209,102,.14),rgba(124,92,255,.2));box-shadow:0 18px 60px rgba(0,0,0,.25);font-size:2rem;font-weight:950;line-height:1;text-align:center}.partnership-mark small{font-size:.58rem;letter-spacing:.18em;color:var(--gold)}
.partnership-package-grid{margin-top:18px}.partnership-package{position:relative;overflow:hidden}.partnership-package>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(124,92,255,.14);font-size:1.35rem}.partnership-package h3{margin:14px 0 6px}.partnership-package p{margin:0;color:var(--muted);line-height:1.55}.partnership-principles{margin-top:18px}.partner-principle-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.partner-principle-list span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(50,213,131,.06);font-size:.78rem}.partnership-form{margin-top:18px;max-width:none}
.trophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trophy-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-height:105px}.trophy-card>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(145deg,rgba(255,209,102,.14),rgba(124,92,255,.16));font-size:1.55rem}.trophy-card h3{margin:0 0 4px}.trophy-card p{margin:0;color:var(--muted);font-size:.78rem}.league-preview-invite{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;border-style:dashed}.league-preview-invite h2{margin:5px 0}.league-preview-invite p{margin:0;color:var(--muted)}
.sample-league-preview{display:grid;gap:14px}.sample-preview-hero{display:flex;align-items:center;gap:14px;padding:16px;border-radius:15px;background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(255,209,102,.08))}.sample-crest{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));font-weight:950}.sample-preview-hero h2{margin:3px 0}.sample-preview-hero p{margin:0;color:var(--muted)}.sample-preview-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.sample-preview-tabs>*{padding:7px 9px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;font-size:.72rem}.sample-preview-tabs b{border-color:var(--primary);background:rgba(124,92,255,.12)}.sample-preview-table{display:grid;gap:8px}.sample-preview-table>div{display:flex;justify-content:space-between;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.notification-filter-row{display:flex;gap:7px;overflow:auto;padding:8px 0 12px;scrollbar-width:none}.notification-filter-row::-webkit-scrollbar{display:none}.pill-filter{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);padding:7px 11px;cursor:pointer;white-space:nowrap;font-size:.74rem;font-weight:800}.pill-filter.active{border-color:var(--primary);background:rgba(124,92,255,.15);color:var(--text)}.notification-type-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:rgba(124,92,255,.13)}
.launch-readiness{margin:18px 0}.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 16px}.readiness-grid>div{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.readiness-grid>div>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:950}.readiness-grid .ready>span{background:rgba(50,213,131,.17);color:#78efb3}.readiness-grid .not-ready>span{background:rgba(255,209,102,.15);color:var(--gold)}.readiness-grid b{font-size:.78rem;line-height:1.25}

@media(max-width:900px){
  .dashboard-cabinet-preview{grid-template-columns:1fr}.dashboard-awards{justify-content:flex-start}.trophy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .maintenance-banner{margin:10px 12px 0;align-items:flex-start}.maintenance-banner b{white-space:normal}
  .tour-grid{grid-template-columns:1fr}.tour-grid>div{min-height:0}
  .next-action-card{align-items:flex-start;flex-direction:column}.next-action-card .btn{width:100%}
  .dashboard-command-grid{grid-template-columns:1fr!important}.dashboard-league-row{grid-template-columns:minmax(0,1fr) auto}.dashboard-league-row em{grid-column:1/3;padding-top:6px;border-top:1px solid var(--line)}
  .master-submission-card{grid-template-columns:1fr}.bonus-dispersion-row{grid-template-columns:1fr;gap:3px}.prediction-completion{align-items:flex-start;flex-direction:column}.prediction-completion p{text-align:left}
  .partnership-hero{grid-template-columns:1fr;padding:20px}.partnership-mark{width:92px;height:92px;border-radius:22px;font-size:1.45rem}.partnership-package-grid{grid-template-columns:1fr!important}.partner-principle-list{display:grid;grid-template-columns:1fr}
  .league-preview-invite{align-items:flex-start;flex-direction:column}.league-preview-invite .btn{width:100%}.trophy-grid{grid-template-columns:1fr}.readiness-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .dashboard-league-row{grid-template-columns:minmax(0,1fr) auto}.dashboard-award{min-width:56px;min-height:56px}.partnership-hero h2{font-size:1.55rem}.partnership-form .grid{grid-template-columns:1fr!important}.trophy-card{grid-template-columns:auto minmax(0,1fr)}
}


/* v18.3.13 app-wide partners, announcement dismissal and recovery controls */
.app-partner-placement{margin:0 0 18px}.app-partner-heading h2{margin:5px 0 12px}.app-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.placement-predictions .app-partner-grid,.placement-fixtures .app-partner-grid,.placement-world .app-partner-grid{grid-template-columns:1fr}.placement-partnerships .app-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-partner-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:16px 18px;border:1px solid rgba(255,209,102,.35);border-radius:16px;background:linear-gradient(135deg,rgba(255,209,102,.08),rgba(124,92,255,.09));color:inherit;text-decoration:none;overflow:hidden}.app-partner-card:hover{border-color:rgba(255,209,102,.72);transform:translateY(-1px)}.app-partner-card b,.app-partner-card small{display:block}.app-partner-card small{margin-top:4px;color:var(--muted)}.app-partner-card em{font-style:normal;font-size:.75rem;font-weight:850;color:var(--gold);white-space:nowrap}.app-partner-logo{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--line);border-radius:14px;background:rgba(5,9,24,.65);font-weight:950;overflow:hidden}.app-partner-logo img{width:100%;height:100%;object-fit:contain}.dashboard-announcement{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0}.dashboard-announcement-open{display:block;width:100%;padding:13px 15px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dashboard-announcement>.btn{margin-right:10px}.league-announcement{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-app-partners{margin-bottom:18px}.app-partner-admin-card h3{margin:8px 0 2px}.app-partner-admin-card p{color:var(--muted)}.data-recovery-card{margin-bottom:18px}.data-recovery-card>.actions{margin:14px 0}.max-points-card{margin-top:18px}.max-points-card .grid>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.max-points-card .grid b{font-size:2rem;color:var(--gold)}.max-points-card .grid span{font-weight:900}.max-points-card .grid small{color:var(--muted);line-height:1.45}
/* Keep the saved-predictions ring number perfectly centred on desktop and mobile. */
.hero-progress .ring{position:relative;display:grid;place-items:center;text-align:center}.hero-progress .ring>b,.hero-progress .ring>span{position:relative;z-index:1;justify-self:center;align-self:center}.hero-progress .ring>b{line-height:1;margin:0}.hero-progress .ring>span{line-height:1.15;margin-top:-6px}
@media(max-width:780px){.app-partner-grid,.placement-partnerships .app-partner-grid{grid-template-columns:1fr}.app-partner-card{grid-template-columns:auto minmax(0,1fr)}.app-partner-card em{grid-column:2}.league-announcement{align-items:flex-start;flex-direction:column}.league-announcement .btn{width:100%}}

/* v18.3.13 dedicated saved-total centring layer */
.hero-progress .ring{position:relative!important;display:block!important;padding:0!important}
.hero-progress .ring .ring-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;pointer-events:none}
.hero-progress .ring .ring-content b,.hero-progress .ring .ring-content span{display:block!important;width:auto!important;position:static!important;transform:none!important;margin:0!important;padding:0!important;text-align:center!important}
.hero-progress .ring .ring-content b{font-size:2rem;line-height:1!important}
.hero-progress .ring .ring-content span{margin-top:4px!important;font-size:.72rem;line-height:1.05!important;color:var(--muted)}
@media(max-width:780px){.hero-progress .ring .ring-content b{font-size:1.45rem}.hero-progress .ring .ring-content span{font-size:.67rem}}


/* v18.3.15 legal pages and safe public registration */
.legal-inline-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 12px;margin-top:14px;font-size:.76rem}.legal-inline-links a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.legal-inline-links a:hover{color:var(--text)}
.legal-acceptance-box{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px solid rgba(124,92,255,.42);border-radius:15px;background:rgba(124,92,255,.07)}.legal-acceptance-box .check-card{margin:0}.legal-acceptance-box .check-card small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.legal-acceptance-box a{color:#cfc2ff}
.bot-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.legal-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.legal-card{display:flex;flex-direction:column;min-height:150px;color:inherit;text-decoration:none;transition:.15s ease}.legal-card:hover{transform:translateY(-2px);border-color:rgba(124,92,255,.68)}.legal-card p{flex:1}.legal-card span{color:var(--gold);font-size:.78rem;font-weight:850}
.registration-control{margin:0 0 16px;padding:16px}.registration-control h3{margin:6px 0}.registration-control>.actions{align-items:center}.readiness-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.readiness-grid.compact>div{padding:8px 10px}
@media(max-width:900px){.legal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.legal-card-grid,.readiness-grid.compact{grid-template-columns:1fr}.registration-control>.actions{align-items:stretch;flex-direction:column}.registration-control>.actions .select,.registration-control>.actions .btn{width:100%}}

/* v19 — premium football navigation, rolling fixture deadlines and transparent scoring */
.v19-shell .sidebar{display:flex;flex-direction:column}.v19-shell .primary-nav{flex:1}.v19-shell .sidebar-foot{position:static;margin-top:auto}.title-cluster{display:flex;align-items:center;gap:10px;min-width:0}.title-cluster h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(21,35,68,.72);color:var(--text);font-size:1.1rem;cursor:pointer}.back-button:hover{border-color:#6f62ba;background:var(--panel2)}
.skeleton-page{display:grid;gap:16px}.skeleton-page>div{height:120px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(100deg,rgba(21,35,68,.75) 25%,rgba(45,61,99,.82) 40%,rgba(21,35,68,.75) 55%);background-size:220% 100%;animation:tfs-skeleton 1.3s linear infinite}.skeleton-page>div:first-child{height:180px}.skeleton-page>div:last-child{height:280px}@keyframes tfs-skeleton{to{background-position:-220% 0}}
.flush{margin-top:0!important}.empty-state,.error-state{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:90px;justify-content:center}.empty-state span,.error-state p{color:var(--muted);margin:0}.error-state .btn{margin-top:5px}
.dashboard-hero.compact{grid-template-columns:1fr;padding:25px 27px;margin-bottom:16px;border:1px solid rgba(124,92,255,.36);border-radius:20px;background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(239,51,64,.07) 62%,rgba(255,209,102,.07))}.dashboard-hero.compact h2{margin:7px 0 8px}.dashboard-hero.compact p{margin:0;color:var(--muted)}
.home-urgent,.home-live{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;overflow:hidden;position:relative}.home-urgent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--gold),#ef3340)}.home-urgent.complete:before{background:var(--accent2)}.home-urgent h2,.home-live h2{margin:5px 0 7px}.home-urgent p,.home-live p{margin:0 0 8px;color:var(--muted)}.home-urgent>.btn,.home-live>.btn{min-width:185px}.home-live{background:linear-gradient(150deg,rgba(124,92,255,.14),rgba(21,35,68,.96))}.home-live h2{font-size:2rem;color:var(--gold)}
.recent-leagues{display:flex;align-items:center;gap:15px;margin:18px 0}.recent-leagues>div{display:flex;gap:8px;min-width:0;overflow:auto;padding:2px}.recent-league-chip{min-height:42px;border:1px solid var(--line);border-radius:999px;background:rgba(21,35,68,.8);color:var(--text);padding:8px 14px;font-weight:800;white-space:nowrap;cursor:pointer}.recent-league-chip:hover{border-color:var(--accent)}.home-secondary{align-items:start}.dashboard-league-row,.dashboard-notification{width:100%;min-height:58px;border:0;border-bottom:1px solid rgba(40,56,95,.62);background:transparent;color:inherit;display:grid;align-items:center;gap:10px;text-align:left;padding:12px 4px;cursor:pointer}.dashboard-league-row{grid-template-columns:minmax(0,1fr) auto auto}.dashboard-league-row span{min-width:0}.dashboard-league-row b,.dashboard-league-row small{display:block}.dashboard-league-row small,.dashboard-notification small{margin-top:3px;color:var(--muted)}.dashboard-league-row em{font-style:normal;color:var(--gold);font-weight:900}.dashboard-league-row:hover,.dashboard-notification:hover{background:rgba(124,92,255,.07)}.dashboard-notification{grid-template-columns:38px minmax(0,1fr)}.dashboard-notification>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(124,92,255,.15)}.dashboard-notification div{min-width:0}.dashboard-notification b,.dashboard-notification small{display:block}.dashboard-cabinet-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.prediction-command{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0}.prediction-command h2{margin:6px 0}.prediction-command p{margin:0;color:var(--muted)}.gameweek-picker{display:grid;grid-template-columns:auto minmax(165px,1fr) auto;gap:7px;align-items:center}.rolling-deadline-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 14px;align-items:center;margin:0 0 14px;padding:12px 15px;border:1px solid rgba(255,209,102,.35);border-radius:14px;background:linear-gradient(90deg,rgba(255,209,102,.1),rgba(124,92,255,.08))}.rolling-deadline-strip>b{color:var(--gold)}.rolling-deadline-strip small{grid-column:2;color:var(--muted)}
.v19-fixture-list{gap:15px}.fixture-v19{display:block!important;padding:0!important;opacity:1!important;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.16)}.fixture-v19.locked{opacity:.78!important}.fixture-v19.incomplete{border-color:rgba(255,209,102,.52);box-shadow:inset 4px 0 0 var(--gold),0 12px 32px rgba(0,0,0,.16)}.fixture-v19-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid rgba(40,56,95,.62);background:rgba(8,17,38,.42)}.fixture-status-cluster{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.fixture-status-cluster>b{color:#f0eaff}.fixture-v19-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;padding:20px 20px 14px}.fixture-v19-teams>div{display:flex;align-items:center;gap:11px;min-width:0}.fixture-v19-teams>div:last-child{justify-content:flex-end;text-align:right}.fixture-v19-teams b{font-size:1.02rem;line-height:1.25}.fixture-v19-teams>strong{font-size:1.25rem;color:var(--gold)}.team-crest{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:linear-gradient(145deg,#293b68,#111c38);font-size:.66rem;font-weight:950;letter-spacing:.03em;color:white;box-shadow:inset 0 0 0 2px rgba(124,92,255,.16)}
.fixture-v19-controls{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(300px,1.3fr);gap:16px;padding:0 20px 18px}.fixture-v19 .score-entry,.fixture-v19 .pick-area{padding:13px;border:1px solid rgba(40,56,95,.7);border-radius:14px;background:rgba(8,17,38,.32)}.fixture-v19 .score-entry .score-inputs{display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;width:100%!important}.mobile-score-field{display:grid;grid-template-columns:38px minmax(46px,1fr) 38px;gap:5px;align-items:center}.mobile-score-field input{width:100%!important;height:46px!important}.score-step{display:grid;place-items:center;min-width:38px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-size:1.15rem;font-weight:900;cursor:pointer}.score-step:hover:not(:disabled){border-color:var(--accent)}.score-step:disabled{opacity:.4}.fixture-v19 .pick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}.text-button{grid-column:1/-1;border:0;background:transparent;color:#cfc6ff;text-align:left;padding:2px 0;cursor:pointer;font-size:.75rem;text-decoration:underline;text-underline-offset:3px}.fixture-v19-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid rgba(40,56,95,.62);background:rgba(8,17,38,.35);color:var(--muted);font-size:.77rem}.points-button,.table-total-button,.person-button{border:0;background:transparent;color:inherit;cursor:pointer}.points-button{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(34,211,167,.28);border-radius:11px;background:rgba(34,211,167,.08);text-align:right}.points-button b,.points-button small{display:block}.points-button b{color:#7ef0d0}.points-button small{color:var(--muted)}
.save-dock{position:sticky;bottom:18px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:13px 14px;border:1px solid rgba(255,209,102,.42);border-radius:16px;background:rgba(8,17,38,.95);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.42)}.save-dock.saved{border-color:rgba(34,211,167,.4)}.save-dock b,.save-dock small{display:block}.save-dock small{margin-top:3px;color:var(--muted)}
.result-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.result-controls h2{margin:5px 0}.result-controls .select{max-width:220px}.recap-stats{margin-bottom:16px}.recap-stats .stat-card b,.profile-stat-grid .stat-card b{font-size:1.85rem;color:var(--gold)}.recap-stats .stat-card span,.profile-stat-grid .stat-card span{color:var(--muted);font-weight:800}.recap-stats .stat-card small,.profile-stat-grid .stat-card small{color:var(--muted)}.recap-highlights{margin-bottom:16px}.recap-highlights p{margin-bottom:0;color:var(--muted)}.result-list{padding:0;overflow:hidden}.result-list>.section-head{padding:20px;margin:0;border-bottom:1px solid var(--line)}.result-fixture-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;border-bottom:1px solid rgba(40,56,95,.62)}.result-fixture-row:last-child{border-bottom:0}.result-fixture-row>div{display:flex;align-items:center;gap:11px;min-width:0}.result-fixture-row b,.result-fixture-row small{display:block}.result-fixture-row small{margin-top:3px;color:var(--muted)}
.score-breakdown{display:grid;gap:14px}.scoreline-summary{display:flex;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(8,17,38,.35)}.score-breakdown ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.score-breakdown li{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid rgba(40,56,95,.55)}.score-breakdown li:last-child{border-bottom:0}.score-breakdown li span small{display:block;margin-top:3px;color:var(--muted)}.score-breakdown li.not-awarded{color:var(--muted)}.score-breakdown li.awarded b{color:#7ef0d0}.fixture-total{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;background:linear-gradient(90deg,rgba(124,92,255,.17),rgba(34,211,167,.1));font-size:1.05rem}.fixture-total b{color:var(--gold)}.award-callout,.gameweek-bonus-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid rgba(255,209,102,.35);border-radius:13px;background:rgba(255,209,102,.08)}.award-callout span{color:var(--muted)}.gameweek-bonus-box{align-items:flex-start;flex-direction:column}.gameweek-bonus-box span{width:100%;display:flex;justify-content:space-between}
.leaderboard-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0;padding:12px}.segmented{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(8,17,38,.4);overflow:auto}.segmented button{min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);padding:7px 12px;font-weight:850;white-space:nowrap;cursor:pointer}.segmented button.active{background:var(--accent);color:white}.month-input{max-width:180px}.modern-table .person-button{display:flex;align-items:center;gap:10px;text-align:left}.modern-table .person-button span{display:block}.modern-table .person-button small{display:block;color:var(--muted);margin-top:2px}.table-total-button{color:#ddd5ff;font-weight:950;text-decoration:underline;text-underline-offset:3px}.world-intro{margin-bottom:15px}
.league-overview-cards{margin:15px 0}.league-overview-cards .stat-card b{font-size:1.35rem}.league-utility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.league-utility-grid button,.mobile-more-item{min-height:80px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,rgba(21,35,68,.9),rgba(10,23,49,.9));color:var(--text);font-weight:850;cursor:pointer}.league-utility-grid button:hover,.mobile-more-item:hover{border-color:#7468bb;transform:translateY(-1px)}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.mobile-more-item{display:flex;align-items:center;gap:11px;text-align:left;padding:14px}.mobile-more-item>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(124,92,255,.16);font-size:1.15rem}
.profile-hero{display:flex;align-items:center;gap:18px;margin-bottom:16px}.profile-hero h2{margin:5px 0}.profile-hero p{margin:0;color:var(--muted)}.profile-hero-mark{width:76px;height:76px;font-size:1.25rem}.profile-stat-grid{margin-bottom:16px}.profile-stat-grid .stat-card{min-height:132px}.profile-stat-grid+.card{margin-bottom:16px}
.achievement-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.achievement-progress-ring{display:grid;place-items:center;flex:0 0 82px;height:82px;border-radius:50%;background:conic-gradient(var(--accent2) 0 35%,rgba(255,255,255,.08) 35%);border:5px solid rgba(255,255,255,.08);font-weight:950}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.achievement-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;min-height:190px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(21,35,68,.95),rgba(14,25,52,.95));color:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.achievement-card:hover{border-color:#7468bb;transform:translateY(-2px)}.achievement-card.locked{opacity:.72;filter:saturate(.5)}.achievement-card h3{margin:7px 0 5px}.achievement-card p{margin:0 0 10px;color:var(--muted);font-size:.82rem}.achievement-card small{display:block;margin-top:7px;color:var(--muted)}.achievement-icon,.achievement-detail-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:radial-gradient(circle at 30% 20%,#9b87ff,#5538c8 65%,#302069);font-size:1.8rem}.progress>i,.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2))}.achievement-detail{display:grid;gap:12px}.achievement-detail h2{margin:0}.achievement-detail .progress{max-width:480px}
.how-hero{padding:27px;border:1px solid rgba(124,92,255,.37);border-radius:20px;background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(239,51,64,.06),rgba(255,209,102,.07));margin-bottom:16px}.how-hero h2{font-size:2rem;margin:10px 0}.how-hero p{margin:0;color:var(--muted)}.onboarding-rules{margin-bottom:16px}.onboarding-rules>.card>b{display:block;font-size:1.55rem;color:var(--gold);margin-bottom:9px}.onboarding-rules p{margin-bottom:0;color:var(--muted)}.full-rules{margin-top:16px}.full-rules>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.full-rules[open]>summary{margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--line)}
/* accessible focus and interaction states */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(255,209,102,.7);outline-offset:2px}.btn,.tab,.pick-button,.recent-league-chip,.points-button,.table-total-button{min-height:42px}
@media(max-width:1050px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.league-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-v19-controls{grid-template-columns:1fr}.home-secondary,.recap-highlights{grid-template-columns:1fr}.profile-stat-grid,.recap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.v19-shell .content{padding:18px 14px 145px}.v19-shell .topbar{height:62px;padding:0 13px}.back-button{width:40px;height:40px}.home-urgent,.home-live,.dashboard-cabinet-preview,.prediction-command,.result-controls{align-items:stretch;flex-direction:column}.home-urgent>.btn,.home-live>.btn,.dashboard-cabinet-preview>.btn{width:100%;min-width:0}.recent-leagues{align-items:flex-start;flex-direction:column;gap:8px}.recent-leagues>div{width:100%}.prediction-command .gameweek-picker,.result-controls .select{width:100%;max-width:none}.rolling-deadline-strip{grid-template-columns:1fr}.rolling-deadline-strip small{grid-column:1}.fixture-v19-teams{padding:16px 13px 12px;gap:8px}.fixture-v19-teams b{font-size:.88rem}.team-crest{flex-basis:36px;height:36px}.fixture-v19-controls{padding:0 12px 13px;gap:10px}.fixture-v19-foot{align-items:flex-start;flex-direction:column}.fixture-v19-foot .points-button{width:100%;justify-content:space-between}.save-dock{bottom:76px;margin:14px -2px 0;align-items:stretch;flex-direction:column}.save-dock .btn{width:100%}.leaderboard-controls{align-items:stretch;flex-direction:column}.leaderboard-controls .segmented,.month-input{width:100%;max-width:none}.leaderboard-controls .segmented button{flex:1}.achievement-grid{grid-template-columns:1fr}.achievement-card{min-height:0}.achievement-hero{align-items:flex-start}.mobile-more-grid{grid-template-columns:1fr}.result-fixture-row{align-items:flex-start;flex-direction:column}.result-fixture-row .points-button{width:100%;justify-content:space-between}.scoreline-summary{flex-direction:column}.league-utility-grid{grid-template-columns:1fr 1fr}.dashboard-league-row{grid-template-columns:minmax(0,1fr) auto}.dashboard-league-row em{grid-column:1/3}.v19-shell .bottom-nav button{min-height:58px}.v19-shell .bottom-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}}
@media(max-width:520px){.profile-stat-grid,.recap-stats{grid-template-columns:1fr}.fixture-v19-head{align-items:flex-start}.fixture-status-cluster{align-items:flex-start;flex-direction:column;gap:4px}.fixture-v19-teams>div{align-items:center;flex-direction:column;text-align:center}.fixture-v19-teams>div:last-child{justify-content:center;text-align:center}.mobile-score-field{grid-template-columns:42px minmax(44px,1fr) 42px}.fixture-v19 .pick-buttons{grid-template-columns:1fr!important}.league-utility-grid{grid-template-columns:1fr}.achievement-card{grid-template-columns:1fr}.achievement-icon{width:54px;height:54px}.how-hero h2{font-size:1.55rem}.onboarding-rules{grid-template-columns:1fr}}
/* v19 achievement drill-down and leaderboard period controls */
.leaderboard-period-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem;font-weight:850;white-space:nowrap}.leaderboard-period-field .input{width:112px;min-height:42px}.leaderboard-period-field .month-input{width:158px}.achievement-unlock-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.achievement-unlock-grids>section{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.34)}.achievement-unlock-grids h3{margin:0 0 10px}.achievement-unlock-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 0;border-bottom:1px solid rgba(40,56,95,.55)}.achievement-unlock-row:last-child{border-bottom:0}.achievement-unlock-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-unlock-row span{color:#d8d0ff;font-size:.76rem;font-weight:800}.achievement-unlock-row small{grid-column:1/-1;color:var(--muted)}.empty-state.compact{min-height:74px;padding:14px}
@media(max-width:780px){.leaderboard-period-field{align-items:stretch;flex-direction:column}.leaderboard-period-field .input,.leaderboard-period-field .month-input{width:100%}.achievement-unlock-grids{grid-template-columns:1fr}}
.deep-link-focus{animation:tfsDeepLinkFocus 2.2s ease-out}@keyframes tfsDeepLinkFocus{0%,28%{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 9px rgba(255,209,102,.18)}100%{outline-color:transparent;outline-offset:10px}}

/* v19 football identity: clear formal labels with branded football actions */
.branded-picks{display:grid;gap:12px;width:100%}
.strategy-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,230px);align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.strategy-choice>div:first-child{display:grid;gap:3px}.strategy-choice>div:first-child>b{font-size:.95rem}.strategy-choice>div:first-child small{color:var(--muted);line-height:1.35}
.strategy-choice .pick-button{width:100%;min-height:54px;justify-content:flex-start;text-align:left}.strategy-choice .pick-button>span:last-child{display:grid;gap:2px}.strategy-choice .pick-button b{font-size:.92rem}.strategy-choice .pick-button small{font-size:.7rem;opacity:.82;font-weight:600}
.prediction-progress-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:12px}.prediction-progress-line b{color:var(--text)}.prediction-progress-line span{color:var(--muted)}
.recap-highlight{position:relative;overflow:hidden}.recap-highlight:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--purple)}
.recap-highlight.best:before{background:var(--yellow)}.recap-highlight.banker:before{background:var(--purple)}.recap-highlight.shock:before{background:var(--red)}.recap-highlight.climber:before{background:#39d98a}.recap-highlight.near:before{background:#ff9f43}.recap-highlight.howler:before{background:#ef3340}.recap-highlight.shout:before{background:var(--yellow)}
.recap-highlight .eyebrow{display:block;margin-bottom:8px}.recap-highlight h3{margin:0 0 7px}.recap-highlight p{margin:0;color:var(--muted)}
.profile-highlights{margin:18px 0}.guest-picks.branded-picks{margin-top:12px}.guest-picks .strategy-choice{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}
@media(max-width:720px){.strategy-choice,.guest-picks .strategy-choice{grid-template-columns:1fr}.strategy-choice .pick-button{min-height:58px}.prediction-progress-line{display:grid;gap:5px}.recap-highlights{grid-template-columns:1fr!important}}


/* Feature-freeze: community, rivalry, trust, creator, accessibility and PWA */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid #ffd400!important;outline-offset:3px!important}
button,a,input,select,textarea{scroll-margin:96px}
.incident-notice{display:flex;gap:12px;padding:14px 18px;margin:0 0 14px;border:1px solid var(--line);border-left:5px solid #ffd400;border-radius:14px;background:rgba(255,212,0,.08)}
.incident-notice.warning{border-left-color:#ffae33}.incident-notice.critical{border-left-color:#ef3340;background:rgba(239,51,64,.1)}.incident-notice b,.incident-notice span{display:block}.incident-notice span{margin-top:4px;color:var(--muted)}
.community-link{min-height:44px}.community-centre{display:grid;gap:18px}.community-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.community-outcome{position:relative;overflow:hidden;display:grid;gap:4px;min-height:112px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}.community-outcome b{font-size:1.65rem}.community-outcome small{color:var(--muted)}.community-outcome i{position:absolute;bottom:0;left:0;height:5px;width:var(--value);background:linear-gradient(90deg,var(--purple),#ffd400)}
.compact-list{display:grid;gap:10px;margin:12px 0 0;padding-left:24px}.compact-list li{padding:4px 0}.compact-list li span{float:right;color:var(--muted)}.card.inset{background:rgba(5,9,29,.56)}.my-community-shout,.community-live{padding:18px;border-radius:16px;background:linear-gradient(135deg,rgba(124,92,255,.17),rgba(255,212,0,.07));border:1px solid rgba(124,92,255,.35)}.community-accuracy{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.community-accuracy>div{padding:14px;border:1px solid var(--line);border-radius:14px}.community-accuracy span,.community-accuracy b{display:block}.community-accuracy b{font-size:1.4rem;margin-top:4px}.result-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.trust-actions{display:flex;justify-content:flex-end;margin-top:18px}
.trust-centre{margin-bottom:20px}.resolution-row{display:grid;gap:9px;padding:16px 0;border-bottom:1px solid var(--line)}.resolution-row:last-child{border-bottom:0}.resolution-row>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.resolution-row small{display:block;color:var(--muted)}
.rivalry-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.rival-list{display:grid;gap:10px}.rival-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--line);border-radius:14px}.rival-row>div{display:flex;align-items:center;gap:10px}.rival-row span b,.rival-row span small{display:block}.rival-row small{color:var(--muted)}.rival-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.rival-hero>div{display:flex;align-items:center;gap:12px}.rival-form{display:flex;gap:6px}.rival-form span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:800}.form-w{background:#28c76f;color:#06140c}.form-d{background:#ffd400;color:#111}.form-l{background:#ef3340;color:#fff}.rival-gaps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.rival-gap{padding:14px;border:1px solid var(--line);border-radius:14px}.rival-gap span,.rival-gap b,.rival-gap small{display:block}.rival-gap b{font-size:1.55rem;margin:5px 0}.rival-gap small{color:var(--muted)}
.season-shouts-layout{align-items:start}.season-question{display:grid;gap:14px;margin-bottom:14px}.season-question header small{color:var(--muted)}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-form .field{flex:1;min-width:180px}
.admin-freeze-panel{margin-bottom:20px}.admin-freeze-panel .stat-card{padding:14px;border:1px solid var(--line);border-radius:14px}.admin-freeze-panel .stat-card span,.admin-freeze-panel .stat-card b{display:block}.admin-freeze-panel .stat-card b{font-size:1.4rem;margin-top:4px}
.standalone-shell,.creator-studio-page,.creator-landing-page,.creator-cup-page{min-height:100vh;padding:clamp(18px,4vw,56px);background:radial-gradient(circle at top right,rgba(124,92,255,.2),transparent 38%),#070d22;color:#fff}.standalone-shell{display:grid;place-items:center}.standalone-shell>.card{max-width:700px}.creator-studio-page{max-width:1680px;margin:auto}.creator-studio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.creator-studio-hero,.creator-landing-hero{padding:clamp(24px,5vw,70px);border-radius:24px;background:linear-gradient(135deg,rgba(124,92,255,.28),rgba(239,51,64,.14));border:1px solid rgba(255,255,255,.12);margin-bottom:22px}.creator-studio-hero h1,.creator-landing-hero h1{font-size:clamp(2.2rem,7vw,5rem);margin:.1em 0}.creator-studio-tabs{display:flex;gap:8px;overflow:auto;padding:8px 0 18px}.creator-studio-tabs button{min-height:44px;padding:10px 16px;color:#fff;background:#111938;border:1px solid rgba(255,255,255,.12);border-radius:999px;white-space:nowrap}.creator-studio-tabs button.active{background:#ffd400;color:#101020}.asset-tools{display:flex;justify-content:flex-end;margin:16px 0 8px}[data-asset-preview] canvas{display:block;width:min(100%,900px);height:auto;border:1px solid var(--line);border-radius:14px}.creator-landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.creator-landing-league>div{display:flex;gap:10px;color:var(--muted);margin-bottom:16px}.creator-overlay-page{width:100vw;min-height:100vh;padding:26px;color:#fff;background:transparent;font-family:Arial,sans-serif}.creator-overlay-page header,.creator-overlay-page footer{display:flex;justify-content:space-between;padding:14px 18px;background:rgba(7,13,34,.9);border-radius:14px}.overlay-table{display:grid;gap:8px;margin:12px 0}.overlay-standing{display:flex;justify-content:space-between;padding:12px 18px;border-radius:12px;background:rgba(7,13,34,.9);border-left:5px solid #ffd400;font-size:1.2rem}.cup-fixture{display:grid;grid-template-columns:55px 1fr auto 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cup-fixture b:last-child{text-align:right}
code{overflow-wrap:anywhere;word-break:break-word}.bot-field{position:absolute;left:-99999px}.status-with-icon:before{content:'●';margin-right:7px}.status-open:before{content:'✓'}.status-locked:before{content:'🔒'}.status-live:before{content:'●'}.status-final:before{content:'✓'}.status-postponed:before{content:'!'}.status-with-icon{font-weight:700}
@media(max-width:760px){.community-outcomes,.community-accuracy,.rival-gaps{grid-template-columns:1fr}.rivalry-entry,.rival-row,.rival-hero{align-items:stretch;flex-direction:column}.rival-row>div:last-child{justify-content:flex-end}.creator-studio-page,.creator-landing-page,.creator-cup-page{padding:14px}.creator-studio-header{align-items:flex-start;gap:12px}.creator-studio-header .brand{font-size:.95rem}.compact-list li span{float:none;display:block}.result-row-actions{width:100%;justify-content:space-between}.cup-fixture{grid-template-columns:44px 1fr auto}.cup-fixture b:last-child{grid-column:2;text-align:left}.inline-form>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.ticker-track{transform:none!important}.ticker-set[aria-hidden="true"]{display:none!important}}
@media(forced-colors:active){.pill,.btn,.card,.fixture{border:1px solid CanvasText}.community-outcome i{background:CanvasText}}
@media(min-resolution:1dppx){button,.btn,[role="button"],input,select{min-height:44px}}

/* v19.0.1 compact UX correction: one product layout across desktop, tablet and mobile */
html,body,#app,.app-shell,.v19-shell,.main{max-width:100%;overflow-x:hidden}
.v19-shell{grid-template-columns:218px minmax(0,1fr)}
.v19-shell .sidebar{padding:16px 12px}
.v19-shell .brand{margin:0 6px 16px;font-size:1rem;gap:9px}
.v19-shell .brand-mark{width:34px;height:34px;border-radius:10px;font-size:.72rem}
.v19-shell .primary-nav{display:flex;flex:0 1 auto;flex-direction:column;gap:5px;align-content:start}
.v19-shell .primary-nav button{min-height:44px;padding:9px 10px;border-radius:10px}
.v19-shell .primary-nav button.active{box-shadow:inset 3px 0 0 var(--gold)}
.v19-shell .sidebar-foot{margin-top:auto}
.v19-shell .profile-mini{padding:9px}
.v19-shell .topbar{height:62px;padding:0 20px}
.v19-shell .content{max-width:1180px;padding:20px 22px 96px}
.v19-shell .card{border-radius:15px}
.prediction-command{padding:18px 20px;gap:18px}
.prediction-command h2{font-size:1.55rem;margin:.2rem 0}
.prediction-command p{margin:.25rem 0 .65rem}
.rolling-deadline-strip{padding:11px 14px;margin:12px 0 14px}
.v19-fixture-list{gap:12px}
.fixture-v19{border-radius:15px}
.fixture-v19-head{padding:10px 14px}
.fixture-v19-teams{padding:12px 14px 10px;gap:10px}
.fixture-v19-teams b{font-size:.96rem}
.team-crest{flex-basis:36px;height:36px;font-size:.67rem}
.fixture-v19-controls.compact-controls{grid-template-columns:minmax(290px,.78fr) minmax(390px,1.22fr);gap:10px;padding:0 12px 12px}
.fixture-v19 .score-entry,.fixture-v19 .pick-area{padding:9px 10px;border-radius:12px}
.compact-pick-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.compact-pick{min-width:0;padding:7px 8px;border:1px solid rgba(40,56,95,.7);border-radius:11px;background:rgba(8,17,38,.24)}
.pick-label{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.pick-label b{font-size:.86rem}
.info-button{display:inline-grid;place-items:center;width:25px;height:25px;min-width:25px;min-height:25px;padding:0;border:1px solid #6d7da6;border-radius:50%;background:#101c3a;color:#e8edff;font-weight:900;line-height:1;cursor:pointer}
.info-button:hover,.info-button:focus-visible{border-color:var(--gold);color:var(--gold);outline:2px solid rgba(255,212,0,.28);outline-offset:2px}
.compact-pick .pick-button{width:100%;min-height:44px;padding:8px 10px;justify-content:flex-start;text-align:left}
.compact-pick .pick-button b{font-size:.86rem}.compact-pick .pick-button small{font-size:.65rem}
.fixture-v19 .mobile-score-field{grid-template-columns:36px minmax(42px,1fr) 36px}
.fixture-v19 .mobile-score-field input{height:42px!important}
.fixture-v19 .score-step{min-width:36px;height:40px}
.fixture-v19-foot{padding:9px 13px;min-height:48px}
.save-dock{padding:10px 12px}
.league-utility-top{margin:0 0 14px}
.league-utility-grid button{min-height:52px;padding:10px 12px}
.share-card-subtabs{position:sticky;top:0;z-index:2;background:var(--bg);padding:4px 0 10px}
.admin-manual-actions-note{margin-top:18px}
.admin-manual-actions{gap:8px}.admin-manual-actions .btn{min-height:42px}
.totp-setup-qr{display:block;width:min(260px,100%);height:auto;margin:12px auto;padding:10px;background:#fff;border-radius:14px}

@media(max-width:1100px){
  .v19-shell{display:block!important;grid-template-columns:1fr!important}
  .v19-shell .sidebar{display:none!important}
  .v19-shell .main{width:100%!important;min-width:0!important;margin:0!important}
  .v19-shell .bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));height:auto;min-height:68px;padding:5px 4px max(6px,env(safe-area-inset-bottom));background:rgba(8,17,38,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:100}
  .v19-shell .bottom-nav button{display:grid;place-content:center;gap:3px;min-width:0;min-height:56px;padding:5px 2px;font-size:.67rem;font-weight:800}
  .v19-shell .bottom-nav .ico{font-size:1.05rem}
  .v19-shell .content{max-width:100%;padding:16px 14px 132px}
  .v19-shell .topbar{height:58px;padding:0 12px}
  .fixture-v19-controls.compact-controls{grid-template-columns:1fr}
}
@media(max-width:680px){
  .v19-shell .content{padding:12px 10px 128px}
  .v19-shell .topbar h1{font-size:.98rem}
  .prediction-command{padding:14px;align-items:stretch;flex-direction:column}
  .prediction-command h2{font-size:1.35rem}
  .prediction-command .gameweek-picker{width:100%;grid-template-columns:40px minmax(0,1fr) 40px}
  .rolling-deadline-strip{grid-template-columns:1fr;padding:10px 12px}
  .rolling-deadline-strip small{grid-column:1}
  .fixture-v19-head{align-items:flex-start;gap:7px;padding:9px 10px}
  .fixture-status-cluster{align-items:flex-start;flex-wrap:wrap;gap:5px}
  .fixture-v19-teams{padding:10px 9px 8px;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)}
  .fixture-v19-teams>div{gap:6px}.fixture-v19-teams b{font-size:.78rem;line-height:1.15}
  .team-crest{flex-basis:31px;height:31px;font-size:.58rem}
  .fixture-v19-controls.compact-controls{padding:0 8px 9px;gap:8px}
  .fixture-v19 .score-entry,.fixture-v19 .pick-area{padding:8px}
  .compact-pick-row{grid-template-columns:1fr 1fr;gap:6px}
  .compact-pick{padding:6px}
  .compact-pick .pick-button{padding:7px 6px}
  .compact-pick .pick-icon{display:none}
  .fixture-v19-foot{align-items:flex-start;flex-direction:column;padding:8px 10px;gap:7px}
  .fixture-v19-foot .points-button{width:100%;justify-content:space-between}
  .save-dock{bottom:76px;margin:10px 0 0;align-items:stretch;flex-direction:column}.save-dock .btn{width:100%}
  .league-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .league-utility-grid button{min-height:48px;font-size:.8rem}
  .modal{width:calc(100vw - 16px);max-height:calc(100vh - 20px);overflow:auto}
}
@media(max-width:420px){
  .compact-pick-row{grid-template-columns:1fr}
  .league-utility-grid{grid-template-columns:1fr 1fr}
}
.totp-qr,.totp-setup-qr{display:block;width:min(260px,100%);height:auto;margin:12px auto;padding:10px;background:#fff;border-radius:14px}

/* v19.0.2 navigation, creator, share-card and sample-preview corrections */
@media(min-width:1101px){
  .v19-shell{display:block!important}
  .v19-shell .sidebar{position:fixed!important;inset:0 auto 0 0;width:230px;height:100vh;z-index:40;padding:12px 10px;background:rgba(8,17,38,.96)}
  .v19-shell .main{margin-left:230px;width:calc(100% - 230px);min-height:100vh}
  .v19-shell .content{width:100%;max-width:1440px;margin:0;padding:18px 22px 96px}
  .v19-shell .primary-nav{min-height:0;overflow-y:auto;gap:2px;padding:0 2px 5px}
  .v19-shell .primary-nav button{min-height:36px;height:36px;padding:5px 8px;border-radius:9px;font-size:.76rem;gap:8px;flex:0 0 auto}
  .v19-shell .primary-nav .ico{width:20px;font-size:.9rem}
  .v19-shell .brand{margin:0 5px 9px;font-size:.91rem;white-space:nowrap}
  .v19-shell .brand-mark{width:31px;height:31px;min-width:31px;font-size:.65rem}
  .v19-shell .sidebar-foot{margin-top:7px;flex:0 0 auto}
  .v19-shell .profile-mini{padding:7px 8px;border-radius:11px}
}
.share-card-mode-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.62)}
.share-card-mode-row button{min-height:40px;padding:8px 15px;border:1px solid #40517c;border-radius:11px;background:#142143;color:var(--text);font:inherit;font-size:.83rem;font-weight:900;cursor:pointer}
.share-card-mode-row button:hover,.share-card-mode-row button:focus-visible{border-color:var(--gold);outline:2px solid rgba(255,212,0,.18);outline-offset:2px}
.share-card-mode-row button.active{border-color:var(--gold);background:linear-gradient(135deg,var(--primary),var(--accent2));color:#fff;box-shadow:0 0 0 1px rgba(255,212,0,.28)}
.plan-emblem{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 4px;border-radius:999px;vertical-align:middle;font-size:.62rem;font-weight:950;line-height:1;color:#081126;background:var(--gold);box-shadow:0 0 0 1px rgba(255,255,255,.24)}
.plan-emblem.pro-plus{color:#fff;background:linear-gradient(135deg,#7c5cff,#ef3340)}
.trophy-card{min-width:0}
.trophy-card>div{min-width:0;display:grid;gap:5px}
.trophy-card small,.trophy-card b{display:block;min-width:0;line-height:1.25}
.trophy-card b{overflow-wrap:anywhere;word-break:normal}
.creator-code-link{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:7px;margin-top:8px;align-items:center}
.creator-code-link .compact-input{min-height:38px;height:38px;padding:7px 9px;text-transform:uppercase}
.sample-preview-tabs>*{appearance:none;border:1px solid var(--line);background:#111d3a;color:var(--text);cursor:pointer;font-weight:800}
.sample-preview-tabs button:hover,.sample-preview-tabs button:focus-visible,.sample-preview-tabs button.active{border-color:var(--gold);background:rgba(124,92,255,.22);color:#fff;outline:none}
.sample-prediction,.sample-share-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(21,35,68,.55)}
.sample-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;text-align:center}
.sample-score-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin:18px 0}
.sample-score-controls button,.sample-score-controls input{width:48px;min-width:48px;height:44px;text-align:center}
.sample-score-controls button,.sample-pick-actions button{border:1px solid #40517c;border-radius:10px;background:#142143;color:#fff;font-weight:900;cursor:pointer}
.sample-pick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sample-pick-actions button{min-height:44px;padding:8px}
.sample-pick-actions button.active{border-color:var(--gold);background:linear-gradient(135deg,var(--primary),var(--accent2))}
.sample-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sample-record-grid>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(21,35,68,.5)}
.sample-record-grid small,.sample-record-grid b{display:block;overflow-wrap:anywhere}.sample-record-grid b{margin-top:6px}
.totp-qr{max-height:300px}
@media(max-width:680px){
  .share-card-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}
  .share-card-mode-row button:last-child:nth-child(odd){grid-column:1/-1}
  .creator-code-link{grid-template-columns:1fr}.creator-code-link .btn{width:100%}
  .sample-record-grid{grid-template-columns:1fr}
}

/* v19.0.2 final interaction and spacing fixes */
.sample-score-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:18px 0}
.sample-score-side{display:grid;grid-template-columns:44px minmax(58px,90px) 44px;justify-content:center;gap:7px}
.sample-score-side button,.sample-score-side input{width:100%;min-width:0;height:44px;text-align:center}
.sample-score-divider{font-size:1.15rem;font-weight:900;color:var(--muted)}
.sample-pick-actions button{display:flex;align-items:center;justify-content:center;gap:6px}
.trophy-card>div small{margin:0 0 2px;color:var(--muted);font-size:.73rem;font-weight:800;text-transform:none;letter-spacing:0}
.trophy-card>div b{font-size:.9rem}
@media(min-width:1101px){
  .v19-shell .sidebar{overflow:hidden}
  .v19-shell .primary-nav{scrollbar-width:thin}
}
@media(max-width:680px){
  .sample-score-controls{grid-template-columns:1fr;gap:8px}
  .sample-score-divider{display:none}
  .sample-score-side{grid-template-columns:42px minmax(56px,1fr) 42px}
}


/* v19.0.3 profile, moderation, sponsor scheduling and solo-operator refinements */
.profile-image-round{border-radius:50%!important;clip-path:none!important}
.profile-image-square{border-radius:10px!important;clip-path:none!important}
.crest-badge.crest-square{border-radius:10px!important;clip-path:none!important}
.profile-image img,.app-partner-logo img,.partner-upload-preview img{display:block;width:100%;height:100%;object-fit:cover}
.profile-mini{min-width:0;overflow:hidden}
.profile-mini>.grow,.profile-mini>div{min-width:0}
.profile-mini .strong,.profile-preview-name,.profile-page-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-top{overflow:hidden}
.profile-editor{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:stretch}
.profile-preview{min-width:0;min-height:112px;align-items:center;overflow:hidden}
.profile-preview>div{min-width:0;max-width:100%}
.profile-preview-mark{width:76px;height:76px;min-width:76px;flex:0 0 76px}
.profile-hero{min-width:0}
.profile-hero>.min-zero{min-width:0;flex:1}
.profile-hero .profile-page-name{font-size:clamp(1.25rem,2.4vw,2rem)}
.profile-report-button{margin-left:auto;flex:0 0 auto}
.profile-upload-guidance{line-height:1.45}
.league-overview-table{max-height:920px;overflow:auto;border-radius:16px}
.your-overview-rank{margin-top:10px}
.username-moderation-card{display:grid;gap:10px}
.username-moderation-actions{display:flex;flex-wrap:wrap;gap:8px}
.partner-upload-editor{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.45)}
.partner-upload-preview{display:grid;place-items:center;width:180px;max-width:100%;aspect-ratio:1;border:1px dashed #52648f;border-radius:16px;background:#fff;color:#10162d;overflow:hidden;font-weight:900;text-align:center;padding:8px}
.partner-upload-preview img{object-fit:contain}
.partner-logo-actions{display:flex;flex-wrap:wrap;gap:8px}
.app-partner-admin-card{min-width:0}
.app-partner-admin-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center}
.app-partner-admin-head .app-partner-logo{width:58px;height:58px}
.app-partner-admin-head h3,.app-partner-admin-head p{overflow-wrap:anywhere}
.sponsor-schedule-status{white-space:nowrap}
.payment-clarity,.solo-support-note{margin:12px 0}
.plan-emblem{flex:0 0 auto}
.person,.modern-table .person-button,.published-player .person{min-width:0}
.person>div,.modern-table .person-button>span,.published-player .person>div{min-width:0}
.person b,.modern-table .person-button b,.published-player b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:780px){
  .profile-editor{grid-template-columns:1fr}
  .profile-preview{min-height:96px}
  .profile-preview-mark{width:68px;height:68px;min-width:68px;flex-basis:68px}
  .partner-upload-editor{grid-template-columns:1fr}
  .partner-upload-preview{width:min(220px,100%);margin:auto}
  .profile-hero{align-items:flex-start;flex-wrap:wrap}
  .profile-report-button{width:100%;margin-left:0}
}
.app-partner-logo-editor{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.45)}
.app-partner-logo-preview{display:grid;place-items:center;width:180px;max-width:100%;aspect-ratio:1;border:1px dashed #52648f;border-radius:16px;background:#fff;color:#10162d;overflow:hidden;font-weight:900;text-align:center;padding:8px}
.app-partartner-logo-preview img,.app-partner-logo-preview img{display:block;width:100%;height:100%;object-fit:contain}
.app-partner-admin-heading{display:flex;align-items:center;gap:12px;min-width:0}
.app-partner-admin-heading>div{min-width:0}
.app-partner-admin-logo{display:grid;place-items:center;width:58px;height:58px;min-width:58px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.app-partner-admin-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:780px){.app-partner-logo-editor{grid-template-columns:1fr}.app-partner-logo-preview{width:min(220px,100%);margin:auto}.app-partner-admin-heading{align-items:flex-start}}

/* v19.0.3 final containment, bulk moderation and scheduled sponsor refresh */
.check-card>span,.section-head>div,.profile-mini>div,.app-partner-card>div:nth-child(2),.notification-card>div,.person>div,.person-button>span{min-width:0}
.check-card b,.check-card small,.app-partner-card b,.app-partner-card small,.partner-strip b,.partner-strip small,.notification-card b,.notification-card span,.trophy-record-card b,.trophy-record-card span{overflow-wrap:anywhere;word-break:normal}
.mini-badge.crest-badge,.mini-badge.profile-image{width:32px;height:32px;min-width:32px;aspect-ratio:1/1}
.top-profile-mark.crest-badge,.top-profile-mark.profile-image{width:28px;height:28px;min-width:28px;aspect-ratio:1/1}
.avatar.crest-badge,.avatar.profile-image{width:38px;height:38px;min-width:38px;aspect-ratio:1/1}
.profile-hero-mark.crest-badge,.profile-hero-mark.profile-image{width:76px;height:76px;min-width:76px;aspect-ratio:1/1}
.profile-preview{width:100%;grid-column:1/-1;gap:16px}
.profile-editor{grid-template-columns:minmax(0,1fr)}
.profile-page-name{max-width:min(100%,52ch)}
.username-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.username-bulk-toolbar>div:first-child{display:grid;gap:4px;min-width:0}
.username-bulk-toolbar span{color:var(--muted);font-size:.86rem}
.username-report-select{display:flex;align-items:center;gap:8px;font-weight:850;cursor:pointer}
.username-report-select input{width:18px;height:18px}
.app-partner-slot:empty{display:none}
.league-overview-table{max-height:1100px;overflow:auto}
@media(max-width:780px){.username-bulk-toolbar{align-items:stretch;flex-direction:column}.username-bulk-toolbar .actions{display:grid;grid-template-columns:1fr}.profile-page-name{max-width:100%}}


/* v19.0.4: approved host and creator social links in league headers. */
.league-hero-right{margin-left:auto;align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;min-width:min(360px,38%)}
.league-social-strip{display:flex;align-items:center;justify-content:flex-end;gap:9px;max-width:100%;padding:6px 8px;border:1px solid color-mix(in srgb,var(--league-secondary,#22d3a7) 35%,var(--line));border-radius:999px;background:rgba(5,10,28,.72);backdrop-filter:blur(12px)}
.league-social-label{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#d7ddf3;white-space:nowrap}
.league-social-icons{display:flex;align-items:center;gap:6px;min-width:0}
.league-social-icon{width:32px;height:32px;display:inline-grid;place-items:center;flex:0 0 32px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#101c3d;color:#fff;font-size:.91rem;font-weight:950;text-decoration:none;line-height:1;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.league-social-icon:hover,.league-social-icon:focus-visible{transform:translateY(-1px);border-color:var(--gold);background:#172650;outline:2px solid transparent}
.league-social-icon.platform-youtube{background:#b91c2b}.league-social-icon.platform-x{background:#080b13}.league-social-icon.platform-instagram{background:linear-gradient(135deg,#5b2cff,#f02f75,#ffb119)}.league-social-icon.platform-tiktok{background:#111827}.league-social-icon.platform-facebook{background:#2357a6}.league-social-icon.platform-twitch{background:#5b35a8}.league-social-icon.platform-kick{background:#1f7a36}.league-social-icon.platform-threads{background:#161616}.league-social-icon.platform-website,.league-social-icon.platform-podcast,.league-social-icon.platform-other{background:#24345d}
.league-social-more{position:relative}.league-social-more summary{width:32px;height:32px;display:grid;place-items:center;cursor:pointer;list-style:none;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#101c3d;font-size:.72rem;font-weight:900}.league-social-more summary::-webkit-details-marker{display:none}.league-social-overflow{position:absolute;z-index:30;right:0;top:38px;display:flex;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#09132c;box-shadow:var(--shadow)}
.social-profile-choices{display:grid;gap:8px}.social-profile-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid var(--line);border-radius:13px;background:rgba(7,14,33,.45)}.social-profile-choice label{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;flex:1}.social-profile-choice small,.creator-social-status small,.creator-league-social-form small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);max-width:420px}.social-profile-choice .league-social-icon,.creator-social-status .league-social-icon{width:28px;height:28px;flex-basis:28px}.social-order-controls{display:flex;gap:2px}.muted-disabled{opacity:.5;pointer-events:none}.social-submit-card{margin-top:15px}.social-submission-status{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.social-submission-status>div{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:10px}.social-access-check{margin-top:12px}.creator-social-list,.creator-league-social-list{display:grid;gap:10px;margin-top:12px}.creator-social-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:12px}.creator-league-social-form{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(7,14,33,.45)}
@media(max-width:1050px){.league-hero-right{width:100%;min-width:0;align-items:flex-start}.league-social-strip{justify-content:flex-start}.league-hero-actions{justify-content:flex-start}}
@media(max-width:780px){.league-social-strip{width:100%;border-radius:15px;justify-content:space-between}.league-social-label{font-size:.62rem}.league-social-icons{gap:5px}.league-social-icon{width:34px;height:34px;flex-basis:34px}.league-social-more summary{width:34px;height:34px}.league-social-overflow{right:auto;left:0;max-width:min(82vw,320px);flex-wrap:wrap}.social-profile-choice{align-items:flex-start}.social-profile-choice label{grid-template-columns:auto auto minmax(0,1fr)}.social-order-controls{flex-direction:column}.creator-social-status{grid-template-columns:auto minmax(0,1fr)}.creator-social-status>.pill{grid-column:2}}

/* v19.0.5 — creator/host simplification and compact polish */
@media (min-width:901px){
  .v19-shell .sidebar{padding:10px 8px;gap:6px}
  .v19-shell .sidebar .brand{flex:0 0 auto;margin:0 5px 4px}
  .v19-shell .primary-nav{display:grid;grid-auto-rows:minmax(39px,1fr);flex:1 1 auto;gap:1px;min-height:0;overflow-y:auto;padding:0}
  .v19-shell .primary-nav button{height:auto;min-height:39px;border-radius:7px;padding:6px 9px;align-self:stretch}
  .v19-shell .sidebar-foot{margin-top:4px}
}

/* Keep the sponsor ribbon and call-to-action in separate zones. */
.app-partner-card.sponsored-placement{grid-template-columns:auto minmax(0,1fr);padding:18px 104px 18px 18px;min-height:104px}
.app-partner-card.sponsored-placement>em{grid-column:2;justify-self:start;margin-top:5px;padding-right:10px}
.app-partner-card.sponsored-placement:after{right:-39px;top:14px;padding:6px 43px}
.league-discovery-card.sponsored-placement{padding-top:48px;padding-right:22px}
@media(max-width:780px){
  .app-partner-card.sponsored-placement{padding:16px 82px 16px 14px;min-height:112px}
  .app-partner-card.sponsored-placement:after{right:-43px;top:12px}
}

.rules-layout{align-items:start}
.rules-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.rule-toggle-card{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:12px;min-height:116px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.rule-state-button{display:grid;place-items:center;width:74px;height:42px;border:1px solid #586787;border-radius:11px;background:#273654;color:#d9e1f4;font-weight:950;cursor:pointer;transition:.15s}
.rule-state-button.on{border-color:#9b6cff;background:linear-gradient(135deg,#6f2cff,#d32672);color:#fff;box-shadow:0 0 0 3px rgba(124,92,255,.13)}
.rule-state-button.off{background:#25324d;color:#aeb9d1}
.rule-state-button:disabled{cursor:not-allowed;opacity:.65}
@media(max-width:780px){.rules-toggle-grid{grid-template-columns:1fr}.rule-toggle-card{min-height:104px}}

.league-colour-studio{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(250px,1fr);gap:16px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(3,8,23,.5)}
.league-colour-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.league-colour-well{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#09142c;font-weight:850}
.league-colour-well input[type=color]{grid-column:1/-1;width:100%;height:92px;padding:5px;border:0;border-radius:12px;background:transparent;cursor:pointer}
.league-colour-well code{font-size:.72rem;color:var(--muted)}
.league-colour-preview{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-height:170px;padding:24px;border-radius:18px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.league-colour-preview b{font-size:1.65rem}.league-colour-preview span{font-weight:800;opacity:.86}
@media(max-width:780px){.league-colour-studio{grid-template-columns:1fr}.league-colour-preview{min-height:130px;align-items:flex-start;flex-direction:column}}

.creator-tools-embedded{padding:16px}
.creator-tools-frame{display:block;width:100%;height:clamp(720px,82vh,1200px);margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#071025}

.share-card-mode-row{display:flex;flex-wrap:wrap;gap:8px}
.share-card-mode-row button{min-width:102px}

.soft-rule{width:100%;border:0;border-top:1px solid var(--line);margin:18px 0}
\n\n/* v19.0.5 final polish: sponsor containment and continuous desktop navigation */\n@media(min-width:901px){\n  .v19-shell .primary-nav{align-content:stretch}\n  .v19-shell .primary-nav button{width:100%;border-radius:0;border-left:3px solid transparent}\n  .v19-shell .primary-nav button.active{border-left-color:var(--gold)}\n}\n.app-partner-card.sponsored-placement{position:relative;display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:auto auto;padding:18px 122px 18px 18px!important;min-height:126px;align-items:center;overflow:hidden}\n.app-partner-card.sponsored-placement>.app-partner-logo{grid-column:1;grid-row:1/3}\n.app-partner-card.sponsored-placement>div:nth-child(2){grid-column:2;grid-row:1;align-self:end;padding-right:10px}\n.app-partner-card.sponsored-placement>em{grid-column:2!important;grid-row:2!important;justify-self:start!important;align-self:start;margin:8px 0 0!important;padding:0!important;line-height:1.25;max-width:100%;white-space:normal}\n.app-partner-card.sponsored-placement:after{right:-42px!important;top:18px!important;padding:7px 47px!important;pointer-events:none}\n@media(max-width:780px){\n  .app-partner-card.sponsored-placement{grid-template-columns:56px minmax(0,1fr)!important;padding:15px 96px 15px 14px!important;min-height:118px}\n  .app-partner-card.sponsored-placement:after{right:-45px!important;top:14px!important;padding:6px 43px!important}\n}\n
/* v19.0.7 advertising inventory, responsive partner artwork and commercial controls */
.page-primary{min-width:0}
.app-partner-slot:empty{display:none}
.app-partner-card.sponsored-placement{display:block!important;padding:0!important;min-height:0!important;grid-template-columns:none!important;grid-template-rows:none!important;border-color:color-mix(in srgb,var(--partner-secondary,#ffd400) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--partner-primary,#7c5cff) 15%,rgba(8,17,38,.94)),rgba(15,24,53,.96));overflow:hidden}
.app-partner-card.sponsored-placement:hover{border-color:color-mix(in srgb,var(--partner-secondary,#ffd400) 72%,white);transform:translateY(-1px)}
.app-partner-card-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 108px 16px 17px;min-height:98px}
.app-partner-copy{min-width:0}.app-partner-copy b,.app-partner-copy small{display:block;overflow-wrap:anywhere}.app-partner-copy small{margin-top:4px;color:var(--muted);line-height:1.4}
.app-partner-card-body>em{font-style:normal;font-size:.75rem;font-weight:900;color:var(--partner-secondary,var(--gold));white-space:normal;text-align:right}
.app-partner-card.sponsored-placement>.app-partner-logo{grid-column:auto;grid-row:auto}
.app-partner-picture{display:block;width:100%;aspect-ratio:4/1;overflow:hidden;background:rgba(5,9,24,.72)}
.app-partner-creative{display:block;width:100%;height:100%;object-fit:cover}
.banner-led-placement .app-partner-picture{max-height:190px}
.banner-placement .app-partner-picture{max-height:220px}
.banner-placement .app-partner-card-body{min-height:82px}
.app-partner-card.sponsored-placement:after{z-index:3}
.partner-hide-desktop{display:none!important}
.app-partner-rail{display:none;margin:0;min-width:0}
.app-partner-rail .app-partner-heading{margin-bottom:8px}
.app-partner-rail .app-partner-grid{grid-template-columns:1fr;gap:14px}
.app-partner-rail .app-partner-card-body{grid-template-columns:48px minmax(0,1fr);padding:13px 16px;min-height:0}
.app-partner-rail .app-partner-logo{width:48px;height:48px;border-radius:12px}
.app-partner-rail .app-partner-card-body>em{grid-column:2;text-align:left}
.app-partner-rail .rail-creative{aspect-ratio:1/2;max-height:520px;object-fit:cover}
.app-partner-rail .app-partner-card.sponsored-placement:after{right:-47px!important;top:13px!important;padding:5px 43px!important;font-size:.55rem}
.placement-footer{margin:22px 0 0}
.placement-footer .app-partner-heading{display:none}
.partner-admin-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.partner-admin-metrics span{padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);font-size:.76rem}.partner-admin-metrics b{color:var(--gold)}
.app-partner-admin-banner{margin:-1px -1px 14px;aspect-ratio:4/1;max-height:150px;border-radius:15px 15px 0 0;overflow:hidden;background:#081126}.app-partner-admin-banner img{width:100%;height:100%;object-fit:cover}
.app-partner-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-partner-asset-editor{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,38,.45)}
.app-partner-banner-preview,.app-partner-mobile-preview,.app-partner-rail-preview{display:grid;place-items:center;width:100%;border:1px dashed #52648f;border-radius:12px;background:#fff;color:#10162d;overflow:hidden;text-align:center;padding:7px;min-height:100px}.app-partner-banner-preview{aspect-ratio:4/1}.app-partner-mobile-preview{aspect-ratio:2/1}.app-partner-rail-preview{width:min(190px,100%);aspect-ratio:1/2;justify-self:center}.app-partner-banner-preview img,.app-partner-mobile-preview img,.app-partner-rail-preview img{display:block;width:100%;height:100%;object-fit:contain}
.partner-placement-options{max-height:360px;overflow-y:auto;padding-right:4px}
@media(min-width:1560px){
  .v19-shell .content.has-ad-rail{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;max-width:1440px}
  .v19-shell .content.has-ad-rail>.app-partner-slot{min-width:0}
  .app-partner-rail{display:block;position:sticky;top:82px}
}
@media(max-width:1559px){.app-partner-rail{display:none!important}}
@media(max-width:780px){
  .partner-hide-desktop{display:block!important}.partner-hide-mobile{display:none!important}
  .app-partner-placement:not(.placement-partnerships) .app-partner-grid>.app-partner-card:nth-child(n+2){display:none!important}
  .app-partner-card-body{grid-template-columns:52px minmax(0,1fr);padding:14px 84px 14px 13px;min-height:92px}
  .app-partner-card-body>em{grid-column:2;text-align:left}
  .app-partner-logo{width:52px;height:52px}
  .app-partner-picture{aspect-ratio:2/1}
  .app-partner-asset-grid{grid-template-columns:1fr}
  .partner-placement-options{grid-template-columns:1fr!important;max-height:none}
}

/* v19.1.0 sponsor artwork containment and compact-card sizing */
.app-partner-card.sponsored-placement{display:block!important;padding:0!important;min-height:0!important;grid-template-columns:none!important;overflow:hidden}
.app-partner-card.sponsored-placement>.app-partner-card-body{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:16px 92px 16px 16px!important;min-height:96px!important}
.app-partner-card.sponsored-placement>.app-partner-card-body>em{grid-column:3!important;justify-self:end!important;margin:0!important;padding:0!important}
.app-partner-card.sponsored-placement .app-partner-creative{display:block;width:100%;border:0;border-radius:0}
.app-partner-card.sponsored-placement .banner-creative{aspect-ratio:4/1;max-height:320px;object-fit:cover}
.app-partner-card.sponsored-placement .rail-creative{aspect-ratio:1/2;max-height:560px;object-fit:cover}
.app-partner-card.rail-compact-placement{display:block!important}
.app-partner-card.rail-compact-placement>.app-partner-card-body{grid-template-columns:48px minmax(0,1fr)!important;padding:14px 58px 14px 14px!important;min-height:84px!important}
.app-partner-card.rail-compact-placement>.app-partner-card-body>em{grid-column:2!important;justify-self:start!important;margin-top:4px!important}
.app-partner-card.banner-compact-placement>.app-partner-card-body,.app-partner-card.compact-placement>.app-partner-card-body{min-height:110px!important}
.app-partner-card .app-partner-card-body.no-creative .app-partner-copy b{line-height:1.13}
.app-partner-card.compact-text-standard .app-partner-copy b{font-size:1rem}
.app-partner-card.compact-text-large .app-partner-copy b{font-size:1.22rem}
.app-partner-card.compact-text-large .app-partner-copy .eyebrow{font-size:.76rem}
.app-partner-card.compact-text-extra_large .app-partner-copy b{font-size:1.48rem}
.app-partner-card.compact-text-extra_large .app-partner-copy .eyebrow{font-size:.8rem}
.app-partner-card.compact-text-extra_large .app-partner-logo{width:64px;height:64px}
.app-partner-rail .app-partner-grid{display:grid;grid-template-columns:1fr;gap:12px}
.app-partner-rail .app-partner-card{width:100%}
.app-partner-asset-grid.three-assets{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.app-partner-asset-grid.three-assets{grid-template-columns:1fr}}
@media(max-width:780px){
  .app-partner-card.sponsored-placement>.app-partner-card-body{grid-template-columns:50px minmax(0,1fr)!important;padding:14px 64px 14px 14px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body>em{grid-column:2!important;justify-self:start!important;margin-top:4px!important}
  .app-partner-card.sponsored-placement .banner-creative{aspect-ratio:2.4/1;max-height:220px}
  .app-partner-card.compact-text-extra_large .app-partner-copy b{font-size:1.25rem}
}

/* v19.1.0 owner controls, richer league banners and paginated admin tables */
.league-hero:after{display:none!important}
.league-hero{background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}
.league-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,19,.20),rgba(3,7,19,.06));pointer-events:none;z-index:0}
.league-hero .league-copy,.league-hero .league-hero-right{filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.league-hero h2,.league-hero .eyebrow,.league-hero .league-meta{position:relative}
.league-banner-controls{grid-column:1/-1;margin-top:10px}
.range-input{width:100%;accent-color:var(--gold)}
.league-colour-preview{grid-column:1/-1;background-size:cover!important;background-position:center!important;overflow:hidden;position:relative}
.league-colour-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,18,.08),rgba(2,6,18,.02));pointer-events:none}
.league-colour-preview>*{position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.admin-search-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,220px) minmax(170px,230px) auto;gap:10px;align-items:end;margin:14px 0}
.payment-search-bar{grid-template-columns:minmax(280px,1fr) minmax(170px,230px) auto}
.admin-user-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:310px}
.admin-user-actions .compact-select{min-width:165px}
.admin-members-table td:last-child{min-width:330px}
.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:13px}
.compact-select{width:auto;min-width:130px}
.admin-audit-table{max-height:620px;overflow:auto}
.mono-break{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;max-width:260px;overflow-wrap:anywhere}
.payment-error-text{margin-top:5px;max-width:360px;color:#ffb6bf;overflow-wrap:anywhere}
.social-owner-select{min-width:260px;margin:7px 0}
.social-moderation-table td{vertical-align:top}
.social-moderation-table small{display:block;margin-top:3px}
@media(max-width:1050px){
  .admin-search-bar,.payment-search-bar{grid-template-columns:1fr 1fr}
  .admin-search-bar .btn,.payment-search-bar .btn{width:100%}
}
@media(max-width:720px){
  .admin-search-bar,.payment-search-bar{grid-template-columns:1fr}
  .admin-user-actions{min-width:260px}
  .admin-members-table td:last-child{min-width:280px}
  .admin-pagination{justify-content:flex-start}
  .social-owner-select{min-width:220px}
}


/* v19.1.0 mobile sponsor density: two compact placements in the old one-card space */
@media(max-width:780px){
  .app-partner-placement:not(.placement-partnerships) .app-partner-grid>.app-partner-card:nth-child(n+2){display:block!important}
  .app-partner-placement .app-partner-grid{gap:8px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body{grid-template-columns:40px minmax(0,1fr)!important;gap:9px!important;padding:9px 48px 9px 10px!important;min-height:64px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body>em{grid-column:2!important;font-size:.67rem!important;margin-top:2px!important;line-height:1.1!important}
  .app-partner-card.sponsored-placement .app-partner-logo{width:40px!important;height:40px!important;border-radius:10px!important}
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{font-size:.60rem!important;line-height:1.05!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{font-size:.94rem!important;line-height:1.06!important}
  .app-partner-card.sponsored-placement .app-partner-copy small{display:none!important}
  .app-partner-card.sponsored-placement .banner-creative{aspect-ratio:4/1!important;max-height:105px!important;object-fit:cover!important}
  .app-partner-card.banner-led-placement>.app-partner-card-body{min-height:58px!important}
  .app-partner-card.banner-compact-placement>.app-partner-card-body,
  .app-partner-card.compact-placement>.app-partner-card-body{min-height:72px!important}
  .app-partner-card.sponsored-placement:after{right:-47px!important;top:10px!important;padding:4px 41px!important;font-size:.50rem!important}
}


/* v19.1.1 home competition overview and seasonal access reminder */
.home-shouts-overview{border-left:4px solid var(--gold)}
.home-shout-list{display:grid;gap:10px;margin-top:12px}
.home-shout-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(7,15,34,.56)}
.home-shout-row.premier{box-shadow:inset 3px 0 0 #7c5cff}
.home-shout-row.championship{box-shadow:inset 3px 0 0 #d72439}
.home-shout-row.complete{opacity:.84}
.home-shout-copy h3{margin:8px 0 5px;font-size:1.22rem}
.home-shout-copy p{margin:0 0 5px;color:var(--muted)}
.home-shout-copy b{font-size:.82rem}
.plan-expiry-reminder{display:block;margin-bottom:16px}
.plan-expiry-reminder .text-button{margin-left:6px}
@media(max-width:780px){
  .home-shouts-overview{padding:16px}
  .home-shouts-overview .section-head{align-items:flex-start}
  .home-shout-row{grid-template-columns:1fr;gap:12px;padding:14px}
  .home-shout-row .btn{width:100%}
  .home-shout-copy h3{font-size:1.1rem}
}

/* v19.0.11 sponsor timing controls, centred compact cards and ribbon safety */
.sponsor-rotation-toggle{align-self:stretch}
.app-partner-card.sponsored-placement:after{
  right:-28px!important;
  top:16px!important;
  width:118px!important;
  padding:5px 0!important;
  text-align:center!important;
  transform:rotate(39deg)!important;
  font-size:.56rem!important;
  line-height:1!important;
  pointer-events:none!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  min-height:158px!important;
  display:grid!important;
  grid-template-columns:auto minmax(180px,auto)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  column-gap:18px!important;
  row-gap:6px!important;
  padding:28px 112px 28px 30px!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-logo{grid-area:logo!important;align-self:center!important}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy{grid-area:copy!important;align-self:end!important;text-align:center!important}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{grid-area:cta!important;justify-self:center!important;align-self:start!important;text-align:center!important;margin:2px 0 0!important}
.app-partner-card.compact-text-standard .app-partner-card-body.no-creative .app-partner-copy b{font-size:1.22rem!important}
.app-partner-card.compact-text-large .app-partner-card-body.no-creative .app-partner-copy b{font-size:1.62rem!important}
.app-partner-card.compact-text-extra_large .app-partner-card-body.no-creative .app-partner-copy b{font-size:2rem!important;line-height:1.04!important}
.app-partner-card.compact-text-extra_large .app-partner-card-body.no-creative .app-partner-copy .eyebrow{font-size:.86rem!important}
.app-partner-card.compact-text-extra_large .app-partner-card-body.no-creative .app-partner-logo{width:76px!important;height:76px!important}
.app-partner-rail .app-partner-card.rail-compact-placement>.app-partner-card-body.no-creative{
  min-height:116px!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  justify-content:stretch!important;
  padding:18px 64px 18px 16px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.rail-compact-placement .app-partner-copy{text-align:left!important}
.app-partner-rail .app-partner-card.rail-compact-placement .app-partner-card-body>em{justify-self:start!important;text-align:left!important}
.app-partner-rail .app-partner-card.compact-text-extra_large .app-partner-copy b{font-size:1.48rem!important}
.app-partner-card.partner-rotating{transition:opacity .18s ease,transform .18s ease}

@media(max-width:780px){
  .app-partner-card.sponsored-placement:after{
    right:-26px!important;
    top:13px!important;
    width:104px!important;
    padding:4px 0!important;
    font-size:.45rem!important;
    letter-spacing:.08em!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body,
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
    min-height:70px!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    grid-template-areas:"logo copy" "logo cta"!important;
    justify-content:stretch!important;
    align-content:center!important;
    column-gap:10px!important;
    row-gap:2px!important;
    padding:10px 82px 10px 10px!important;
    text-align:left!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy{text-align:left!important;min-width:0!important}
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{font-size:.56rem!important;line-height:1.05!important;max-width:100%!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{font-size:.96rem!important;line-height:1.08!important}
  .app-partner-card.sponsored-placement.compact-text-large .app-partner-copy b{font-size:1.08rem!important}
  .app-partner-card.sponsored-placement.compact-text-extra_large .app-partner-copy b{font-size:1.22rem!important}
  .app-partner-card.sponsored-placement.compact-text-extra_large .app-partner-copy .eyebrow{font-size:.60rem!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body>em,
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{grid-area:cta!important;justify-self:start!important;text-align:left!important;font-size:.67rem!important;margin:1px 0 0!important}
  .app-partner-card.sponsored-placement .app-partner-logo,
  .app-partner-card.sponsored-placement.compact-text-extra_large .app-partner-logo{grid-area:logo!important;width:40px!important;height:40px!important}
  .app-partner-card.sponsored-placement .banner-creative{max-height:96px!important}
}
/* v19.0.11 mobile long-name guard: preserve two-card density without crowding the CTA */
@media(max-width:780px){
  .app-partner-card.sponsored-placement.partner-name-long.compact-text-extra_large .app-partner-copy b{font-size:1.08rem!important;line-height:1.08!important}
  .app-partner-card.sponsored-placement.partner-name-long.compact-text-large .app-partner-copy b{font-size:1rem!important;line-height:1.08!important}
  .app-partner-card.sponsored-placement.partner-name-long>.app-partner-card-body,
  .app-partner-card.sponsored-placement.partner-name-long>.app-partner-card-body.no-creative{row-gap:4px!important;padding-top:12px!important;padding-bottom:12px!important}
}


/* v19.0.12 sponsor slots, text slider, compact banners and admin paging */
.app-partner-placement .app-partner-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  aspect-ratio:4/1!important;
  max-height:150px!important;
  object-fit:cover!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  min-height:86px!important;
  padding:14px 94px 14px 14px!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  height:100%!important;
  min-height:150px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-copy b{
  font-size:var(--partner-name-size,1.55rem)!important;
  line-height:1.04!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-copy .eyebrow{
  font-size:var(--partner-eyebrow-size,.78rem)!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-logo{
  width:var(--partner-logo-size,68px)!important;
  height:var(--partner-logo-size,68px)!important;
}
.app-partner-card.sponsored-placement:after{
  right:-31px!important;
  top:11px!important;
  width:102px!important;
  font-size:.50rem!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body{padding-right:104px!important}
.app-partner-rail .app-partner-grid{grid-template-columns:1fr!important}
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body{padding-right:70px!important}
.admin-audit-table,.data-recovery-card .table-wrap{max-height:520px;overflow:auto}

@media(max-width:900px){
  .app-partner-placement .app-partner-grid{grid-template-columns:1fr!important}
}
@media(max-width:780px){
  .app-partner-card.banner-led-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body,
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    height:auto!important;
    min-height:72px!important;
    padding:10px 86px 10px 10px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-copy b{
    font-size:var(--partner-mobile-name-size,1.15rem)!important;
  }
  .app-partner-card.sponsored-placement:after{right:-30px!important;top:8px!important;width:92px!important;font-size:.42rem!important}
}

/* v19.0.12 final sponsor geometry: two usable slots, contained artwork and predictable centring */
.app-partner-placement:not(.app-partner-rail) .app-partner-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.app-partner-card.sponsored-placement{height:auto!important;min-width:0!important;overflow:hidden!important}
.app-partner-card.sponsored-placement .banner-creative{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/1!important;
  height:auto!important;
  max-height:132px!important;
  object-fit:cover!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:78px!important;
  height:auto!important;
  padding:12px 76px 12px 14px!important;
  overflow:visible!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:auto minmax(0,auto)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  gap:4px 16px!important;
  min-height:138px!important;
  height:100%!important;
  padding:22px 76px 22px 22px!important;
  text-align:center!important;
}
.placement-home .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  justify-content:center!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy{
  grid-area:copy!important;text-align:center!important;align-self:end!important
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{
  grid-area:cta!important;justify-self:center!important;text-align:center!important;align-self:start!important
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-logo{grid-area:logo!important}
.app-partner-card.sponsored-placement:after{
  right:-26px!important;top:11px!important;width:88px!important;padding:4px 0!important;
  font-size:.46rem!important;line-height:1!important;letter-spacing:.08em!important
}
.app-partner-card.sponsored-placement .app-partner-copy b{
  font-size:var(--partner-name-size,1.5rem)!important;line-height:1.05!important;overflow-wrap:anywhere!important
}
.app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
  font-size:var(--partner-eyebrow-size,.74rem)!important;line-height:1.15!important
}
.app-partner-rail .app-partner-grid{grid-template-columns:1fr!important}
.muted-control{opacity:.68}.muted-control input{opacity:1}
.api-football-admin>.grid>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.api-football-admin>.grid span{color:var(--muted);font-size:.82rem}

@media(max-width:900px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .app-partner-card.sponsored-placement .banner-creative{max-height:105px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    grid-template-columns:40px minmax(0,1fr)!important;grid-template-areas:"logo copy" "logo cta"!important;
    gap:3px 9px!important;min-height:70px!important;padding:9px 58px 9px 10px!important
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative .app-partner-logo{grid-area:logo!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative .app-partner-copy{grid-area:copy!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>em{grid-area:cta!important;justify-self:start!important;text-align:left!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
    grid-template-columns:38px minmax(0,1fr)!important;grid-template-areas:"logo copy" "logo cta"!important;
    justify-content:stretch!important;text-align:left!important;gap:2px 8px!important;min-height:82px!important;
    padding:10px 58px 10px 10px!important
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy{text-align:left!important;align-self:end!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{justify-self:start!important;text-align:left!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{font-size:clamp(.86rem,var(--partner-mobile-name-size,1.05rem),1.3rem)!important}
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{font-size:.54rem!important}
  .app-partner-card.sponsored-placement .app-partner-logo{width:38px!important;height:38px!important}
  .app-partner-card.sponsored-placement:after{right:-24px!important;top:8px!important;width:78px!important;font-size:.39rem!important}
}
@media(max-width:560px){
  .app-partner-card.banner-led-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{min-height:82px!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{font-size:clamp(.78rem,var(--partner-mobile-name-size,.96rem),1.08rem)!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{padding-right:50px!important}
}

/* v19.0.12 final sponsor containment and rotation layout */
.app-partner-placement:not(.app-partner-rail) .app-partner-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.app-partner-card.sponsored-placement{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  max-height:124px!important;
  aspect-ratio:4/1!important;
  object-fit:cover!important;
  object-position:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  min-height:82px!important;
  height:auto!important;
  max-height:none!important;
  box-sizing:border-box!important;
  padding:12px 72px 12px 14px!important;
  overflow:visible!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative .app-partner-copy,
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>em{
  min-width:0!important;
  visibility:visible!important;
  opacity:1!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>em{
  grid-column:3!important;
  justify-self:end!important;
  text-align:right!important;
  white-space:normal!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:auto minmax(0,auto)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  gap:5px 16px!important;
  width:100%!important;
  min-height:168px!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:24px 72px 24px 22px!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy{
  grid-area:copy!important;
  align-self:end!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{
  grid-area:cta!important;
  align-self:start!important;
  justify-self:center!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-logo{grid-area:logo!important}
.placement-home .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  justify-content:center!important;
  text-align:center!important;
}
.app-partner-card.sponsored-placement:after{
  right:-24px!important;
  top:9px!important;
  width:82px!important;
  padding:4px 0!important;
  font-size:.43rem!important;
  line-height:1!important;
  letter-spacing:.07em!important;
  transform:rotate(39deg)!important;
  pointer-events:none!important;
}
.app-partner-rail .app-partner-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  justify-content:stretch!important;
  min-height:104px!important;
  padding:15px 58px 15px 14px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy,
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{
  text-align:left!important;
  justify-self:start!important;
}

@media(max-width:900px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement .banner-creative{max-height:96px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-areas:"logo copy" "logo cta"!important;
    gap:2px 8px!important;
    min-height:76px!important;
    padding:9px 52px 9px 10px!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative .app-partner-logo{grid-area:logo!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative .app-partner-copy{grid-area:copy!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>em{
    grid-area:cta!important;
    justify-self:start!important;
    text-align:left!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-areas:"logo copy" "logo cta"!important;
    justify-content:stretch!important;
    gap:2px 8px!important;
    min-height:82px!important;
    padding:10px 52px 10px 10px!important;
    text-align:left!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy,
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{
    text-align:left!important;
    justify-self:start!important;
  }
  .app-partner-card.sponsored-placement .app-partner-logo{width:38px!important;height:38px!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{
    font-size:clamp(.78rem,var(--partner-mobile-name-size,1rem),1.2rem)!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{font-size:.52rem!important}
  .app-partner-card.sponsored-placement:after{right:-23px!important;top:7px!important;width:74px!important;font-size:.37rem!important}
}
@media(max-width:560px){
  .app-partner-card.banner-led-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{min-height:78px!important;padding-right:46px!important}
}

/* v19.0.13 authoritative sponsor safety layout */
.app-partner-placement .app-partner-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.app-partner-card.sponsored-placement{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body{
  min-width:0!important;
  box-sizing:border-box!important;
}
.app-partner-card.sponsored-placement .app-partner-logo{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  flex:0 0 52px!important;
}
.app-partner-card.sponsored-placement .app-partner-copy{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
  display:block!important;
  font-size:min(var(--partner-eyebrow-size,.68rem),.78rem)!important;
  line-height:1.16!important;
  overflow-wrap:anywhere!important;
}
.app-partner-card.sponsored-placement .app-partner-copy b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  max-width:100%!important;
  font-size:min(var(--partner-name-size,1.25rem),2rem)!important;
  line-height:1.06!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.app-partner-card.sponsored-placement .app-partner-copy small{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  align-content:center!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px 16px!important;
  min-height:150px!important;
  padding:22px 76px 22px 24px!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-logo{grid-area:logo!important}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative .app-partner-copy{grid-area:copy!important;text-align:left!important;align-self:end!important}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>em{
  grid-area:cta!important;
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  white-space:normal!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/1!important;
  height:auto!important;
  max-height:140px!important;
  object-fit:cover!important;
  object-position:center!important;
  flex:0 0 auto!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) minmax(90px,auto)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:92px!important;
  padding:13px 76px 13px 16px!important;
  overflow:hidden!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>em{
  justify-self:end!important;
  text-align:right!important;
  white-space:normal!important;
}
.app-partner-card.sponsored-placement:after{
  right:-27px!important;
  top:10px!important;
  width:92px!important;
  padding:4px 0!important;
  font-size:.43rem!important;
  line-height:1!important;
  letter-spacing:.065em!important;
  z-index:3!important;
  pointer-events:none!important;
}
/* One genuine side-rail slot. Multiple timed rail sponsors rotate through it. */
.app-partner-rail .app-partner-grid{grid-template-columns:1fr!important}
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  min-height:150px!important;
  padding:22px 52px 18px 18px!important;
  text-align:center!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy,
.app-partner-rail .app-partner-card.sponsored-placement>.app-partner-card-body>em{
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  justify-self:center!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy b{
  font-size:min(var(--partner-name-size,1.2rem),1.5rem)!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .rail-creative{
  width:100%!important;
  aspect-ratio:1/2!important;
  object-fit:cover!important;
}

@media(max-width:900px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-areas:"logo copy" "logo cta"!important;
    align-content:center!important;
    align-items:center!important;
    gap:4px 9px!important;
    min-height:118px!important;
    padding:13px 44px 12px 12px!important;
    text-align:left!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body .app-partner-logo{grid-area:logo!important;width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body .app-partner-copy{grid-area:copy!important;text-align:left!important;align-self:end!important}
  .app-partner-card.sponsored-placement>.app-partner-card-body>em{grid-area:cta!important;justify-self:start!important;text-align:left!important;align-self:start!important}
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{font-size:min(var(--partner-eyebrow-size,.58rem),.64rem)!important}
  .app-partner-card.sponsored-placement .app-partner-copy b{font-size:min(var(--partner-mobile-name-size,.95rem),1.14rem)!important;line-height:1.02!important}
  .app-partner-card.sponsored-placement:after{right:-25px!important;top:8px!important;width:80px!important;font-size:.36rem!important}
}

@media(max-width:560px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px!important;
    min-height:150px!important;
    padding:15px 34px 12px 8px!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body .app-partner-logo{
    width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body .app-partner-copy,
  .app-partner-card.sponsored-placement>.app-partner-card-body>em{
    width:100%!important;max-width:100%!important;text-align:center!important;justify-self:center!important
  }
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
    font-size:min(var(--partner-eyebrow-size,.54rem),.58rem)!important;
    line-height:1.08!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy b{
    font-size:min(var(--partner-mobile-name-size,.88rem),1.02rem)!important;
    line-height:1.02!important;
    -webkit-line-clamp:3!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body>em{font-size:.72rem!important;line-height:1.05!important}
  .app-partner-card.sponsored-placement:after{right:-25px!important;top:7px!important;width:77px!important;font-size:.34rem!important}
}

/* v19.0.13 shared Shock Pick odds line */
.fixture-odds-status{
  display:flex;align-items:flex-start;gap:8px 14px;flex-wrap:wrap;
  padding:10px 14px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.35
}
.fixture-odds-status b{white-space:nowrap}
.fixture-odds-status span{color:var(--muted);min-width:0;flex:1}
.fixture-odds-status.provisional{background:rgba(255,212,0,.045)}
.fixture-odds-status.provisional b{color:var(--gold)}
.fixture-odds-status.final{background:rgba(34,197,94,.055)}
.fixture-odds-status.final b{color:#75e7a3}
.fixture-odds-status.pending{background:rgba(148,163,184,.045)}
@media(max-width:640px){
  .fixture-odds-status{display:block;padding:10px 12px;font-size:.72rem}
  .fixture-odds-status b,.fixture-odds-status span{display:block;white-space:normal}
  .fixture-odds-status span{margin-top:3px}
}

/* v19.0.14 fixed sponsor geometry, safe artwork containment and club crests */
.app-partner-placement:not(.app-partner-rail) .app-partner-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.app-partner-card.sponsored-placement{
  height:246px!important;
  min-height:246px!important;
  max-height:246px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.app-partner-card.sponsored-placement .app-partner-creative{
  display:block!important;
  width:100%!important;
  flex:0 0 auto!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  height:128px!important;
  min-height:128px!important;
  max-height:128px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:18px 70px 18px 18px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  align-content:center!important;
  align-items:center!important;
  gap:5px 16px!important;
  height:100%!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) minmax(82px,auto)!important;
  grid-template-areas:"logo copy cta"!important;
  align-items:center!important;
  gap:12px!important;
}
.app-partner-card.sponsored-placement .app-partner-logo{
  grid-area:logo!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:6px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
  width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;min-height:50px!important;max-height:50px!important;
}
.app-partner-card.sponsored-placement .app-partner-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.app-partner-card.sponsored-placement .app-partner-copy{
  grid-area:copy!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
  font-size:var(--partner-eyebrow-size,.58rem)!important;
  line-height:1.12!important;
  -webkit-line-clamp:2!important;
}
.app-partner-card.sponsored-placement .app-partner-copy b{
  font-size:var(--partner-name-size,1.18rem)!important;
  line-height:1.05!important;
  -webkit-line-clamp:2!important;
}
.app-partner-card.sponsored-placement .app-partner-copy small{
  font-size:.72rem!important;
  line-height:1.15!important;
  -webkit-line-clamp:1!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body>em{
  grid-area:cta!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:.76rem!important;
  line-height:1.1!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative>em{
  justify-self:start!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative>em{
  justify-self:end!important;
  text-align:right!important;
}
.app-partner-card.sponsored-placement:after{
  right:-27px!important;
  top:9px!important;
  width:90px!important;
  padding:4px 0!important;
  box-sizing:border-box!important;
}

/* Desktop side rails: up to three equal cards, then timed sponsors rotate. */
.app-partner-rail .app-partner-grid{
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement{
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .rail-creative{
  width:100%!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(5,9,24,.45)!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  align-content:center!important;
  align-items:center!important;
  gap:5px 11px!important;
  padding:16px 48px 15px 14px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-logo{
  width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;min-height:54px!important;max-height:54px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy,
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body>em{
  width:100%!important;
  text-align:left!important;
  justify-self:start!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy b{
  font-size:var(--partner-rail-name-size,1rem)!important;
  line-height:1.04!important;
  -webkit-line-clamp:2!important;
}

/* Provider club crests: full image contained, initials stay as a resilient fallback. */
.team-crest{
  position:relative!important;
  overflow:hidden!important;
  padding:4px!important;
  box-sizing:border-box!important;
}
.team-crest img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.team-crest.has-team-logo>span{display:none!important}
.team-crest.crest-fallback>span{display:block!important}
.ticker-team{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.ticker-team .team-crest{flex:0 0 22px!important;width:22px!important;height:22px!important;padding:2px!important;font-size:.42rem!important}

@media(max-width:900px){
  .app-partner-card.sponsored-placement{
    height:180px!important;
    min-height:180px!important;
    max-height:180px!important;
  }
  .app-partner-card.sponsored-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement .app-partner-card-body,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    height:100%!important;
    gap:5px!important;
    padding:14px 34px 12px 10px!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
    width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;padding:5px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy,
  .app-partner-card.sponsored-placement .app-partner-card-body>em{
    width:100%!important;
    max-width:100%!important;
    text-align:center!important;
    justify-self:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
    font-size:min(var(--partner-eyebrow-size,.54rem),.58rem)!important;
    line-height:1.08!important;
    -webkit-line-clamp:2!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy b{
    font-size:min(var(--partner-mobile-name-size,.9rem),1rem)!important;
    line-height:1.03!important;
    -webkit-line-clamp:2!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy small{display:none!important}
  .app-partner-card.sponsored-placement .app-partner-card-body>em{
    font-size:.72rem!important;
    line-height:1.05!important;
  }
}

@media(max-width:560px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement{
    height:176px!important;
    min-height:176px!important;
    max-height:176px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-card-body,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative{
    padding:13px 30px 11px 8px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
    width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;
  }
  .app-partner-card.sponsored-placement:after{
    right:-25px!important;top:7px!important;width:76px!important;font-size:.34rem!important;
  }
}

/* v19.0.14 banner cards keep the CTA below the copy so the sponsor name never loses width. */
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  grid-template-columns:50px minmax(0,1fr)!important;
  grid-template-areas:"logo copy" "logo cta"!important;
  gap:4px 12px!important;
  padding-right:70px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative>em{
  justify-self:start!important;
  text-align:left!important;
}

/* v19.0.14 final horizontal card dimensions: identical with or without artwork. */
.app-partner-card.sponsored-placement{
  height:250px!important;min-height:250px!important;max-height:250px!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  height:108px!important;min-height:108px!important;max-height:108px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  padding-top:12px!important;padding-bottom:12px!important;
}
@media(max-width:900px){
  .app-partner-card.sponsored-placement{height:180px!important;min-height:180px!important;max-height:180px!important}
}
@media(max-width:560px){
  .app-partner-card.sponsored-placement{height:176px!important;min-height:176px!important;max-height:176px!important}
}

/* v19.0.14 sponsor body simplification: logo + one protected copy column. */
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative,
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative{height:100%!important}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{height:auto!important;flex:1 1 auto!important}
.app-partner-card.sponsored-placement .app-partner-copy{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}
.app-partner-card.sponsored-placement .app-partner-copy>em{
  display:block!important;
  margin-top:7px!important;
  color:var(--gold)!important;
  font-style:normal!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy,
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy>em{
  text-align:left!important;
}
@media(max-width:900px){
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy,
  .app-partner-card.sponsored-placement .app-partner-copy>em{
    width:100%!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy>em{
    margin-top:5px!important;
    font-size:.72rem!important;
  }
}
.result-matchup-crests{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.result-matchup-crests>span:not(.team-crest){min-width:0!important;flex:1 1 auto!important}
.result-matchup-crests .team-crest{flex:0 0 36px!important;width:36px!important;height:36px!important}
@media(max-width:680px){.result-matchup-crests{width:100%!important}.result-matchup-crests .team-crest{flex-basis:31px!important;width:31px!important;height:31px!important}}
.fixture-browser-teams>div{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
.fixture-browser-teams>div:last-child{justify-content:flex-end!important;text-align:right!important}
.fixture-browser-teams .team-crest{flex:0 0 34px!important;width:34px!important;height:34px!important}
@media(max-width:680px){.fixture-browser-teams .team-crest{flex-basis:28px!important;width:28px!important;height:28px!important}.fixture-browser-teams>div{gap:6px!important}}


/* v19.0.15 authoritative sponsor geometry and mobile Predict crest repair.
   This block intentionally overrides the accumulated v19.0.13-v19.0.14
   sponsor rules with one stable template per placement. */

/* Shared sponsor card contract: artwork and text may resize inside the card,
   but the card itself never changes size during rotation. */
.app-partner-placement:not(.app-partner-rail) .app-partner-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:12px!important;
}
.app-partner-card.sponsored-placement{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  contain:layout paint!important;
}
.app-partner-card.sponsored-placement .app-partner-creative{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
.app-partner-card.sponsored-placement .banner-creative{
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body,
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative,
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Horizontal card without a wide banner: large, deliberately centred logo. */
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:84px minmax(0,auto)!important;
  grid-template-rows:auto!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  gap:18px!important;
  height:100%!important;
  padding:24px 48px 20px!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-logo{
  width:84px!important;
  height:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  min-height:84px!important;
  max-height:84px!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-copy{
  align-items:flex-start!important;
  text-align:left!important;
}

/* Horizontal card with a banner: same outer height, contained lower identity row. */
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  padding:14px 48px 14px 18px!important;
  text-align:left!important;
}
.app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  min-height:64px!important;
  max-height:64px!important;
}

/* One logo-frame implementation everywhere. Uploaded transparent padding may
   affect the artwork itself, but never the size or position of its frame. */
.app-partner-card.sponsored-placement .app-partner-logo{
  grid-area:auto!important;
  align-self:center!important;
  justify-self:center!important;
  display:grid!important;
  place-items:center!important;
  flex:none!important;
  padding:3px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:16px!important;
  align-self:center!important;
  justify-self:center!important;
}
.app-partner-card.sponsored-placement .app-partner-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.app-partner-card.sponsored-placement .app-partner-logo>span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
}

/* Copy is a self-contained vertical block. The CTA lives inside this block in
   the actual markup, so it must not be positioned as a separate grid cell. */
.app-partner-card.sponsored-placement .app-partner-copy{
  grid-area:auto!important;
  align-self:center!important;
  justify-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:inherit!important;
  justify-content:center!important;
  gap:2px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-align:inherit!important;
}
.app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  max-width:100%!important;
  font-size:min(var(--partner-eyebrow-size,.62rem),.70rem)!important;
  line-height:1.12!important;
  overflow-wrap:anywhere!important;
  text-align:inherit!important;
}
.app-partner-card.sponsored-placement .app-partner-copy b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  max-width:100%!important;
  font-size:clamp(1rem,var(--partner-name-size,1.22rem),1.48rem)!important;
  line-height:1.04!important;
  overflow-wrap:anywhere!important;
  text-align:inherit!important;
}
.app-partner-card.sponsored-placement .app-partner-copy small{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
  overflow:hidden!important;
  max-width:100%!important;
  font-size:.70rem!important;
  line-height:1.12!important;
  text-align:inherit!important;
}
.app-partner-card.sponsored-placement .app-partner-copy>em{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 0!important;
  color:var(--gold)!important;
  font-style:normal!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:inherit!important;
}

/* Reserve the top-right corner for the ribbon without moving the identity. */
.app-partner-card.sponsored-placement:after{
  right:-27px!important;
  top:9px!important;
  width:90px!important;
  padding:4px 0!important;
  box-sizing:border-box!important;
  font-size:.40rem!important;
  line-height:1!important;
  letter-spacing:.065em!important;
  z-index:4!important;
  pointer-events:none!important;
}

/* Desktop side rail: three equal fixed slots, larger contained logos. */
.app-partner-rail .app-partner-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  gap:12px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement{
  height:210px!important;
  min-height:210px!important;
  max-height:210px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .rail-creative{
  display:block!important;
  width:100%!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(5,9,24,.42)!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body.no-creative{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  place-content:center!important;
  place-items:center start!important;
  gap:13px!important;
  height:100%!important;
  padding:18px 48px 18px 16px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  padding:12px 44px 12px 14px!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-logo{
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  min-height:72px!important;
  max-height:72px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  min-height:54px!important;
  max-height:54px!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy{
  align-items:flex-start!important;
  text-align:left!important;
}
.app-partner-rail .app-partner-card.sponsored-placement .app-partner-copy b{
  font-size:clamp(.98rem,var(--partner-rail-name-size,1.08rem),1.26rem)!important;
}

/* Tablet/mobile top sponsorships: two equal cards, fixed logo frames and
   genuinely centred identity blocks. Wide banners are deliberately hidden. */
@media(max-width:900px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement{
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
  }
  .app-partner-card.sponsored-placement .banner-creative{display:none!important}
  .app-partner-card.sponsored-placement .app-partner-card-body,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:64px auto!important;
    place-content:center!important;
    place-items:center!important;
    gap:8px!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    padding:18px 18px 14px!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
    grid-area:1 / 1!important;
    align-self:center!important;
    justify-self:center!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:2px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy{
    grid-area:2 / 1!important;
    align-self:start!important;
    justify-self:stretch!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy .eyebrow{
    font-size:min(var(--partner-eyebrow-size,.56rem),.60rem)!important;
    line-height:1.08!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy b{
    font-size:clamp(.84rem,var(--partner-mobile-name-size,.94rem),1.02rem)!important;
    line-height:1.03!important;
    -webkit-line-clamp:2!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy small{display:none!important}
  .app-partner-card.sponsored-placement .app-partner-copy>em{
    margin-top:5px!important;
    font-size:.72rem!important;
    line-height:1.05!important;
  }
  .app-partner-card.sponsored-placement:after{
    right:-25px!important;
    top:7px!important;
    width:78px!important;
    font-size:.34rem!important;
  }
}

@media(max-width:560px){
  .app-partner-placement:not(.app-partner-rail) .app-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .app-partner-card.sponsored-placement{
    height:180px!important;
    min-height:180px!important;
    max-height:180px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-card-body,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative{
    grid-template-rows:60px auto!important;
    gap:7px!important;
    padding:16px 10px 12px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.no-creative .app-partner-logo,
  .app-partner-card.sponsored-placement .app-partner-card-body.has-creative .app-partner-logo{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    min-height:60px!important;
    max-height:60px!important;
  }
  .app-partner-card.sponsored-placement .app-partner-copy{
    padding:0 3px!important;
  }
}

/* Predict page only: the provider crest must stay square on mobile. Results and
   Fixtures keep their already-working dedicated crest rules. */
.fixture-v19-teams .team-crest{
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  aspect-ratio:1/1!important;
  border-radius:14px!important;
  padding:4px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.fixture-v19-teams .team-crest img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:520px){
  .fixture-v19-teams>div{
    min-width:0!important;
    width:100%!important;
  }
  .fixture-v19-teams .team-crest{
    flex:0 0 62px!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    border-radius:16px!important;
    padding:5px!important;
  }
}

/* v19.0.15 final grid-area reset. Earlier releases used named grid areas with
   higher-specificity selectors; reset them explicitly so mobile centring is
   deterministic instead of inheriting an invisible zero-width logo column. */
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative{
  grid-template-areas:"logo copy"!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
  grid-template-areas:"logo copy"!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>.app-partner-logo,
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>.app-partner-logo{
  grid-area:logo!important;
  align-self:center!important;
  justify-self:center!important;
}
.app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>.app-partner-copy,
.app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>.app-partner-copy{
  grid-area:copy!important;
  align-self:center!important;
  justify-self:stretch!important;
}
@media(max-width:900px){
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative{
    grid-template-areas:"logo" "copy"!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>.app-partner-logo,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>.app-partner-logo{
    grid-area:logo!important;
    align-self:center!important;
    justify-self:center!important;
  }
  .app-partner-card.sponsored-placement>.app-partner-card-body.no-creative>.app-partner-copy,
  .app-partner-card.sponsored-placement>.app-partner-card-body.has-creative>.app-partner-copy{
    grid-area:copy!important;
    align-self:start!important;
    justify-self:stretch!important;
    align-items:center!important;
    text-align:center!important;
  }
}
