:root{--navy:#06182E;--navy2:#071d35;--navy3:#0b223b;--panel:#091c31;--panel2:#0b233d;--line:rgba(145,177,207,.16);--line2:rgba(145,177,207,.10);--text:#f2f6fa;--muted:#96a7b9;--orange:#ff7600;--orange2:#ff8a1f;--blue:#4f9cff;--green:#9bd629;--sidebar:92px;--topbar:58px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif}.manager-body{background:radial-gradient(circle at 60% -20%,#0b2848 0,#041425 42%,#020b15 100%);color:var(--text);min-height:100vh}.manager-app{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:30;background:linear-gradient(180deg,#06182e 0,#061a31 62%,#05172a 100%);border-right:1px solid rgba(255,255,255,.045);display:flex;flex-direction:column;align-items:stretch}.app-logo{height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#fff}.app-logo img{width:39px;height:55px;object-fit:contain}.app-logo>span{font-size:14px;letter-spacing:.12em;font-weight:300}.app-logo strong{color:var(--orange);font-weight:500}.app-nav{display:flex;flex-direction:column;gap:3px;padding:4px 8px}.app-nav__item{position:relative;min-height:70px;border-radius:7px;text-decoration:none;color:#d6dee8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:400;transition:.18s}.app-nav__item:hover{background:rgba(255,255,255,.035)}.app-nav__item.is-active{color:var(--orange);background:linear-gradient(90deg,rgba(255,118,0,.08),rgba(255,118,0,.015))}.app-nav__item.is-active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:2px;background:var(--orange);border-radius:2px}.app-nav__item.is-disabled{opacity:.9;cursor:default}.nav-icon{font-size:23px;line-height:1;font-weight:200}.sidebar-brand-bottom{margin-top:auto;padding:14px 0 24px;display:grid;justify-items:center;color:var(--orange);gap:5px}.sidebar-brand-bottom span{font-size:30px}.sidebar-brand-bottom strong{font-size:12px;font-weight:500}.app-main{margin-left:var(--sidebar);min-height:100vh}.app-topbar{height:var(--topbar);display:flex;align-items:center;justify-content:flex-end;padding:0 25px 0 18px}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:14px}.top-icon{width:31px;height:31px;border:0;background:transparent;color:#ecf2f8;font-size:22px;position:relative;cursor:default}.top-icon--notification b{position:absolute;right:-2px;top:-3px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--orange);color:#fff;font-size:9px}.manager-profile{display:flex;align-items:center;gap:9px;font-size:12px}.manager-profile strong{font-weight:450;white-space:nowrap}.manager-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dd8a42,#47352c);border:2px solid rgba(255,255,255,.2);font-size:12px}.app-content{padding:0 14px 16px;max-width:1900px;margin:0 auto}.flash{padding:10px 14px;border-radius:8px;margin-bottom:9px;font-size:12px}.flash.success{background:#123924;color:#b7f0c6}.flash.error{background:#45201e;color:#ffb6af}.dark-card,.top-card,.workspace-card{background:linear-gradient(180deg,rgba(9,31,53,.97),rgba(7,27,46,.98));border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(0,0,0,.12)}
.reference-dashboard{display:grid;grid-template-columns:245px 510px minmax(600px,1fr);grid-template-rows:145px minmax(650px,calc(100vh - 226px));gap:9px}.top-card{padding:15px 18px;min-width:0}.lineup-summary-card h1{margin:0;font-size:21px;font-weight:550}.summary-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.matchday-compact{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden;height:34px}.matchday-compact a{width:24px;color:#7e91a4;text-decoration:none;text-align:center}.matchday-compact span{font-size:10px;padding:0 4px}.lineup-summary-card p{color:var(--muted);font-size:10px;margin:20px 0 8px}.countdown{display:flex;align-items:baseline;gap:6px;color:var(--orange)}.countdown strong{font-size:20px;font-weight:450}.countdown span{font-size:10px}.matchup-reference-card{display:grid;grid-template-columns:1fr 140px 1fr;align-items:center;padding:12px 14px}.matchup-team>span{font-size:12px;font-weight:500}.matchup-team--opp{text-align:right}.matchup-person{display:flex;align-items:center;gap:12px;margin-top:13px}.matchup-team--opp .matchup-person{justify-content:flex-end}.mini-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#80583e;border:2px solid #385c5c;font-size:11px}.mini-avatar--fox{background:#422316;border-color:var(--orange);color:var(--orange)}.matchup-person div{display:grid;gap:3px;text-align:center}.matchup-person small{font-size:7px;color:#8294a7}.matchup-person strong{font-size:16px;font-weight:400;color:#dce7f1}.matchup-person .blue{color:#65a9ff}.matchup-person .orange{color:var(--orange)}.matchup-vs{text-align:center;align-self:center}.matchup-vs small{font-size:8px;color:#d6e0e9}.matchup-vs b{display:block;font-size:20px;font-weight:300;margin:10px}.probability-bars{display:flex;gap:10px}.probability-bars span{width:55px;height:4px;border-radius:3px;background:#327ed9}.probability-bars span:last-child{background:var(--orange)}.fixtures-reference-card{padding:12px 15px;overflow:hidden}.fixtures-title{font-size:10px;font-weight:600;margin-bottom:10px}.fixture-strip{display:grid;grid-template-columns:repeat(var(--fixture-count),minmax(0,1fr));gap:2px;align-items:start}.fixture-mini{min-width:0;text-align:center;padding:2px 2px 4px;border-right:1px solid var(--line2)}.fixture-mini:last-child{border-right:0}.fixture-mini time{font-size:7px;color:#c2ced9;white-space:nowrap}.fixture-crests{margin-top:7px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1px}.fixture-crests span{height:24px;min-width:0;border-radius:50%;display:grid;place-items:center;background:#0d2d4d;color:#fff;border:1px solid #38546c;font-size:6px;font-weight:700;overflow:hidden}.fixture-crests i{font-style:normal;color:#6f8397;font-size:7px}.fixture-all{display:block;text-align:right;margin-top:7px;color:var(--orange);text-decoration:none;font-size:8px}.pitch-workspace{grid-column:1/3;grid-row:2;padding:0;overflow:hidden}.pitch-toolbar{height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2)}.pitch-actions{display:flex;gap:9px}.dark-select{height:32px;background:#091a2e;border:1px solid var(--line);color:#e9f0f6;border-radius:6px;padding:0 29px 0 11px;font-size:9px;outline:none}.btn{height:32px;border:1px solid transparent;border-radius:6px;padding:0 12px;font-size:9px;font-weight:500;cursor:pointer}.btn-primary{background:linear-gradient(180deg,#ff851a,#f56b00);color:#fff;box-shadow:0 3px 10px rgba(255,118,0,.18)}.btn-primary:disabled,.btn-ghost:disabled{opacity:.45}.btn-ghost{background:#0a2038;border-color:var(--line);color:#d8e2eb}.formation-pitch{height:calc(100% - 109px);min-height:530px;position:relative;padding:20px 35px 15px;background:radial-gradient(circle at 50% 50%,rgba(17,66,85,.22),transparent 55%),linear-gradient(180deg,#071d32,#071c30);display:grid;grid-template-rows:1fr 1fr 1fr 1fr;align-items:center;overflow:hidden}.formation-pitch:before{content:"";position:absolute;inset:42px 38px 28px;border:2px solid rgba(104,148,175,.11);border-radius:2px}.formation-pitch:after{content:"";position:absolute;left:50%;top:50%;width:190px;height:190px;border:2px solid rgba(104,148,175,.09);border-radius:50%;transform:translate(-50%,-50%)}.formation-row{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:22px;min-height:115px}.formation-row--goalkeeper{align-self:start}.pitch-player{width:112px;height:122px;border:1px solid rgba(155,183,207,.3);border-radius:8px;background:linear-gradient(180deg,rgba(11,38,63,.88),rgba(6,24,43,.96));position:relative;padding:8px 9px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 20px rgba(0,0,0,.14)}.pitch-player__rating{position:absolute;left:9px;top:7px;color:var(--orange);font-size:14px;font-weight:600}.pitch-player__pos{position:absolute;left:10px;top:25px;font-size:8px;color:#aebdcc}.pitch-player__portrait{position:absolute;right:11px;top:15px;width:48px;height:55px;border-radius:45% 45% 35% 35%;display:grid;place-items:center;background:linear-gradient(#695243,#20384a);font-size:18px}.pitch-player strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitch-player>span{font-size:8px;color:#bdc9d4;margin-top:2px}.pitch-player footer{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);margin-top:4px;padding-top:4px}.pitch-player footer b{font-size:8px;color:var(--orange)}.pitch-player footer small{font-size:7px;color:#9babb9}.pitch-empty{position:absolute;inset:0;display:grid;place-items:center;color:#6f8395;font-size:12px;z-index:2}.pitch-metrics{height:55px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2)}.pitch-metrics div{display:grid;place-items:center;border-right:1px solid var(--line2);align-content:center;gap:3px}.pitch-metrics div:last-child{border-right:0}.pitch-metrics span{font-size:8px;color:#a5b3c1}.pitch-metrics strong{font-size:19px;font-weight:300}.playerpool-workspace{grid-column:3;grid-row:2;padding:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.playerpool-head{height:57px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.playerpool-title{display:flex;align-items:center;gap:12px}.playerpool-title h2{font-size:19px;margin:0;font-weight:500}.playerpool-title>span{padding:5px 9px;background:#102a45;border-radius:5px;font-size:10px;color:#c3cfda}.filter-reset{border:0;background:transparent;color:#8fa0b1;font-size:9px}.player-filters{display:grid;grid-template-columns:1fr 1fr 1fr .8fr 1.55fr;gap:8px;padding:0 18px 13px}.player-search{height:32px;border:1px solid var(--line);background:#091a2e;border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#7f91a3}.player-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:9px}.playerpool-table-wrap{flex:1;min-height:0;overflow:hidden;padding:0 11px}.playerpool-table{width:100%;border-collapse:collapse;table-layout:fixed}.playerpool-table th{height:36px;text-transform:uppercase;color:#7f90a1;font-size:7px;font-weight:500;text-align:left;border-bottom:1px solid var(--line2)}.playerpool-table td{height:47px;font-size:9px;color:#dbe4ed;border-bottom:1px solid var(--line2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playerpool-table th:nth-child(1),.playerpool-table td:nth-child(1){width:28px}.playerpool-table th:nth-child(2){width:20%}.playerpool-table th:nth-child(3){width:9%}.playerpool-table th:nth-child(4){width:11%}.playerpool-table th:nth-child(5){width:14%}.playerpool-table th:nth-child(6){width:13%}.playerpool-table th:nth-child(7){width:15%}.playerpool-table th:nth-child(8){width:9%}.playerpool-table th:nth-child(9){width:8%}.playerpool-table th:nth-child(10){width:30px}.player-name-cell{display:flex;align-items:center;gap:8px}.table-avatar{width:28px;height:34px;border-radius:50% 50% 35% 35%;display:grid;place-items:center;background:#684432;font-size:9px}.metric-pill{display:inline-block;border:1px solid rgba(255,118,0,.65);border-radius:4px;padding:3px 8px;color:var(--orange)}.status-lock{color:#a9bacb}.trend-placeholder{color:var(--green);font-size:15px}.captain-star input{display:none}.captain-star span{font-size:18px;color:#6f8294;cursor:pointer}.captain-star input:checked+span{color:var(--orange)}.player-check{accent-color:var(--orange)}.pool-row[hidden]{display:none}.show-more{height:38px;margin:6px 12px 8px;border:1px solid var(--line);background:#081d32;color:#b7c4d0;border-radius:6px;font-size:9px}.player-legend{height:46px;display:flex;align-items:center;gap:17px;padding:0 18px;border-top:1px solid var(--line2);font-size:7px;color:#a9b7c4}.player-legend span:first-child{color:#7e8fa0}.generic-view{padding:22px}.generic-view-head{display:flex;justify-content:space-between;align-items:center}.generic-view h1{margin:4px 0 0;font-size:25px}.generic-view p{color:var(--muted);font-size:11px}.section-kicker,.eyebrow{font-size:8px;color:var(--orange);letter-spacing:.12em}.match-list{margin-top:18px}.match-row{display:grid;grid-template-columns:1fr 28px 1fr 170px;min-height:55px;align-items:center;border-bottom:1px solid var(--line2);font-size:11px}.match-team--home{text-align:right}.match-separator{text-align:center;color:#768a9d}.match-row time{text-align:right;color:#8ea0b1;font-size:9px}.table-wrap{overflow:auto}.table-standings{width:100%;border-collapse:collapse}.table-standings th,.table-standings td{padding:11px;border-bottom:1px solid var(--line2);font-size:10px;text-align:right}.table-standings th:nth-child(2),.table-standings td:nth-child(2){text-align:left}.table-standings tr.is-me td{background:rgba(255,118,0,.055)}.league-page-grid{display:grid;grid-template-columns:1fr 420px;gap:12px}.card-body{padding:18px}.league-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px}.league-facts>div{padding:12px 0;border-bottom:1px solid var(--line2)}.league-facts span{font-size:8px;color:#899bad;display:block}.league-facts strong{font-size:11px}.join-code{color:var(--orange);letter-spacing:.12em}.state-badge{border:1px solid var(--line);padding:6px 9px;border-radius:99px;font-size:8px}.field{margin-bottom:12px}.field label{display:block;font-size:9px;margin-bottom:6px}.input{width:100%;height:36px;border:1px solid var(--line);border-radius:6px;background:#071b30;color:#fff;padding:0 10px}.btn-wide{width:100%}.empty-state{max-width:780px;margin:70px auto;padding:45px;text-align:center}.empty-state img{width:54px}.empty-state p{color:var(--muted);font-size:11px}.join-inline{margin-top:18px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px}
@media(max-width:1500px){.reference-dashboard{grid-template-columns:225px 480px minmax(560px,1fr)}.formation-row{gap:14px}.pitch-player{width:105px}.playerpool-table td{font-size:8px}.fixture-mini time{font-size:6px}.fixture-crests span{font-size:5.5px}}
@media(max-width:1250px){:root{--sidebar:82px}.reference-dashboard{grid-template-columns:220px minmax(420px,1fr);grid-template-rows:140px 140px auto}.fixtures-reference-card{grid-column:1/3;grid-row:2}.pitch-workspace{grid-column:1;grid-row:3}.playerpool-workspace{grid-column:2;grid-row:3}.fixture-strip{gap:5px}.formation-row{gap:8px}.pitch-player{width:94px}.playerpool-table th:nth-child(5),.playerpool-table td:nth-child(5),.playerpool-table th:nth-child(9),.playerpool-table td:nth-child(9){display:none}}
@media(max-width:900px){.app-sidebar{bottom:0;top:auto;width:100%;height:64px;flex-direction:row;z-index:50}.app-logo,.sidebar-brand-bottom{display:none}.app-nav{width:100%;display:grid;grid-template-columns:repeat(5,1fr);padding:4px}.app-nav__item{min-height:55px}.app-nav__item:nth-child(n+6){display:none}.app-nav__item.is-active:before{left:20%;right:20%;top:auto;bottom:-4px;width:auto;height:2px}.app-main{margin-left:0}.app-topbar{height:52px}.reference-dashboard{display:block}.top-card,.workspace-card{margin-bottom:9px}.pitch-workspace{height:auto}.playerpool-workspace{height:720px;margin-bottom:80px}.formation-pitch{min-height:610px}.fixture-strip{grid-template-columns:repeat(5,1fr);row-gap:8px}.league-page-grid{grid-template-columns:1fr}.join-inline{grid-template-columns:1fr}}

/* 8A first-league onboarding */
.first-league-state{max-width:980px;padding:40px 44px}.first-league-state>p{max-width:650px;margin:12px auto 26px}.first-league-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin-top:22px}.first-league-panel{border:1px solid var(--line);background:rgba(5,24,43,.55);border-radius:10px;padding:18px;display:grid;gap:10px}.first-league-panel__head{display:flex;align-items:center;gap:11px;margin-bottom:4px}.first-league-panel__head strong{display:block;font-size:13px}.first-league-panel__head small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.first-league-icon{width:30px;height:30px;border:1px solid rgba(255,118,0,.55);border-radius:8px;display:grid;place-items:center;color:var(--orange);font-size:17px}.creation-reference{font-size:8px;color:#9db0c2;padding:8px 10px;border-radius:6px;background:#07192c;border:1px solid var(--line2)}.creation-reference--warning{color:#d7a76f}.manager-limit{display:flex;align-items:center;justify-content:space-between;color:#91a4b5;font-size:8px}.manager-limit .dark-select{width:110px}.join-spacer{height:38px}@media(max-width:800px){.first-league-grid{grid-template-columns:1fr}.first-league-state{padding:28px 20px}.join-spacer{display:none}}
/* Sprint 8B – functional lineup interaction */
.preview-mode{color:#ff7600;font-size:8px;white-space:nowrap}.pitch-toolbar__left{display:flex;align-items:center;gap:12px}.formation-status{font-size:8px;color:#8497a9;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.formation-status.is-valid{color:#a7e85b}.formation-status.is-invalid{color:#ffad5f}.pool-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.pool-row:hover{background:rgba(44,91,126,.13)}.pool-row.is-selected{background:rgba(255,118,0,.075);box-shadow:inset 2px 0 0 var(--orange)}.pool-row:has(.player-check:disabled){cursor:not-allowed;opacity:.72}.pitch-player__remove,.pitch-player__captain{position:absolute;z-index:5;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;line-height:1;cursor:pointer}.pitch-player__remove{right:6px;top:6px;border:1px solid rgba(255,255,255,.18);background:#07192b;color:#9eafbe}.pitch-player__remove:hover{color:#fff;border-color:#ff7600}.pitch-player__captain{right:-7px;top:-7px;border:1px solid #ff7600;background:#0a2038;color:#ff7600;font-weight:700}.pitch-player__captain.is-captain{background:#ff7600;color:#06182e}.pitch-player.is-locked{box-shadow:inset 0 0 0 1px rgba(147,169,189,.15)}.formation-slot-hint{min-width:100px;padding:8px 12px;border:1px dashed rgba(117,151,175,.18);border-radius:7px;text-align:center;color:#61798e;font-size:8px}.formation-pitch .pitch-empty{pointer-events:none}.player-check{width:14px;height:14px;cursor:pointer}.captain-star input:disabled+span{opacity:.35;cursor:default}.btn:disabled{cursor:not-allowed}.pitch-workspace form{height:100%;display:flex;flex-direction:column}.pitch-workspace .formation-pitch{flex:1;height:auto}.pitch-workspace .pitch-metrics{flex:0 0 55px}

/* Sprint 8B – dynamic formation derived from selected players */
.derived-formation{display:inline-flex;align-items:center;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#091a2e;color:#dce6ef;font-size:9px;white-space:nowrap}

/* Sprint 8B finish – pool visibility and persisted-lineup UX */
.pool-visible-count{background:transparent!important;border:1px solid var(--line);color:#8598aa!important}.pool-visible-count b{color:#c8d5df}

/* Sprint 8C – Matchday & Duel */
.duel-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:12px}.duel-hero{padding:20px}.duel-hero__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.duel-hero h1{margin:5px 0 0;font-size:24px;font-weight:500}.duel-hero h1 em{font-style:normal;color:#71879a;font-weight:300;margin:0 8px}.duel-score-final{text-align:right}.duel-score-final span{display:block;font-size:8px;color:#8ea0b1;text-transform:uppercase;letter-spacing:.12em}.duel-score-final strong{display:block;font-size:34px;font-weight:300;color:var(--orange)}.duel-scoreboard{margin-top:20px;display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;border:1px solid var(--line2);border-radius:9px;background:#071a2d;overflow:hidden}.duel-side{padding:18px 22px}.duel-side--right{text-align:right}.duel-side>span{display:block;color:#7f93a6;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.duel-side>strong{display:block;font-size:15px;margin-top:4px}.duel-side>b{display:block;font-size:28px;font-weight:300;margin-top:9px}.duel-side>b small{font-size:9px;color:#8193a4;font-weight:400}.duel-middle{text-align:center;border-left:1px solid var(--line2);border-right:1px solid var(--line2);padding:20px 6px}.duel-middle>span{display:block;font-size:27px;color:var(--orange);font-weight:300}.duel-middle>small{font-size:7px;color:#7f93a6}.reveal-info{display:flex;align-items:baseline;gap:8px;margin:14px 0 10px;font-size:9px;color:#8ea0b1}.reveal-info strong{color:#e1e8ee}.reveal-info small{margin-left:auto;color:#6f8294}.opponent-lineup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.opponent-player{position:relative;min-height:70px;border:1px solid var(--line2);border-radius:7px;padding:10px;background:#081d32}.opponent-player>span{font-size:7px;color:var(--orange)}.opponent-player>strong{display:block;font-size:9px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opponent-player>small{display:block;font-size:7px;color:#8193a4;margin-top:3px}.opponent-player.is-hidden{background:repeating-linear-gradient(135deg,#071a2c,#071a2c 8px,#081e33 8px,#081e33 16px);border-style:dashed}.opponent-player.is-hidden>strong{color:#657a8d;letter-spacing:.12em}.captain-reveal{position:absolute;right:8px;top:8px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:8px}.duel-empty{margin-top:20px;padding:25px;border:1px dashed var(--line);border-radius:8px;text-align:center;color:#8da0b1}.duel-empty strong{display:block;color:#dce5ed;font-size:12px}.duel-empty span{display:block;margin-top:5px;font-size:9px}.duel-empty--small{padding:14px}.local-complete-form{display:flex;align-items:center;gap:10px;margin-top:14px}.local-complete-form small{color:#718598;font-size:8px}
@media(max-width:1250px){.duel-page{grid-template-columns:1fr}.opponent-lineup-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:700px){.duel-scoreboard{grid-template-columns:1fr 72px 1fr}.opponent-lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reveal-info{align-items:flex-start;flex-direction:column}.reveal-info small{margin-left:0}}

/* Sprint 8C UX fix: profile logout + scrollable player pool */
.manager-profile-menu{position:relative}
.manager-profile-menu>summary{list-style:none;cursor:pointer;user-select:none}
.manager-profile-menu>summary::-webkit-details-marker{display:none}
.manager-profile-menu[open] .manager-profile__chevron{transform:rotate(180deg)}
.manager-profile__chevron{display:inline-block;transition:transform .16s ease;color:#8fa2b4}
.manager-profile-dropdown{position:absolute;right:0;top:calc(100% + 9px);z-index:80;width:190px;padding:9px;background:#071b30;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 35px rgba(0,0,0,.38)}
.manager-profile-dropdown__identity{padding:7px 9px 10px;border-bottom:1px solid var(--line2);margin-bottom:5px}
.manager-profile-dropdown__identity small{display:block;color:#7890a5;font-size:8px;margin-bottom:3px}
.manager-profile-dropdown__identity strong{font-size:10px;font-weight:500}
.manager-logout-button{width:100%;height:34px;border:0;border-radius:6px;background:transparent;color:#d7e1e9;display:flex;align-items:center;gap:9px;padding:0 10px;font:inherit;font-size:10px;cursor:pointer;text-align:left}
.manager-logout-button:hover{background:rgba(255,118,0,.09);color:var(--orange)}
.playerpool-table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 11px;scrollbar-width:thin;scrollbar-color:#25445f #07182a}
.playerpool-table-wrap::-webkit-scrollbar{width:7px}
.playerpool-table-wrap::-webkit-scrollbar-track{background:#07182a}
.playerpool-table-wrap::-webkit-scrollbar-thumb{background:#25445f;border-radius:7px}
.playerpool-table-wrap::-webkit-scrollbar-thumb:hover{background:#315a79}
.playerpool-table thead th{position:sticky;top:0;z-index:3;background:#091f35;box-shadow:0 1px 0 var(--line2)}
.show-more{display:none!important}

/* Sprint 8C-final – complete matchday overview + safe partial evaluation */
.matches-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:12px;align-items:start}.matches-page>.duel-hero{grid-column:1}.league-matchday-overview{grid-column:1/3;padding:20px}.real-matchday-card{grid-column:2;grid-row:1;padding:20px}.matchday-data-state{margin-top:14px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:9px;font-size:9px;background:#071a2d}.matchday-data-state strong{color:#dce6ee}.matchday-data-state span{color:#b8c6d2}.matchday-data-state small{margin-left:auto;color:#8195a7}.matchday-data-state.is-complete{border-color:rgba(132,197,89,.28)}.matchday-data-state.is-complete strong{color:#a8dc83}.matchday-data-state.is-pending{border-color:rgba(255,171,76,.25)}.matchday-data-state.is-pending strong{color:#ffae5c}.matchday-data-state.has-error{border-color:rgba(255,91,91,.28);background:rgba(81,23,27,.25)}.matchday-data-state.has-error strong{color:#ff8f8f}.league-duel-list{display:grid;gap:8px;margin-top:16px}.league-duel-card{border:1px solid var(--line2);border-radius:8px;background:#071a2d;overflow:hidden}.league-duel-card.is-own{border-color:rgba(255,118,0,.35);box-shadow:inset 3px 0 0 var(--orange)}.league-duel-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) 22px;align-items:center;padding:13px 15px;gap:12px}.league-duel-card>summary::-webkit-details-marker{display:none}.league-duel-team{display:grid;gap:3px}.league-duel-team strong{font-size:12px}.league-duel-team span{font-size:8px;color:#8295a7}.league-duel-team--away{text-align:right}.league-duel-result{text-align:center}.league-duel-result b{display:block;font-size:20px;font-weight:350;color:var(--orange)}.league-duel-result small{font-size:7px;color:#718598}.league-duel-toggle{color:#718598;transition:transform .15s}.league-duel-card[open] .league-duel-toggle{transform:rotate(180deg)}.league-duel-lineups{border-top:1px solid var(--line2);display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.league-lineup-side h3{font-size:10px;margin:0 0 9px;color:#cdd8e2}.league-lineup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.league-lineup-player{position:relative;min-height:58px;padding:8px;border:1px solid var(--line2);border-radius:6px;background:#081e33}.league-lineup-player>span{font-size:7px;color:var(--orange)}.league-lineup-player>strong{display:block;font-size:8px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-lineup-player>small{display:block;font-size:7px;color:#7f92a4;margin-top:2px}.league-lineup-player>b{position:absolute;right:6px;top:6px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:7px}.league-lineup-player.is-hidden{border-style:dashed;background:repeating-linear-gradient(135deg,#07192b,#07192b 7px,#081d31 7px,#081d31 14px)}.league-lineup-player.is-hidden strong{color:#63798d;letter-spacing:.08em}.lineup-not-submitted{padding:16px;border:1px dashed var(--line);border-radius:6px;color:#7f92a4;font-size:8px;text-align:center}.real-matchday-card .match-list{max-height:560px;overflow:auto}.real-matchday-card .match-row time{min-width:185px;text-align:right}.generic-view-head p{color:#8395a7;font-size:9px;margin:5px 0 0}
@media(max-width:1250px){.matches-page{grid-template-columns:1fr}.matches-page>.duel-hero,.league-matchday-overview,.real-matchday-card{grid-column:1;grid-row:auto}.league-lineup-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.league-duel-card>summary{grid-template-columns:1fr 60px 1fr 18px;padding:10px}.league-duel-lineups{grid-template-columns:1fr}.league-lineup-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.matchday-data-state{align-items:flex-start;flex-direction:column}.matchday-data-state small{margin-left:0}.real-matchday-card .match-row time{min-width:0}}

/* Sprint 8C UX – unified matchday switcher */
.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}
.matchday-switcher{display:inline-flex;align-items:center;height:34px;border:1px solid var(--line);border-radius:7px;background:#081d31;overflow:hidden;flex:0 0 auto}
.matchday-switcher__arrow{width:28px;height:32px;display:grid;place-items:center;color:#a8b8c7;text-decoration:none;font-size:17px;line-height:1;transition:background .15s,color .15s}
.matchday-switcher__arrow:hover{background:rgba(255,118,0,.08);color:var(--orange)}
.matchday-switcher__arrow.is-disabled{opacity:.28;cursor:default}
.matchday-switcher__select{height:32px;border-left:1px solid var(--line2);border-right:1px solid var(--line2);display:flex;align-items:center;background:#0a2037}
.matchday-switcher__select select{height:32px;min-width:76px;border:0;outline:0;background:#0a2037;color:#e5edf4;padding:0 25px 0 10px;font:inherit;font-size:10px;font-weight:600;cursor:pointer;text-align:center;color-scheme:dark}
.duel-hero__tools{display:flex;align-items:center;gap:10px}
.generic-view-head>.matchday-switcher{margin-left:auto}
@media(max-width:760px){.duel-hero__head{align-items:flex-start;gap:10px}.duel-hero__tools{flex-direction:column;align-items:flex-end}.matchday-switcher__arrow{width:25px}.matchday-switcher__select select{min-width:70px}}

/* 8C player-score readability tweak */
.matches-page{font-size:12px}
.matches-page .generic-view-head p,.matches-page .reveal-info,.matches-page .matchday-data-state,.matches-page .local-complete-form small{font-size:11px}
.matches-page .league-duel-team strong{font-size:14px}.matches-page .league-duel-team span{font-size:10px}.matches-page .league-duel-result small{font-size:9px}
.matches-page .league-lineup-side h3{font-size:12px}
.league-lineup-player,.opponent-player{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:10px}
.league-lineup-player{min-height:68px}.opponent-player{min-height:78px}
.lineup-player-copy{min-width:0;flex:1}.lineup-player-copy>span{font-size:9px;color:var(--orange)}.lineup-player-copy>strong{display:block;margin-top:4px;font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opponent-player .lineup-player-copy>strong{font-size:13px}.lineup-player-copy>small{display:block;font-size:9px;color:#7f92a4;margin-top:3px}
.lineup-player-stats{flex:0 0 56px;text-align:right;display:grid;gap:4px;padding-left:6px;border-left:1px solid var(--line2)}.lineup-player-stats>b{font-size:14px;font-weight:600;color:#f3f6f8}.lineup-player-stats>b small{display:block;font-size:8px;font-weight:400;color:#7f92a4}.lineup-player-stats>span{font-size:11px;color:var(--orange);font-weight:600}.lineup-player-stats>span small{font-size:8px;color:#8ea0b1;margin-left:1px}.lineup-captain-badge{position:absolute;left:6px;top:6px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:8px}.league-lineup-player.is-hidden .lineup-player-copy>strong,.opponent-player.is-hidden .lineup-player-copy>strong{color:#63798d}.captain-reveal{left:7px;right:auto}

/* Sprint 8D polish: keep league actions together on the right. */
.league-list-column,.league-actions-column{display:grid;gap:12px;align-content:start}
@media(max-width:900px){.league-actions-column{grid-row:auto}.league-list-column,.league-actions-column{gap:9px}}
.carryover-note{margin:0 12px 8px;padding:8px 10px;border:1px solid rgba(78,151,221,.24);border-radius:6px;background:rgba(29,83,128,.12);display:flex;gap:8px;align-items:center;font-size:8px;color:#90a7bc}.carryover-note strong{color:#c9d9e7;font-weight:500}.carryover-note span{color:#8298ac}
.player-points-cell{display:flex;flex-direction:column;gap:2px;line-height:1.05}.player-points-cell strong{font-size:10px}.player-points-cell small{font-size:7px;color:#7f91a3;font-weight:400}.player-status{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:9px}.player-status small{font-size:7px;overflow:hidden;text-overflow:ellipsis}.player-status--ok{color:#8fd2b0}.player-status--neutral{color:#a9bacb}.player-status--muted{color:#6f8294}.player-status--new{color:#78b7ff}.player-status--yellow{color:#e2b85c}.player-status--red{color:#ef827b}.player-status+.status-lock{margin-left:5px}

/* Sprint 8D-final – sortable and more readable player pool */
.playerpool-table th{font-size:9px}
.playerpool-table td{font-size:12px;height:49px}
.playerpool-table th:nth-child(1),.playerpool-table td:nth-child(1){width:26px}
.playerpool-table th:nth-child(2),.playerpool-table td:nth-child(2){width:29%}
.playerpool-table th:nth-child(3),.playerpool-table td:nth-child(3){width:6%}
.playerpool-table th:nth-child(4),.playerpool-table td:nth-child(4){width:7%}
.playerpool-table th:nth-child(5),.playerpool-table td:nth-child(5){width:10%}
.playerpool-table th:nth-child(6),.playerpool-table td:nth-child(6){width:10%}
.playerpool-table th:nth-child(7),.playerpool-table td:nth-child(7){width:15%}
.playerpool-table th:nth-child(8),.playerpool-table td:nth-child(8){width:12%}
.playerpool-table th:nth-child(9),.playerpool-table td:nth-child(9){width:6%}
.playerpool-table th:nth-child(10),.playerpool-table td:nth-child(10){width:28px}
.player-name-cell{gap:9px;min-width:0}.player-name-cell strong{font-size:14px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.table-avatar{flex:0 0 28px;font-size:10px}
.player-points-cell strong{font-size:12px}.player-points-cell small{font-size:9px}.player-status{font-size:11px}.player-status small{font-size:9px}.metric-pill{padding:3px 6px}.trend-placeholder{font-size:16px}
.pool-sortable>button{width:100%;height:36px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:uppercase;text-align:left;cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap}
.pool-sortable>button:hover,.pool-sortable.is-sorted>button{color:#d5e0e9}.pool-sortable.is-sorted>button{color:var(--orange)}
.pool-sort-indicator{display:inline-block;width:8px;color:#71869a;font-size:8px}.pool-sortable[data-sort-direction="asc"] .pool-sort-indicator:before{content:"▲"}.pool-sortable[data-sort-direction="desc"] .pool-sort-indicator:before{content:"▼"}
@media(max-width:1500px){.playerpool-table td{font-size:11px}.player-name-cell strong{font-size:13px}.playerpool-table th{font-size:8px}}

/* Sprint 8D-final – virtualized player pool */
.pool-virtual-spacer,.pool-virtual-spacer:hover{background:transparent!important;box-shadow:none!important;cursor:default!important}
.playerpool-table .pool-virtual-spacer td{height:0;padding:0;border:0!important;line-height:0;font-size:0}


/* Sprint 8E – Multi-Liga workspace */
.topbar-league-switcher{
    display:flex;align-items:center;gap:8px;min-width:170px;max-width:360px;
    height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;
    background:rgba(5,24,43,.72);margin-right:14px;color:#dfe9f2
}
.topbar-league-switcher>span{font-size:7px;letter-spacing:.14em;color:var(--orange)}
.topbar-league-switcher strong{font-size:10px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-league-switcher select{
    min-width:0;max-width:290px;border:0;outline:0;background:transparent;color:#e8eef5;
    font:inherit;font-size:10px;font-weight:550;cursor:pointer
}
.topbar-league-switcher select option{background:#0a2138;color:#e8eef5}
.league-summary-card{position:relative;overflow:hidden}
.league-summary-card.is-active{border-color:rgba(255,120,0,.52);box-shadow:0 0 0 1px rgba(255,120,0,.08),0 14px 30px rgba(0,0,0,.12)}
.league-summary-card.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange)}
.league-card-badges{display:flex;align-items:center;gap:6px}
.state-badge--status{color:#91a5b8}
.league-card-action{padding-top:0}
.league-card-action form{display:grid;gap:6px}
.league-card-action small{font-size:8px;color:var(--muted)}
.league-open-button{display:block;width:100%;text-align:center;text-decoration:none;border:1px solid var(--line);background:#09213a;color:#dce8f2}
.league-open-button:hover{border-color:rgba(255,120,0,.5);color:#fff}
@media(max-width:900px){
    .topbar-league-switcher{max-width:230px;margin-right:7px}
    .topbar-league-switcher select{max-width:165px}
}


/* Sprint 8E – Matchday lifecycle */
.matchday-context{display:flex;align-items:center;gap:7px}
.matchday-state{
    display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;
    border:1px solid var(--line);font-size:8px;font-weight:650;letter-spacing:.08em
}
.matchday-state--upcoming{color:#9fb2c5;background:rgba(255,255,255,.025)}
.matchday-state--live{color:var(--orange);border-color:rgba(255,120,0,.38);background:rgba(255,120,0,.06)}
.matchday-state--finished{color:#a9bdc9;background:rgba(118,151,171,.07)}


/* Sprint 8F – Manager-Zentrale V1 */
.overview-dashboard{display:grid;gap:10px}
.overview-hero{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.overview-hero h1{margin:4px 0 4px;font-size:28px;font-weight:520}
.overview-hero p{margin:0;color:var(--muted);font-size:10px}
.overview-hero__action{display:flex;align-items:center;gap:14px}
.overview-hero__action small{color:#8fa1b2;font-size:8px}
.overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.overview-kpi{padding:17px 18px;display:grid;gap:5px;min-height:105px}
.overview-kpi>span{font-size:8px;color:#8296a9;text-transform:uppercase;letter-spacing:.08em}
.overview-kpi>strong{font-size:22px;font-weight:450;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.overview-kpi>small{font-size:8px;color:#8497a9}
.overview-kpi.needs-action{border-color:rgba(255,118,0,.38)}
.overview-kpi.needs-action>strong{color:var(--orange)}
.overview-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:10px}
.overview-panel{padding:20px}
.overview-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line2)}
.overview-panel__head h2{margin:3px 0 0;font-size:17px;font-weight:520}
.overview-panel__head>a{font-size:8px;color:#9fb1c1;text-decoration:none}
.overview-panel__head>a:hover{color:var(--orange)}
.overview-duel{min-height:175px;display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:12px}
.overview-duel>div{display:grid;gap:4px}
.overview-duel>div small{font-size:7px;color:#7f92a4;letter-spacing:.1em}
.overview-duel>div strong{font-size:15px;font-weight:520}
.overview-duel>div b{font-size:28px;font-weight:350;margin-top:8px}
.overview-duel>div span{font-size:7px;color:#8598aa}
.overview-duel>em{text-align:center;font-size:24px;font-style:normal;font-weight:300;color:#8194a5}
.overview-duel__away{text-align:right}
.overview-empty{min-height:175px;display:grid;place-content:center;gap:5px;text-align:center}
.overview-empty strong{font-size:14px}.overview-empty span{font-size:9px;color:var(--muted)}
.overview-table-list{display:grid}
.overview-table-list>div{display:grid;grid-template-columns:26px 1fr 48px 55px;align-items:center;gap:6px;padding:10px 8px;border-bottom:1px solid var(--line2);font-size:9px}
.overview-table-list>div.is-me{background:rgba(255,118,0,.06)}
.overview-table-list span,.overview-table-list small{color:#899bac}
.overview-table-list b{text-align:right}
.overview-panel--fixtures{overflow:hidden}
.overview-fixture-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.overview-fixture-strip>div{padding:13px 14px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);display:grid;gap:5px}
.overview-fixture-strip>div:nth-child(3n){border-right:0}
.overview-fixture-strip strong{font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-fixture-strip small{font-size:7px;color:#8497a8}
@media(max-width:1150px){.overview-kpis{grid-template-columns:repeat(2,1fr)}.overview-main-grid{grid-template-columns:1fr}.overview-fixture-strip{grid-template-columns:repeat(2,1fr)}.overview-fixture-strip>div:nth-child(3n){border-right:1px solid var(--line2)}.overview-fixture-strip>div:nth-child(2n){border-right:0}}
@media(max-width:700px){.overview-hero{align-items:flex-start;flex-direction:column}.overview-hero__action{width:100%;justify-content:space-between}.overview-kpis{grid-template-columns:1fr 1fr}.overview-duel{grid-template-columns:1fr 52px 1fr}.overview-fixture-strip{grid-template-columns:1fr}.overview-fixture-strip>div{border-right:0!important}}


/* Sprint 8F – persönliche Spieltagspunkte */
.overview-panel--points{overflow:hidden}
.season-points-chart{
    height:230px;
    display:grid;
    grid-template-columns:repeat(var(--season-matchdays,34),minmax(13px,1fr));
    gap:3px;
    align-items:end;
    padding:22px 2px 0;
    overflow-x:auto
}
.season-points-column{
    height:100%;
    min-width:13px;
    display:grid;
    grid-template-rows:22px 1fr 20px;
    gap:3px;
    align-items:end;
    text-align:center
}
.season-points-value{
    align-self:end;
    font-size:6.5px;
    color:#a9b9c7;
    white-space:nowrap;
    transform:rotate(-55deg);
    transform-origin:center bottom;
    opacity:.9
}
.season-points-track{
    position:relative;
    height:100%;
    min-height:120px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:flex-end;
    justify-content:center
}
.season-points-track>span{
    display:block;
    width:72%;
    min-height:0;
    border-radius:3px 3px 1px 1px;
    background:linear-gradient(180deg,var(--orange),rgba(255,118,0,.48));
    transition:height .2s ease
}
.season-points-column.is-open .season-points-track>span{display:none}
.season-points-column.is-open .season-points-value{color:#52677a;transform:none}
.season-points-label{font-size:7px;color:#8093a5;align-self:start}
.season-points-column.has-score:hover .season-points-track>span{filter:brightness(1.18)}
.season-points-column.has-score:hover .season-points-label,
.season-points-column.has-score:hover .season-points-value{color:#dce6ee}
.season-points-axis{
    margin-top:3px;
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:7px;
    color:#74899c
}
.season-points-axis small{font-size:7px;color:#74899c}
@media(max-width:1150px){
    .season-points-chart{grid-template-columns:repeat(var(--season-matchdays,34),minmax(16px,1fr));gap:4px}
}

a.season-points-column{color:inherit;text-decoration:none;outline:none}
a.season-points-column:hover .season-points-track>span,
a.season-points-column:focus-visible .season-points-track>span{filter:brightness(1.22)}
a.season-points-column:hover .season-points-label,
a.season-points-column:hover .season-points-value,
a.season-points-column:focus-visible .season-points-label,
a.season-points-column:focus-visible .season-points-value{color:#e3edf5}
a.season-points-column:focus-visible{border-radius:4px;box-shadow:0 0 0 1px rgba(255,118,0,.55)}
#own-league-duel{scroll-margin-top:82px}


/* Sprint 8F – Aufstellungs-Handlungsbedarf */
.overview-kpi.needs-action{position:relative;overflow:hidden}
.overview-kpi.needs-action:before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--orange)
}
.pitch-player{position:relative;overflow:hidden}
.pitch-player.attention--red:before,
.pitch-player.attention--yellow-red:before,
.pitch-player.attention--yellow:before,
.pitch-player.attention--injury:before,
.pitch-player.attention--grey:before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:5px;z-index:4
}
.pitch-player.attention--red:before{background:#e23b3b}
.pitch-player.attention--yellow-red:before{background:linear-gradient(180deg,#f0c735 0 50%,#e23b3b 50% 100%)}
.pitch-player.attention--yellow:before{background:#f0c735}
.pitch-player.attention--injury:before{background:#73c7e8}
.pitch-player.attention--grey:before{background:#7b8792}
.pitch-player.attention--grey{opacity:.72;filter:saturate(.45)}
.pitch-player__attention{
    margin-top:3px;font-size:6.5px;line-height:1.2;color:#b9c6d1;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

.player-attention-legend span{display:inline-flex;align-items:center;gap:5px}
.legend-stripe{display:inline-block;width:4px;height:13px;border-radius:2px}
.legend-stripe--red{background:#e23b3b}
.legend-stripe--yellow-red{background:linear-gradient(180deg,#f0c735 0 50%,#e23b3b 50% 100%)}
.legend-stripe--yellow{background:#f0c735}
.legend-stripe--injury{background:#73c7e8}
.legend-stripe--grey{background:#7b8792}
.pitch-player.attention--red,
.pitch-player.attention--yellow-red,
.pitch-player.attention--yellow,
.pitch-player.attention--injury,
.pitch-player.attention--grey{border-left-color:transparent}
.pitch-player.attention--red:before,
.pitch-player.attention--yellow-red:before,
.pitch-player.attention--yellow:before,
.pitch-player.attention--injury:before,
.pitch-player.attention--grey:before{
    left:0!important;top:0!important;bottom:0!important;width:5px!important;z-index:12!important
}


/* Sprint 8F – Overview action link */
.overview-kpi__action{
    margin-top:auto;
    width:max-content;
    font-size:7.5px;
    color:#a9b9c7;
    text-decoration:none
}
.overview-kpi.needs-action .overview-kpi__action{color:var(--orange)}
.overview-kpi__action:hover{text-decoration:underline}


/* Sprint 8F – Liga-Admin in Tabellen kennzeichnen */
.table-team-name{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0
}
.league-admin-badge{
    display:inline-flex;
    align-items:center;
    height:14px;
    padding:0 5px;
    border:1px solid rgba(255,118,0,.45);
    border-radius:7px;
    font-size:6.5px;
    font-weight:500;
    letter-spacing:.03em;
    color:var(--orange);
    background:rgba(255,118,0,.08);
    white-space:nowrap
}


/* Sprint 8F – kompakte TactIX-Spielerkarte */
.pitch-player__rating{max-width:42px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}
.pitch-player__fixture{display:flex;align-items:baseline;gap:4px;min-width:0;margin-top:2px}
.pitch-player__fixture>span{flex:0 0 auto;font-size:8px;color:#bdc9d4}
.pitch-player__fixture>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;color:#708394}


/* Sprint 8F – Spieltagslogos & Spielerpool-Metriken */
.fixture-crests{display:flex;align-items:center;justify-content:center;gap:5px}
.fixture-club{display:inline-flex;align-items:center;gap:3px;min-width:0}
.fixture-club img{width:15px;height:15px;object-fit:contain;display:block}
.fixture-club b{font-size:7px;font-weight:500;color:#d6e0e8}
.fixture-crests>i{font-size:7px;color:#6f8294}

.playerpool-table th:nth-child(2){width:19%}
.playerpool-table th:nth-child(3){width:7%}
.playerpool-table th:nth-child(4){width:9%}
.playerpool-table th:nth-child(5){width:11%}
.playerpool-table th:nth-child(6){width:12%}
.playerpool-table th:nth-child(7){width:10%}
.playerpool-table th:nth-child(8){width:14%}
.playerpool-table th:nth-child(9){width:9%}
.playerpool-table th:nth-child(10){width:30px}


/* Sprint 8F – kompakter Matchup-Header / mehr Raum für Spielerpool */
.reference-dashboard{
    grid-template-columns:225px 465px minmax(660px,1fr);
    grid-template-rows:122px minmax(650px,calc(100vh - 203px))
}

.matchup-reference-card{
    display:grid;
    grid-template-rows:auto 1fr auto;
    grid-template-columns:1fr;
    align-items:stretch;
    padding:9px 13px 8px
}
.matchup-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:8px
}
.matchup-manager{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    font-weight:550;
    color:#dce7f1
}
.matchup-manager--opp{text-align:right}
.matchup-title{
    font-size:7px;
    color:#9dafbf;
    white-space:nowrap;
    letter-spacing:.04em
}
.matchup-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-height:53px
}
.matchup-person{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:0
}
.matchup-person--opp{justify-content:flex-end}
.matchup-person div{display:grid;gap:1px;text-align:center}
.matchup-person small{font-size:6.5px;color:#8294a7}
.matchup-person strong{font-size:15px;font-weight:400;color:#dce7f1}
.mini-avatar{
    width:32px;
    height:32px;
    flex:0 0 32px
}
.matchup-center{
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    text-align:center
}
.matchup-center small{
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--orange);
    font-size:6.5px
}
.matchup-center b{
    font-size:17px;
    line-height:1;
    font-weight:350;
    color:#e8eff5
}
.probability-bars--wide{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    align-items:center
}
.probability-bars--wide span{
    width:auto;
    height:3px
}

/* Bundesliga: Logo und Kürzel strikt vertikal trennen */
.fixture-crests{
    margin-top:5px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:3px
}
.fixture-crests .fixture-club{
    height:auto;
    min-width:0;
    border:0;
    border-radius:0;
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:2px;
    overflow:visible
}
.fixture-logo-shell{
    width:25px;
    height:25px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#0d2d4d;
    border:1px solid #38546c;
    overflow:hidden
}
.fixture-logo-shell img{
    width:20px;
    height:20px;
    object-fit:contain;
    display:block
}
.fixture-crests .fixture-club>b{
    display:block;
    line-height:1;
    font-size:6px;
    font-weight:650;
    color:#aebdcc
}
.fixture-crests>i{
    align-self:center;
    margin-bottom:8px
}

/* Spielfeld etwas kompakter, rechter Spielerpool gewinnt Breite */
.pitch-workspace{grid-column:1/3}
.formation-pitch{padding-left:24px;padding-right:24px}
.formation-row{gap:16px}
.pitch-player{width:108px}


/* Sprint 8F – Matchup Typografie & engeres Spielfeld */
.matchup-header{padding-top:8px}
.matchup-manager{
    font-size:13px;
    line-height:1.15;
    font-weight:600
}
.matchup-title{
    align-self:end;
    padding-bottom:1px
}
.matchup-person strong{
    font-size:18px;
    line-height:1;
    font-weight:450
}
.matchup-person small{
    font-size:6.8px
}
.matchup-center b{
    font-size:21px;
    font-weight:450
}
.matchup-center small{
    font-size:7px
}

/* Maximal sechs Karten: Karten schmaler, Restbreite wird als Abstand verteilt */
.reference-dashboard{
    grid-template-columns:215px 440px minmax(690px,1fr)
}
.formation-pitch{
    padding-left:18px;
    padding-right:18px
}
.formation-row{
    width:100%;
    max-width:700px;
    margin-inline:auto;
    display:flex;
    justify-content:space-evenly;
    gap:0
}
.pitch-player{
    width:98px;
    flex:0 0 98px
}
.pitch-player__portrait{
    right:8px;
    width:45px
}

/* Sprint 8F – flexible Liga-Beitritte */
.league-entry-admin form{display:grid;gap:8px}.league-entry-admin label{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}
.join-request-list{margin-top:14px;display:grid;gap:8px}.join-request-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.join-request-row form{display:flex;grid-auto-flow:column;gap:6px}


/* Sprint 8F – kompakte Spieltagsauswahl */
.matchday-switcher{
    height:38px
}
.matchday-switcher__arrow{
    width:28px;
    height:36px
}
.matchday-switcher__select{
    position:relative;
    width:46px;
    min-width:46px;
    height:36px;
    justify-content:center
}
.matchday-switcher__value{
    position:absolute;
    inset:0;
    display:grid;
    place-content:center;
    justify-items:center;
    gap:0;
    pointer-events:none;
    z-index:1
}
.matchday-switcher__value small{
    font-size:6px;
    line-height:1;
    letter-spacing:.08em;
    font-weight:550;
    color:#8fa1b2
}
.matchday-switcher__value strong{
    margin-top:2px;
    font-size:12px;
    line-height:1;
    font-weight:650;
    color:#e5edf4
}
.matchday-switcher__select select{
    position:absolute;
    inset:0;
    width:100%;
    min-width:0;
    height:100%;
    padding:0;
    border:0;
    opacity:0;
    cursor:pointer;
    z-index:2
}
.matchday-switcher__select:hover .matchday-switcher__value{
    background:rgba(255,118,0,.05)
}
.matchday-switcher__select:hover .matchday-switcher__value small,
.matchday-switcher__select:hover .matchday-switcher__value strong{
    color:var(--orange)
}
@media(max-width:760px){
    .matchday-switcher__select{width:42px;min-width:42px}
}


/* Sprint 8F – Spieltagsauswahl in der Spielfeldleiste */
.pitch-toolbar__left{
    gap:10px
}
.pitch-toolbar__left>.matchday-switcher{
    flex:0 0 auto;
    height:34px
}
.pitch-toolbar__left>.matchday-switcher .matchday-switcher__arrow{
    height:32px
}
.pitch-toolbar__left>.matchday-switcher .matchday-switcher__select{
    height:32px
}
.pitch-toolbar__left>.formation-status{
    margin-left:2px;
    font-size:9px;
    font-weight:650
}
.lineup-summary-card .summary-title-row{
    align-items:flex-start
}
.lineup-summary-card .matchday-context{
    margin-top:2px
}


/* Sprint 8F – finaler Desktop-/Filter-/Captain-Polish */
.reference-dashboard{
    width:100%;
    max-width:100%;
    grid-template-columns:190px 390px minmax(0,1fr);
    overflow:hidden
}
.top-card,.workspace-card{min-width:0}
.pitch-workspace{min-width:0}
.playerpool-workspace{min-width:0}
.player-filters{
    grid-template-columns:.75fr 1.05fr .9fr 1.55fr
}
.pitch-player{
    overflow:visible
}
.pitch-player__remove{
    right:6px;
    top:6px;
    z-index:8
}
.pitch-player__captain{
    left:-8px;
    right:auto;
    top:-8px;
    z-index:20;
    width:24px;
    height:24px;
    font-size:11px;
    box-shadow:0 3px 10px rgba(0,0,0,.28)
}
.pitch-player__captain:hover{
    transform:scale(1.06)
}
.pitch-player__captain.is-captain{
    box-shadow:0 0 0 2px rgba(255,118,0,.16),0 3px 10px rgba(0,0,0,.28)
}
.formation-row{
    max-width:640px
}
.pitch-player{
    width:94px;
    flex-basis:94px
}
@media(max-width:1450px){
    .reference-dashboard{
        grid-template-columns:180px 365px minmax(0,1fr)
    }
    .pitch-player{
        width:90px;
        flex-basis:90px
    }
}


/* Sprint 8F – Layout Balance Fix */
.reference-dashboard{
    grid-template-columns:205px 415px minmax(0,1fr)
}
@media(max-width:1450px){
    .reference-dashboard{
        grid-template-columns:190px 385px minmax(0,1fr)
    }
}

/* Spielerpool: Name breiter, Metrikspalten kompakter */
.playerpool-table th:nth-child(1),
.playerpool-table td:nth-child(1){width:26px}

.playerpool-table th:nth-child(2),
.playerpool-table td:nth-child(2){width:25%}

.playerpool-table th:nth-child(3),
.playerpool-table td:nth-child(3){width:6%}

.playerpool-table th:nth-child(4),
.playerpool-table td:nth-child(4){width:8%}

.playerpool-table th:nth-child(5),
.playerpool-table td:nth-child(5){width:9%}

.playerpool-table th:nth-child(6),
.playerpool-table td:nth-child(6){width:10%}

.playerpool-table th:nth-child(7),
.playerpool-table td:nth-child(7){width:10%}

.playerpool-table th:nth-child(8),
.playerpool-table td:nth-child(8){width:8%}

.playerpool-table th:nth-child(9),
.playerpool-table td:nth-child(9){width:10%}

.playerpool-table th:nth-child(10),
.playerpool-table td:nth-child(10){width:28px}

.player-points-cell{
    display:block
}
.player-points-cell strong{
    display:block;
    font-size:9px
}

/* Sprint 8F – Micro UI Fix: Punkte/Status + Captain-Position */
.playerpool-table td:nth-child(8) .player-points-cell strong{
    font-size:inherit;
}
.playerpool-table td:nth-child(9) .player-status,
.playerpool-table td:nth-child(9) .player-status small{
    font-size:inherit;
}
.pitch-player__captain{
    left:-14px;
    top:-14px;
}


/* Sprint 8F – Statuskonsolidierung */
.matchday-state{gap:5px}
.matchday-state b{font-size:11px;line-height:1;font-weight:650;letter-spacing:0}
.matchday-state--upcoming b{color:#8fa6b9}
.matchday-state--live b{color:var(--orange)}
.matchday-state--finished b{color:#8fa6b9}
.player-status--fit{color:#769bb8}
.player-status--yellow-red{color:#e3a44f}
.player-status--injury{color:#72b9df}
.player-status--unavailable{color:#7f8d99}
.playerpool-table td:nth-child(9) .player-status--fit small{color:#769bb8}


/* Sprint 8F – Statussymbole & Topbar-Feedback */
.topbar-feedback{
    flex:0 1 440px;
    min-width:0;
    display:flex;
    align-items:center;
    margin-right:12px
}
.topbar-flash{
    max-width:100%;
    height:30px;
    display:flex;
    align-items:center;
    padding:0 12px;
    border-radius:6px;
    font-size:10px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.topbar-flash.success{
    background:#123924;
    color:#b7f0c6;
    border:1px solid rgba(183,240,198,.12)
}
.topbar-flash.error{
    background:#45201e;
    color:#ffb6af;
    border:1px solid rgba(255,182,175,.12)
}

.lineup-summary-card .summary-title-row{
    margin-bottom:0
}
.lineup-matchday-status{
    display:flex;
    align-items:center;
    gap:7px
}
.matchday-state-icon{
    display:inline-grid;
    place-items:center;
    min-width:14px;
    font-size:13px;
    line-height:1;
    font-weight:600;
    cursor:help
}
.matchday-state-icon--upcoming{color:#8fa6b9}
.matchday-state-icon--live{color:var(--orange)}
.matchday-state-icon--finished{color:#8fa6b9}

.player-status--icon-only{
    display:inline-grid;
    place-items:center;
    min-width:18px;
    font-size:10px;
    line-height:1;
    cursor:help
}
.player-status--icon-only.player-status--fit{
    color:#769bb8
}

@media(max-width:900px){
    .topbar-feedback{
        max-width:42vw;
        margin-right:6px
    }
    .topbar-flash{
        height:26px;
        padding:0 8px;
        font-size:9px
    }
}

/* Sprint 8F – Kreisstatus & Suchfeld-Clear */
.status-circle{width:15px;height:15px;border:1.4px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:10px;font-weight:700;line-height:1}
.matchday-state-icon--live .status-circle{font-size:7px}
.matchday-state-icon--upcoming .status-circle{font-size:0}
.player-status--fit .status-circle{color:#769bb8}
.player-search-field{position:relative;display:inline-flex;align-items:center;min-width:0}
.player-search-field input{padding-right:25px}
.player-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:#8fa0ad;font:500 16px/18px Arial,sans-serif;cursor:pointer;z-index:2}
.player-search-clear:hover,.player-search-clear:focus-visible{color:#d8e1e8;background:rgba(255,255,255,.06);outline:none}
.player-search-clear[hidden]{display:none}


/* Sprint 8F – Bundesliga-Spieltag kompakter */
.fixtures-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:6px
}
.fixtures-head .fixtures-title{
    margin-bottom:0
}
.fixture-all--top{
    display:inline-block;
    margin-top:0;
    flex:0 0 auto;
    white-space:nowrap
}
.fixtures-crests .fixture-club{
    gap:6px
}
.fixtures-crests .fixture-club>b{
    font-size:7px
}


/* Sprint 8F – Bundesliga Typografie: lesbare Untergrenze */
.fixtures-reference-card .fixture-time{
    font-size:10px
}
.fixtures-reference-card .fixture-crests .fixture-club>b{
    font-size:10px
}
.fixtures-reference-card .fixtures-title,
.fixtures-reference-card .fixture-all--top{
    font-size:max(10px, 1em)
}


/* Sprint 8F – Bundesliga Kürzelabstand & Spielzeit */
.fixtures-reference-card .fixture-crests .fixture-club{
    gap:11px
}
.fixtures-reference-card .fixture-time{
    font-size:10px
}


/* Sprint 8F – lesbare UI-Untergrenze für zentrale Informationen */

/* Bundesliga: tatsächlicher <time>-Selektor */
.fixtures-reference-card .fixture-mini time{
    font-size:10px
}

/* Matchup */
.matchup-reference-card .matchup-title,
.matchup-reference-card .matchup-person small,
.matchup-reference-card .matchup-center small{
    font-size:10px
}

/* Spielerpool: Tabellenköpfe + Legende */
.playerpool-workspace .playerpool-table th,
.playerpool-workspace .pool-sortable>button,
.playerpool-workspace .player-legend{
    font-size:10px
}

/* Spielfeld-Metriken */
.pitch-workspace .pitch-metrics span{
    font-size:10px
}


/* Sprint 8F – drei fachliche Aufstellungskennzahlen */
.pitch-metrics--three{
    grid-template-columns:repeat(3,1fr)
}


/* Sprint 8F – Fraglich / Questionable */
.pitch-player.attention--questionable:before{
    content:"";
    position:absolute;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:5px!important;
    z-index:12!important;
    background:#8fa6b9
}
.pitch-player.attention--questionable{
    border-left-color:transparent
}
.player-status--questionable{
    color:#9fb3c3
}
.legend-question{
    width:13px;
    height:13px;
    display:inline-grid;
    place-items:center;
    border:1px solid #8fa6b9;
    border-radius:50%;
    color:#9fb3c3;
    font-style:normal;
    font-size:10px;
    font-weight:650;
    line-height:1
}

.table-page-grid{display:grid;gap:18px}
.bundesliga-standings .bundesliga-team-name{display:block;font-size:10px;font-weight:400;opacity:.62;margin-top:2px}
.bundesliga-standings th,.bundesliga-standings td{white-space:nowrap}
.real-matchday-card .match-separator{min-width:42px;text-align:center;font-weight:700}
@media (max-width:900px){
  .bundesliga-standings .bundesliga-team-name{display:none}
}

/* 8F Bundesliga result list polish */
.real-matchday-card .bundesliga-results-list{
    display:grid;
    gap:0;
    margin-top:22px;
}
.real-matchday-card .bundesliga-result-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);
    min-height:72px;
    align-items:center;
    border:1px solid var(--line2);
    border-radius:9px;
    padding:0 22px;
    margin-top:-1px;
    background:rgba(8,29,50,.28);
}
.real-matchday-card .bundesliga-result-row:first-child{
    margin-top:0;
}
.real-matchday-card .bundesliga-result-team{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
}
.real-matchday-card .bundesliga-result-team--home{
    justify-content:flex-end;
}
.real-matchday-card .bundesliga-result-team--away{
    justify-content:flex-start;
}
.real-matchday-card .bundesliga-result-team strong{
    font-size:14px;
    line-height:1;
    letter-spacing:.01em;
    color:#f3f6fa;
}
.real-matchday-card .bundesliga-result-logo{
    width:36px;
    height:36px;
    object-fit:contain;
    flex:0 0 36px;
}
.real-matchday-card .bundesliga-result-center{
    display:flex;
    justify-content:center;
    align-items:center;
}
.real-matchday-card .bundesliga-score{
    display:grid;
    grid-template-columns:48px 18px 48px;
    align-items:center;
    justify-content:center;
    height:48px;
}
.real-matchday-card .bundesliga-score b{
    display:grid;
    place-items:center;
    height:44px;
    border:1px solid var(--line2);
    border-radius:7px;
    background:rgba(13,40,65,.66);
    color:#f7f9fb;
    font-size:22px;
    line-height:1;
}
.real-matchday-card .bundesliga-score i{
    font-style:normal;
    font-size:19px;
    font-weight:700;
    text-align:center;
    color:#dce4ec;
}
.real-matchday-card .bundesliga-kickoff{
    font-size:11px;
    font-weight:600;
    color:#9fb0c0;
}
.real-matchday-card .bundesliga-result-row.is-open{
    min-height:64px;
}
@media(max-width:900px){
    .real-matchday-card .bundesliga-result-row{
        grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);
        min-height:64px;
        padding:0 12px;
    }
    .real-matchday-card .bundesliga-result-logo{
        width:28px;
        height:28px;
        flex-basis:28px;
    }
    .real-matchday-card .bundesliga-result-team{
        gap:8px;
    }
    .real-matchday-card .bundesliga-result-team strong{
        font-size:12px;
    }
    .real-matchday-card .bundesliga-score{
        grid-template-columns:38px 16px 38px;
        height:42px;
    }
    .real-matchday-card .bundesliga-score b{
        height:38px;
        font-size:18px;
    }
}


/* Sprint 8F – Tabellenansicht kompakt nebeneinander */
.table-page-grid{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:12px;
    align-items:start;
}
.table-page-grid .standings-card{
    min-width:0;
    padding:16px 18px 18px;
}
.table-page-grid .standings-card .generic-view-head{
    min-height:44px;
    gap:10px;
    align-items:flex-start;
}
.table-page-grid .standings-card .generic-view-head h1{
    margin-top:3px;
    font-size:20px;
    line-height:1.1;
}
.table-page-grid .standings-card .section-kicker{
    font-size:7px;
}
.table-page-grid .table-wrap--large{
    margin-top:10px;
    overflow-x:auto;
}
.table-page-grid .compact-standings{
    table-layout:auto;
    width:100%;
}
.table-page-grid .compact-standings th,
.table-page-grid .compact-standings td{
    padding:7px 6px;
    height:34px;
    font-size:9px;
    line-height:1.15;
    border-bottom:1px solid var(--line2);
}
.table-page-grid .compact-standings th{
    font-size:7.5px;
    font-weight:650;
    color:#8295a8;
    letter-spacing:.02em;
}
.table-page-grid .compact-standings th:first-child,
.table-page-grid .compact-standings td:first-child{
    width:28px;
    padding-left:3px;
    padding-right:4px;
}
.table-page-grid .compact-standings th:nth-child(2),
.table-page-grid .compact-standings td:nth-child(2){
    text-align:left;
}
.table-page-grid .tactix-standings td:nth-child(2){
    font-weight:600;
}
.table-page-grid .tactix-standings tr.is-me td{
    background:rgba(255,118,0,.065);
}
.table-page-grid .tactix-standings tr.is-me td:first-child{
    box-shadow:inset 3px 0 0 var(--orange);
}
.table-page-grid .bundesliga-standings .bundesliga-team-name{
    display:none;
}
.table-page-grid .bundesliga-standings td:nth-child(2) strong{
    font-size:9px;
    font-weight:650;
}
.table-page-grid .bundesliga-standings th:nth-child(n+3),
.table-page-grid .bundesliga-standings td:nth-child(n+3){
    text-align:center;
}
.table-page-grid .bundesliga-standings th:last-child,
.table-page-grid .bundesliga-standings td:last-child{
    text-align:right;
    font-weight:700;
}
.table-page-grid .state-badge{
    flex:0 0 auto;
    padding:5px 7px;
    font-size:7px;
}
@media(max-width:1180px){
    .table-page-grid{
        grid-template-columns:1fr;
    }
}


/* Sprint 8F – Tabellen im visuellen Stil der Bundesliga-Ergebniszeilen */
.table-page-grid{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:14px;
}
.table-page-grid .standings-card{
    padding:20px 22px 22px;
    border-color:var(--line2);
}
.table-page-grid .standings-card .generic-view-head h1{
    font-size:24px;
    font-weight:700;
    letter-spacing:-.02em;
}
.table-page-grid .standings-card .section-kicker{
    font-size:8px;
    letter-spacing:.13em;
}
.table-page-grid .compact-standings{
    border-collapse:separate;
    border-spacing:0 5px;
}
.table-page-grid .compact-standings thead th{
    padding:0 10px 7px;
    border:0;
    font-size:9px;
    font-weight:650;
    color:#8fa2b4;
}
.table-page-grid .compact-standings tbody td{
    height:49px;
    padding:7px 10px;
    border-top:1px solid var(--line2);
    border-bottom:1px solid var(--line2);
    background:rgba(8,29,50,.30);
    font-size:12px;
    color:#dce5ed;
}
.table-page-grid .compact-standings tbody td:first-child{
    border-left:1px solid var(--line2);
    border-radius:8px 0 0 8px;
    text-align:center;
    color:#8296a9;
    font-weight:650;
}
.table-page-grid .compact-standings tbody td:last-child{
    border-right:1px solid var(--line2);
    border-radius:0 8px 8px 0;
}
.table-page-grid .compact-standings tbody td b{
    font-size:13px;
    color:#f5f8fa;
}
.table-page-grid .standings-team{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.table-page-grid .standings-team-copy{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.table-page-grid .standings-team-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
    line-height:1.1;
    color:#f3f6fa;
}
.table-page-grid .standings-club-logo,
.table-page-grid .standings-manager-mark{
    width:30px;
    height:30px;
    flex:0 0 30px;
}
.table-page-grid .standings-club-logo{
    object-fit:contain;
}
.table-page-grid .standings-manager-mark{
    display:grid;
    place-items:center;
    border:1px solid #35506a;
    border-radius:50%;
    background:linear-gradient(145deg,rgba(255,118,0,.22),rgba(73,94,111,.38));
    color:#f4f7fa;
    font-size:11px;
    font-weight:650;
}
.table-page-grid .tactix-standings tr.is-me td{
    background:rgba(255,118,0,.075);
    border-top-color:rgba(255,118,0,.55);
    border-bottom-color:rgba(255,118,0,.55);
}
.table-page-grid .tactix-standings tr.is-me td:first-child{
    border-left-color:var(--orange);
    box-shadow:inset 4px 0 0 var(--orange);
}
.table-page-grid .tactix-standings tr.is-me td:last-child{
    border-right-color:rgba(255,118,0,.55);
}
.table-page-grid .bundesliga-standings .bundesliga-team-name{
    display:none;
}
.table-page-grid .bundesliga-standings td:nth-child(2) strong{
    font-size:12px;
}
@media(max-width:1180px){
    .table-page-grid{grid-template-columns:1fr}
}


/* Sprint 8F – Managerduell Header & Bundesliga-Ergebnisbox ausbalancieren */
.duel-hero__head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:22px;
}
.duel-hero__match{
    min-width:0;
}
.duel-hero__result{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
}
.duel-hero__switcher{
    display:flex;
    justify-content:flex-end;
}
.duel-hero__result .duel-score-final{
    text-align:center;
}
.duel-hero__result .duel-score-final span{
    display:block;
}
.duel-hero__result .duel-score-final strong{
    display:block;
}

/* Bundesliga-Ergebnisse: gleiche visuelle Präsenz wie Managerduell, alle 9 sichtbar */
.real-matchday-card--equal{
    min-height:0;
    height:auto;
    overflow:visible;
}
.real-matchday-card--equal .bundesliga-results-list{
    display:grid;
    grid-template-rows:repeat(9,minmax(48px,1fr));
    gap:5px;
    overflow:visible;
    max-height:none;
}
.real-matchday-card--equal .bundesliga-result-row{
    min-height:48px;
    height:auto;
    padding:0 18px;
}
.real-matchday-card--equal .bundesliga-result-logo{
    width:30px;
    height:30px;
    flex-basis:30px;
}
.real-matchday-card--equal .bundesliga-result-team strong{
    font-size:13px;
}
.real-matchday-card--equal .bundesliga-score{
    height:40px;
    grid-template-columns:42px 16px 42px;
}
.real-matchday-card--equal .bundesliga-score b{
    height:38px;
    font-size:19px;
}
.real-matchday-card--equal .bundesliga-score i{
    font-size:17px;
}

/* Beide Hauptkarten im Begegnungsbereich sollen dieselbe Breitenwirkung haben */
.matches-page > .duel-hero,
.matches-page > .real-matchday-card--equal{
    width:100%;
    box-sizing:border-box;
}

/* Wenn beide Karten nebeneinander in einem Grid-Layout liegen, gleiche Spaltenbreite erzwingen */
@media(min-width:1100px){
    .matches-page{
        --duel-equal-card-height:auto;
    }
    .matches-page > .duel-hero,
    .matches-page > .real-matchday-card--equal{
        min-width:0;
    }
}

/* Auf schmalen Screens bleibt die Header-Reihenfolge logisch */
@media(max-width:900px){
    .duel-hero__head{
        grid-template-columns:1fr auto;
        gap:12px;
    }
    .duel-hero__match{
        grid-column:1 / -1;
    }
    .duel-hero__result{
        justify-content:flex-start;
    }
    .duel-hero__switcher{
        justify-content:flex-end;
    }
}


/* Equal-height top row: Managerduell + Bundesliga-Spieltag */
@media(min-width:1251px){
    .matches-page{
        align-items:stretch;
    }
    .matches-page > .duel-hero,
    .matches-page > .real-matchday-card--equal{
        height:100%;
        align-self:stretch;
    }
    .real-matchday-card--equal{
        display:flex;
        flex-direction:column;
    }
    .real-matchday-card--equal .bundesliga-results-list{
        flex:1 1 auto;
        margin-top:14px;
    }
    .real-matchday-card--equal .bundesliga-result-row{
        min-height:44px;
    }
}


/* Sprint 8F FIX1 – stabile Übersicht ohne kollabierende Grid-Bereiche */
.overview-dashboard--fixed{
    display:grid !important;
    gap:12px !important;
}
.overview-dashboard--fixed .overview-fixed-grid{
    display:grid !important;
    grid-template-columns:minmax(0,2.05fr) minmax(360px,.95fr) !important;
    gap:12px !important;
    align-items:start !important;
    width:100% !important;
}
.overview-dashboard--fixed .overview-fixed-left{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    min-width:0 !important;
}
.overview-dashboard--fixed .overview-panel--duel,
.overview-dashboard--fixed .overview-panel--points,
.overview-dashboard--fixed .overview-kpis--five{
    width:100% !important;
    min-width:0 !important;
    grid-column:1 !important;
}
.overview-dashboard--fixed .overview-panel--table{
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    align-self:start !important;
}
.overview-dashboard--fixed .overview-kpis--five{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
}
.overview-dashboard--fixed .overview-kpis--five .overview-kpi{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    min-width:0 !important;
    width:auto !important;
    min-height:112px !important;
    padding:16px 15px !important;
    gap:6px !important;
}
.overview-dashboard--fixed .overview-kpis--five .overview-kpi>span{
    font-size:10px !important;
    line-height:1.15 !important;
}
.overview-dashboard--fixed .overview-kpis--five .overview-kpi>strong{
    font-size:22px !important;
    line-height:1.08 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.overview-dashboard--fixed .overview-kpis--five .overview-kpi>small,
.overview-dashboard--fixed .overview-kpis--five .overview-kpi__action{
    font-size:10px !important;
    line-height:1.25 !important;
}
.overview-dashboard--fixed .overview-panel{
    padding:20px 22px !important;
}
.overview-dashboard--fixed .overview-panel__head h2{
    font-size:20px !important;
}
.overview-dashboard--fixed .overview-panel__head .section-kicker{
    font-size:9px !important;
}
.overview-dashboard--fixed .overview-panel__head>a{
    font-size:10px !important;
}
.overview-dashboard--fixed .overview-duel{
    min-height:150px !important;
}
.overview-dashboard--fixed .overview-duel>div small,
.overview-dashboard--fixed .overview-duel>div span{
    font-size:10px !important;
}
.overview-dashboard--fixed .overview-duel>div strong{
    font-size:17px !important;
}
.overview-dashboard--fixed .overview-duel>div b{
    font-size:30px !important;
}
.overview-dashboard--fixed .overview-duel>em{
    font-size:25px !important;
}
.overview-dashboard--fixed .overview-panel--points .season-points-chart{
    height:190px !important;
    width:100% !important;
    max-width:none !important;
}
.overview-dashboard--fixed .season-points-value{
    font-size:8px !important;
}
.overview-dashboard--fixed .season-points-label,
.overview-dashboard--fixed .season-points-axis,
.overview-dashboard--fixed .season-points-axis small{
    font-size:10px !important;
}
.overview-dashboard--fixed .overview-table-list{
    display:grid !important;
    gap:5px !important;
    padding-top:10px !important;
}
.overview-dashboard--fixed .overview-table-list>div{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) 52px 64px !important;
    align-items:center !important;
    gap:8px !important;
    min-height:44px !important;
    padding:8px 10px !important;
    border:1px solid var(--line2) !important;
    border-radius:7px !important;
    background:rgba(8,29,50,.28) !important;
}
.overview-dashboard--fixed .overview-table-list>div.is-me{
    border-color:rgba(255,118,0,.50) !important;
    background:rgba(255,118,0,.07) !important;
    box-shadow:inset 3px 0 0 var(--orange) !important;
}
.overview-dashboard--fixed .overview-table-list>div>span,
.overview-dashboard--fixed .overview-table-list>div>small{
    font-size:10px !important;
}
.overview-dashboard--fixed .overview-table-list>div>strong,
.overview-dashboard--fixed .overview-table-list>div>b{
    font-size:12px !important;
}
.overview-dashboard--fixed .overview-table-list>div>strong{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

/* Ligen im gleichen klaren Card-Stil */
.league-page-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:14px !important;
}
.league-list-column,
.league-actions-column{
    gap:14px !important;
}
.league-summary-card,
.league-actions-column>.dark-card{
    border-color:var(--line2) !important;
    background:rgba(7,26,45,.96) !important;
}
.league-summary-card .generic-view-head,
.league-actions-column .generic-view-head{
    padding:20px 22px 14px !important;
}
.league-summary-card .generic-view-head h1,
.league-actions-column .generic-view-head h1{
    font-size:24px !important;
    font-weight:650 !important;
}
.league-summary-card .section-kicker,
.league-actions-column .section-kicker{
    font-size:9px !important;
}
.league-facts{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:0 22px 18px !important;
}
.league-facts>div{
    min-height:68px !important;
    padding:12px 14px !important;
    border:1px solid var(--line2) !important;
    border-radius:8px !important;
    background:rgba(8,29,50,.30) !important;
}
.league-facts span{
    font-size:10px !important;
}
.league-facts strong{
    display:block !important;
    margin-top:5px !important;
    font-size:14px !important;
    color:#f2f6f9 !important;
}
.league-card-action,
.league-entry-admin,
.league-actions-column .card-body{
    padding-left:22px !important;
    padding-right:22px !important;
}
.league-card-action small,
.league-entry-admin label,
.league-actions-column small,
.league-actions-column .field label{
    font-size:10px !important;
}
.league-actions-column .input{
    height:42px !important;
    font-size:12px !important;
}
.league-actions-column .btn,
.league-summary-card .btn{
    min-height:40px !important;
    font-size:11px !important;
}

@media(max-width:1280px){
    .overview-dashboard--fixed .overview-fixed-grid{
        grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr) !important;
    }
    .overview-dashboard--fixed .overview-kpis--five{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}
@media(max-width:980px){
    .overview-dashboard--fixed .overview-fixed-grid{
        grid-template-columns:1fr !important;
    }
    .overview-dashboard--fixed .overview-kpis--five{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .league-page-grid{
        grid-template-columns:1fr !important;
    }
}
@media(max-width:620px){
    .overview-dashboard--fixed .overview-kpis--five{
        grid-template-columns:1fr !important;
    }
}


/* Sprint 8F – echte Spielerportraits */
.pitch-player__portrait{
    overflow:hidden;
}
.pitch-player__portrait img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 18%;
}
.player-photo-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
}
.player-photo-avatar{
    overflow:hidden;
    padding:0 !important;
}
.player-photo-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 18%;
}
.reveal-player-photo{
    width:42px;
    height:50px;
    flex:0 0 42px;
    overflow:hidden;
    border-radius:7px;
    border:1px solid var(--line2);
    background:linear-gradient(145deg,rgba(138,82,48,.72),rgba(47,67,82,.78));
}
.reveal-player-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 15%;
}
.opponent-player.is-hidden .reveal-player-photo,
.league-lineup-player.is-hidden .reveal-player-photo{
    display:none;
}
@media(max-width:700px){
    .reveal-player-photo{
        width:36px;
        height:44px;
        flex-basis:36px;
    }
}


/* Sprint 8F – Player portrait card containment fix */
.pitch-player{
    overflow:visible;
}
.pitch-player__portrait.player-photo-frame{
    position:relative;
    width:72px;
    height:82px;
    min-width:72px;
    min-height:82px;
    max-width:72px;
    max-height:82px;
    margin:2px auto 8px;
    overflow:hidden;
    border-radius:28px 28px 22px 22px;
    isolation:isolate;
}
.pitch-player__portrait.player-photo-frame img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:2;
    object-fit:cover;
    object-position:center 12%;
    display:block;
}
.pitch-player__portrait.player-photo-frame img.is-loaded + .player-photo-fallback{
    display:none !important;
}
.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    position:absolute;
    inset:0;
    z-index:1;
    font-size:30px;
}
.pitch-player>strong{
    position:relative;
    z-index:4;
    display:block;
    margin-top:0 !important;
    min-height:18px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.pitch-player__fixture,
.pitch-player__attention,
.pitch-player footer{
    position:relative;
    z-index:4;
}
.player-photo-avatar{
    position:relative;
}
.player-photo-avatar img.is-loaded + .player-photo-fallback,
.reveal-player-photo img.is-loaded + .player-photo-fallback{
    display:none !important;
}
.player-photo-avatar .player-photo-fallback,
.reveal-player-photo .player-photo-fallback{
    position:absolute;
    inset:0;
}

/* Keep portrait comfortably above the player name on compact cards */
@media(max-width:1500px){
    .pitch-player__portrait.player-photo-frame{
        width:66px;
        height:74px;
        min-width:66px;
        min-height:74px;
        max-width:66px;
        max-height:74px;
        margin-bottom:7px;
    }
}


/* Sprint 8F – Player Portrait Card Fix 2
   Portrait bewusst klein halten und vollständig vom Namensbereich trennen. */
.pitch-player{
    display:grid !important;
    grid-template-rows:auto auto auto auto auto auto !important;
    align-content:start !important;
}
.pitch-player__portrait.player-photo-frame{
    width:56px !important;
    height:64px !important;
    min-width:56px !important;
    min-height:64px !important;
    max-width:56px !important;
    max-height:64px !important;
    margin:0 auto 10px !important;
    border-radius:22px 22px 18px 18px !important;
    overflow:hidden !important;
    flex:none !important;
}
.pitch-player__portrait.player-photo-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 10% !important;
}
.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    font-size:23px !important;
}
.pitch-player>strong{
    display:block !important;
    position:relative !important;
    z-index:5 !important;
    width:100% !important;
    min-height:20px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:20px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.pitch-player__fixture{
    margin-top:5px !important;
}
.pitch-player__attention{
    margin-top:3px !important;
}

/* Portrait darf niemals unter den Namen wachsen. */
.pitch-player__portrait.player-photo-frame + strong{
    margin-top:0 !important;
    clear:both !important;
}

@media(max-width:1500px){
    .pitch-player__portrait.player-photo-frame{
        width:52px !important;
        height:59px !important;
        min-width:52px !important;
        min-height:59px !important;
        max-width:52px !important;
        max-height:59px !important;
        margin-bottom:9px !important;
    }
}


/* Sprint 8F – Player Portrait Card Fix 3
   Zurück zur ursprünglichen, besseren Geometrie:
   Portrait absolut oben rechts, Textblock bleibt unten. */
.pitch-player{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    grid-template-rows:none !important;
    align-content:normal !important;
    overflow:visible !important;
}

/* Original-nahe Positionierung: klein, oben rechts, unabhängig vom Textfluss */
.pitch-player__portrait.player-photo-frame{
    position:absolute !important;
    top:15px !important;
    right:8px !important;
    left:auto !important;
    bottom:auto !important;
    width:45px !important;
    height:55px !important;
    min-width:45px !important;
    min-height:55px !important;
    max-width:45px !important;
    max-height:55px !important;
    margin:0 !important;
    border-radius:45% 45% 35% 35% !important;
    overflow:hidden !important;
    z-index:3 !important;
}

/* Bild vollständig im Frame halten */
.pitch-player__portrait.player-photo-frame img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 14% !important;
    display:block !important;
    z-index:2 !important;
}

/* Fallback ist nur sichtbar, wenn kein Bild vorhanden/ladbar ist */
.pitch-player__portrait.player-photo-frame img.is-loaded + .player-photo-fallback{
    display:none !important;
}
.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    position:absolute !important;
    inset:0 !important;
    display:grid;
    place-items:center;
    z-index:1 !important;
    font-size:18px !important;
}

/* Der Textblock bleibt unten und darf niemals unter das Portrait gezogen werden */
.pitch-player>strong{
    position:relative !important;
    z-index:5 !important;
    display:block !important;
    width:100% !important;
    min-height:16px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:16px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.pitch-player__fixture{
    position:relative !important;
    z-index:5 !important;
    margin-top:3px !important;
}
.pitch-player__attention,
.pitch-player footer{
    position:relative !important;
    z-index:5 !important;
}

/* Der vorherige Fix-2-Flow darf die Karte nicht mehr beeinflussen */
.pitch-player__portrait.player-photo-frame + strong{
    clear:none !important;
    margin-top:0 !important;
}

@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        width:43px !important;
        height:52px !important;
        min-width:43px !important;
        min-height:52px !important;
        max-width:43px !important;
        max-height:52px !important;
        top:15px !important;
        right:7px !important;
    }
}


/* Sprint 8F – Player Card Mock Style Fix 1
   Mock-Geometrie: rechteckiges Portrait mit blauem Rand oben rechts.
   Remove-Button analog Captain-Badge an der oberen rechten Kartenecke. */

.pitch-player{
    overflow:visible !important;
}

/* Portrait: rechteckig, elegante Rundung, blau gerahmt, weit oben rechts */
.pitch-player__portrait.player-photo-frame{
    position:absolute !important;
    top:12px !important;
    right:14px !important;
    left:auto !important;
    bottom:auto !important;
    width:58px !important;
    height:68px !important;
    min-width:58px !important;
    min-height:68px !important;
    max-width:58px !important;
    max-height:68px !important;
    margin:0 !important;
    border:2px solid #315c80 !important;
    border-radius:14px !important;
    background:#0a2034 !important;
    overflow:hidden !important;
    box-shadow:0 3px 10px rgba(0,0,0,.20) !important;
    z-index:6 !important;
}

.pitch-player__portrait.player-photo-frame img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 12% !important;
    border-radius:11px !important;
    display:block !important;
}

.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    border-radius:11px !important;
}

/* X analog Captain-Badge: gleiche Größe/Form, aber grau, obere rechte Ecke */
.pitch-player__remove{
    left:auto !important;
    right:-14px !important;
    top:-14px !important;
    width:24px !important;
    height:24px !important;
    border-radius:50% !important;
    border:1px solid #52677a !important;
    background:#10263a !important;
    color:#9eafbe !important;
    display:grid !important;
    place-items:center !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1 !important;
    z-index:21 !important;
    box-shadow:0 3px 10px rgba(0,0,0,.28) !important;
    transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease !important;
}

.pitch-player__remove:hover{
    transform:scale(1.06) !important;
    color:#d7e1ea !important;
    border-color:#7890a5 !important;
    background:#163047 !important;
}

/* Captain bleibt spiegelbildlich links oben */
.pitch-player__captain{
    left:-14px !important;
    right:auto !important;
    top:-14px !important;
    width:24px !important;
    height:24px !important;
}

/* Text bleibt unterhalb des oberen Portrait-/Badge-Bereichs. */
.pitch-player>strong{
    position:relative !important;
    z-index:7 !important;
}

/* etwas kleiner auf engen Karten, Form bleibt identisch */
@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        top:12px !important;
        right:13px !important;
        width:54px !important;
        height:64px !important;
        min-width:54px !important;
        min-height:64px !important;
        max-width:54px !important;
        max-height:64px !important;
        border-radius:13px !important;
    }
}


/* Sprint 8F – Player Card Portrait & Status Fix 2
   Captain- und X-Button bleiben bewusst unverändert. */

/* Portrait: etwas schmaler und weiter nach rechts, Höhe beibehalten. */
.pitch-player__portrait.player-photo-frame{
    top:12px !important;
    right:6px !important;
    width:40px !important;
    height:55px !important;
    min-width:40px !important;
    min-height:55px !important;
    max-width:40px !important;
    max-height:55px !important;
    border-radius:12px !important;
}
.pitch-player__portrait.player-photo-frame img{
    border-radius:10px !important;
    object-position:center 12% !important;
}
.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    border-radius:10px !important;
}

/* Status nur noch als linker Farbbalken.
   Der Balken folgt mit eigener Rundung der linken Kartenkontur. */
.pitch-player.attention--red:before,
.pitch-player.attention--yellow-red:before,
.pitch-player.attention--yellow:before,
.pitch-player.attention--injury:before,
.pitch-player.attention--grey:before{
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:5px !important;
    border-radius:8px 0 0 8px !important;
    overflow:hidden !important;
    z-index:12 !important;
    pointer-events:none !important;
}

/* Kein sichtbarer Statustext mehr auf der Karte.
   title/Tooltip am article bleibt für Detailinfo erhalten. */
.pitch-player__attention{
    display:none !important;
}

/* Ohne Statuszeile bleibt der vorhandene Namens-/Fixture-/Footer-Block unverändert unten. */
.pitch-player__fixture{
    margin-top:3px !important;
}

@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        top:12px !important;
        right:5px !important;
        width:39px !important;
        height:53px !important;
        min-width:39px !important;
        min-height:53px !important;
        max-width:39px !important;
        max-height:53px !important;
    }
}

/* Sprint 8F UI restore */
.bundesliga-table-card{min-width:0}


/* Sprint 8F – Playerpool cleanup */
.playerpool-table th,
.playerpool-table td{
    text-align:center;
}
.playerpool-table th button{
    justify-content:center;
    text-align:center;
}
.playerpool-table .pool-control-column{
    display:none;
}
.playerpool-table .player-name-cell{
    justify-content:center;
    text-align:center;
}
.playerpool-table .player-points-cell{
    justify-content:center;
    text-align:center;
}
.playerpool-table .pool-row{
    position:relative;
}
.playerpool-table .pool-row.is-selected{
    background:rgba(255,118,0,.075);
    box-shadow:inset 3px 0 0 var(--orange);
}
.playerpool-table .pool-row.is-selected td:first-of-type + td{
    position:relative;
}
.playerpool-table .pool-row.is-selected td:first-of-type + td::before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    bottom:5px;
    width:3px;
    border-radius:3px;
    background:var(--orange);
}
.playerpool-table .captain-star{
    display:none !important;
}


/* Sprint 8F – Playerpool columns + legend-consistent status symbols */
/* Spieler bleibt bewusst linksbündig; alle fachlichen Kennzahlen mittig. */
.playerpool-table th:nth-child(2),
.playerpool-table td:nth-child(2){
    width:34%;
    text-align:left;
}
.playerpool-table th:nth-child(2) button{
    justify-content:flex-start;
    text-align:left;
}
.playerpool-table .player-name-cell{
    justify-content:flex-start;
    text-align:left;
}

/* Der frei gewordene Captain-/Checkbox-Platz geht primär an den Spielernamen. */
.playerpool-table th:nth-child(3),
.playerpool-table td:nth-child(3){width:7%}
.playerpool-table th:nth-child(4),
.playerpool-table td:nth-child(4){width:8%}
.playerpool-table th:nth-child(5),
.playerpool-table td:nth-child(5){width:9%}
.playerpool-table th:nth-child(6),
.playerpool-table td:nth-child(6){width:13%}
.playerpool-table th:nth-child(7),
.playerpool-table td:nth-child(7){width:10%}
.playerpool-table th:nth-child(8),
.playerpool-table td:nth-child(8){width:10%}
.playerpool-table th:nth-child(9),
.playerpool-table td:nth-child(9){width:7%}

/* Status nutzt exakt dieselben visuellen Primitive wie die Legende. */
.playerpool-table .pool-status-cell{
    text-align:center;
    overflow:visible;
}
.playerpool-table .pool-status-symbol{
    min-width:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    vertical-align:middle;
    cursor:help;
}
.playerpool-table .pool-status-symbol .legend-stripe{
    width:4px;
    height:13px;
    margin:0;
}
.playerpool-table .pool-status-symbol .legend-question{
    margin:0;
}
.playerpool-table .pool-status-fit{
    display:inline-block;
    width:4px;
    height:13px;
    opacity:0;
}
/* Keine alten Kreis-/Textsymbole mehr im Playerpool. */
.playerpool-table .pool-status-cell .status-circle,
.playerpool-table .pool-status-cell .player-status--icon-only{
    display:none !important;
}


/* Sprint 8F – FIT status + portrait restore */
.player-legend .legend-fit,
.playerpool-table .pool-status-symbol .legend-fit{
    width:18px;
    height:18px;
    border:1.5px solid #79a8c9;
    border-radius:50%;
    display:inline-grid;
    place-items:center;
    color:#79a8c9;
    font-size:12px;
    font-style:normal;
    font-weight:700;
    line-height:1;
    margin:0;
}
.player-legend .legend-fit{margin-right:5px}
.playerpool-table .player-photo-avatar{flex:0 0 auto}


/* Sprint 8F – Pitch Portrait Large Trial
   Deliberately isolated as final overrides for easy rollback. */

/* More vertical room so the enlarged portrait ends above the player name. */
.pitch-player{
    height:144px !important;
}

/* Portrait: +40% from the current 40x55 px, same right offset, no blue frame. */
.pitch-player__portrait.player-photo-frame{
    top:7px !important;
    right:6px !important;
    left:auto !important;
    bottom:auto !important;

    width:56px !important;
    height:77px !important;
    min-width:56px !important;
    min-height:77px !important;
    max-width:56px !important;
    max-height:77px !important;

    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

/* Keep the image treatment simple; local transparent portraits blend into the card. */
.pitch-player__portrait.player-photo-frame img{
    width:100% !important;
    height:100% !important;
    border-radius:12px !important;
    object-fit:cover !important;
    object-position:center 12% !important;
}

/* Name remains in the normal lower content block, now safely below the portrait. */
.pitch-player>strong{
    position:relative !important;
    z-index:7 !important;
}

/* X: ~20% smaller, same visual center at the upper-right corner. */
.pitch-player__remove{
    right:-12px !important;
    top:-12px !important;
    width:20px !important;
    height:20px !important;
    font-size:13px !important;
}

/* Captain C: ~20% smaller, mirrored at the upper-left corner. */
.pitch-player__captain{
    left:-12px !important;
    right:auto !important;
    top:-12px !important;
    width:20px !important;
    height:20px !important;
    font-size:9px !important;
}

/* Preserve the same relationship on narrower desktop cards. */
@media(max-width:1450px){
    .pitch-player{
        height:140px !important;
    }
    .pitch-player__portrait.player-photo-frame{
        top:7px !important;
        right:5px !important;
        width:55px !important;
        height:74px !important;
        min-width:55px !important;
        min-height:74px !important;
        max-width:55px !important;
        max-height:74px !important;
    }
}


/* Sprint 8F – Pitch Portrait Large Trial FIX1
   Corrects the first trial without changing PHP/JS/data. */

/* Undo the unwanted card-height increase. */
.pitch-player{
    height:122px !important;
}

/*
 * Frame: no blue border, same right spacing.
 * Anchoring from the bottom keeps the portrait immediately above the
 * name/content block instead of floating too high on the card.
 */
.pitch-player__portrait.player-photo-frame{
    top:auto !important;
    right:6px !important;
    left:auto !important;
    bottom:43px !important;

    width:54px !important;
    height:66px !important;
    min-width:54px !important;
    min-height:66px !important;
    max-width:54px !important;
    max-height:66px !important;

    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

/*
 * Untreated provider portraits must not become huge again.
 * They fill the frame normally.
 */
.pitch-player__portrait.player-photo-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 12% !important;
    transform:none !important;
    transform-origin:center bottom !important;
    border-radius:10px !important;
}

/*
 * The processed V3-Alpha PNGs contain more transparent canvas around
 * the person. Enlarge ONLY these local portraits inside the same frame.
 * This makes the actual person visibly larger without enlarging the card
 * or the untreated white-background provider photos.
 */
.pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:scale(1.48) translateY(3px) !important;
    transform-origin:center bottom !important;
}

/* Keep the fallback initial centered if no image is available. */
.pitch-player__portrait.player-photo-frame .player-photo-fallback{
    border-radius:10px !important;
}

/*
 * Make C and X visibly smaller. Explicit min/max/padding/box-sizing
 * prevents older accumulated CSS from keeping a 24px visual footprint.
 */
.pitch-player__remove,
.pitch-player__captain{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    max-height:18px !important;
    padding:0 !important;
    box-sizing:border-box !important;
    line-height:16px !important;
}

.pitch-player__remove{
    right:-9px !important;
    top:-9px !important;
    font-size:11px !important;
}

.pitch-player__captain{
    left:-9px !important;
    right:auto !important;
    top:-9px !important;
    font-size:8px !important;
}

/* Preserve the same layout on narrower desktop cards. */
@media(max-width:1450px){
    .pitch-player{
        height:122px !important;
    }
    .pitch-player__portrait.player-photo-frame{
        right:5px !important;
        bottom:43px !important;
        width:52px !important;
        height:64px !important;
        min-width:52px !important;
        min-height:64px !important;
        max-width:52px !important;
        max-height:64px !important;
    }
}

/* Sprint 8F – separate live duel view */
.duel-live-page{display:grid;gap:10px;min-width:0}.duel-live-head{min-height:168px;padding:14px 18px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(480px,1.5fr) minmax(260px,1fr);align-items:center;gap:16px}.duel-live-team{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-width:0}.duel-live-team--opp{text-align:right}.duel-live-avatar{width:56px;height:56px;border:1px solid rgba(55,137,225,.55);border-radius:50%;display:grid;place-items:center;background:#0a2948;color:#60a9ff;font-size:18px}.duel-live-avatar--opp{border-color:rgba(255,118,0,.6);background:#2b1b11;color:var(--orange)}.duel-live-team h1{font-size:19px;margin:3px 0 2px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-live-team small{font-size:9px;color:var(--muted)}.duel-live-strength{min-width:118px;padding:10px 12px;border:1px solid var(--line2);border-radius:7px;background:#0a223a;text-align:left}.duel-live-team--opp .duel-live-strength{text-align:right}.duel-live-strength span{display:block;font-size:7px;color:#8fa0b1;margin-bottom:4px}.duel-live-strength strong{font-size:17px;font-weight:400}.duel-live-scoreboard{align-self:stretch;border-left:1px solid var(--line2);border-right:1px solid var(--line2);padding:0 20px;display:grid;align-content:center;gap:3px;text-align:center}.duel-live-scoreline{font-size:28px;font-weight:300;letter-spacing:.08em}.duel-live-scoreboard>span{font-size:8px;color:#8799aa}.duel-live-bars{display:grid;gap:8px;margin-top:9px}.duel-live-metric{display:grid;grid-template-columns:48px minmax(70px,1fr) 78px minmax(70px,1fr) 48px;align-items:center;gap:8px}.duel-live-metric b{font-size:12px;font-weight:500}.duel-live-metric b.blue{color:#45a2ff;text-align:right}.duel-live-metric b.orange{color:var(--orange);text-align:left}.duel-live-metric em{font-style:normal;font-size:8px;color:#c5d0da}.duel-live-bar{height:6px;background:#17314a;border-radius:5px;overflow:hidden;display:flex}.duel-live-bar--own{justify-content:flex-end}.duel-live-bar i{display:block;height:100%;border-radius:5px}.duel-live-bar--own i{background:#2b94ee}.duel-live-bar--opp i{background:var(--orange)}
.duel-live-arena{display:grid;grid-template-columns:minmax(430px,1fr) 320px minmax(430px,1fr);gap:10px;min-height:610px}.duel-pitch-card{padding:0;overflow:hidden;display:grid;grid-template-rows:42px 1fr 38px}.duel-pitch-card>header,.duel-pitch-card>footer{padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2)}.duel-pitch-card>header strong{color:#59aaff;font-size:12px}.duel-pitch-card--opp>header strong{color:var(--orange)}.duel-pitch-card>header span,.duel-pitch-card>footer span,.duel-pitch-card>footer strong{font-size:8px;color:#91a2b3}.duel-pitch-card>footer{border-bottom:0;border-top:1px solid var(--line2)}.duel-pitch{position:relative;min-height:520px;padding:15px 16px 12px;display:grid;grid-template-rows:repeat(4,1fr);align-items:center;background:radial-gradient(circle at 50% 50%,rgba(33,92,119,.16),transparent 58%),linear-gradient(180deg,#071f35,#071b2f);overflow:hidden}.duel-pitch:before{content:"";position:absolute;inset:22px 18px;border:1px solid rgba(104,148,175,.18)}.duel-pitch:after{content:"";position:absolute;left:50%;top:50%;width:125px;height:125px;border:1px solid rgba(104,148,175,.15);border-radius:50%;transform:translate(-50%,-50%)}.duel-pitch-row{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:8px;min-height:105px}.duel-pitch-player{width:84px;height:100px;border:1px solid rgba(100,145,175,.28);border-radius:7px;background:linear-gradient(180deg,rgba(11,39,64,.9),rgba(6,25,44,.96));display:grid;grid-template-rows:52px auto auto;justify-items:center;align-content:end;position:relative;padding:4px 4px 5px;box-shadow:0 7px 15px rgba(0,0,0,.18)}.duel-pitch-card--opp .duel-pitch-player{border-color:rgba(255,118,0,.2)}.duel-pitch-photo{width:50px;height:54px;position:relative;align-self:end;display:grid;place-items:end center;overflow:visible;background:transparent}.duel-pitch-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.duel-pitch-photo>span{display:none}.duel-pitch-photo--hidden{width:42px;height:46px;border-radius:22px 22px 12px 12px;background:linear-gradient(#1a3349,#07111d);place-items:center;overflow:hidden}.duel-pitch-photo--hidden>span{display:block;color:#6b8093;font-size:16px}.duel-pitch-player strong{max-width:74px;font-size:8px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-pitch-player small{font-size:6px;color:#8fa0af}.duel-pitch-player em{position:absolute;right:4px;bottom:4px;font-style:normal;font-size:7px;color:#fff;background:#1766ab;border-radius:4px;padding:2px 4px}.duel-pitch-card--opp .duel-pitch-player em{background:#9b4b10}.duel-pitch-player.is-hidden strong{color:#718598}.duel-pitch-player.is-hidden em{background:#253749;color:#8da0b1}.duel-captain{position:absolute;left:-4px;top:-4px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#07182c;font-size:8px;border:2px solid #07182c}
.duel-ticker-card{padding:0;overflow:hidden;display:grid;grid-template-rows:55px 1fr}.duel-ticker-card>header{border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:8px;padding:0 14px}.duel-ticker-card h2{margin:0;font-size:14px}.duel-ticker{position:relative;overflow:auto;padding:8px 12px 16px}.duel-ticker:before{content:"";position:absolute;left:50%;top:58px;bottom:12px;width:1px;background:linear-gradient(#2f9cff,var(--orange))}.duel-ticker-kickoff{position:relative;z-index:2;margin:0 auto 8px;width:max-content;text-align:center;background:#081d32;padding:4px 10px}.duel-ticker-kickoff span{color:#fff}.duel-ticker-kickoff strong{display:block;font-size:9px}.duel-ticker-kickoff small{display:block;font-size:7px;color:#8194a6}.duel-ticker-event{position:relative;min-height:56px;width:50%;display:flex;align-items:center;gap:7px;padding:6px 10px}.duel-ticker-event:after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:#2e9cff;border:2px solid #081d32}.duel-ticker-event--own{margin-right:auto;text-align:right;justify-content:flex-end;border-right:1px solid rgba(47,156,255,.12)}.duel-ticker-event--own:after{right:-5px}.duel-ticker-event--opponent{margin-left:auto;text-align:left;flex-direction:row-reverse;border-left:1px solid rgba(255,118,0,.12)}.duel-ticker-event--opponent:after{left:-5px;background:var(--orange)}.duel-ticker-event>b{font-size:13px;color:#48a3ff}.duel-ticker-event--opponent>b{color:var(--orange)}.duel-ticker-copy{display:grid;gap:1px;min-width:0}.duel-ticker-copy small{font-size:6px;color:#7f91a3}.duel-ticker-copy strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-ticker-copy span{font-size:7px;color:#9aabb9}.duel-ticker-empty{padding:50px 12px;text-align:center;color:#718597;font-size:9px}
.duel-live-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.duel-live-bottom>.dark-card{min-height:100px;padding:14px 18px}.duel-trend-card strong{display:block;margin-top:8px;font-size:11px}.duel-trend-card p{margin:4px 0 0;color:#a3b1be;font-size:9px}.duel-win-values{display:flex;justify-content:space-between;margin:8px 0 5px}.duel-win-values strong:first-child{color:#45a2ff}.duel-win-values strong:last-child{color:var(--orange)}.duel-win-bar{height:8px;display:flex;border-radius:6px;overflow:hidden;background:#183149}.duel-win-bar i{background:#2b94ee}.duel-win-bar b{background:var(--orange)}.duel-win-card small,.duel-progress-card small{display:block;margin-top:7px;color:#8395a6;font-size:7px}.duel-progress-card>strong{float:right;margin-top:-11px;font-size:18px;font-weight:300}.duel-progress-bar{height:7px;background:#173149;border-radius:5px;overflow:hidden;margin-top:13px}.duel-progress-bar i{height:100%;display:block;background:linear-gradient(90deg,#1a8998,#24b07b)}
@media(max-width:1500px){.duel-live-head{grid-template-columns:minmax(230px,1fr) minmax(400px,1.4fr) minmax(230px,1fr)}.duel-live-arena{grid-template-columns:minmax(390px,1fr) 280px minmax(390px,1fr)}.duel-pitch-player{width:76px}.duel-pitch-row{gap:5px}.duel-live-strength{display:none}}
@media(max-width:1180px){.duel-live-head{grid-template-columns:1fr}.duel-live-team--opp{display:none}.duel-live-scoreboard{border:0}.duel-live-arena{grid-template-columns:1fr}.duel-ticker-card{min-height:420px}.duel-live-bottom{grid-template-columns:1fr}}


/* Sprint 8F – DUELL LIVE V2
   Arena fixieren, nur Ticker scrollen, Karten/Typografie an Tabelle & Begegnungen angleichen */
@media (min-width:1181px) {
    .duel-live-arena{
        height:560px;
        min-height:0;
        align-items:stretch;
    }

    .duel-pitch-card,
    .duel-ticker-card{
        height:560px;
        min-height:0;
    }

    .duel-pitch-card{
        grid-template-rows:42px minmax(0,1fr) 38px;
    }

    .duel-pitch{
        min-height:0;
        height:100%;
        padding:12px 14px 10px;
    }

    .duel-pitch-row{
        min-height:0;
    }

    .duel-ticker-card{
        grid-template-rows:50px minmax(0,1fr);
        overflow:hidden;
    }

    .duel-ticker{
        min-height:0;
        height:100%;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
    }
}

/* Spielerkarten etwas präsenter, ohne die Arena zu vergrößern */
.duel-pitch-player{
    width:92px;
    height:108px;
    grid-template-rows:60px auto auto;
    padding:4px 5px 6px;
}
.duel-pitch-photo{
    width:56px;
    height:60px;
}
.duel-pitch-photo--hidden{
    width:48px;
    height:52px;
}
.duel-pitch-player strong{
    max-width:82px;
    font-size:10px;
    line-height:13px;
}
.duel-pitch-player small{
    font-size:8px;
}
.duel-pitch-player em{
    font-size:9px;
    padding:2px 5px;
}
.duel-captain{
    width:20px;
    height:20px;
    font-size:9px;
}

/* Typografie auf das Niveau der bestehenden Bereiche Tabelle/Begegnungen bringen */
.duel-pitch-card>header strong{
    font-size:14px;
}
.duel-pitch-card>header span,
.duel-pitch-card>footer span,
.duel-pitch-card>footer strong{
    font-size:10px;
}
.duel-ticker-card h2{
    font-size:14px;
    font-weight:650;
}
.duel-ticker-kickoff strong{
    font-size:11px;
}
.duel-ticker-kickoff small{
    font-size:9px;
}
.duel-ticker-copy small{
    font-size:9px;
}
.duel-ticker-copy strong{
    font-size:11px;
}
.duel-ticker-copy span{
    font-size:10px;
    line-height:1.3;
}
.duel-ticker-event>b{
    font-size:14px;
}
.duel-ticker-empty{
    font-size:11px;
}
.duel-live-strength span{
    font-size:9px;
}
.duel-live-scoreboard>span,
.duel-live-metric em{
    font-size:10px;
}
.duel-live-metric b{
    font-size:13px;
}
.duel-trend-card strong{
    font-size:13px;
}
.duel-trend-card p{
    font-size:11px;
}
.duel-win-card small,
.duel-progress-card small{
    font-size:10px;
}

@media(max-width:1500px) and (min-width:1181px){
    .duel-pitch-player{
        width:84px;
        height:104px;
    }
    .duel-pitch-photo{
        width:53px;
        height:57px;
    }
}


/* Sprint 8F – DUELL LIVE V3
   Horizontaler Duell-Aufbau, reduzierte Karten und dunkleres Blau links */
.duel-live-page{
    --duel-own:#1767a0;
    --duel-own-soft:#145681;
    --duel-own-text:#2f83bd;
    --duel-own-line:rgba(23,103,160,.48);
}

/* Linke Managerfarbe konsistent abdunkeln */
.duel-live-page .duel-live-avatar{
    border-color:var(--duel-own-line);
    background:#09253d;
    color:var(--duel-own-text);
}
.duel-live-page .duel-live-metric b.blue,
.duel-live-page .duel-win-values strong:first-child,
.duel-live-page .duel-pitch-card:not(.duel-pitch-card--opp)>header strong,
.duel-live-page .duel-ticker-event--own>b{
    color:var(--duel-own-text);
}
.duel-live-page .duel-live-bar--own i,
.duel-live-page .duel-win-bar i{
    background:var(--duel-own);
}
.duel-live-page .duel-ticker-event--own:after{
    background:var(--duel-own);
}
.duel-live-page .duel-ticker-event--own{
    border-right-color:rgba(23,103,160,.16);
}
.duel-live-page .duel-ticker:before{
    background:linear-gradient(var(--duel-own),var(--orange));
}

/* Spielfeld horizontal: TW außen, Sturm zur Mitte */
.duel-live-page .duel-pitch{
    grid-template-rows:1fr !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    gap:5px;
    padding:12px 10px 10px;
}
.duel-live-page .duel-pitch-row{
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-evenly;
    align-items:center;
    gap:5px;
}
.duel-live-page .duel-pitch-row--goalkeeper{grid-column:1}
.duel-live-page .duel-pitch-row--defender{grid-column:2}
.duel-live-page .duel-pitch-row--midfielder{grid-column:3}
.duel-live-page .duel-pitch-row--attacker{grid-column:4}

/* Gegner exakt spiegeln: Sturm innen, TW außen rechts */
.duel-live-page .duel-pitch-card--opp .duel-pitch-row--attacker{grid-column:1}
.duel-live-page .duel-pitch-card--opp .duel-pitch-row--midfielder{grid-column:2}
.duel-live-page .duel-pitch-card--opp .duel-pitch-row--defender{grid-column:3}
.duel-live-page .duel-pitch-card--opp .duel-pitch-row--goalkeeper{grid-column:4}

/* Feldmarkierungen ebenfalls auf Querformat trimmen */
.duel-live-page .duel-pitch:before{
    inset:16px 14px;
}
.duel-live-page .duel-pitch:after{
    width:104px;
    height:104px;
}

/* Karten entschlacken: Name, Verein/Multi, Livepunkte */
.duel-live-page .duel-pitch-player{
    width:88px;
    height:92px;
    grid-template-rows:46px 16px 14px;
    padding:3px 4px 5px;
    border-radius:8px;
    background:linear-gradient(180deg,rgba(9,34,56,.76),rgba(5,24,41,.92));
    box-shadow:0 5px 12px rgba(0,0,0,.15);
}
.duel-live-page .duel-pitch-card:not(.duel-pitch-card--opp) .duel-pitch-player{
    border-color:rgba(23,103,160,.34);
}
.duel-live-page .duel-pitch-photo{
    width:48px;
    height:49px;
}
.duel-live-page .duel-pitch-photo--hidden{
    width:40px;
    height:44px;
}
.duel-live-page .duel-pitch-player strong{
    max-width:80px;
    font-size:10px;
    line-height:14px;
    align-self:center;
}
.duel-live-page .duel-player-meta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    font-size:8px;
    line-height:11px;
    color:#8da0b1;
    white-space:nowrap;
}
.duel-live-page .duel-player-meta span{
    opacity:.55;
}
.duel-live-page .duel-player-livepoints{
    right:4px;
    bottom:4px;
    min-width:25px;
    text-align:center;
    font-size:9px;
    font-weight:700;
    line-height:13px;
    padding:2px 5px;
    background:var(--duel-own-soft);
}
.duel-live-page .duel-pitch-card--opp .duel-player-livepoints{
    background:#8d450f;
}
.duel-live-page .duel-pitch-player.is-hidden .duel-player-livepoints{
    background:#253749;
}
.duel-live-page .duel-captain{
    background:var(--orange);
}

/* Bei kleineren Desktopbreiten Karten nur moderat reduzieren */
@media(max-width:1500px) and (min-width:1181px){
    .duel-live-page .duel-pitch-player{
        width:82px;
        height:90px;
    }
    .duel-live-page .duel-pitch-photo{
        width:46px;
        height:47px;
    }
}


/* Sprint 8F – DUELL LIVE V4
   Headerpunkte, ST-Switcher, saubere Spiegelung, Meta-Zeile, kompaktere Höhe, kräftigeres Dunkelblau */
.duel-live-page{
    --duel-own:#0f5f9c;
    --duel-own-soft:#0d4f82;
    --duel-own-text:#1677bd;
    --duel-own-line:rgba(15,95,156,.56);
    gap:8px;
}

/* a + b: aktuelle Punkte innen, rechter Manager sauber rechtsbündig */
.duel-live-head{
    min-height:146px;
    padding:10px 14px;
    grid-template-columns:minmax(300px,1fr) minmax(500px,1.42fr) minmax(300px,1fr);
    gap:12px;
}
.duel-live-team{
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:10px;
}
.duel-live-team--opp{
    grid-template-columns:auto auto minmax(0,1fr) auto;
}
.duel-live-team-copy{
    min-width:0;
}
.duel-live-team--opp .duel-live-team-copy{
    text-align:right;
    justify-self:stretch;
}
.duel-live-team--opp .duel-live-team-copy h1,
.duel-live-team--opp .duel-live-team-copy small,
.duel-live-team--opp .duel-live-team-copy .section-kicker{
    text-align:right;
}
.duel-manager-current{
    min-width:86px;
    padding:7px 9px;
    border-left:1px solid var(--line2);
}
.duel-manager-current--opp{
    border-left:0;
    border-right:1px solid var(--line2);
    text-align:left;
}
.duel-manager-current span{
    display:block;
    font-size:8px;
    color:#8799aa;
    white-space:nowrap;
}
.duel-manager-current strong{
    display:block;
    margin-top:2px;
    font-size:22px;
    line-height:1;
    font-weight:650;
    color:var(--duel-own-text);
}
.duel-manager-current--opp strong{
    color:var(--orange);
}

/* c: Spieltagswechsel oben rechts im mittleren Ergebniskasten */
.duel-live-scoreboard{
    position:relative;
    padding:0 18px;
}
.duel-live-scoreboard-switcher{
    position:absolute;
    top:5px;
    right:7px;
    z-index:3;
}
.duel-live-scoreboard-switcher .matchday-switcher{
    transform:scale(.88);
    transform-origin:top right;
}

/* d: alle Positionsspalten garantiert in derselben Grid-Zeile */
.duel-live-page .duel-pitch-row{
    grid-row:1 !important;
}
.duel-live-page .duel-pitch-card--opp .duel-pitch{
    direction:ltr;
}
.duel-live-page .duel-pitch-card--opp .duel-pitch-row{
    direction:ltr;
}

/* e: sämtliche Kartendaten unter dem Namen in EINER Zeile */
.duel-live-page .duel-pitch-player{
    height:84px;
    grid-template-rows:45px 15px 14px;
    padding:3px 4px 4px;
}
.duel-live-page .duel-player-meta{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:0 2px;
    font-size:8px;
    line-height:12px;
    white-space:nowrap;
}
.duel-live-page .duel-player-multi{
    color:#9fb0be;
}
.duel-live-page .duel-player-team{
    color:#aab8c5;
}
.duel-live-page .duel-player-points{
    color:var(--duel-own-text);
    font-size:9px;
    font-weight:750;
}
.duel-live-page .duel-pitch-card--opp .duel-player-points{
    color:var(--orange);
}
.duel-live-page .duel-player-livepoints{
    position:static !important;
    min-width:0 !important;
    padding:0 !important;
    background:transparent !important;
}

/* f: komplette Duellseite etwas niedriger */
@media (min-width:1181px){
    .duel-live-arena{
        height:505px;
    }
    .duel-pitch-card,
    .duel-ticker-card{
        height:505px;
    }
    .duel-pitch-card{
        grid-template-rows:36px minmax(0,1fr) 32px;
    }
    .duel-ticker-card{
        grid-template-rows:44px minmax(0,1fr);
    }
    .duel-pitch-card>header,
    .duel-pitch-card>footer{
        padding:0 11px;
    }
    .duel-live-bottom>.dark-card{
        min-height:82px;
        padding:10px 14px;
    }
    .duel-progress-bar{
        margin-top:9px;
    }
}

/* g: linkes Blau kräftiger, aber dunkler als bisher – über alle eigenen Duellakzente */
.duel-live-page .duel-live-avatar{
    border-color:var(--duel-own-line);
    background:#08263f;
    color:var(--duel-own-text);
}
.duel-live-page .duel-live-metric b.blue,
.duel-live-page .duel-win-values strong:first-child,
.duel-live-page .duel-pitch-card:not(.duel-pitch-card--opp)>header strong,
.duel-live-page .duel-ticker-event--own>b{
    color:var(--duel-own-text);
}
.duel-live-page .duel-live-bar--own i,
.duel-live-page .duel-win-bar i{
    background:var(--duel-own);
}
.duel-live-page .duel-ticker-event--own:after{
    background:var(--duel-own);
}
.duel-live-page .duel-ticker:before{
    background:linear-gradient(var(--duel-own),var(--orange));
}
.duel-live-page .duel-pitch-card:not(.duel-pitch-card--opp) .duel-pitch-player{
    border-color:rgba(15,95,156,.42);
}

@media(max-width:1500px) and (min-width:1181px){
    .duel-live-head{
        grid-template-columns:minmax(270px,1fr) minmax(440px,1.35fr) minmax(270px,1fr);
    }
    .duel-live-strength{
        display:none;
    }
    .duel-manager-current{
        min-width:78px;
    }
}


/* Sprint 8F – DUELL LIVE V5
   Spielfeld wieder größer; 5er-Ketten müssen vollständig in eine Positionsspalte passen. */
@media (min-width:1181px){
    .duel-live-arena{
        height:575px;
    }

    .duel-pitch-card,
    .duel-ticker-card{
        height:575px;
    }

    .duel-pitch-card{
        grid-template-rows:38px minmax(0,1fr) 34px;
    }

    .duel-ticker-card{
        grid-template-rows:46px minmax(0,1fr);
    }

    .duel-pitch{
        min-height:0;
        height:100%;
        padding:10px 10px 8px;
    }

    /* Maximal 5 Spieler in einer Positionsgruppe:
       5 x 90px = 450px; Rest bleibt für gleichmäßige Zwischenräume. */
    .duel-pitch-row{
        min-height:0;
        height:100%;
        justify-content:space-evenly;
        gap:0;
    }

    .duel-pitch-player{
        width:92px;
        height:90px;
        min-height:90px;
        max-height:90px;
        grid-template-rows:49px 16px 15px;
        padding:3px 4px 4px;
        flex:0 0 90px;
    }

    .duel-pitch-photo{
        width:51px;
        height:52px;
    }

    .duel-pitch-photo--hidden{
        width:43px;
        height:47px;
    }

    .duel-pitch-player strong{
        max-width:84px;
        font-size:10px;
        line-height:14px;
    }

    .duel-player-meta{
        font-size:8.5px;
        line-height:13px;
    }

    .duel-player-points{
        font-size:9.5px;
    }
}

@media(max-width:1500px) and (min-width:1181px){
    .duel-live-arena,
    .duel-pitch-card,
    .duel-ticker-card{
        height:555px;
    }

    .duel-pitch-player{
        width:86px;
        height:86px;
        min-height:86px;
        max-height:86px;
        flex-basis:86px;
        grid-template-rows:46px 15px 15px;
    }

    .duel-pitch-photo{
        width:48px;
        height:49px;
    }
}


/* Sprint 8F – DUELL LIVE V6
   Rechter Managerblock exakt spiegeln; Spielernamen linksbündig. */

/* Der rechte Managerblock wird geometrisch zum linken gespiegelt:
   Avatar außen rechts mit identischem Randabstand, Text direkt links davon. */
.duel-live-team--opp{
    justify-self:stretch;
    justify-content:end;
    grid-template-columns:auto auto minmax(0,1fr) auto;
    padding-right:0;
}
.duel-live-team--opp .duel-live-avatar--opp{
    grid-column:4;
    justify-self:end;
    margin-right:0;
}
.duel-live-team--opp .duel-live-team-copy{
    grid-column:3;
    justify-self:stretch;
    width:100%;
    text-align:right;
}
.duel-live-team--opp .duel-live-team-copy .section-kicker,
.duel-live-team--opp .duel-live-team-copy h1,
.duel-live-team--opp .duel-live-team-copy small{
    display:block;
    width:100%;
    text-align:right;
}
.duel-live-team--opp .duel-live-strength{
    grid-column:2;
}
.duel-live-team--opp .duel-manager-current--opp{
    grid-column:1;
}

/* Spielername bewusst linksbündig; restliche Kartenlogik bleibt unverändert. */
.duel-live-page .duel-pitch-player strong{
    width:100%;
    max-width:none;
    justify-self:stretch;
    align-self:stretch;
    text-align:left;
    padding-left:2px;
    padding-right:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Sprint 8F – KONFERENZ V1 */
.conference-page{
    --conference-blue:#0f5f9c;
    --conference-blue-text:#1677bd;
    --conference-orange:var(--orange);
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:10px;
    min-width:0;
    height:100%;
}
.conference-head{
    min-height:92px;
    padding:13px 18px;
    display:grid;
    grid-template-columns:minmax(300px,1.4fr) 105px 105px 120px auto;
    gap:10px;
    align-items:center;
}
.conference-head__title h1{margin:3px 0 2px;font-size:22px;line-height:1.05;font-weight:650;letter-spacing:-.02em}
.conference-head__title p{margin:0;color:#8799aa;font-size:10px}
.conference-head__metric{height:58px;border:1px solid var(--line2);border-radius:8px;background:#092039;display:grid;place-content:center;text-align:center}
.conference-head__metric span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#8395a7}
.conference-head__metric strong{margin-top:2px;font-size:17px;font-weight:550;color:#f4f7fb}
.conference-head__switcher{justify-self:end}
.conference-board{padding:0;overflow:hidden;min-height:0}
.conference-grid{display:grid;grid-template-columns:32px minmax(330px,1.55fr) 72px 125px 125px 160px minmax(175px,.9fr) 24px;align-items:center;column-gap:8px}
.conference-grid--head{height:38px;padding:0 12px;border-bottom:1px solid var(--line2);color:#7f91a3;text-transform:uppercase;font-size:7px;letter-spacing:.06em;font-weight:650}
.conference-grid--head span:nth-child(n+3){text-align:center}
.conference-list{min-height:0}
.conference-row{min-height:67px;padding:5px 12px;border-bottom:1px solid var(--line2);position:relative;transition:background .15s ease}
.conference-row:last-child{border-bottom:0}
.conference-row:hover{background:rgba(255,255,255,.018)}
.conference-row.is-own{background:linear-gradient(90deg,rgba(15,95,156,.09),transparent 45%)}
.conference-row.is-own:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--conference-blue)}
.conference-rank{text-align:center;color:#75899b;font-size:10px;font-weight:600}
.conference-matchup{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
.conference-team{display:flex;align-items:center;gap:8px;min-width:0}
.conference-team--away{justify-content:flex-end;text-align:right}
.conference-team>div{min-width:0}
.conference-team strong{display:block;font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f2f6fa}
.conference-team small{display:block;margin-top:2px;font-size:8px;color:#7f91a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conference-team-avatar{width:31px;height:31px;flex:0 0 31px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(15,95,156,.55);background:#09253d;color:var(--conference-blue-text);font-size:10px;font-weight:650}
.conference-team-avatar--away{border-color:rgba(255,118,0,.5);background:#2a1b11;color:var(--orange)}
.conference-vs{text-align:center;color:#52697e;font-size:8px}
.conference-result{text-align:center;display:grid;gap:1px}
.conference-result strong{font-size:15px;line-height:1;font-weight:500;color:#f3f6fa}
.conference-result small{font-size:7px;color:#8194a6;letter-spacing:.05em}
.conference-pair{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;text-align:center;gap:6px}
.conference-pair b{font-size:11px;font-weight:600}
.conference-pair b:first-child{color:var(--conference-blue-text)}
.conference-pair b:last-child{color:var(--orange)}
.conference-pair i{height:22px;width:1px;background:var(--line2)}
.conference-pair--projection b{font-size:12px}
.conference-win{display:grid;gap:5px}
.conference-win>div{display:flex;justify-content:space-between}
.conference-win>div b{font-size:10px;font-weight:600}
.conference-win>div b:first-child{color:var(--conference-blue-text)}
.conference-win>div b:last-child{color:var(--orange)}
.conference-win>span{height:6px;border-radius:5px;overflow:hidden;background:#173149;display:flex}
.conference-win>span i,.conference-win>span em{height:100%;display:block}
.conference-win>span i{background:var(--conference-blue)}
.conference-win>span em{background:var(--orange)}
.conference-history{height:49px;position:relative;min-width:0}
.conference-history svg{display:block;width:100%;height:38px;overflow:visible}
.conference-history line{stroke:#294158;stroke-width:.7}
.conference-history polyline{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.conference-history-home{stroke:var(--conference-blue-text)}
.conference-history-away{stroke:var(--orange)}
.conference-history small{position:absolute;right:2px;bottom:0;color:#61778b;font-size:6.5px}
.conference-action{text-align:center}
.conference-action a{width:22px;height:32px;border-radius:6px;display:grid;place-items:center;color:#aebcca;text-decoration:none;font-size:20px;transition:.15s ease}
.conference-action a:hover{background:#102b45;color:#fff}
.conference-action span{color:#41586d}
.conference-empty{padding:50px;text-align:center;color:#7f91a3;font-size:11px}
.conference-note{height:28px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 6px;color:#718598;font-size:7.5px}
.conference-note b{margin-left:12px;color:#aab7c3;font-weight:550}
.conference-note-blue,.conference-note-orange{width:8px;height:8px;border-radius:50%;display:inline-block}
.conference-note-blue{background:var(--conference-blue)}
.conference-note-orange{background:var(--orange)}

@media(min-width:1181px){
    .conference-page{height:calc(100vh - 72px)}
    .conference-board{height:calc(100vh - 202px)}
    .conference-list{height:calc(100% - 38px);overflow-y:auto;scrollbar-gutter:stable}
}
@media(max-width:1450px){
    .conference-grid{grid-template-columns:26px minmax(280px,1.5fr) 62px 105px 105px 135px minmax(145px,.8fr) 20px;column-gap:6px}
    .conference-head{grid-template-columns:minmax(260px,1.3fr) 90px 90px 105px auto}
    .conference-team-avatar{width:28px;height:28px;flex-basis:28px}
    .conference-team strong{font-size:10px}
}
@media(max-width:1180px){
    .conference-page{height:auto}
    .conference-head{grid-template-columns:1fr 1fr 1fr;align-items:center}
    .conference-head__title{grid-column:1/4}.conference-head__switcher{grid-column:1/4;justify-self:start}
    .conference-board{overflow-x:auto}
    .conference-grid{min-width:1120px}
}


/* Sprint 8F – KONFERENZ V2 TYPOGRAPHY
   Schriftgrößen an Tabelle / Begegnungen angleichen. */
.conference-page{
    font-size:12px;
}

.conference-page .generic-view-head h1,
.conference-page .conference-title{
    font-size:24px;
    line-height:1.1;
    font-weight:650;
    letter-spacing:-.02em;
}

.conference-page .section-kicker,
.conference-page .conference-table-head{
    font-size:8px;
    letter-spacing:.11em;
}

.conference-page .conference-team strong,
.conference-page .conference-team-name{
    font-size:14px;
    line-height:1.15;
    font-weight:650;
}

.conference-page .conference-team small,
.conference-page .conference-manager-name{
    font-size:10px;
    line-height:1.2;
}

.conference-page .conference-result strong,
.conference-page .conference-score{
    font-size:22px;
    line-height:1;
    font-weight:650;
}

.conference-page .conference-result small,
.conference-page .conference-status,
.conference-page .conference-progress-copy{
    font-size:10px;
}

.conference-page .conference-points strong,
.conference-page .conference-projection strong,
.conference-page .conference-win strong{
    font-size:14px;
    font-weight:650;
}

.conference-page .conference-points small,
.conference-page .conference-projection small,
.conference-page .conference-win small{
    font-size:9px;
}

.conference-page .conference-history-label,
.conference-page .conference-history-axis,
.conference-page .conference-history-meta{
    font-size:9px;
}

.conference-page .conference-history-event{
    font-size:10px;
}

.conference-page .conference-empty,
.conference-page .conference-legend{
    font-size:10px;
}

.conference-page .matchday-switcher{
    font-size:11px;
}


/* Sprint 8F – Konferenz Aufstellungen + Bundesliga Analyse */
.conference-duel{border-bottom:1px solid var(--line2)}
.conference-duel:last-child{border-bottom:0}
.conference-duel>summary{list-style:none;cursor:pointer}
.conference-duel>summary::-webkit-details-marker{display:none}
.conference-duel.is-own>summary{background:linear-gradient(90deg,rgba(15,95,156,.09),transparent 45%)}
.conference-toggle{display:inline-block;font-size:15px;color:#7f91a3;transition:transform .15s ease}
.conference-duel[open] .conference-toggle{transform:rotate(180deg)}
.conference-lineups{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 16px 14px;background:#071a2d;border-top:1px solid var(--line2)}
.conference-lineup-side{min-width:0}
.conference-lineup-side h3{margin:0 0 8px;font-size:12px;color:#e9f0f6}
.conference-lineup-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.conference-lineup-player{min-width:0;min-height:72px;padding:6px;border:1px solid var(--line2);border-radius:7px;background:#092039;position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 6px;align-items:center}
.conference-lineup-photo{grid-row:1/3;width:30px;height:42px;display:grid;place-items:end center;overflow:visible}
.conference-lineup-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.conference-lineup-photo span{font-size:11px;color:#718597}
.conference-lineup-photo.is-hidden{border-radius:16px 16px 9px 9px;background:#142d43;place-items:center}
.conference-lineup-player strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conference-lineup-player small{font-size:7.5px;color:#8fa0b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conference-lineup-player.is-hidden strong{color:#72879a}
.conference-captain{position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#07182c;font-size:7px}
.conference-lineup-empty{padding:18px;color:#7d91a4;font-size:10px}

.bundesliga-analysis-page{display:grid;gap:10px;min-width:0}
.bundesliga-analysis-head{min-height:96px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.bundesliga-analysis-head h1{margin:3px 0 4px;font-size:24px;line-height:1.1;font-weight:650}
.bundesliga-analysis-head p{margin:0;color:#8799aa;font-size:11px}
.bundesliga-analysis-list{display:grid;gap:7px}
.bundesliga-analysis-match{padding:0;overflow:hidden}
.bundesliga-analysis-match>summary{min-height:72px;padding:8px 16px;display:grid;grid-template-columns:1fr 130px 1fr 24px;gap:12px;align-items:center;list-style:none;cursor:pointer}
.bundesliga-analysis-match>summary::-webkit-details-marker{display:none}
.bundesliga-analysis-team strong{display:block;font-size:14px}
.bundesliga-analysis-team span{display:block;margin-top:4px;color:#1677bd;font-size:14px;font-weight:650}
.bundesliga-analysis-team span small{font-size:8px;color:#8295a8;font-weight:400}
.bundesliga-analysis-team--away{text-align:right}
.bundesliga-analysis-team--away span{color:var(--orange)}
.bundesliga-analysis-result{text-align:center}
.bundesliga-analysis-result b{display:block;font-size:10px;color:#dbe4ec}
.bundesliga-analysis-result small{display:block;margin-top:4px;font-size:8px;color:#7f91a3}
.bundesliga-analysis-toggle{font-size:16px;color:#7890a5;transition:transform .15s ease}
.bundesliga-analysis-match[open] .bundesliga-analysis-toggle{transform:rotate(180deg)}
.bundesliga-analysis-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;gap:10px;padding:10px 12px 12px;border-top:1px solid var(--line2);background:#071a2d}
.bundesliga-xi{min-width:0;border:1px solid var(--line2);border-radius:8px;background:#081e33;overflow:hidden}
.bundesliga-xi>header,.bundesliga-xi>footer{height:34px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2)}
.bundesliga-xi>header strong{font-size:11px}
.bundesliga-xi>header span,.bundesliga-xi>footer span{font-size:8px;color:#8395a7}
.bundesliga-xi>footer{border-bottom:0;border-top:1px solid var(--line2)}
.bundesliga-xi>footer strong{font-size:10px;color:#eaf0f5}
.bundesliga-xi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px}
.bundesliga-xi-player{min-height:57px;padding:6px 7px;border:1px solid rgba(99,137,166,.18);border-radius:6px;background:#0a253d;position:relative}
.bundesliga-xi-player>strong{display:block;padding-right:15px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundesliga-xi-player>small{display:block;margin-top:3px;font-size:7.5px;color:#8194a6}
.bundesliga-xi-player>span{display:block;margin-top:5px;font-size:11px;font-weight:650;color:#e9f0f5}
.bundesliga-xi-player>span small{font-size:7px;color:#8295a8;font-weight:400}
.bundesliga-real-captain{position:absolute;right:5px;top:5px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#07182c;font-size:7px}
.bundesliga-event-ticker{min-width:0;border:1px solid var(--line2);border-radius:8px;background:#081e33;overflow:hidden}
.bundesliga-event-ticker>header{height:42px;padding:0 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line2)}
.bundesliga-event-ticker>header strong{font-size:10px}
.bundesliga-event-list{max-height:260px;overflow-y:auto;padding:6px}
.bundesliga-event{min-height:40px;padding:5px 7px;margin-bottom:4px;border-radius:5px;background:#0a253d;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:5px;align-items:center}
.bundesliga-event small{font-size:7px;color:#7f91a3}
.bundesliga-event strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bundesliga-event span{font-size:8px;color:#a9b7c3}
.bundesliga-event--home{border-left:2px solid #0f5f9c}
.bundesliga-event--away{border-right:2px solid var(--orange)}
.bundesliga-event-empty,.bundesliga-analysis-empty{padding:24px;color:#7f91a3;font-size:10px;text-align:center}

@media(max-width:1450px){
  .conference-lineup-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bundesliga-analysis-detail{grid-template-columns:1fr 1fr}
  .bundesliga-event-ticker{grid-column:1/3}
  .bundesliga-event-list{max-height:180px}
}
@media(max-width:950px){
  .conference-lineups{grid-template-columns:1fr}
  .conference-lineup-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bundesliga-analysis-match>summary{grid-template-columns:1fr 90px 1fr 20px}
  .bundesliga-analysis-detail{grid-template-columns:1fr}
  .bundesliga-event-ticker{grid-column:1}
}

/* Bundesliga Fix1 – Fehler nicht mehr als leeren Datenstand maskieren */
.bundesliga-analysis-empty strong{display:block;margin-bottom:5px;color:#f0f4f8;font-size:11px}
.bundesliga-analysis-empty small{display:block;color:#c77f66;font-size:9px;line-height:1.35}


/* Bundesliga Real Result – score replaces FINAL in the center */
.bundesliga-analysis-result b{
    font-size:20px;
    line-height:1;
    font-weight:650;
    letter-spacing:.03em;
    color:#f1f5f9;
}
.bundesliga-analysis-result small{
    margin-top:5px;
    font-size:8px;
    color:#7f91a3;
}


/* Sprint 8F – Bundesliga Split Layout: Spieltag links, Tabelle rechts */
.bundesliga-analysis-layout{
    display:grid;
    grid-template-columns:minmax(0,1.72fr) minmax(320px,.72fr);
    gap:10px;
    align-items:start;
    min-width:0;
}
.bundesliga-analysis-left,
.bundesliga-analysis-right{
    min-width:0;
}
.bundesliga-analysis-right{
    position:sticky;
    top:8px;
}
.bundesliga-analysis-table-card{
    padding:0;
    overflow:hidden;
}
.bundesliga-analysis-table-head{
    min-height:66px;
    padding:12px 14px 10px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    border-bottom:1px solid var(--line2);
}
.bundesliga-analysis-table-head h2{
    margin:3px 0 0;
    font-size:18px;
    line-height:1.1;
    font-weight:650;
    letter-spacing:-.02em;
}
.bundesliga-analysis-table-wrap{
    overflow:auto;
}
.bundesliga-analysis-standings{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}
.bundesliga-analysis-standings th,
.bundesliga-analysis-standings td{
    height:31px;
    padding:4px 5px;
    border-bottom:1px solid var(--line2);
    font-size:9px;
    line-height:1.05;
    text-align:center;
}
.bundesliga-analysis-standings th{
    height:27px;
    font-size:7.5px;
    font-weight:650;
    color:#8295a8;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.bundesliga-analysis-standings th:nth-child(1),
.bundesliga-analysis-standings td:nth-child(1){width:27px}
.bundesliga-analysis-standings th:nth-child(2),
.bundesliga-analysis-standings td:nth-child(2){width:auto;text-align:left}
.bundesliga-analysis-standings th:nth-child(3),
.bundesliga-analysis-standings td:nth-child(3){width:31px}
.bundesliga-analysis-standings th:nth-child(4),
.bundesliga-analysis-standings td:nth-child(4){width:39px}
.bundesliga-analysis-standings th:nth-child(5),
.bundesliga-analysis-standings td:nth-child(5){width:37px}
.bundesliga-analysis-standings tr:last-child td{border-bottom:0}
.bundesliga-analysis-standings td b{
    font-size:10px;
    color:#f1f5f8;
}
.bundesliga-analysis-standing-team{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.bundesliga-analysis-standing-team img{
    width:19px;
    height:19px;
    flex:0 0 19px;
    object-fit:contain;
}
.bundesliga-analysis-standing-team>span{
    min-width:0;
    display:block;
}
.bundesliga-analysis-standing-team strong{
    display:block;
    font-size:9.5px;
    line-height:1.05;
    color:#edf2f6;
}
.bundesliga-analysis-standing-team small{
    display:block;
    margin-top:1px;
    font-size:6.8px;
    line-height:1.05;
    color:#74899c;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.bundesliga-analysis-table-empty{
    padding:25px 14px;
    text-align:center;
    color:#7e91a3;
}
.bundesliga-analysis-table-empty strong{
    display:block;
    margin-bottom:4px;
    font-size:10px;
    color:#dfe7ee;
}
.bundesliga-analysis-table-empty span{
    font-size:8px;
    line-height:1.3;
}

/* Linke Begegnungen dürfen die verfügbare Breite besser nutzen. */
.bundesliga-analysis-layout .bundesliga-analysis-match>summary{
    grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr) 20px;
}
.bundesliga-analysis-layout .bundesliga-analysis-detail{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.bundesliga-analysis-layout .bundesliga-event-ticker{
    grid-column:1/3;
}
.bundesliga-analysis-layout .bundesliga-event-list{
    max-height:170px;
}

@media(max-width:1250px){
    .bundesliga-analysis-layout{
        grid-template-columns:minmax(0,1.55fr) minmax(285px,.68fr);
    }
    .bundesliga-analysis-standing-team small{display:none}
}
@media(max-width:950px){
    .bundesliga-analysis-layout{grid-template-columns:1fr}
    .bundesliga-analysis-right{position:static}
    .bundesliga-analysis-standing-team small{display:block}
}


/* Sprint 8F – Bundesliga Tabelle + Event-Zuordnung Polish */
.bundesliga-analysis-standings th,
.bundesliga-analysis-standings td{
    height:34px;
    font-size:10px;
}
.bundesliga-analysis-standings th{
    font-size:8px;
}
.bundesliga-analysis-standing-team{
    gap:7px;
}
.bundesliga-analysis-standing-team img{
    width:21px;
    height:21px;
    flex-basis:21px;
}
.bundesliga-analysis-standing-copy{
    min-width:0;
    display:flex !important;
    align-items:baseline;
    gap:5px;
    white-space:nowrap;
    overflow:hidden;
}
.bundesliga-analysis-standing-copy strong{
    flex:0 0 auto;
    display:inline;
    font-size:12px;
    line-height:1;
    font-weight:700;
    color:#f1f5f8;
}
.bundesliga-analysis-standing-copy i{
    flex:0 0 auto;
    font-size:9px;
    line-height:1;
    font-style:normal;
    color:#61798d;
}
.bundesliga-analysis-standing-copy small{
    min-width:0;
    display:block !important;
    margin:0;
    font-size:8.5px;
    line-height:1;
    color:#8ea0b0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bundesliga-analysis-standings td b{
    font-size:11px;
}

.bundesliga-event{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:7px;
    padding:6px 9px;
}
.bundesliga-event--home{
    border-left:2px solid #0f5f9c;
    text-align:left;
}
.bundesliga-event--away{
    grid-template-columns:auto minmax(0,1fr) 38px;
    border-right:2px solid var(--orange);
    text-align:right;
}
.bundesliga-event--neutral{
    text-align:center;
}
.bundesliga-event-minute{
    font-size:8px !important;
    color:#73899d !important;
}
.bundesliga-event-player{
    font-size:10px !important;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.bundesliga-event--away .bundesliga-event-player{
    text-align:right;
}
.bundesliga-event-label{
    font-size:9px !important;
    font-weight:550;
    white-space:nowrap;
}
.bundesliga-event--home .bundesliga-event-label{
    color:#5b9dca;
}
.bundesliga-event--away .bundesliga-event-label{
    color:var(--orange);
}


/* Sprint 8F – Bundesliga Event Alignment Fix
   Strikte Dreiteilung: Heimspieler | Event | Auswärtsspieler */
.bundesliga-event{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-height:42px;
    padding:5px 9px;
    text-align:initial;
}
.bundesliga-event-side{
    min-width:0;
}
.bundesliga-event-side strong{
    display:block;
    font-size:10px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.bundesliga-event-side--home{
    text-align:left;
}
.bundesliga-event-side--away{
    text-align:right;
}
.bundesliga-event-center{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:5px;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-width:0;
}
.bundesliga-event-center small{
    font-size:8px;
    color:#73899d;
    white-space:nowrap;
}
.bundesliga-event-center span{
    font-size:9px;
    font-weight:600;
    white-space:nowrap;
    color:#c8d3dc;
}
.bundesliga-event--home{
    border-left:2px solid #0f5f9c;
    border-right:0;
}
.bundesliga-event--away{
    border-left:0;
    border-right:2px solid var(--orange);
}
.bundesliga-event--home .bundesliga-event-side--home strong{
    color:#75add2;
}
.bundesliga-event--away .bundesliga-event-side--away strong{
    color:#f3a15b;
}
.bundesliga-event--home .bundesliga-event-center span{
    color:#75add2;
}
.bundesliga-event--away .bundesliga-event-center span{
    color:#f3a15b;
}
.bundesliga-event--neutral{
    border-left:0;
    border-right:0;
}
.bundesliga-event--neutral .bundesliga-event-center{
    grid-column:2;
}


/* Sprint 9B – Pitch portrait scale refinement
   Transparent portraits: slightly smaller and a few pixels higher.
   Card dimensions and right alignment stay unchanged. */
.pitch-player__portrait.player-photo-frame{
    bottom:46px !important;
}

.pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
    transform:scale(1.32) translateY(0) !important;
    transform-origin:center bottom !important;
}

@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        bottom:46px !important;
    }
    .pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
        transform:scale(1.32) translateY(0) !important;
    }
}


/* Sprint 9B – Pitch portrait frame refinement V2
   Use a taller real frame instead of scaling/cropping processed portraits. */
.pitch-player__portrait.player-photo-frame{
    right:5px !important;
    bottom:43px !important;

    width:54px !important;
    height:76px !important;
    min-width:54px !important;
    min-height:76px !important;
    max-width:54px !important;
    max-height:76px !important;

    overflow:hidden !important;
}

/* Provider portraits continue to fill their frame normally. */
.pitch-player__portrait.player-photo-frame img{
    width:100% !important;
    height:100% !important;
    transform:none !important;
}

/* Processed transparent portraits: full subject visible, anchored at the bottom. */
.pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:none !important;
    transform-origin:center bottom !important;
    border-radius:0 !important;
}

@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        right:5px !important;
        bottom:43px !important;

        width:52px !important;
        height:73px !important;
        min-width:52px !important;
        min-height:73px !important;
        max-width:52px !important;
        max-height:73px !important;
    }

    .pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
        transform:none !important;
        object-fit:contain !important;
        object-position:center bottom !important;
    }
}


/* Sprint 9B – Pitch portrait size + position V3
   Requested fine tuning:
   - lower edge 5px further down
   - portrait frame 33% larger
   - right alignment and card size unchanged */
.pitch-player__portrait.player-photo-frame{
    right:0px !important;
    bottom:38px !important;

    width:72px !important;
    height:101px !important;
    min-width:72px !important;
    min-height:101px !important;
    max-width:72px !important;
    max-height:101px !important;

    overflow:hidden !important;
}

.pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:none !important;
    transform-origin:center bottom !important;
}

@media(max-width:1450px){
    .pitch-player__portrait.player-photo-frame{
        right:0px !important;
        bottom:38px !important;

        width:69px !important;
        height:97px !important;
        min-width:69px !important;
        min-height:97px !important;
        max-width:69px !important;
        max-height:97px !important;
    }

    .pitch-player__portrait.player-photo-frame img[src*="player-portraits/"]{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
        object-position:center bottom !important;
        transform:none !important;
    }
}


/* Sprint 9B – Pitch card position V4
   Move complete player cards 5px right and 5px down. */
.pitch-player{
    transform:translate(5px, 5px) !important;
}


/* Sprint 9B – Duell + Konferenz Typography Polish
   Lesbarkeit: Spielernamen größer, kleine Texte mindestens 10px. */

/* DUELL */
.duel-live-page .duel-pitch-player strong{
    font-size:12px !important;
    line-height:15px !important;
}

.duel-live-page .duel-player-meta,
.duel-live-page .duel-player-multi,
.duel-live-page .duel-player-team,
.duel-live-page .duel-player-points,
.duel-live-page .duel-player-livepoints,
.duel-live-page .duel-pitch-player small{
    font-size:10px !important;
    line-height:13px !important;
}

/* KONFERENZ – aufgeklappte Manager-Aufstellungen */
.conference-lineup-player strong{
    font-size:11px !important;
    line-height:14px !important;
}

.conference-lineup-player small,
.conference-lineup-photo span,
.conference-lineup-empty{
    font-size:10px !important;
    line-height:13px !important;
}

.conference-lineup-side h3{
    font-size:13px !important;
    line-height:16px !important;
}


/* Sprint 9C – Portrait Layer + Playerpool Cleanup V3
   Based on current 2026-08-16 23:48 project snapshot. */

/* Average-points label always above the local portrait. */
.pitch-player .pitch-player__rating{
    position:absolute !important;
    z-index:30 !important;
    pointer-events:none !important;
}

/* Playerpool: normalized local portraits stand freely, without the brown avatar disc. */
.playerpool-table .table-avatar.player-photo-avatar.is-local-portrait{
    background:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    overflow:visible !important;
}

/* Only the local PNG is changed. Provider/fallback avatars retain their old framing. */
.playerpool-table .table-avatar.player-photo-avatar.is-local-portrait img{
    background:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    object-fit:contain !important;
    object-position:center bottom !important;
}

/* Sprint 10A – öffentliche Ligen + Beitrittsanfragen */
.league-search-form{display:flex;gap:10px;align-items:center;margin-bottom:16px}.league-search-form .input{flex:1}
.public-league-list{display:grid;gap:9px}.public-league-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.public-league-row:first-child{border-top:0}.public-league-row>div:first-child{display:grid;gap:4px}.public-league-row strong{font-size:13px;color:#edf3fa;font-weight:550}.public-league-row small,.pending-request-row small{font-size:11px;color:#92a4b8}
.public-league-row form{display:flex;gap:8px;align-items:center}.input.input--compact{min-height:36px;width:150px;padding:0 10px;font-size:11px}
.pending-request-box{margin:14px 0 18px;padding:13px 14px;border:1px solid rgba(255,122,0,.18);border-radius:9px;background:rgba(255,122,0,.035)}.pending-request-box>strong{display:block;margin-bottom:8px;color:#f3f6f9;font-size:12px}
.pending-request-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid rgba(255,255,255,.06);font-size:12px}.pending-request-row:first-of-type{border-top:0}
.league-discovery-block{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);text-align:left}.join-request-row>span{display:grid;gap:3px}.join-request-row>span small{font-size:10px;color:#91a2b5}
@media(max-width:760px){.league-search-form,.public-league-row form{align-items:stretch;flex-direction:column}.public-league-row{grid-template-columns:1fr}.input.input--compact{width:100%}}

/* Sprint 10A Fix 1 – rejected join-request notices */
.pending-request-row{position:relative;padding-right:34px}
.pending-request-row--rejected{border-left:2px solid rgba(255,122,0,.72);padding-left:10px}
.join-request-dismiss-form{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.join-request-dismiss{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:#9eafc0;font-size:19px;line-height:1;cursor:pointer}
.join-request-dismiss:hover{color:#fff}

/* Sprint 10B.2 – Statistikzentrale */
.stats-page{display:grid;gap:18px}.stats-page-head{display:flex;justify-content:space-between;align-items:end}.stats-page-head h1{margin:3px 0 5px;font-size:24px;font-weight:300}.stats-page-head p{margin:0;color:#8fa2b6;font-size:12px}.stats-columns{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;align-items:start}.stats-column{display:grid;gap:14px}.stats-column-title{padding:0 2px}.stats-column-title h2{margin:2px 0 0;font-size:17px;font-weight:350}.stats-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stats-kpi-grid--manager{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-kpi{min-width:0;padding:13px 14px;border:1px solid rgba(160,184,210,.13);border-radius:9px;background:rgba(8,29,53,.72);display:grid;gap:4px}.stats-kpi>span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#7f93a8}.stats-kpi>strong{font-size:22px;font-weight:300;color:#f4f7fa}.stats-kpi>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9aabba;font-size:10px}.stats-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats-ranking-grid>.stats-ranking-card:last-child:nth-child(odd){grid-column:1/-1}.stats-ranking-card,.stats-top11-card{border:1px solid rgba(160,184,210,.13);border-radius:9px;background:rgba(8,29,53,.66);overflow:hidden}.stats-ranking-card h3{margin:0;padding:12px 13px 9px;font-size:11px;font-weight:500;color:#e9eef4;border-bottom:1px solid rgba(255,255,255,.055)}.stats-ranking-list{display:grid}.stats-ranking-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 11px;border-top:1px solid rgba(255,255,255,.045);min-width:0}.stats-ranking-row:first-child{border-top:0}.stats-ranking-row>b{font-size:9px;font-weight:400;color:#71859a;text-align:center}.stats-ranking-row>span{display:grid;min-width:0}.stats-ranking-row>span strong{font-size:10px;font-weight:500;color:#edf2f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-ranking-row>span small{font-size:9px;color:#778da3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-ranking-row>em{font-style:normal;font-size:12px;font-weight:500;color:#ff7a00}.badboy-cards{display:flex;align-items:center;gap:4px;color:#b7c4d0!important;font-size:9px!important}.card-dot{display:inline-block;width:7px;height:9px;border-radius:1px;background:#f4c542}.card-dot--red{background:#e45252}.card-dot--yr{background:linear-gradient(90deg,#f4c542 0 50%,#e45252 50%)}.stats-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.stats-card-head h3{margin:2px 0 2px;font-size:13px;font-weight:450}.stats-card-head small{font-size:9px;color:#8194a8}.stats-top11-meta{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;color:#8fa1b4;font-size:10px}.stats-top11-meta strong{color:#ff7a00;font-size:12px}.stats-pitch{margin:0 12px 12px;padding:13px 8px;min-height:390px;border-radius:8px;border:1px solid rgba(173,201,218,.12);background:linear-gradient(rgba(4,29,42,.74),rgba(4,29,42,.74)),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 50%,transparent 50%,transparent 100%);display:grid;grid-template-rows:repeat(4,1fr);gap:8px}.stats-pitch-row{display:flex;justify-content:center;align-items:center;gap:7px;min-width:0}.stats-player-chip{position:relative;width:min(96px,20%);min-width:68px;height:76px;padding:6px 5px 5px;border-radius:7px;background:rgba(4,18,31,.78);border:1px solid rgba(255,255,255,.09);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden}.stats-player-chip img{position:absolute;top:0;height:49px;width:auto;max-width:72px;object-fit:contain;opacity:.92}.stats-player-chip strong{position:relative;z-index:1;max-width:100%;font-size:8px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-player-chip small{position:relative;z-index:1;font-size:7px;color:#7f94a8}.stats-player-chip em{position:absolute;z-index:2;top:4px;right:4px;font-size:9px;font-style:normal;font-weight:600;color:#ff7a00}.manager-record-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stats-ranking-card--flop .stats-ranking-row>em{color:#9fb1c3}.stats-manager-player-records .stats-ranking-row--record{padding-top:10px;padding-bottom:10px}.stats-manager-player-records .stats-ranking-row--record>span strong{font-size:11px}.stats-manager-player-records .stats-ranking-row--record>span small{font-size:8px}.stats-manager-player-records .stats-ranking-row--record>em{font-size:14px}
@media(max-width:1180px){.stats-columns{grid-template-columns:1fr}.stats-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.stats-kpi-grid,.stats-kpi-grid--manager,.stats-ranking-grid,.manager-record-columns{grid-template-columns:1fr 1fr}.stats-pitch{min-height:330px}.stats-player-chip{min-width:54px;width:19%;height:70px}.stats-player-chip img{height:44px}}@media(max-width:520px){.stats-kpi-grid,.stats-kpi-grid--manager,.stats-ranking-grid,.manager-record-columns{grid-template-columns:1fr}.stats-ranking-grid>.stats-ranking-card:last-child:nth-child(odd){grid-column:auto}.stats-pitch-row{gap:3px}.stats-player-chip{min-width:0;width:19%;padding-left:2px;padding-right:2px}}


/* Sprint 10B – central event/status icon language */
.tactix-icon{
    position:relative;
    display:inline-block;
    flex:0 0 auto;
    width:14px;
    height:14px;
    box-sizing:border-box;
    vertical-align:middle;
    color:#9eb0c1;
}
.tactix-icon--card-yellow,
.tactix-icon--card-yellow-red,
.tactix-icon--card-red{
    width:8px;
    height:11px;
    border-radius:1.5px;
}
.tactix-icon--card-yellow{background:#f4c542}
.tactix-icon--card-red{background:#e45252}
.tactix-icon--card-yellow-red{background:linear-gradient(90deg,#f4c542 0 50%,#e45252 50% 100%)}

.tactix-icon--injury{
    width:15px;height:7px;border-radius:3px;background:#67bfe8;
    transform:rotate(-32deg);
    box-shadow:inset 0 0 0 1px rgba(4,27,45,.22);
}
.tactix-icon--injury:before{
    content:"";position:absolute;left:5px;top:1px;width:5px;height:5px;border-radius:1px;
    background:#9bd9f3;box-shadow:inset 0 0 0 1px rgba(4,27,45,.12)
}
.tactix-icon--unavailable:before,
.tactix-icon--unavailable:after{
    content:"";position:absolute;left:6px;top:1px;width:2px;height:12px;border-radius:2px;background:#81909d
}
.tactix-icon--unavailable:before{transform:rotate(45deg)}
.tactix-icon--unavailable:after{transform:rotate(-45deg)}

.tactix-icon--fit{
    width:15px;height:15px;border:1.5px solid #79a8c9;border-radius:50%
}
.tactix-icon--fit:before{
    content:"";position:absolute;left:4px;top:1px;width:4px;height:7px;
    border-right:1.5px solid #79a8c9;border-bottom:1.5px solid #79a8c9;transform:rotate(42deg)
}
.tactix-icon--questionable{
    width:14px;height:14px;border:1px solid #8fa6b9;border-radius:50%
}
.tactix-icon--questionable:before{
    content:"?";position:absolute;inset:0;display:grid;place-items:center;
    color:#9fb3c3;font-size:9px;font-style:normal;font-weight:650;line-height:1
}

.tactix-icon--goal{
    width:13px;height:13px;border:1.5px solid #f0f4f7;border-radius:50%;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.05)
}
.tactix-icon--goal:before{
    content:"";position:absolute;left:4px;top:4px;width:3px;height:3px;border-radius:50%;background:#f0f4f7
}
.tactix-icon--own-goal{
    width:13px;height:13px;border:1.5px solid #e45252;border-radius:50%
}
.tactix-icon--own-goal:before{
    content:"";position:absolute;width:8px;height:1.5px;background:#e45252;left:2px;top:5px;transform:rotate(-40deg)
}
.tactix-icon--assist{
    width:15px;height:14px
}
.tactix-icon--assist:before{
    content:"";position:absolute;left:1px;bottom:3px;width:10px;height:2px;border-radius:2px;
    background:#6fb8e9;transform:rotate(-32deg);transform-origin:left center
}
.tactix-icon--assist:after{
    content:"";position:absolute;right:1px;top:1px;width:5px;height:5px;
    border-top:2px solid #6fb8e9;border-right:2px solid #6fb8e9
}

.tactix-icon--sub-in,
.tactix-icon--sub-out{
    width:16px;height:14px
}
.tactix-icon--sub-in:before,
.tactix-icon--sub-out:before{
    content:"";position:absolute;left:1px;top:3px;width:10px;height:2px;border-radius:2px;background:#69b8e6
}
.tactix-icon--sub-in:after{
    content:"";position:absolute;right:1px;top:0;width:6px;height:6px;
    border-top:2px solid #69b8e6;border-right:2px solid #69b8e6;transform:rotate(45deg)
}
.tactix-icon--sub-out:before{left:5px;top:8px;background:#93a2af}
.tactix-icon--sub-out:after{
    content:"";position:absolute;left:0;top:5px;width:6px;height:6px;
    border-left:2px solid #93a2af;border-bottom:2px solid #93a2af;transform:rotate(45deg)
}
.tactix-icon--event{
    width:7px;height:7px;border-radius:50%;background:#8fa2b4
}

/* Playerpool + lineup cards */
.playerpool-table .pool-status-symbol .tactix-icon{margin:0}
.player-attention-legend .tactix-icon{margin-right:2px}
.pitch-player__attention{
    display:flex;align-items:center;justify-content:center;gap:4px
}
.pitch-player__attention .tactix-icon{transform-origin:center}
.pitch-player__attention .tactix-icon--injury{transform:rotate(-32deg) scale(.82)}
.pitch-player__attention span{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* Ticker icons */
.ticker-icon-shell{
    width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px
}
.duel-ticker-event>b.ticker-icon-shell{font-size:0;color:inherit}
.duel-ticker-event--own .tactix-icon--assist,
.duel-ticker-event--own .tactix-icon--sub-in{filter:none}
.bundesliga-event-center{
    display:grid!important;
    grid-template-columns:auto 16px minmax(0,1fr);
    gap:5px;
    align-items:center;
}
.bundesliga-event-center .tactix-icon{justify-self:center}

/* Bad Boys now use exactly the same card primitives as the rest of tactIX. */
.badboy-cards .tactix-icon{margin-right:0}


/* Sprint 10B – lineup remove control alignment */
button.pitch-player__remove{
    padding:0;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
}


/* Sprint 10B – status icon on lineup player card */
.pitch-player__fixture{
    display:flex;
    align-items:center;
    gap:4px;
}
.pitch-player__fixture .pitch-player__status-icon{
    margin-left:auto;
    margin-right:1px;
    flex:0 0 auto;
}
.pitch-player__fixture .pitch-player__status-icon.tactix-icon--injury{
    transform:rotate(-32deg) scale(.86);
}


/* Sprint 10B – optical centering of lineup remove X */
button.pitch-player__remove > span{
    display:block;
    line-height:1;
    transform:translateY(-1px);
}

/* Sprint 10C – simplified navigation + global matchday focus */
.topbar-matchday-focus{flex:0 0 auto;display:flex;align-items:center;margin-right:14px}
.app-topbar .topbar-feedback{margin-left:0}
.conference-duel.is-own{border-color:rgba(255,118,0,.42);box-shadow:inset 4px 0 0 var(--orange)}
.conference-duel.is-own>summary{background:linear-gradient(90deg,rgba(255,118,0,.08),transparent 46%)}
.conference-complete-form{margin:0 0 10px}


/* Sprint 10C – Conference cards aligned to Bundesliga visual pattern */
.conference-board{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
}
.conference-grid--head{
    margin:0 4px 7px;
    padding:0 12px;
}
.conference-list{
    display:grid;
    gap:8px;
}
.conference-duel{
    overflow:hidden;
    border:1px solid var(--line2);
    border-radius:10px;
    background:#081d31;
    box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.conference-duel>summary{border-radius:10px}
.conference-duel[open]>summary{border-radius:10px 10px 0 0}
.conference-duel.is-own{
    border:1px solid rgba(255,118,0,.48);
    box-shadow:inset 4px 0 0 var(--orange),0 4px 14px rgba(0,0,0,.10);
}
.conference-duel.is-own>summary{
    background:linear-gradient(90deg,rgba(255,118,0,.09),rgba(8,29,49,.98) 42%);
}
.conference-complete-form{
    margin-left:auto;
    display:flex;
    align-items:center;
}
.conference-complete-form .btn{
    min-width:116px;
    white-space:nowrap;
}


/* Sprint 10C fix2 – Conference behaves like the Bundesliga encounter list.
   The page grows with opened lineups; normal document scrolling handles the content. */
.conference-page{
    height:auto !important;
    min-height:0;
    grid-template-rows:auto auto auto;
    overflow:visible;
}
.conference-board{
    height:auto !important;
    min-height:0;
    overflow:visible;
}
.conference-list{
    height:auto !important;
    min-height:0;
    overflow:visible !important;
    display:grid;
    gap:8px;
}
.conference-duel{
    position:relative;
    overflow:hidden;
    border-radius:10px;
}
.conference-duel.is-own{
    border:1px solid rgba(255,118,0,.62);
    box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.conference-duel.is-own::before{
    content:"";
    position:absolute;
    z-index:20;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--orange);
    border-radius:10px 0 0 10px;
    pointer-events:none;
}
.conference-duel.is-own>summary,
.conference-duel.is-own[open]>summary{
    padding-left:16px;
}

/* Sprint 10C – hidden opponent cards reveal only the position */
.hidden-position-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:16px;
    padding:0 5px;
    border-radius:5px;
    background:rgba(255,118,0,.10);
    border:1px solid rgba(255,118,0,.24);
    color:var(--orange) !important;
    font-size:8px !important;
    line-height:1;
    font-weight:650;
    letter-spacing:.04em;
}
.conference-lineup-player.is-hidden .hidden-position-badge{
    justify-self:start;
    margin-bottom:1px;
}

/* Sprint 10C fix1 – position of hidden duel players must stay visible */
.opponent-player.is-hidden .duel-hidden-position{
    position:relative;
    z-index:5;
    flex:0 0 auto;
    align-self:center;
    margin-right:4px;
}
.opponent-player.is-hidden .lineup-player-copy{
    min-width:0;
}


/* Sprint 10C fix2 – position visible on hidden players in the active Duel live pitch */
.duel-pitch-player.is-hidden .duel-hidden-position-badge{
    position:absolute;
    z-index:6;
    top:5px;
    right:5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:16px;
    padding:0 5px;
    border-radius:5px;
    background:rgba(255,118,0,.12);
    border:1px solid rgba(255,118,0,.30);
    color:var(--orange);
    font-size:8px;
    font-weight:650;
    line-height:1;
    letter-spacing:.04em;
}


/* Sprint 10D – full manager league table on Overview */
.overview-manager-table-wrap{
    width:100%;
    overflow-x:auto;
    padding-top:9px;
}
.overview-manager-table{
    width:100%;
    min-width:500px;
    border-collapse:separate;
    border-spacing:0 5px;
    table-layout:fixed;
}
.overview-manager-table th{
    padding:0 5px 4px;
    color:#71879a;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
    text-align:center;
    white-space:nowrap;
}
.overview-manager-table th:nth-child(1){width:28px}
.overview-manager-table th:nth-child(2){width:auto;text-align:left}
.overview-manager-table th:nth-child(3),
.overview-manager-table th:nth-child(4),
.overview-manager-table th:nth-child(5),
.overview-manager-table th:nth-child(6){width:29px}
.overview-manager-table th:nth-child(7){width:52px}
.overview-manager-table th:nth-child(8){width:38px}
.overview-manager-table th:nth-child(9){width:38px}

.overview-manager-table tbody td{
    height:43px;
    padding:6px 5px;
    border-top:1px solid var(--line2);
    border-bottom:1px solid var(--line2);
    background:rgba(8,29,50,.28);
    color:#aebdca;
    font-size:10px;
    text-align:center;
    white-space:nowrap;
}
.overview-manager-table tbody td:first-child{
    border-left:1px solid var(--line2);
    border-radius:7px 0 0 7px;
}
.overview-manager-table tbody td:last-child{
    border-right:1px solid var(--line2);
    border-radius:0 7px 7px 0;
}
.overview-manager-table__identity{
    text-align:left !important;
    overflow:hidden;
}
.overview-manager-table__identity strong,
.overview-manager-table__identity small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.overview-manager-table__identity strong{
    color:#dce7ef;
    font-size:11px;
    font-weight:600;
}
.overview-manager-table__identity small{
    margin-top:2px;
    color:#71879a;
    font-size:10px;
    font-weight:400;
}
.overview-manager-table__position{
    color:#72889a !important;
}
.overview-manager-table__points{
    color:#eef4f8 !important;
    font-size:11px !important;
}
.overview-manager-table .is-positive{color:#9fc8e8}
.overview-manager-table .is-negative{color:#8f9eab}
.overview-manager-table tbody tr.is-me td{
    border-top-color:rgba(255,118,0,.50);
    border-bottom-color:rgba(255,118,0,.50);
    background:rgba(255,118,0,.065);
}
.overview-manager-table tbody tr.is-me td:first-child{
    border-left-color:rgba(255,118,0,.50);
    box-shadow:inset 3px 0 0 var(--orange);
}
.overview-manager-table tbody tr.is-me td:last-child{
    border-right-color:rgba(255,118,0,.50);
}


/* Sprint 10D – Overview dashboard V2: table first, no horizontal scrolling */
.overview-dashboard--fixed .overview-fixed-grid{
    grid-template-columns:minmax(0,2.45fr) minmax(255px,.85fr) !important;
    gap:12px !important;
    align-items:start !important;
}
.overview-dashboard--fixed .overview-fixed-main{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    min-width:0 !important;
}
.overview-dashboard--fixed .overview-main-top{
    display:grid !important;
    grid-template-columns:minmax(220px,.62fr) minmax(0,1.85fr) !important;
    gap:12px !important;
    min-width:0 !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero{
    min-width:0 !important;
    min-height:220px !important;
    padding:20px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero__action{
    width:100% !important;
    display:grid !important;
    gap:9px !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero__action small{
    font-size:10px !important;
    line-height:1.3 !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero__action .btn{
    width:100% !important;
    justify-content:center !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero h1{
    font-size:23px !important;
    line-height:1.1 !important;
}
.overview-dashboard--fixed .overview-main-top .overview-hero p{
    margin-top:6px !important;
    font-size:10px !important;
    line-height:1.35 !important;
}
.overview-dashboard--fixed .overview-main-top .overview-panel--duel{
    min-width:0 !important;
    width:100% !important;
    min-height:220px !important;
}
.overview-dashboard--fixed .overview-main-top .overview-duel{
    min-height:135px !important;
}

.overview-dashboard--fixed .overview-fixed-side{
    display:grid !important;
    min-width:0 !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpis--five{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpi{
    min-height:88px !important;
    padding:13px 15px !important;
    align-content:center !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpi>span{
    font-size:10px !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpi>strong{
    font-size:20px !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpi>small,
.overview-dashboard--fixed .overview-fixed-side .overview-kpi__action{
    font-size:10px !important;
}

.overview-dashboard--fixed .overview-panel--table{
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
}
.overview-manager-table-wrap{
    width:100% !important;
    overflow-x:visible !important;
    padding-top:9px !important;
}
.overview-manager-table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
}
.overview-manager-table th{
    padding-left:3px !important;
    padding-right:3px !important;
}
.overview-manager-table tbody td{
    padding-left:3px !important;
    padding-right:3px !important;
}
.overview-manager-table th:nth-child(1){width:25px !important}
.overview-manager-table th:nth-child(2){width:auto !important}
.overview-manager-table th:nth-child(3),
.overview-manager-table th:nth-child(4),
.overview-manager-table th:nth-child(5),
.overview-manager-table th:nth-child(6){width:27px !important}
.overview-manager-table th:nth-child(7){width:48px !important}
.overview-manager-table th:nth-child(8){width:36px !important}
.overview-manager-table th:nth-child(9){width:36px !important}

/* Table and season chart are primary content and stay below the compact top row. */
.overview-dashboard--fixed .overview-fixed-main>.overview-panel--table,
.overview-dashboard--fixed .overview-fixed-main>.overview-panel--points{
    grid-column:1 !important;
}

@media(max-width:1260px){
    .overview-dashboard--fixed .overview-fixed-grid{
        grid-template-columns:minmax(0,2.2fr) minmax(235px,.8fr) !important;
    }
    .overview-dashboard--fixed .overview-main-top{
        grid-template-columns:minmax(200px,.58fr) minmax(0,1.6fr) !important;
    }
}
@media(max-width:1040px){
    .overview-dashboard--fixed .overview-fixed-grid{
        grid-template-columns:1fr !important;
    }
    .overview-dashboard--fixed .overview-fixed-side .overview-kpis--five{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}
@media(max-width:760px){
    .overview-dashboard--fixed .overview-main-top{
        grid-template-columns:1fr !important;
    }
    .overview-dashboard--fixed .overview-main-top .overview-hero{
        min-height:auto !important;
    }
    .overview-dashboard--fixed .overview-fixed-side .overview-kpis--five{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:520px){
    .overview-dashboard--fixed .overview-fixed-side .overview-kpis--five{
        grid-template-columns:1fr !important;
    }
}


/* Sprint 10D Overview V2 Fix 1 – Zentrale + Matchup wirklich nebeneinander */
.overview-dashboard--fixed .overview-main-top{
    display:grid !important;
    grid-template-columns:minmax(235px,0.72fr) minmax(0,1.78fr) !important;
    grid-template-areas:"central duel" !important;
    align-items:stretch !important;
}
.overview-dashboard--fixed .overview-main-top > .overview-hero{
    grid-area:central !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
}
.overview-dashboard--fixed .overview-main-top > .overview-panel--duel{
    grid-area:duel !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
}
@media(max-width:760px){
    .overview-dashboard--fixed .overview-main-top{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "central"
            "duel" !important;
    }
}


/* Sprint 10D – Overview V2 Fix 3 */
.overview-dashboard--fixed .overview-main-top .overview-hero__action .btn{
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* Manager names and table values larger, while team name remains secondary. */
.overview-dashboard--fixed .overview-manager-table tbody td{
    font-size:14px !important;
}
.overview-dashboard--fixed .overview-manager-table__identity strong{
    font-size:15px !important;
    line-height:1.15 !important;
}
.overview-dashboard--fixed .overview-manager-table__identity small{
    font-size:11px !important;
    line-height:1.2 !important;
}
.overview-dashboard--fixed .overview-manager-table__points{
    font-size:15px !important;
}

/* KPI content on the right is aligned to the outer edge. */
.overview-dashboard--fixed .overview-fixed-side .overview-kpi{
    text-align:right !important;
    justify-items:end !important;
}
.overview-dashboard--fixed .overview-fixed-side .overview-kpi__action{
    text-align:right !important;
}

/* Match result is the visual focus of the matchup card. */
.overview-dashboard--fixed .overview-main-top .overview-duel>em{
    color:var(--orange) !important;
    font-size:40px !important;
    font-weight:700 !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
}

/* Sprint 10D Overview V2 Fix 4 */
.overview-dashboard--fixed .overview-main-top .overview-hero__action .overview-duel-details-btn{
    width:auto !important;
    min-width:0 !important;
    justify-content:center !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    text-transform:inherit !important;
}


/* Sprint 10D Overview V2 Fix 5 – Duell Details wie normaler Primary-Button */
.overview-dashboard--fixed .overview-main-top .overview-hero__action .overview-duel-details-btn{
    width:auto !important;
    min-width:0 !important;
    height:42px !important;
    padding:0 18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:flex-start !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:600 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}


/* Sprint 10D Overview V2 Fix 6 – Tabellenabstände / Informationsgruppen */
.overview-dashboard--fixed .overview-manager-table{
    table-layout:fixed !important;
}
.overview-dashboard--fixed .overview-manager-table th:nth-child(1),
.overview-dashboard--fixed .overview-manager-table td:nth-child(1){
    width:28px !important;
}
.overview-dashboard--fixed .overview-manager-table th:nth-child(2),
.overview-dashboard--fixed .overview-manager-table td:nth-child(2){
    width:auto !important;
}

/* Spiele – eigener Block mit etwas Luft nach links und rechts */
.overview-dashboard--fixed .overview-manager-table th:nth-child(3),
.overview-dashboard--fixed .overview-manager-table td:nth-child(3){
    width:54px !important;
    padding-left:12px !important;
    padding-right:14px !important;
}

/* S / U / N als kompakte Dreiergruppe */
.overview-dashboard--fixed .overview-manager-table th:nth-child(4),
.overview-dashboard--fixed .overview-manager-table td:nth-child(4),
.overview-dashboard--fixed .overview-manager-table th:nth-child(5),
.overview-dashboard--fixed .overview-manager-table td:nth-child(5),
.overview-dashboard--fixed .overview-manager-table th:nth-child(6),
.overview-dashboard--fixed .overview-manager-table td:nth-child(6){
    width:38px !important;
    padding-left:7px !important;
    padding-right:7px !important;
}

/* Tore – neue Informationsgruppe, daher deutlich mehr Abstand davor */
.overview-dashboard--fixed .overview-manager-table th:nth-child(7),
.overview-dashboard--fixed .overview-manager-table td:nth-child(7){
    width:72px !important;
    padding-left:18px !important;
    padding-right:12px !important;
}

/* Diff und Punkte jeweils wieder mit kleinem Gruppenabstand */
.overview-dashboard--fixed .overview-manager-table th:nth-child(8),
.overview-dashboard--fixed .overview-manager-table td:nth-child(8){
    width:58px !important;
    padding-left:14px !important;
    padding-right:10px !important;
}
.overview-dashboard--fixed .overview-manager-table th:nth-child(9),
.overview-dashboard--fixed .overview-manager-table td:nth-child(9){
    width:58px !important;
    padding-left:14px !important;
    padding-right:12px !important;
}

/* Zahlen optisch sauber unter ihren Überschriften halten */
.overview-dashboard--fixed .overview-manager-table th:nth-child(n+3),
.overview-dashboard--fixed .overview-manager-table td:nth-child(n+3){
    text-align:center !important;
}


/* === Sprint 10l: Profile + Admin shell =================================== */
.manager-profile__identity{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}
.manager-profile__identity strong{color:#fff;font-size:12px;line-height:1.1;white-space:nowrap}
.manager-profile__identity small{color:#f59a23;font-size:10px;font-weight:500;line-height:1.1;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.manager-profile-dropdown__identity{display:flex;flex-direction:column;gap:4px;padding-bottom:12px}
.manager-profile-dropdown__identity>span{color:#f59a23;font-size:11px}
.manager-profile-dropdown__nav{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.manager-profile-dropdown__nav a{display:flex;align-items:center;min-height:34px;padding:0 10px;border-radius:7px;color:#d8e2ee;text-decoration:none;font-size:12px;font-weight:500}
.manager-profile-dropdown__nav a:hover,.manager-profile-dropdown__nav a.is-active{background:rgba(255,255,255,.06);color:#fff}
.account-page{padding-top:30px}
.account-page__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}
.account-page__head h1{margin:4px 0 5px;color:#fff;font-size:30px;font-weight:600}
.account-page__head p{margin:0;color:#8295aa;font-size:12px}
.account-avatar-large,.account-avatar-preview{display:grid;place-items:center;border:1px solid rgba(245,154,35,.35);background:linear-gradient(145deg,#0b2440,#102f50);color:#f59a23;font-weight:700}
.account-avatar-large{width:54px;height:54px;border-radius:50%;font-size:20px}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.account-card{padding:22px}
.account-card--wide{grid-column:1/-1}
.account-card__head h2,.admin-card__head h2{margin:3px 0 0;color:#fff;font-size:18px;font-weight:600}
.account-form{display:grid;gap:14px;margin-top:20px}
.account-form label{display:grid;gap:6px}
.account-form label>span{color:#95a9bd;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.account-form .btn{justify-self:start;margin-top:4px}
.account-avatar-row{display:flex;align-items:center;gap:18px;margin-top:18px}
.account-avatar-preview{width:64px;height:64px;border-radius:50%;font-size:22px}
.account-avatar-row strong{color:#fff;font-size:13px}.account-avatar-row p{max-width:620px;margin:5px 0 0;color:#8295aa;font-size:11px;line-height:1.5}
.account-flash{margin:-8px 0 18px;padding:10px 13px;border-radius:8px;font-size:11px}
.account-flash.success{background:rgba(53,194,121,.12);color:#83e2af}.account-flash.error{background:rgba(233,83,83,.12);color:#ff9b9b}
.admin-status-pill{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(245,154,35,.25);border-radius:999px;color:#f59a23;font-size:10px;font-weight:700;letter-spacing:.08em}
.admin-status-pill i{width:6px;height:6px;border-radius:50%;background:#f59a23;box-shadow:0 0 8px rgba(245,154,35,.7)}
.admin-card{padding:20px;margin-bottom:18px}
.admin-card__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:17px}
.admin-card__head>span{color:#6f8296;font-size:10px}
.admin-competition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.admin-competition{position:relative;display:grid;grid-template-columns:1.4fr 1fr .5fr;gap:10px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.018)}
.admin-competition>div{display:flex;flex-direction:column;gap:2px}.admin-competition strong,.admin-competition b{color:#fff;font-size:11px}.admin-competition small,.admin-competition span{color:#74889d;font-size:9px}.admin-competition em{position:absolute;right:9px;top:8px;color:#66798d;font-size:8px;font-style:normal;font-weight:700}.admin-competition em.is-on{color:#f59a23}
.admin-season-table-wrap{overflow-x:auto}.admin-season-table{width:100%;border-collapse:collapse}.admin-season-table th{padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.09);color:#6f8296;font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.06em}.admin-season-table td{padding:12px 11px;border-bottom:1px solid rgba(255,255,255,.055);color:#b9c7d5;font-size:11px}.admin-season-table td strong,.admin-season-table td b{color:#fff}
.admin-season-state{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.05);color:#91a3b5;font-size:8px;font-weight:700}.admin-season-state.is-current{background:rgba(245,154,35,.12);color:#f59a23}
.admin-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-mini-card{padding:18px}.admin-mini-card h3{margin:5px 0 7px;color:#fff;font-size:14px}.admin-mini-card p{margin:0;color:#7d91a6;font-size:10px;line-height:1.5}
@media(max-width:900px){.account-grid,.admin-next-grid{grid-template-columns:1fr}.account-card--wide{grid-column:auto}.admin-competition{grid-template-columns:1fr 1fr}.manager-profile__identity small{max-width:120px}}


/* tactIX lineup win probability FIX1 */
.lineup-win-probability{
    grid-column:1/-1;
    align-self:end;
    margin-top:6px;
}
.lineup-win-probability__values{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    margin-bottom:5px;
}
.lineup-win-probability__values strong{
    font-size:9px;
    font-weight:600;
    color:#65a9ff;
}
.lineup-win-probability__values strong:last-child{
    text-align:right;
    color:var(--orange);
}
.lineup-win-probability__values small{
    font-size:7px;
    letter-spacing:.08em;
    color:#72869a;
}
.matchup-reference-card .probability-bars--wide{
    display:flex;
    gap:0;
    width:100%;
    height:4px;
    overflow:hidden;
    border-radius:3px;
    background:rgba(255,255,255,.05);
}
.matchup-reference-card .probability-bars--wide span{
    width:auto;
    height:4px;
    border-radius:0;
    background:#327ed9;
}
.matchup-reference-card .probability-bars--wide span:last-child{
    background:var(--orange);
}
/* tactIX Bundesliga matchup team logos FIX1 */
.bundesliga-analysis-match > summary .bundesliga-analysis-team{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.bundesliga-analysis-match > summary .bundesliga-analysis-team--away{
    justify-content:flex-end;
}
.bundesliga-analysis-team-logo{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
}
.bundesliga-analysis-team-logo img{
    display:block;
    max-width:42px;
    max-height:42px;
    width:auto;
    height:auto;
    object-fit:contain;
}
.bundesliga-analysis-team-copy{
    display:grid;
    gap:3px;
    min-width:0;
}
.bundesliga-analysis-team-copy > strong{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#fff;
}
.bundesliga-analysis-team-copy > span{
    white-space:nowrap;
}
.bundesliga-analysis-team--away .bundesliga-analysis-team-copy{
    text-align:right;
}
@media (max-width:900px){
    .bundesliga-analysis-team-logo{
        flex-basis:36px;
        width:36px;
        height:36px;
    }
    .bundesliga-analysis-team-logo img{
        max-width:36px;
        max-height:36px;
    }
}
/* tactIX matchday email reminder V1 */
.account-notification-form{gap:16px}
.account-toggle-row{display:flex!important;align-items:center;justify-content:space-between;gap:24px;padding:15px 16px;border:1px solid var(--line);border-radius:8px;background:rgba(7,29,50,.56)}
.account-toggle-copy{display:grid;gap:5px}
.account-toggle-copy strong{font-size:12px;color:#eef4fa;font-weight:550}
.account-toggle-copy small{max-width:720px;font-size:9px;line-height:1.5;color:#8fa1b4}
.account-switch{position:relative;flex:0 0 42px;width:42px;height:23px}
.account-switch input{position:absolute;opacity:0;pointer-events:none}
.account-switch i{position:absolute;inset:0;border-radius:20px;background:#17314a;border:1px solid rgba(145,177,207,.22);cursor:pointer;transition:.18s}
.account-switch i:after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#8295a8;transition:.18s}
.account-switch input:checked+i{background:rgba(255,118,0,.18);border-color:rgba(255,118,0,.62)}
.account-switch input:checked+i:after{left:21px;background:var(--orange)}
.account-reminder-select{max-width:360px}
.account-notification-hint{margin:0!important;color:#75899d!important;font-size:9px!important;line-height:1.5}
/* tactIX profile avatar V1 */
.profile-global-flash{margin:0 0 12px}
.manager-avatar{overflow:hidden}
.manager-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.account-avatar-large{overflow:hidden}
.account-avatar-large img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.account-avatar-preview{overflow:hidden}
.account-avatar-preview img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.account-avatar-upload{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:18px}
.account-avatar-upload .account-avatar-preview{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#102a45;border:2px solid rgba(255,255,255,.12);font-size:22px}
.account-avatar-upload__copy{display:grid;gap:5px}
.account-avatar-upload__copy strong{font-size:12px;color:#eef4fa}
.account-avatar-upload__copy p{margin:0 0 6px!important;font-size:9px!important;color:#8295a8!important}
.account-file-picker{display:inline-flex;align-items:center;width:max-content}
.account-file-picker input{position:absolute;opacity:0;width:1px;height:1px}
.account-file-picker span{display:inline-flex;align-items:center;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#0a2038;color:#d8e2eb;font-size:9px;cursor:pointer}
.account-file-picker:hover span{border-color:rgba(255,118,0,.45)}
@media(max-width:700px){
    .account-avatar-upload{grid-template-columns:64px 1fr}
    .account-avatar-upload .btn{grid-column:1/-1}
}
/* tactIX manager avatars everywhere V1 */
.mini-avatar,
.conference-team-avatar,
.manager-matchup-avatar,
.stats-manager-avatar{
    overflow:hidden;
}
.mini-avatar img,
.conference-team-avatar img,
.manager-matchup-avatar img,
.stats-manager-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
}
.manager-matchup-avatar{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#17314a;
    border:2px solid rgba(79,156,255,.46);
    color:#dce7f1;
    font-size:11px;
}
.manager-matchup-avatar--opponent{
    border-color:rgba(255,118,0,.72);
}
.manager-matchup-avatar--small{
    flex-basis:34px;
    width:34px;
    height:34px;
    border-width:1px;
}
.duel-side{
    display:flex;
    align-items:center;
    gap:12px;
}
.duel-side--right{
    justify-content:flex-end;
}
.duel-side__copy{
    display:grid;
}
.duel-side--right .duel-side__copy{
    text-align:right;
}
.league-duel-team{
    display:flex;
    align-items:center;
    gap:9px;
}
.league-duel-team--away{
    justify-content:flex-end;
}
.league-duel-team__copy{
    display:grid;
}
.league-duel-team--away .league-duel-team__copy{
    text-align:right;
}
.conference-team-avatar img{
    object-fit:cover;
}
.stats-manager-name{
    display:flex;
    align-items:center;
    gap:7px;
}
.stats-manager-avatar{
    flex:0 0 24px;
    width:24px;
    height:24px;
    border-radius:50%;
    border:1px solid rgba(145,177,207,.28);
    background:#17314a;
}
/* tactIX remaining manager avatars fix1 */
.manager-avatar,.duel-live-avatar,.overview-hero__avatar,.overview-table-avatar{overflow:hidden}
.manager-avatar img,.duel-live-avatar img,.overview-hero__avatar img,.overview-table-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.overview-hero__avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;align-self:flex-end;background:#17314a;border:2px solid rgba(79,156,255,.45);font-size:12px;color:#dce7f1}
.overview-manager-table__identity{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center}
.overview-table-avatar{grid-row:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#17314a;border:1px solid rgba(145,177,207,.28);font-size:9px}
.overview-manager-table__identity-copy{display:grid;min-width:0}
.duel-live-avatar img{object-fit:cover}
/* tactIX manager avatar perfect circles fix1 */
/*
 * Alle Manager-Avatare: exakt ein runder Ausschnitt.
 * aspect-ratio verhindert ovale Container; das Bild selbst hat keinen
 * zweiten Radius/Ausschnitt, sondern füllt den runden Elternkreis.
 */
.manager-avatar,
.account-avatar-large,
.account-avatar-preview,
.mini-avatar,
.conference-team-avatar,
.manager-matchup-avatar,
.stats-manager-avatar,
.overview-hero__avatar,
.overview-table-avatar,
.duel-live-avatar {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.manager-avatar > img,
.account-avatar-large > img,
.account-avatar-preview > img,
.mini-avatar > img,
.conference-team-avatar > img,
.manager-matchup-avatar > img,
.stats-manager-avatar > img,
.overview-hero__avatar > img,
.overview-table-avatar > img,
.duel-live-avatar > img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* Der Profil-Upload darf durch Grid/Flex nicht in die Breite gezogen werden. */
.account-avatar-upload .account-avatar-preview {
    width: 74px;
    height: 74px;
    min-width: 74px;
    min-height: 74px;
    max-width: 74px;
    max-height: 74px;
}

@media(max-width:700px){
    .account-avatar-upload .account-avatar-preview {
        width:64px;
        height:64px;
        min-width:64px;
        min-height:64px;
        max-width:64px;
        max-height:64px;
    }
}
/* tactIX overview table avatar border fix1 */
/*
 * Die Identity-Zelle ist ein echtes <td>. Sie darf nicht als CSS-Grid
 * dargestellt werden, weil dadurch die zusammenhängende Tabellenkante der
 * orange markierten eigenen Zeile unterbrochen/versetzt wird.
 */
.overview-manager-table td.overview-manager-table__identity{
    display:table-cell !important;
    position:relative;
    vertical-align:middle;
    padding-left:50px !important;
}

.overview-manager-table__identity .overview-table-avatar{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    margin:0;
}

.overview-manager-table__identity-copy{
    display:grid;
    min-width:0;
}
/* tactIX provider lineup state S11/BANK v1 */
.pool-status-cell{
    white-space:nowrap;
}
.pool-lineup-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:20px;
    margin-left:7px;
    padding:0 7px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.055em;
    line-height:1;
    vertical-align:middle;
}
.pool-lineup-state--s11{
    background:rgba(38,188,132,.14);
    border:1px solid rgba(82,225,169,.42);
    color:#8ff0c7;
}
.pool-lineup-state--bank{
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.72);
}

/* tactIX official lineup status v2: exclusive S11 / bench icon */
.pool-lineup-state--bank{
    min-width:30px;
    width:30px;
    padding:0;
}
.lineup-state-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    vertical-align:middle;
}
.lineup-state-icon--s11{
    min-width:25px;
    height:17px;
    padding:0 4px;
    border-radius:999px;
    background:rgba(38,188,132,.14);
    border:1px solid rgba(82,225,169,.42);
    color:#8ff0c7;
    font-size:7px;
    font-weight:800;
    letter-spacing:.03em;
}
.lineup-state-icon--bank{
    width:23px;
    height:17px;
}
.bench-icon{
    position:relative;
    display:inline-block;
    width:19px;
    height:13px;
    border:1.5px solid currentColor;
    border-radius:2px 2px 0 0;
    color:rgba(255,255,255,.72);
}
.bench-icon:before{
    content:"";
    position:absolute;
    left:-3px;
    right:-3px;
    bottom:2px;
    height:3px;
    border:1.5px solid currentColor;
    border-radius:1px;
    background:#0b233d;
}
.bench-icon:after{
    content:"";
    position:absolute;
    left:2px;
    right:2px;
    bottom:-4px;
    height:4px;
    border-left:1.5px solid currentColor;
    border-right:1.5px solid currentColor;
}
.pitch-player__fixture .lineup-state-icon.pitch-player__status-icon{
    margin-left:auto;
    transform:none;
}
.pitch-player__fixture .lineup-state-icon--bank.pitch-player__status-icon{
    width:23px;
}


/* tactIX official lineup status v3: pitch badges + not-in-squad */
.pool-lineup-state--not-in-squad{
    min-width:24px;
    width:24px;
    padding:0;
    border-color:rgba(255,90,90,.42);
    background:rgba(255,75,75,.08);
}
.tactix-icon--not-in-squad:before,
.tactix-icon--not-in-squad:after{
    background:#ff5f5f !important;
}

.pitch-player__lineup-state{
    position:absolute;
    right:8px;
    bottom:25px;
    z-index:20;
    height:17px;
    min-width:25px;
    padding:0 5px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    pointer-events:none;
}
.pitch-player__lineup-state--s11{
    border:1px solid rgba(82,225,169,.52);
    background:rgba(38,188,132,.17);
    color:#8ff0c7;
    font-size:8px;
    font-weight:800;
    letter-spacing:.04em;
}
.pitch-player__lineup-state--bank{
    width:25px;
    min-width:25px;
    padding:0 3px;
    border:1px solid rgba(167,184,200,.42);
    background:rgba(135,151,166,.10);
}
.pitch-player__lineup-state--bank .bench-icon{
    transform:scale(.78);
}
.pitch-player__lineup-state--not-in-squad{
    width:22px;
    min-width:22px;
    padding:0;
    border:1px solid rgba(255,90,90,.45);
    background:rgba(255,75,75,.08);
}
.pitch-player__lineup-state--not-in-squad .tactix-icon{
    transform:scale(.76);
}


/* Knockout score stack FIX1 */
.bundesliga-analysis-result{
    min-height:50px;
}
.bundesliga-analysis-score-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    min-height:32px;
    line-height:1;
}
.bundesliga-analysis-score-line{
    display:block;
    white-space:nowrap;
}
.bundesliga-analysis-score-line--history{
    color:#8295a7;
    font-size:12px;
    font-weight:550;
    line-height:1.05;
}
.bundesliga-analysis-score-line--final{
    color:#f4f7fb;
    font-size:20px;
    font-weight:700;
    line-height:1.05;
    letter-spacing:-.015em;
}
.bundesliga-analysis-result>small{
    margin-top:3px;
}
/* TACTIX_OVERVIEW_MATCHUPS_V1 */
.overview-matchup-stack{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.overview-hero--compact{
    min-height:0;
}
.overview-hero__identity{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:14px;
    min-width:0;
}
.overview-hero--compact .overview-hero__copy{
    min-width:0;
}
.overview-hero--compact .overview-hero__copy h1{
    margin:0;
}
.overview-hero--compact .overview-hero__copy p{
    margin:5px 0 0;
}
.overview-duel--compact{
    min-height:0;
}
.overview-matchup-kickoff{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(151,177,202,.14);
    color:#91a8bd;
    font-size:.88rem;
}
.overview-duel--history > em{
    font-size:1rem;
    font-style:normal;
    letter-spacing:.06em;
    white-space:nowrap;
}
/* TACTIX_DESKTOP_OVERVIEW_LAYOUT_V19 */
@media (min-width:761px){

    /* Topbereich exakt auf Tabellenbreite:
       links Zentrale ~1/3, rechts beide Matchups ~2/3. */
    body[data-manager-view="overview"]
    .overview-dashboard--fixed
    .overview-main-top{
        display:grid!important;
        grid-template-columns:minmax(280px,1fr) minmax(0,2fr)!important;
        grid-template-areas:"central matchups"!important;
        gap:12px!important;
        align-items:stretch!important;
    }

    body[data-manager-view="overview"]
    .overview-dashboard--fixed
    .overview-main-top > .overview-hero--with-lineup{
        grid-area:central!important;
        grid-column:auto!important;
        grid-row:auto!important;
        width:100%!important;
        min-width:0!important;
        min-height:0!important;
        height:auto!important;
        margin:0!important;
        padding:18px!important;

        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        grid-template-rows:auto 1fr!important;
        grid-template-areas:
            "kicker kicker"
            "identity lineup"!important;
        column-gap:16px!important;
        row-gap:12px!important;
        align-items:center!important;
        justify-content:initial!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup .overview-hero__kicker{
        grid-area:kicker!important;
        margin:0!important;
        align-self:start!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup .overview-hero__identity{
        grid-area:identity!important;
        display:grid!important;
        grid-template-columns:64px minmax(0,1fr)!important;
        gap:12px!important;
        align-items:center!important;
        min-width:0!important;
        margin:0!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup .overview-hero__avatar{
        width:64px!important;
        height:64px!important;
        min-width:64px!important;
        min-height:64px!important;
        max-width:64px!important;
        max-height:64px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__copy--stacked{
        display:grid!important;
        gap:2px!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__league,
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__team{
        display:block!important;
        font-size:11px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__league{
        color:#c1ccd6!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__team{
        color:#8fa2b5!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero__copy--stacked h1{
        margin:4px 0 0!important;
        font-size:21px!important;
        line-height:1.05!important;
        font-weight:650!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /* Aufstellung am rechten Rand der Zentrale. */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup .overview-hero__lineup{
        grid-area:lineup!important;
        display:grid!important;
        justify-self:end!important;
        align-self:center!important;
        justify-items:end!important;
        align-content:center!important;
        min-width:92px!important;
        margin:0!important;
        padding:0!important;
        text-align:right!important;
    }

    body[data-manager-view="overview"] .overview-hero__lineup > span{
        color:#8fa2b4!important;
        font-size:9px!important;
        line-height:1!important;
        text-transform:uppercase!important;
        letter-spacing:.10em!important;
    }

    body[data-manager-view="overview"] .overview-hero__lineup > strong{
        margin-top:6px!important;
        font-size:25px!important;
        line-height:1!important;
        font-weight:500!important;
        color:#f2f6fa!important;
    }

    body[data-manager-view="overview"] .overview-hero__lineup > small{
        margin-top:7px!important;
        color:#91a4b6!important;
        font-size:9px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
    }

    body[data-manager-view="overview"] .overview-hero__lineup > a{
        margin-top:7px!important;
        color:var(--orange)!important;
        font-size:9px!important;
        line-height:1!important;
        font-weight:600!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }

    /* Handlungsbedarf auch auf Desktop klar markieren. */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup.needs-action{
        position:relative!important;
        border-color:var(--orange)!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup.needs-action::before{
        content:""!important;
        position:absolute!important;
        left:0!important;
        top:0!important;
        bottom:0!important;
        width:5px!important;
        background:var(--orange)!important;
        border-radius:10px 0 0 10px!important;
        pointer-events:none!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-hero--with-lineup.needs-action .overview-hero__lineup > strong{
        color:var(--orange)!important;
    }

    /* Die alte separate Desktop-Aufstellungs-KPI ist jetzt redundant. */
    body[data-manager-view="overview"] .overview-kpi--desktop-lineup{
        display:none!important;
    }

    /* Rechte 2/3: Matchups bewusst untereinander. */
    body[data-manager-view="overview"]
    .overview-main-top > .overview-matchup-stack{
        grid-area:matchups!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-template-rows:auto auto!important;
        gap:12px!important;
        min-width:0!important;
        align-items:start!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top .overview-panel--duel{
        width:100%!important;
        min-width:0!important;
        min-height:0!important;
        height:auto!important;
        padding:16px 18px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top .overview-panel--duel .overview-panel__head{
        margin-bottom:10px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top .overview-panel--duel .overview-panel__head h2{
        margin-top:3px!important;
        font-size:18px!important;
    }

    /* Spielpaarung kompakt. VS bewusst klein und neutral. */
    body[data-manager-view="overview"]
    .overview-main-top .overview-duel--compact{
        min-height:0!important;
        padding-top:10px!important;
        padding-bottom:6px!important;
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
        gap:14px!important;
        align-items:center!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top .overview-duel--compact > em{
        color:#aebdca!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:400!important;
        font-style:normal!important;
        letter-spacing:.02em!important;
        text-transform:none!important;
        white-space:nowrap!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top .overview-duel--compact strong{
        font-size:15px!important;
        line-height:1.15!important;
    }

    /* Letztes/gewähltes Matchup: Ergebnisstatus groß und orange. */
    body[data-manager-view="overview"]
    .overview-main-top .overview-history-outcome{
        display:block!important;
        width:100%!important;
        margin:5px 0 2px!important;
        text-align:right!important;
        color:var(--orange)!important;
        font-size:30px!important;
        line-height:.95!important;
        font-weight:750!important;
        letter-spacing:-.03em!important;
        text-transform:uppercase!important;
        white-space:nowrap!important;
    }

    /* Anpfiff kompakt halten. */
    body[data-manager-view="overview"]
    .overview-main-top .overview-matchup-kickoff{
        margin-top:8px!important;
        padding-top:8px!important;
        font-size:10px!important;
    }
}
/* TACTIX_DESKTOP_LAST_MATCHUP_COMPACT_V20 */
@media (min-width:761px){
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history{
   position:relative!important;padding:14px 18px 30px!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head{
   position:relative!important;display:block!important;min-height:42px!important;
   margin:0 0 6px!important;padding:0 240px 7px 0!important;border-bottom:1px solid var(--line2)!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head h2{
   margin:2px 0 0!important;font-size:18px!important;line-height:1.05!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-history-outcome{
   position:absolute!important;top:2px!important;right:0!important;width:auto!important;margin:0!important;
   text-align:right!important;color:var(--orange)!important;font-size:25px!important;line-height:1!important;
   font-weight:750!important;white-space:nowrap!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head>a{
   position:absolute!important;top:auto!important;right:0!important;bottom:-119px!important;
   margin:0!important;color:#91a4b6!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-duel--compact{
   min-height:0!important;margin:0!important;padding:7px 0 3px!important;align-items:center!important;
 }
 body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-duel-score{
   margin-top:5px!important;font-size:28px!important;line-height:1!important;
 }
}
/* TACTIX_DESKTOP_OVERVIEW_TARGET_LAYOUT_V21 */
@media (min-width:761px){

    body[data-manager-view="overview"] .overview-dashboard--fixed .overview-fixed-grid{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    body[data-manager-view="overview"] .overview-dashboard--fixed .overview-fixed-main{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    body[data-manager-view="overview"] .overview-dashboard--fixed .overview-main-top{
        display:grid!important;
        grid-template-columns:minmax(340px,1fr) minmax(0,2fr)!important;
        grid-template-areas:"left matchups"!important;
        gap:12px!important;
        align-items:stretch!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left{
        grid-area:left!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-template-rows:minmax(300px,1fr) auto!important;
        gap:12px!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left > .overview-hero--with-lineup{
        min-height:300px!important;
        height:100%!important;
        padding:20px 22px!important;
        align-content:start!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__avatar{
        width:84px!important;
        height:84px!important;
        min-width:84px!important;
        min-height:84px!important;
        max-width:84px!important;
        max-height:84px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__league,
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__team{
        font-size:13px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__copy--stacked h1{
        font-size:25px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi{
        min-height:92px!important;
        height:92px!important;
        padding:12px 14px!important;
        display:grid!important;
        align-content:center!important;
        justify-items:end!important;
        text-align:right!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi > span{
        font-size:10px!important;
        letter-spacing:.08em!important;
        text-transform:uppercase!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi > strong{
        margin-top:3px!important;
        font-size:22px!important;
        line-height:1!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi > small{
        margin-top:5px!important;
        font-size:9px!important;
    }

    body[data-manager-view="overview"] .overview-main-top > .overview-matchup-stack{
        grid-area:matchups!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-template-rows:auto auto!important;
        gap:12px!important;
        min-width:0!important;
        align-content:start!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--duel{
        min-height:0!important;
        height:auto!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next{
        padding:16px 18px 14px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next .overview-panel__head{
        margin-bottom:8px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next .overview-duel--compact{
        padding:8px 0 4px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history{
        padding:14px 18px 30px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head{
        min-height:52px!important;
        margin-bottom:6px!important;
        padding-right:300px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-history-outcome{
        top:1px!important;
        right:0!important;
        font-size:28px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-duel--compact{
        padding:8px 0 2px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-duel--compact > em{
        color:#aebdca!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:400!important;
    }

    body[data-manager-view="overview"] .overview-fixed-side{
        display:none!important;
    }

    body[data-manager-view="overview"] .overview-fixed-main > .overview-panel--table,
    body[data-manager-view="overview"] .overview-fixed-main > .overview-panel--points{
        width:100%!important;
        grid-column:1!important;
    }
}

@media (max-width:760px){
    body[data-manager-view="overview"] .overview-desktop-left{
        display:contents!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis{
        display:none!important;
    }
}
/* TACTIX_DESKTOP_OVERVIEW_ALIGN_V22 */
@media (min-width:761px){

    /* Gesamthöhe beider Spalten angleichen */
    body[data-manager-view="overview"] .overview-dashboard--fixed .overview-main-top{
        align-items:stretch!important;
    }

    /* Linke Spalte exakt wie in der Vorlage:
       große Zentrale, darunter 2x2 KPIs */
    body[data-manager-view="overview"] .overview-desktop-left{
        grid-template-rows:390px auto!important;
        align-self:stretch!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left > .overview-hero--with-lineup{
        min-height:390px!important;
        height:390px!important;
        padding:26px 30px 24px!important;
        position:relative!important;

        display:grid!important;
        grid-template-columns:minmax(0,1fr) 145px!important;
        grid-template-rows:auto 1fr!important;
        grid-template-areas:
            "kicker kicker"
            "identity lineup"!important;
        column-gap:24px!important;
        row-gap:14px!important;
        align-items:start!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__kicker{
        grid-area:kicker!important;
        margin:0!important;
    }

    /* Profilblock links: Portrait oben, Textblock darunter */
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__identity{
        grid-area:identity!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:22px!important;
        margin:0!important;
        padding-top:0!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__avatar{
        width:112px!important;
        height:112px!important;
        min-width:112px!important;
        min-height:112px!important;
        max-width:112px!important;
        max-height:112px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__copy--stacked{
        display:grid!important;
        gap:3px!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__league,
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__team{
        font-size:14px!important;
        line-height:1.2!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__copy--stacked h1{
        margin-top:7px!important;
        font-size:27px!important;
        line-height:1!important;
    }

    /* Aufstellung oben rechts wie in der Vorlage */
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup{
        grid-area:lineup!important;
        justify-self:end!important;
        align-self:start!important;
        justify-items:end!important;
        text-align:right!important;
        padding-top:2px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > span{
        font-size:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > strong{
        margin-top:8px!important;
        font-size:31px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > small{
        margin-top:10px!important;
        font-size:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > a{
        margin-top:9px!important;
        font-size:10px!important;
    }

    /* KPI-Kacheln flach und paarweise */
    body[data-manager-view="overview"] .overview-desktop-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-auto-rows:112px!important;
        gap:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi{
        height:112px!important;
        min-height:112px!important;
        padding:13px 16px!important;
    }

    /* Rechte Spalte exakt auf Höhe der linken Spalte strecken */
    body[data-manager-view="overview"] .overview-main-top > .overview-matchup-stack{
        height:100%!important;
        align-self:stretch!important;
        grid-template-rows:1fr 1fr!important;
        align-content:stretch!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next,
    body[data-manager-view="overview"] .overview-main-top .overview-panel--history{
        height:100%!important;
        min-height:0!important;
        align-self:stretch!important;
    }

    /* Oberes Matchup vertikal wie in der Vorlage verteilen */
    body[data-manager-view="overview"] .overview-main-top .overview-panel--next{
        display:grid!important;
        grid-template-rows:auto 1fr auto!important;
        align-content:stretch!important;
        padding:20px 24px 18px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next .overview-duel--compact{
        align-self:center!important;
        padding:12px 0!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next .overview-matchup-kickoff{
        align-self:end!important;
    }

    /* Unteres Matchup ebenfalls füllt die komplette Hälfte */
    body[data-manager-view="overview"] .overview-main-top .overview-panel--history{
        display:grid!important;
        grid-template-rows:auto 1fr!important;
        align-content:stretch!important;
        padding:18px 24px 30px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-duel--compact{
        align-self:center!important;
        padding:10px 0!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-history-outcome{
        font-size:31px!important;
        top:0!important;
    }
}
/* TACTIX_DESKTOP_OVERVIEW_ALIGN_V23 */
@media (min-width:761px){

    /* Linke Spalte wie im Zielbild:
       Zentrale oben, darunter 2x2 KPIs */
    body[data-manager-view="overview"] .overview-desktop-left{
        grid-template-rows:350px auto!important;
        gap:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left > .overview-hero--with-lineup{
        height:350px!important;
        min-height:350px!important;
        padding:24px 26px 22px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 150px!important;
        grid-template-rows:auto 1fr!important;
        grid-template-areas:
            "kicker kicker"
            "identity lineup"!important;
        column-gap:24px!important;
        row-gap:16px!important;
        align-items:start!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__kicker{
        grid-area:kicker!important;
        margin:0!important;
    }

    /* Profilteil: Portrait oben, Textblock darunter */
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__identity{
        grid-area:identity!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:20px!important;
        margin:0!important;
        padding:0!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__avatar{
        width:96px!important;
        height:96px!important;
        min-width:96px!important;
        min-height:96px!important;
        max-width:96px!important;
        max-height:96px!important;
        flex:0 0 96px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__copy--stacked{
        display:grid!important;
        gap:3px!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__league,
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__team{
        font-size:13px!important;
        line-height:1.2!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__copy--stacked h1{
        margin:7px 0 0!important;
        font-size:25px!important;
        line-height:1!important;
    }

    /* Aufstellung konsequent oben rechts */
    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup{
        grid-area:lineup!important;
        align-self:start!important;
        justify-self:end!important;
        justify-items:end!important;
        text-align:right!important;
        padding:0!important;
        margin:0!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > span{
        font-size:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > strong{
        margin-top:7px!important;
        font-size:30px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > small{
        margin-top:9px!important;
        font-size:10px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-left .overview-hero__lineup > a{
        margin-top:8px!important;
        font-size:10px!important;
    }

    /* KPI-Kacheln etwas niedriger wie in der Vorlage */
    body[data-manager-view="overview"] .overview-desktop-kpis{
        gap:8px!important;
        grid-auto-rows:96px!important;
    }

    body[data-manager-view="overview"] .overview-desktop-kpis .overview-kpi{
        height:96px!important;
        min-height:96px!important;
        padding:12px 14px!important;
    }

    /* Rechte Spalte nicht künstlich aufblasen:
       beide Matchups bleiben kompakt und untereinander. */
    body[data-manager-view="overview"] .overview-main-top > .overview-matchup-stack{
        height:auto!important;
        align-self:start!important;
        grid-template-rows:auto auto!important;
        gap:10px!important;
        align-content:start!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next{
        height:245px!important;
        min-height:245px!important;
        padding:18px 22px 16px!important;
        display:grid!important;
        grid-template-rows:auto 1fr auto!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history{
        height:245px!important;
        min-height:245px!important;
        padding:16px 22px 28px!important;
        display:grid!important;
        grid-template-rows:auto 1fr!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--next .overview-duel--compact,
    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-duel--compact{
        align-self:center!important;
        padding:6px 0!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head{
        padding-right:290px!important;
        margin-bottom:2px!important;
    }

    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-history-outcome{
        top:0!important;
        right:0!important;
        font-size:30px!important;
    }

    /* Duell-Details unten rechts, aber oberhalb der Punktzeile */
    body[data-manager-view="overview"] .overview-main-top .overview-panel--history .overview-panel__head > a{
        position:absolute!important;
        top:auto!important;
        right:0!important;
        bottom:-150px!important;
        font-size:10px!important;
        color:#91a4b6!important;
        z-index:3!important;
    }

    /* VS klein und neutral */
    body[data-manager-view="overview"] .overview-main-top .overview-duel--compact > em{
        font-size:12px!important;
        font-weight:400!important;
        color:#aebdca!important;
    }
}
/* TACTIX_DESKTOP_CENTRAL_PROFILEBLOCK_V24 */
@media (min-width:761px){

    /*
     * Zentrale:
     * links Profilblock
     * rechts Aufstellungsblock
     * beide auf derselben horizontalen Achse
     */
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        grid-template-rows:auto 1fr!important;
        grid-template-areas:
            "kicker kicker"
            "identity lineup"!important;
        column-gap:28px!important;
        row-gap:18px!important;
        align-items:start!important;
    }

    /* Profilblock links */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__identity{
        grid-area:identity!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:14px!important;
        margin:0!important;
        padding:0!important;
        min-width:0!important;
    }

    /* Profilbild etwas größer */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__avatar{
        width:116px!important;
        height:116px!important;
        min-width:116px!important;
        min-height:116px!important;
        max-width:116px!important;
        max-height:116px!important;
        flex:0 0 116px!important;
    }

    /* Textblock direkt unter dem Bild */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__copy--stacked{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:2px!important;
        min-width:0!important;
        width:100%!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__league,
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__team{
        display:block!important;
        font-size:13px!important;
        line-height:1.22!important;
        font-weight:400!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__league{
        color:#c5d0da!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__team{
        color:#91a4b6!important;
    }

    /* Managername darunter bewusst größer */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__copy--stacked h1{
        margin:8px 0 0!important;
        font-size:29px!important;
        line-height:1!important;
        font-weight:650!important;
    }

    /* Aufstellungsblock rechts und auf Höhe des Profilbilds */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup{
        grid-area:lineup!important;
        align-self:start!important;
        justify-self:end!important;
        justify-items:end!important;
        text-align:right!important;
        margin:0!important;
        padding:10px 0 0!important;
        min-width:140px!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > span{
        font-size:10px!important;
        letter-spacing:.10em!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > strong{
        margin-top:8px!important;
        font-size:31px!important;
        line-height:1!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > small{
        margin-top:10px!important;
        font-size:10px!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > a{
        margin-top:9px!important;
        font-size:10px!important;
    }
}
/* TACTIX_DESKTOP_CENTRAL_COMPACT_V25 */
@media (min-width:761px){

    /* Nur "Deine Zentrale": Breite unverändert, Höhe auf Inhalt reduzieren. */
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup{
        height:auto!important;
        min-height:0!important;
        align-self:start!important;
        padding:20px 24px 18px!important;

        display:grid!important;
        grid-template-columns:minmax(0,1fr) 150px!important;
        grid-template-rows:auto auto!important;
        grid-template-areas:
            "kicker kicker"
            "identity lineup"!important;

        column-gap:26px!important;
        row-gap:14px!important;
        align-items:start!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__kicker{
        grid-area:kicker!important;
        margin:0!important;
    }

    /* Profilblock links:
       Bild oben, darunter Liga / Team / Managername. */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__identity{
        grid-area:identity!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-template-rows:auto auto!important;
        justify-items:start!important;
        align-items:start!important;
        gap:12px!important;
        margin:0!important;
        padding:0!important;
        min-width:0!important;
        width:auto!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__avatar{
        width:94px!important;
        height:94px!important;
        min-width:94px!important;
        min-height:94px!important;
        max-width:94px!important;
        max-height:94px!important;
        flex:none!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__copy--stacked{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:2px!important;
        width:auto!important;
        min-width:0!important;
        margin:0!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__league,
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__team{
        display:block!important;
        font-size:12px!important;
        line-height:1.2!important;
        white-space:nowrap!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__copy--stacked h1{
        margin:7px 0 0!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:650!important;
        white-space:nowrap!important;
    }

    /* Aufstellungsblock rechts, auf Höhe des Profilbildes. */
    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup{
        grid-area:lineup!important;
        align-self:start!important;
        justify-self:end!important;
        justify-items:end!important;
        text-align:right!important;
        margin:0!important;
        padding:2px 0 0!important;
        min-width:140px!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > span{
        font-size:9px!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > strong{
        margin-top:7px!important;
        font-size:29px!important;
        line-height:1!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > small{
        margin-top:8px!important;
        font-size:9px!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left
    .overview-hero__lineup > a{
        margin-top:8px!important;
        font-size:9px!important;
    }

    /* Wichtig: keine feste Zeilenhöhe der linken Spalte mehr,
       sonst bleibt unter der Kachel wieder Leerraum. */
    body[data-manager-view="overview"]
    .overview-desktop-left{
        grid-template-rows:auto auto!important;
        align-content:start!important;
    }
}
/* TACTIX_DESKTOP_CENTRAL_PROFILESTACK_V26 */
@media (min-width:761px){

    /*
     * V26 korrigiert gezielt den inneren Profilblock.
     * Entscheidend: Nicht nur den äußeren Hero-Grid steuern,
     * sondern den tatsächlich vorhandenen Identity-Container
     * als EINE Spalte erzwingen.
     */

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup{
        height:auto!important;
        min-height:0!important;
        padding:20px 24px 18px!important;
        align-self:start!important;
    }

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__identity{
        display:grid!important;
        grid-template-columns:94px!important;
        grid-template-rows:94px auto!important;
        grid-auto-flow:row!important;
        grid-auto-columns:94px!important;
        justify-content:start!important;
        justify-items:start!important;
        align-content:start!important;
        align-items:start!important;
        gap:12px 0!important;
        width:max-content!important;
        max-width:100%!important;
        min-width:0!important;
    }

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__identity
    .overview-hero__avatar{
        grid-column:1!important;
        grid-row:1!important;
        width:94px!important;
        height:94px!important;
        min-width:94px!important;
        min-height:94px!important;
        max-width:94px!important;
        max-height:94px!important;
        margin:0!important;
    }

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__identity
    .overview-hero__copy--stacked{
        grid-column:1!important;
        grid-row:2!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        width:max-content!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        gap:2px!important;
    }

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__identity
    .overview-hero__copy--stacked > *{
        margin-left:0!important;
        margin-right:0!important;
    }

    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__identity
    .overview-hero__copy--stacked h1{
        margin-top:7px!important;
    }

    /* Aufstellung wirklich oben an den Profilbereich hängen. */
    body[data-manager-view="overview"]
    .overview-hero.overview-hero--with-lineup
    .overview-hero__lineup{
        align-self:start!important;
        justify-self:end!important;
        margin:0!important;
        padding-top:0!important;
        transform:none!important;
    }

    /* Alte feste Höhe der linken Spalte vollständig neutralisieren. */
    body[data-manager-view="overview"] .overview-desktop-left{
        grid-template-rows:auto auto!important;
        align-content:start!important;
    }
}
/* TACTIX_DESKTOP_NEXT_MATCHUP_COMPACT_V27 */
@media (min-width:761px){

    /* Nur die obere rechte Kachel kompakter machen. */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next{
        height:auto!important;
        min-height:0!important;
        padding:14px 20px 12px!important;

        display:grid!important;
        grid-template-rows:auto auto auto!important;
        align-content:start!important;
        row-gap:0!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head{
        min-height:0!important;
        margin:0 0 6px!important;
        padding:0 0 7px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head .section-kicker{
        margin:0 0 2px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head h2{
        margin:0!important;
        font-size:18px!important;
        line-height:1.05!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-duel--compact{
        min-height:0!important;
        margin:0!important;
        padding:7px 0 6px!important;
        align-items:center!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-duel--compact small{
        margin-bottom:2px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-duel--compact strong{
        margin:0!important;
        line-height:1.1!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-matchup-kickoff{
        margin:0!important;
        padding:7px 0 0!important;
        line-height:1.1!important;
    }
}
/* TACTIX_DESKTOP_NEXT_MATCHUP_BALANCE_V28 */
@media (min-width:761px){

    /*
     * Nächstes Matchup wieder etwas großzügiger:
     * Zielbereich ca. 80–90 % der Zentrale.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next{
        position:relative!important;
        height:205px!important;
        min-height:205px!important;
        padding:17px 22px 15px!important;
        display:grid!important;
        grid-template-rows:auto 1fr auto!important;
        align-content:stretch!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head{
        min-height:0!important;
        margin:0!important;
        padding:0 0 10px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head .section-kicker{
        margin:0 0 3px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head h2{
        margin:0!important;
        line-height:1.08!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-duel--compact{
        position:relative!important;
        align-self:center!important;
        min-height:62px!important;
        margin:0!important;
        padding:13px 0 10px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-matchup-kickoff{
        margin:0!important;
        padding:10px 0 0!important;
        line-height:1.2!important;
    }

    /*
     * Duell Details aus der rechten Header-Ecke lösen
     * und mittig oberhalb des VS platzieren.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-panel__head > a{
        position:absolute!important;
        top:76px!important;
        left:50%!important;
        right:auto!important;
        bottom:auto!important;
        transform:translateX(-50%)!important;
        margin:0!important;
        padding:0!important;
        z-index:4!important;
        white-space:nowrap!important;
        font-size:10px!important;
        line-height:1!important;
        color:#91a4b6!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--next
    .overview-duel--compact > em{
        align-self:center!important;
        margin-top:12px!important;
    }
}
/* TACTIX_DESKTOP_LAST_MATCHUP_ALIGN_V29 */
@media (min-width:761px){

    /*
     * Rechte Spalte:
     * Unterkante "Letzter Spieltag" soll mit der Unterkante
     * der linken KPI-Gruppe abschließen.
     *
     * Zentrale ~ kompakt
     * KPIs 2 x 96px + 8px Gap
     * Nächstes Matchup 205px
     * => Letztes Matchup füllt den verbleibenden Raum.
     */
    body[data-manager-view="overview"]
    .overview-main-top{
        align-items:stretch!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    > .overview-matchup-stack{
        align-self:stretch!important;
        height:100%!important;
        display:grid!important;
        grid-template-rows:205px minmax(0,1fr)!important;
        gap:10px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history{
        position:relative!important;
        height:100%!important;
        min-height:0!important;
        padding:16px 22px 22px!important;
        display:grid!important;
        grid-template-rows:auto 1fr!important;
        align-content:stretch!important;
    }

    /*
     * Headerbereich kompakt.
     * Ergebnis sitzt rechts zwischen Kartenoberkante und Trennlinie.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-panel__head{
        position:relative!important;
        min-height:58px!important;
        margin:0!important;
        padding:0 290px 11px 0!important;
        display:block!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-panel__head .section-kicker{
        margin:0 0 3px!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-panel__head h2{
        margin:0!important;
        line-height:1.08!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-history-outcome{
        position:absolute!important;
        top:50%!important;
        right:0!important;
        transform:translateY(-50%)!important;
        margin:0!important;
        padding:0!important;
        width:auto!important;
        text-align:right!important;
        font-size:30px!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    /*
     * Matchup-Inhalt nutzt den verbleibenden Raum.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-duel--compact{
        position:relative!important;
        align-self:center!important;
        min-height:94px!important;
        margin:0!important;
        padding:14px 0 10px!important;
    }

    /*
     * "Duell Details" mittig über VS – analog zur oberen Kachel.
     * Der Link liegt offenbar im Header; deshalb absolut auf die
     * horizontale Kartenmitte setzen.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-panel__head > a{
        position:absolute!important;
        top:76px!important;
        left:50%!important;
        right:auto!important;
        bottom:auto!important;
        transform:translateX(-50%)!important;
        margin:0!important;
        padding:0!important;
        z-index:5!important;
        white-space:nowrap!important;
        font-size:10px!important;
        line-height:1!important;
        color:#91a4b6!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-duel--compact > em{
        align-self:center!important;
        margin-top:13px!important;
        font-size:12px!important;
        font-weight:400!important;
        color:#aebdca!important;
    }
}
/* TACTIX_DESKTOP_LAST_RESULT_HEADER_V30 */
@media (min-width:761px){

    /*
     * Ergebnis des letzten Matchups ausschließlich nach oben verschieben:
     * rechtsbündig und vertikal im Headerbereich zwischen
     * Kacheloberkante und horizontaler Trennlinie.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history{
        position:relative!important;
    }

    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-history-outcome{
        position:absolute!important;
        top:29px!important;
        right:22px!important;
        bottom:auto!important;
        left:auto!important;
        transform:translateY(-50%)!important;
        margin:0!important;
        padding:0!important;
        width:auto!important;
        max-width:none!important;
        text-align:right!important;
        white-space:nowrap!important;
        z-index:8!important;
        line-height:1!important;
    }
}
/* TACTIX_DESKTOP_LAST_RESULT_HEADER_V31 */
@media (min-width:761px){
    body[data-manager-view="overview"]
    .overview-main-top
    .overview-panel--history
    .overview-history-outcome{
        top:34px!important; /* V30: 29px -> exakt 5px weiter nach unten */
    }
}
/* TACTIX_OVERVIEW_READY_HEIGHT_V33 */
@media (min-width:761px){

    /*
     * 11/11 und Handlungsbedarf müssen dieselbe Kartenhöhe besitzen.
     * Die Zentrale bekommt deshalb für beide Zustände dieselbe Mindesthöhe.
     */
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup.is-ready,
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup.needs-action{
        min-height:286px!important;
        height:286px!important;
    }

    /*
     * Linke Spalte nicht mehr durch die höhere rechte Matchup-Spalte
     * auseinanderziehen lassen.
     */
    body[data-manager-view="overview"]
    .overview-desktop-left{
        grid-template-rows:286px auto!important;
        align-self:start!important;
        height:auto!important;
    }

    /*
     * Die vier KPI-Kacheln schließen unmittelbar unter der Zentrale an.
     */
    body[data-manager-view="overview"]
    .overview-desktop-kpis{
        align-self:start!important;
        margin-bottom:0!important;
    }
}
/* TACTIX_OVERVIEW_REVERT_FORCED_HEIGHT_V34 */
@media (min-width:761px){

    /*
     * V33 rückgängig machen:
     * "Deine Zentrale" darf nur so hoch sein, wie ihr Inhalt es erfordert.
     */
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup.is-ready,
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup.needs-action{
        min-height:0!important;
        height:auto!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left{
        grid-template-rows:auto auto!important;
        align-content:start!important;
        align-self:start!important;
        height:auto!important;
    }

    /*
     * Profil-/Aufstellungsblock weiterhin kompakt halten.
     * Keine künstliche vertikale Streckung.
     */
    body[data-manager-view="overview"]
    .overview-desktop-left
    > .overview-hero--with-lineup{
        align-self:start!important;
        align-content:start!important;
    }
}
/* TACTIX_OVERVIEW_EMPTY_HISTORY_COMPACT_V35 */
@media (min-width:761px){

    /*
     * Wenn noch kein letztes Matchup existiert, darf die untere rechte
     * Kachel nicht den gesamten verbleibenden Grid-Raum auffüllen.
     */
    body[data-manager-view="overview"]
    .overview-matchup-stack:has(.overview-panel--history .overview-empty){
        grid-template-rows:205px auto!important;
        height:auto!important;
        align-self:start!important;
        align-content:start!important;
    }

    body[data-manager-view="overview"]
    .overview-panel--history:has(.overview-empty){
        height:auto!important;
        min-height:0!important;
        padding-bottom:18px!important;
    }

    body[data-manager-view="overview"]
    .overview-panel--history:has(.overview-empty)
    .overview-empty{
        min-height:118px!important;
        height:auto!important;
        padding:18px 0 10px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:4px!important;
    }
}
/* TACTIX_OVERVIEW_COLUMNS_EQUAL_HEIGHT_V36 */
@media (min-width:761px){

    /*
     * Linke und rechte Gruppe sollen exakt auf derselben Unterkante enden.
     * Die linke Seite bestimmt die natürliche Gesamthöhe.
     */
    body[data-manager-view="overview"]
    .overview-main-top{
        align-items:stretch!important;
    }

    body[data-manager-view="overview"]
    .overview-desktop-left{
        align-self:stretch!important;
        height:auto!important;
    }

    /*
     * Rechte Spalte übernimmt exakt die Höhe der linken Spalte.
     * Oben bleibt "Nächstes Matchup" bei 205px,
     * "Letztes Matchup" füllt exakt den verbleibenden Raum.
     */
    body[data-manager-view="overview"]
    .overview-main-top
    > .overview-matchup-stack,
    body[data-manager-view="overview"]
    .overview-main-top
    > .overview-matchup-stack:has(.overview-panel--history .overview-empty){
        align-self:stretch!important;
        height:100%!important;
        min-height:0!important;
        display:grid!important;
        grid-template-rows:205px minmax(0,1fr)!important;
        gap:10px!important;
        align-content:stretch!important;
    }

    /*
     * Auch ohne vorhandenes letztes Matchup darf die untere Kachel
     * nicht mehr auf auto zusammenschrumpfen.
     */
    body[data-manager-view="overview"]
    .overview-panel--history,
    body[data-manager-view="overview"]
    .overview-panel--history:has(.overview-empty){
        height:100%!important;
        min-height:0!important;
        align-self:stretch!important;
    }

    /*
     * Leerer Zustand bleibt innerhalb der jetzt korrekt hohen Kachel
     * sauber zentriert.
     */
    body[data-manager-view="overview"]
    .overview-panel--history:has(.overview-empty)
    .overview-empty{
        min-height:0!important;
        height:100%!important;
        padding:18px 0!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:4px!important;
    }
}
/* TACTIX_DESKTOP_LEAGUES_COLLAPSIBLE_V38 */
@media (min-width:681px){

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible{
        overflow:hidden!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible
    > .generic-view-head{
        position:relative!important;
        min-height:72px!important;
        padding:18px 52px 18px 22px!important;
        margin:0!important;
        cursor:pointer!important;
        user-select:none!important;
        align-items:center!important;
    }

    /* Zugeklappt sichtbar: nur Liganame + ADMIN/ACTIVE-Badges */
    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible.is-collapsed
    > .generic-view-head
    .section-kicker{
        display:none!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible.is-collapsed
    > .generic-view-head h1{
        margin:0!important;
        font-size:22px!important;
        line-height:1.15!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible
    > .generic-view-head::after{
        content:"⌄"!important;
        position:absolute!important;
        right:22px!important;
        top:50%!important;
        transform:translateY(-50%) rotate(0deg)!important;
        color:#91a4b6!important;
        font-size:20px!important;
        line-height:1!important;
        transition:transform .16s ease!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible:not(.is-collapsed)
    > .generic-view-head::after{
        transform:translateY(-50%) rotate(180deg)!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible.is-collapsed
    > .card-body,
    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible.is-collapsed
    > .league-entry-admin{
        display:none!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible.is-collapsed{
        min-height:0!important;
        height:auto!important;
    }

    body[data-manager-view="leagues"]
    .league-list-column
    .desktop-league-collapsible
    .league-card-badges{
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
        margin-right:4px!important;
    }

    /*
     * Badges bleiben bewusst sichtbar:
     * z.B. ADMIN + ACTIVE bzw. MEMBER + ACTIVE.
     */
    body[data-manager-view="leagues"]
    .league-list-column{
        gap:10px!important;
    }
}
/* TACTIX_LEAGUE_ARCHIVE_ADMIN_TRANSFER_V39 */
.league-personal-actions{
    border-top:1px solid var(--line2);
    display:grid;
    gap:12px;
}
.league-personal-actions__head{
    display:grid;
    gap:3px;
}
.league-personal-actions__head strong,
.league-admin-transfer>span{
    font-size:11px;
    color:#dfe8f0;
}
.league-personal-actions__head small,
.league-admin-transfer small,
.league-running-note{
    font-size:9px;
    color:#91a4b6;
}
.league-admin-transfer{
    display:grid;
    gap:8px;
}
.league-admin-transfer form{
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto;
    gap:8px;
    align-items:center;
}
.league-inline-action,
.league-preseason-actions form{
    margin:0;
}
.league-danger-button{
    border-color:rgba(255,118,0,.45)!important;
    background:rgba(255,118,0,.06)!important;
    color:var(--orange)!important;
}
.league-running-note{
    padding-top:2px;
}
.league-archive{
    margin-top:4px;
    overflow:hidden;
}
.league-archive>summary{
    min-height:62px;
    padding:14px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    list-style:none;
}
.league-archive>summary::-webkit-details-marker{display:none}
.league-archive>summary>div{
    display:grid;
    gap:4px;
}
.league-archive>summary strong{
    font-size:16px;
    font-weight:550;
}
.league-archive__body{
    border-top:1px solid var(--line2);
    padding:10px;
    display:grid;
    gap:8px;
}
.league-archive-card{
    min-height:62px;
    padding:10px 12px;
    border:1px solid var(--line2);
    border-radius:8px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
}
.league-archive-card>div:first-child{
    min-width:0;
    display:grid;
    gap:3px;
}
.league-archive-card>div:first-child>strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}
.league-archive-card>div:first-child>small,
.league-archive-empty{
    color:#91a4b6;
    font-size:9px;
}

@media(max-width:680px){
    .league-admin-transfer form{
        grid-template-columns:1fr!important;
    }
    .league-archive-card{
        grid-template-columns:minmax(0,1fr) auto!important;
    }
    .league-archive-card form{
        grid-column:1/-1;
    }
    .league-archive-card form .btn{
        width:100%;
    }
}
/* TACTIX_ADMIN_PORTRAIT_AUDIT_V41 */
.admin-portrait-audit{
    position:relative;
}
.admin-portrait-audit.has-warning{
    border-color:rgba(255,118,0,.75)!important;
    box-shadow:inset 3px 0 0 var(--orange);
}
.admin-portrait-audit__count{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:8px 0 5px;
}
.admin-portrait-audit__count strong{
    font-size:30px;
    line-height:1;
    font-weight:500;
    color:#e8eef5;
}
.admin-portrait-audit.has-warning .admin-portrait-audit__count strong,
.admin-portrait-audit.has-warning .admin-portrait-audit__count span{
    color:var(--orange);
}
.admin-portrait-audit__count span{
    font-size:11px;
    font-weight:500;
}
.admin-portrait-audit__ok{
    display:block;
    margin-top:8px;
    color:#91a4b6;
    font-size:9px;
}
.admin-portrait-audit__details{
    margin-top:9px;
    border-top:1px solid var(--line2);
    padding-top:8px;
}
.admin-portrait-audit__details summary{
    cursor:pointer;
    color:var(--orange);
    font-size:9px;
    font-weight:600;
}
.admin-portrait-audit__details>div{
    display:grid;
    gap:4px;
    margin-top:7px;
    max-height:160px;
    overflow:auto;
}
.admin-portrait-audit__details span{
    font-size:8px;
    color:#91a4b6;
}
/* TACTIX_V1_LEGAL_PAGES_V43 */
.sidebar-brand-bottom{
    flex-wrap:wrap;
}
.sidebar-brand-bottom .tactix-version{
    flex-basis:100%;
    margin-left:28px;
    margin-top:-2px;
    color:#65798d;
    font-size:8px;
    font-weight:400;
    letter-spacing:.08em;
}
.sidebar-legal-links{
    flex-basis:100%;
    margin:5px 0 0 28px;
    display:flex;
    gap:5px;
    align-items:center;
    font-size:7px;
}
.sidebar-legal-links a,.sidebar-legal-links span{color:#65798d;text-decoration:none}
.sidebar-legal-links a:hover{color:#c6d2dd}
.mobile-legal-links{
    margin-top:6px;
    padding:10px 12px 2px;
    border-top:1px solid var(--line2);
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    font-size:9px;
    color:#708397;
}
.mobile-legal-links a{color:#91a4b6;text-decoration:none}
.legal-page{
    min-height:100vh;
    margin:0;
    background:#06182E;
    color:#e7edf3;
    font-family:Inter,Arial,sans-serif;
}
.legal-shell{
    width:min(820px,calc(100% - 32px));
    margin:0 auto;
    padding:42px 0 64px;
}
.legal-brand{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#e7edf3;
    text-decoration:none;
    margin-bottom:22px;
}
.legal-brand img{width:28px;height:28px}
.legal-brand>span{font-size:19px;font-weight:300}
.legal-brand small{color:#71859a;font-size:8px;margin-left:2px}
.legal-card{padding:28px 30px}
.legal-card h1{font-size:28px;font-weight:300;margin:6px 0 28px}
.legal-card h2{font-size:12px;font-weight:600;margin:24px 0 7px;color:#dfe8f0}
.legal-card p{font-size:11px;line-height:1.7;color:#a9b7c5;margin:0 0 10px}
.legal-card a{color:var(--orange);text-decoration:none}
.legal-muted{margin-top:24px!important;color:#7f91a3!important}
.legal-bottom{
    display:flex;justify-content:center;gap:7px;
    margin-top:14px;font-size:9px;color:#667b8f
}
.legal-bottom a{color:#8194a7;text-decoration:none}
@media(max-width:680px){
    .legal-shell{width:calc(100% - 22px);padding:24px 0 90px}
    .legal-card{padding:22px 18px}
    .legal-card h1{font-size:24px}
    .legal-card p{font-size:10px}
}
/* TACTIX_FIX_V1_SIDEBAR_MATCHDAY_44 */
.sidebar-brand-bottom {
    width: 100%;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: center !important;
}

.sidebar-brand-bottom > span,
.sidebar-brand-bottom > strong,
.sidebar-brand-bottom > .tactix-version,
.sidebar-brand-bottom > .sidebar-legal-links {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-basis: auto !important;
}

.sidebar-brand-bottom > span,
.sidebar-brand-bottom > strong,
.sidebar-brand-bottom .tactix-version {
    display: block;
    width: 100%;
    text-align: center;
}

.sidebar-brand-bottom .tactix-version {
    margin-top: 4px !important;
}

.sidebar-legal-links {
    width: 100%;
    margin-top: 17px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: center;
}

.sidebar-legal-links > span {
    display: none !important;
}

.sidebar-legal-links a {
    display: block;
    width: 100%;
    text-align: center;
    white-space: nowrap;
}
/* TACTIX_FIX_MOBILE_LEGAL_MENU_ROLLBACK_45 */
@media (max-width:680px){
    .mobile-more-sheet .mobile-legal-links{
        display:none!important;
    }
}
/* TACTIX_FIX_MOBILE_MORE_LEGAL_45_FIX1 */
@media (max-width:680px){
    .mobile-more-sheet .mobile-legal-links,
    .mobile-legal-footer{
        display:none!important;
    }
}
/* TACTIX_PROFILE_FLASH_TOP_56 */
.profile-global-flash{
    position:fixed!important;
    top:18px!important;
    left:112px!important;
    transform:none!important;
    z-index:200!important;
    width:max-content!important;
    max-width:calc(100vw - 220px)!important;
    margin:0!important;
    padding:10px 16px!important;
    white-space:nowrap;
}

@media (max-width:680px){
    .profile-global-flash{
        top:8px!important;
        left:12px!important;
        max-width:calc(100vw - 24px)!important;
        white-space:normal;
        text-align:center;
    }
}

/* TACTIX_FIX_STICKY_TOPBAR_57
 * Die globale Manager-Topbar bleibt beim Scrollen sichtbar.
 * Der alte Mockup-Benachrichtigungsindikator wurde aus manager.php entfernt.
 */
.app-topbar{
    position:sticky;
    top:0;
    z-index:40;
    background:linear-gradient(180deg,rgba(4,20,37,.98),rgba(4,20,37,.94));
    border-bottom:1px solid rgba(145,177,207,.08);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}



/* TACTIX_FIX_POOL_LOCK_AND_CARD_VISUALS_81B */
body[data-manager-view="lineup"] .player-name-cell strong.is-matchday-locked{
    color:#74879a !important;
    opacity:.72;
}
body[data-manager-view="lineup"] .playerpool-table .table-avatar.player-photo-avatar{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    flex:0 0 40px !important;
}
body[data-manager-view="lineup"] .playerpool-table td{height:54px}
body[data-manager-view="lineup"] .pitch-player .pitch-player__rating{
    font-size:15px !important;
    line-height:18px !important;
    max-width:58px !important;
}
body[data-manager-view="lineup"] .pitch-player footer > b{
    font-size:10px !important;
    line-height:12px !important;
}
body[data-manager-view="lineup"] .pitch-player footer > b::before{
    content:none !important;
    display:none !important;
}


/* TACTIX_PLAYER_CARD_AVERAGE_SYMBOL_01 */
.pitch-player__rating-symbol{font-size:.58em;line-height:1;font-weight:600;vertical-align:.12em;margin-right:1px}


/* TACTIX_PLAYER_CARD_LIVE_AVERAGE_COLORS_02 */
.pitch-player__rating.is-live{color:var(--orange)}
.pitch-player__rating.is-average{color:#65a9ff}
.pitch-player__rating-symbol{font-size:.58em;line-height:1;font-weight:600;vertical-align:.12em;margin-right:1px}


/* TACTIX_PLAYER_CARD_POINT_SIZES_03 */
.pitch-player__rating{font-size:12px}
.pitch-player footer b{font-size:12px}
.pitch-player footer small{font-size:12px}


/* TACTIX_PLAYER_CARD_POINT_SIZES_04 */
.pitch-player__rating{font-size:12px}
.pitch-player footer b{font-size:12px}
.pitch-player footer small{font-size:12px}
.pitch-player__points-value{font-size:12px}
.pitch-player__points-unit{font-size:8px}


/* TACTIX_PLAYER_CARD_NUMBER_SIZES_06 */
.pitch-player__rating{font-size:11px}
.pitch-player footer b{font-size:inherit}
.pitch-player__multi-prefix{font-size:8px}
.pitch-player__multi-value{font-size:11px}
.pitch-player footer small{font-size:inherit}
.pitch-player__points-value{font-size:11px}
.pitch-player__points-unit{font-size:8px}


/* TACTIX_PLAYER_CARD_FOOTER_ALIGN_07 */
.pitch-player footer{align-items:baseline}
.pitch-player footer b,.pitch-player footer small{line-height:1}
.pitch-player__multi-prefix,.pitch-player__multi-value,.pitch-player__points-value,.pitch-player__points-unit{line-height:1}


/* TACTIX_PLAYER_CARD_INFO_DOWN_08 */
.pitch-player>strong{transform:translateY(6px)}
.pitch-player>span{transform:translateY(6px)}
.pitch-player footer{transform:translateY(6px)}


/* TACTIX_PLAYER_CARD_INFO_BLOCK_ALIGN_09 */
/* Korrektur zu INFO_DOWN_08: Fixture wirklich mitnehmen; Footer-Zahlen an alter Position halten. */
.pitch-player>strong{transform:translateY(6px)}
.pitch-player__fixture{transform:translateY(6px)}
.pitch-player footer{transform:translateY(6px)}
.pitch-player footer>b,.pitch-player footer>small{transform:translateY(-6px)}
