/* Shared public interface: graphite surfaces, red actions, semantic status colours. */
.site-inner-page .section-title,.site-inner-page.profile-page .section-title,
.site-inner-page:has(.tournament-rpl) .section-title,.site-inner-page:has(.tournament-epl) .section-title {
 background:transparent !important;color:#f1f3f5 !important;box-shadow:none !important;border-radius:0 !important;
 border-bottom:1px solid #30363d;border-left:3px solid #ef3124;text-align:left;padding:10px 16px;font-size:1.15rem;margin:30px 0 18px;
}
.site-inner-page :is(.card,.stat-card,.settings-card,.card-match,.profile-hero,.rule-card) {box-shadow:none !important;border-radius:12px !important;}
.site-inner-page .profile-hero {background:#14191f !important;border:1px solid #343b44;}
.site-inner-page .btn {border-radius:8px !important;min-height:40px;padding:9px 18px;font-weight:600;box-shadow:none !important;}
.site-inner-page .btn-primary {background:#ef3124 !important;color:#fff !important;}
.site-inner-page .btn-primary:hover {background:#d92a20 !important;}
.site-inner-page .btn:disabled {opacity:.42;transform:none !important;}
.site-inner-page :is(button,a,input,select):focus-visible {outline:2px solid #ff766d;outline-offset:3px;}
.site-inner-page .navbar-brand {display:flex;align-items:center;gap:10px;}
.site-inner-page .table {font-variant-numeric:tabular-nums;}
.filter-bar {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.site-inner-page .filter-chip {display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #343b44;border-radius:8px;background:#12171d;color:#bbc2cb !important;text-decoration:none;font-size:.88rem;cursor:pointer;}
.site-inner-page .filter-chip:hover {border-color:#707985;color:#fff !important;}
.site-inner-page .filter-chip.active {color:#fff !important;background:#a62520;border-color:#e34238;}
.match-filters,.filter-summary,.empty-state {max-width:960px;margin-left:auto;margin-right:auto;}
.filter-summary {color:#a3aab4;font-size:.85rem;}
.empty-state {padding:42px 24px;border:1px dashed #414954;border-radius:12px;text-align:center;color:#b4bcc6;}
.card-match[hidden],.empty-state[hidden] {display:none !important;}
.site-inner-page .round-title {font-size:1.2rem;text-align:left;max-width:960px;margin:24px auto 14px;padding-bottom:10px;border-bottom:1px solid #343b44 !important;}
.site-inner-page .match-grid {gap:16px !important;}
.site-inner-page .match-grid .card-match {margin-bottom:0;}
.site-inner-page .card-match.has-edit:not(.live) {background:#12171d !important;border-left-color:#414954 !important;}
.site-inner-page .timer {color:#aab2bc;font-size:.8rem;font-weight:400;}
.site-inner-page .timer span {color:#e1e5e9;font-variant-numeric:tabular-nums;}
.save-dock {position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:1030;display:flex;align-items:center;gap:24px;max-width:calc(100vw - 24px);padding:10px 14px 10px 20px;background:#181d24;border:1px solid #414954;border-radius:12px;box-shadow:0 10px 32px #0006;}
.save-dock #saveStatus {font-size:.82rem;color:#b8c0ca;}
.save-dock #saveBtn,.save-dock #saveBtn:hover {position:static !important;transform:none !important;white-space:nowrap;min-height:44px;}
.site-inner-page .stepper-wrap {border:1px solid #39414c;border-radius:8px;overflow:hidden;}
.site-inner-page .btn-stepper {display:none;}
.site-inner-page .match-input {width:44px;min-height:34px;border:0;border-radius:0;box-shadow:none;}
.personal-summary {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;margin-bottom:24px;border:1px solid #363d45;border-left:3px solid #ef3124;border-radius:12px;background:#13181e;}
.personal-summary h2 {font-size:1.6rem;margin:6px 0 10px;color:#f2f4f6 !important;}
.site-inner-page:not(.home-page):not(.about-page) > .container {padding-top:104px;}
.personal-summary p {margin:0;color:#aab2bd;max-width:620px;}
.personal-summary .btn {flex-shrink:0;}
.ui-kicker {font-size:.7rem;letter-spacing:.1em;color:#f0655b;font-weight:700;}
.tournament-personal {display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:12px;color:#aab2bd;font-size:.76rem;}
.tournament-personal b {color:#f4f5f6;margin-left:4px;}
.ref-features svg,.about-feature-grid svg {width:30px;height:30px;vertical-align:middle;}
.site-inner-page .ref-card-action a {box-sizing:border-box;flex-shrink:0;}
.site-inner-page .ref-card-action a b {background:none;color:#f07a71;}
.site-inner-page .table-container,.site-inner-page .table-container-scroll {border-radius:10px !important;box-shadow:none !important;}
@media(max-width:767px) {
 .ref-card:not(.ref-card--featured) {grid-template-columns:92px minmax(0,1fr);}
 .personal-summary {align-items:stretch;flex-direction:column;padding:22px 18px;gap:18px;}
 .personal-summary h2 {font-size:1.35rem;}
 .filter-bar {gap:6px;}
 .site-inner-page .filter-chip {font-size:.8rem;padding:8px 11px;}
 .site-inner-page .stepper-wrap {flex-direction:column;width:36px !important;background:#10151b;}
 .site-inner-page .btn-stepper {display:flex;width:100%;min-width:0;height:18px !important;font-size:.85rem;}
 .site-inner-page .stepper-wrap .match-input {width:100%;min-height:24px;font-size:.85rem;padding:2px 0;}
 .site-inner-page .match-line .team {white-space:normal !important;line-height:1.3;}
 .site-inner-page .match-line .team-name {display:block;overflow-wrap:anywhere;}
 .site-inner-page .card-match-body {padding:16px 12px !important;}
 .save-dock {gap:10px;padding:10px 12px;width:calc(100vw - 24px);justify-content:space-between;bottom:max(12px,env(safe-area-inset-bottom));}
 .save-dock #saveStatus {font-size:.73rem;}
 .site-inner-page .profile-hero {padding:24px 18px;}
}
@media(prefers-reduced-motion:reduce) {.site-inner-page * {animation:none !important;transition:none !important;scroll-behavior:auto !important;}}

/* Champions League: competition blue replaces the global red action colour. */
body.site-tournament-ucl .btn-primary,
body.site-tournament-ucl .filter-chip.active {background:#287cff !important;border-color:#5597ff !important;color:#fff !important;}
body.site-tournament-ucl .btn-primary:hover,
body.site-tournament-ucl .filter-chip.active:hover {background:#155edb !important;border-color:#72a8ff !important;}
body.site-tournament-ucl .section-title {border-left-color:#2f7cff !important;}
body.site-tournament-ucl .match-input:focus {border-color:#2f7cff !important;box-shadow:0 0 0 3px rgba(47,124,255,.2) !important;}
body.site-inner-page.site-tournament-ucl:not(.home-page):not(.about-page) .nav-tabs .nav-link.active,
body.site-inner-page.site-tournament-ucl:not(.home-page):not(.about-page) .btn-primary,
body.site-inner-page.site-tournament-ucl:not(.home-page):not(.about-page) .btn-success {background:#287cff !important;border-color:#5597ff !important;color:#fff !important;box-shadow:0 6px 18px rgba(47,124,255,.22) !important;}
body.site-inner-page.site-tournament-ucl:not(.home-page):not(.about-page) .btn-outline-primary {color:#72a8ff !important;border-color:#5597ff !important;}
.mini-leagues-page {padding-top:108px;padding-bottom:60px;max-width:1180px;}
.mini-league-heading h1,.mini-league-hero h1 {margin:5px 0 8px;color:#f3f5f7;font-weight:800;}
.mini-league-heading p,.mini-league-hero p {color:#a8b0ba;}
.mini-league-layout {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:24px;align-items:start;}
.mini-league-list h2,.mini-league-create h2 {font-size:1.2rem;margin-bottom:16px;}
.mini-league-card {display:flex;align-items:center;gap:14px;margin-bottom:10px;padding:16px;border:1px solid #303b46;border-radius:12px;background:#121a22;color:#eef1f4 !important;text-decoration:none !important;}
.mini-league-card:hover {border-color:#ef5146;background:#16202a;}
.mini-league-card>span:nth-child(2) {display:flex;flex:1;flex-direction:column;min-width:0;}.mini-league-card small {color:#929ca7;}.mini-league-card>strong {font-size:.82rem;}
.mini-league-avatar {display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#ef3124,#8f1c18);font-weight:900;font-size:1.25rem;}.mini-league-avatar.large {width:72px;height:72px;flex-basis:72px;font-size:2rem;border-radius:18px;}
.mini-league-hero {display:flex;align-items:center;gap:20px;margin:18px 0 22px;padding:22px;border:1px solid #303b46;border-radius:14px;background:#121a22;}.mini-league-hero p {margin:0;}
.mini-back {color:#aab3bd !important;text-decoration:none;}.mini-back:hover {color:#fff !important;}
.invite-panel {display:flex;align-items:center;gap:20px;margin-bottom:22px;padding:18px 20px;border:1px solid #384551;border-radius:12px;background:#101820;}.invite-qr{width:112px;height:112px;padding:7px;border-radius:10px;background:#fff}.invite-text{display:flex;flex:1;min-width:0;flex-direction:column}.invite-panel small {color:#929ca7;}.invite-copy {display:flex;gap:8px;width:100%;margin-top:10px}.invite-copy input {min-width:0;flex:1;padding:10px 12px;border:1px solid #3b4651;border-radius:8px;background:#090f15;color:#cfd5db;}.share-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.mini-table .mini-warning {display:block;color:#f0ad4e;font-size:.7rem;}.mini-table td,.mini-table th {text-align:center;}.mini-table td:nth-child(2),.mini-table th:nth-child(2) {text-align:left;}
.join-league-page {min-height:75vh;display:grid;place-items:center;padding-top:110px;padding-bottom:50px;}.join-league-card {width:min(100%,560px);padding:36px;text-align:center;border:1px solid #35414d;border-radius:16px;background:#111922;}.join-league-card .mini-league-avatar {margin:0 auto 18px;}.join-league-card h1 {color:#f5f6f7;font-weight:800;}.join-league-card p {color:#a6afb9;}.join-meta {display:flex;justify-content:center;gap:8px;margin:22px 0;color:#aab3bd;}.join-actions {display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}.join-preview{margin:0 0 22px;padding:12px 16px;border:1px solid #303b46;border-radius:10px;text-align:left}.join-preview>span{display:block;margin-bottom:7px;color:#8f99a5;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.join-preview>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;padding:6px 0;border-top:1px solid #252e37}.join-preview strong{color:#ff665d}
.league-controls{margin-top:20px}.league-controls details{padding:18px 20px;border:1px solid #343f4a;border-radius:12px;background:#101820}.league-controls summary{cursor:pointer;font-weight:700;color:#eef1f4}.league-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.league-settings-grid h3{font-size:1rem}.league-settings-grid label{display:block;margin:12px 0 5px;color:#aab2bc;font-size:.82rem}.league-settings-grid .btn,.league-settings-grid .form-select{margin-top:12px}.league-settings-grid>div>form+form{margin-top:18px;padding-top:18px;border-top:1px solid #303943}
.retention-strip{display:grid;grid-template-columns:1fr auto;gap:20px;max-width:960px;margin:0 auto 18px;padding:16px 18px;border:1px solid #35404b;border-left:3px solid #ef3124;border-radius:10px;background:#111820}.retention-strip>div{display:flex;flex-direction:column}.retention-strip b{color:#f1f3f5}.retention-strip small,.round-recap span{color:#929ca7}.round-recap{min-width:220px;padding-left:20px;border-left:1px solid #303a44}
@media(max-width:767px){.mini-league-layout{grid-template-columns:1fr}.invite-panel{align-items:stretch;flex-direction:column}.invite-qr{align-self:center}.invite-copy{min-width:0;flex-direction:column;width:100%}.mini-league-hero{align-items:flex-start}.mini-table th:nth-child(3),.mini-table td:nth-child(3),.mini-table th:nth-child(4),.mini-table td:nth-child(4){display:none}.join-league-card{padding:28px 18px}.league-settings-grid{grid-template-columns:1fr}.retention-strip{grid-template-columns:1fr}.round-recap{padding:14px 0 0;border-left:0;border-top:1px solid #303a44}}
.onboarding-panel{position:relative;z-index:900;max-width:1180px;margin:92px auto -82px;padding:16px 18px;border:1px solid #3a4651;border-left:3px solid #ef3124;border-radius:12px;background:#121a22;box-shadow:0 14px 30px #0004}.onboarding-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.onboarding-head>div{display:flex;flex-direction:column}.onboarding-head b{color:#f4f5f6}.onboarding-head form button{border:0;background:transparent;color:#929ca7;font-size:1.5rem}.onboarding-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.onboarding-steps a{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #303b46;border-radius:9px;color:#dce1e6!important;text-decoration:none}.onboarding-steps i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ef3124;color:#fff;font-style:normal;font-size:.78rem;font-weight:800}.onboarding-steps a.done{color:#89939e!important}.onboarding-steps a.done i{background:#23885d}.onboarding-panel+.container{padding-top:104px!important}
.standings-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.standings-title-row h1{margin:0}.round-ranking-page{padding-top:108px;padding-bottom:60px;max-width:1000px}.round-ranking-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.round-ranking-head h1{margin:5px 0;color:#f4f6f8;font-weight:800}.round-ranking-head p{margin:0;color:#9da7b2}.my-round-result{display:flex;align-items:center;gap:22px;margin-bottom:18px;padding:16px 20px;border:1px solid #3b4651;border-left:3px solid #ef3124;border-radius:10px;background:#121a22}.my-round-result>span{color:#9ca6b1}.my-round-result>b{font-size:1.7rem;color:#fff}.my-round-result>strong{font-size:1.2rem;color:#ff665d}.my-round-result small{margin-left:auto;color:#9aa4af}.current-player-row td{background:rgba(239,49,36,.08)!important}
.public-round-page{min-height:76vh;display:grid;place-content:center;padding-top:110px;padding-bottom:60px}.share-result-card{width:min(92vw,620px);padding:38px;text-align:center;border:1px solid #48535f;border-top:3px solid #ef3124;border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(239,49,36,.16),transparent 48%),#111922}.share-result-card h1{margin:8px 0 0;color:#fff;font-size:2.2rem;font-weight:900}.share-result-card p{color:#9fa9b4}.share-score{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;border:1px solid #35404a;border-radius:12px;overflow:hidden}.share-score>div{display:flex;flex-direction:column;padding:18px 8px;border-right:1px solid #35404a}.share-score>div:last-child{border:0}.share-score b{color:#ff655c;font-size:1.8rem}.share-score small,.share-result-card>small{color:#939eaa}.share-leaders{width:min(92vw,620px);margin-top:14px;padding:18px 22px;border:1px solid #35404a;border-radius:12px;background:#111820}.share-leaders h2{font-size:1rem;color:#fff}.share-leaders>div{display:grid;grid-template-columns:24px 1fr auto;padding:7px 0;border-top:1px solid #29323b;color:#cbd1d7}.share-leaders strong{color:#ff655c}.share-result-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:767px){.onboarding-panel{margin:84px 16px -76px}.onboarding-steps{grid-template-columns:1fr}.standings-title-row,.round-ranking-head{align-items:stretch;flex-direction:column}.standings-title-row .btn,.round-ranking-head .btn{width:100%}.my-round-result{gap:10px;flex-wrap:wrap}.my-round-result small{width:100%;margin-left:0}.share-result-card{padding:28px 18px}.share-result-card h1{font-size:1.8rem}.share-result-actions{flex-direction:column}.share-result-actions .btn{width:100%}}
