/* Persistent roster and fantasy schedule */
.starter-title{font-size:22px;margin:0 0 6px}.starter-picker{margin:15px 0 20px}.starter-row{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:8px;margin:8px 0;color:#b8c8ab;font-size:10px}.starter-row select{padding:8px 6px;margin:0;font-size:11px;min-width:0}.bench-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;color:#9ead91;font-size:10px}.bench-strip>span{width:100%;font-size:8px;letter-spacing:1.3px;color:#758668}.bench-strip b{padding:6px 8px;background:#273422;border:1px solid #3b4a31;border-radius:5px;font-size:10px;font-weight:500}.bench-strip small{font-size:9px;color:#819576}.schedule-summary{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding:16px 20px;background:#24311f;border:1px solid #405631;border-radius:9px;font-size:12px;color:#a9bd9a}.schedule-summary strong{font:30px var(--display);color:var(--lime);margin-right:8px}.schedule-list{display:flex;flex-direction:column;gap:20px}.schedule-round{margin:0;padding:24px}.current-round{border-color:#5d8248;background:linear-gradient(145deg,#243021,#18201b)}.schedule-date{font-size:10px;color:#8f9f83;margin-bottom:14px}.schedule-date strong{color:#d1dec6;font-weight:500}.schedule-fixtures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-top:10px}.fixture{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 14px;background:#172016;border:1px solid #2b3a26;border-radius:8px;transition:all .15s}.fixture:hover{border-color:#3d5236}
.fixture-side{display:flex;align-items:center;gap:8px;min-width:0}
.fixture-side.home{justify-content:flex-start}
.fixture-side.away{justify-content:flex-end;text-align:right}
.fixture-side>strong{font-size:12px;color:#d5e5c8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixture-crest{width:26px;height:26px;object-fit:contain;flex-shrink:0}
.your-fixture{background:linear-gradient(135deg,#1d2b1a,#141f14);border-color:rgba(203,247,107,0.4);box-shadow:0 0 10px rgba(203,247,107,0.1)}
.your-fixture:hover{border-color:var(--lime)}
.fixture-score{text-align:center;font:20px var(--display);color:var(--lime);min-width:90px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fixture-score small{display:block;font:8px var(--body);letter-spacing:0.5px;color:#7f9272;margin-top:2px}
.schedule-round .section-head{margin-bottom:10px}
.squad-summary{top:12px}
.market-layout{grid-template-columns:minmax(0,1fr) 315px}
.filter{display:inline-flex;align-items:center;gap:6px}
.filter-count{font-size:9px;padding:1px 6px;border-radius:10px;background:#2d3a2b;color:#bedb96;font-weight:600}
.filter.active .filter-count{background:#1a2512;color:#cbf76b}

.market-stats-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(135deg,#1c261b,#141c16);border:1px solid #2d3e28;border-radius:8px;padding:8px 14px;margin:12px 0 14px}
.market-stats-total{display:flex;align-items:center;gap:8px;font-size:11px;color:#a3b499}
.market-stats-total strong{font:18px var(--display);color:var(--lime);line-height:1}
.clear-filters-btn{background:#233020;border:1px solid #3d5134;color:#b6cb9f;border-radius:4px;font-size:9px;padding:3px 7px;cursor:pointer;margin-left:4px;transition:all .15s}
.clear-filters-btn:hover{background:#2d3e29;border-color:var(--lime);color:var(--lime)}


.waiting-room{background:linear-gradient(135deg,#1c271b,#131a15);border:1px solid #36482e;border-radius:9px;padding:16px 20px;margin-bottom:20px}
.waiting-room-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.waiting-room-title{font:16px var(--display);color:#d6e8c7;display:flex;align-items:center;gap:8px}
.waiting-room-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.waiting-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:11px}
.waiting-pill.ready{background:#23351b;border:1px solid #4a6838;color:#d8f5b5}
.waiting-pill.pending{background:#1e231c;border:1px dashed #3a4734;color:#8c9c86}
.waiting-pill img{width:16px;height:16px;object-fit:contain}
.waiting-status-dot{width:6px;height:6px;border-radius:50%}
.waiting-pill.ready .waiting-status-dot{background:var(--lime)}
.waiting-pill.pending .waiting-status-dot{background:#778571}

@media(max-width:1200px){.schedule-list{grid-template-columns:1fr}.market-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:650px){.starter-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.starter-row{display:block;margin:0}.starter-row>span{display:block;margin-bottom:5px}.starter-row select{width:100%;min-height:38px}.schedule-summary{font-size:10px;padding:16px;gap:12px}.fixture{grid-template-columns:1fr 80px 1fr;gap:6px}.fixture-side strong{font-size:10px}.fixture-crest{width:20px;height:20px}.sidebar nav{gap:2px}.nav-item{min-width:0;flex:1;font-size:6.5px;padding:6px 2px;text-align:center}.nav-item>span{font-size:21px}.schedule-date{line-height:1.8}.market-stats-strip{flex-direction:column;align-items:flex-start;gap:8px}.market-pos-summary{width:100%;justify-content:space-between}.waiting-room{padding:12px}}
/* Real League Subpage & Roster Table */
.real-league-tabs{display:flex;align-items:center;gap:10px;margin-bottom:24px;border-bottom:1px solid #33452b;padding-bottom:12px;flex-wrap:wrap}
.real-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;background:#1b2518;border:1px solid #36482e;color:#b6cb9f;font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}
.real-tab-btn:hover{background:#253421;border-color:#5c784e;color:#e2f7c8}
.real-tab-btn.active{background:linear-gradient(135deg,#283a21,#1e2d19);border-color:var(--lime);color:var(--lime);box-shadow:0 0 12px #c9f76b1a}
.tab-badge{font-size:10px;padding:2px 7px;border-radius:10px;background:#121811;color:#a3ba8b}
.real-tab-btn.active .tab-badge{background:#172212;color:var(--lime)}
.real-tab-link{margin-left:auto;font-size:12px;color:var(--lime);text-decoration:none;font-weight:600}
.real-tab-link:hover{text-decoration:underline}

.real-view-section{display:none}
.real-view-section.active{display:block;animation:fadeIn .2s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

.real-clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.real-club-card{background:linear-gradient(145deg,#1b251a,#131a14);border:1px solid #2e3f28;border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s,border-color .15s;cursor:pointer}
.real-club-card:hover{transform:translateY(-2px);border-color:#5a794c;box-shadow:0 6px 18px rgba(0,0,0,0.35)}
.real-club-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.real-club-rank{font:18px var(--display);color:#6b825f;min-width:24px}
.real-club-meta{min-width:0;flex:1}
.real-club-division{font-size:10px;text-transform:uppercase;letter-spacing:0.8px;color:var(--lime);display:block;margin-bottom:2px}
.real-club-name{font-size:15px;margin:0 0 3px;color:#e8f4dd;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.real-club-arena{font-size:11px;color:#94a689;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.real-club-body{background:#151c14;border:1px solid #243120;border-radius:7px;padding:10px 12px;margin-bottom:14px}
.real-club-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a2b595;margin-bottom:6px}
.real-club-stat-row strong{color:#dff7c3}
.real-club-stars{font-size:11px;color:#85987c;border-top:1px solid #23301f;padding-top:6px;display:flex;gap:6px;align-items:baseline}
.stars-label{color:#6c8063;font-size:10px;text-transform:uppercase}
.stars-names{color:#cae8a8;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.real-club-footer button{font-size:11px;padding:8px}

/* Real Fixtures & Round Selector */
.real-round-selector-strip{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:8px 4px 14px;margin-bottom:16px;scrollbar-width:thin;scrollbar-color:#4a6538 #141c14}
.selector-label{font-size:11px;color:#7e9573;white-space:nowrap;font-weight:600;margin-right:4px}
.real-round-filter-btn{padding:5px 9px;border-radius:6px;background:#182217;border:1px solid #2f4028;color:#a2b892;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s}
.real-round-filter-btn:hover{background:#233320;color:#d7f2b8;border-color:#527044}
.real-round-filter-btn.active{background:var(--lime);color:#141f10;border-color:var(--lime);box-shadow:0 0 8px #c9f76b33}

.real-fixtures-list{display:flex;flex-direction:column;gap:20px}
.real-round-panel{margin:0}
.real-round-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;margin-top:12px}
.real-match-card{background:#172016;border:1px solid #2b3a26;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.real-match-card.match-finished{border-color:#3d5236}
.real-match-meta-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7e9674;border-bottom:1px solid #202b1d;padding-bottom:6px}
.match-nr-tag{background:#1e291b;padding:2px 6px;border-radius:4px;color:var(--lime);font-weight:700;font-size:9px;letter-spacing:0.5px}
.match-date-tag{color:#adc49e;font-weight:500}
.real-match-teams-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.real-match-team{display:flex;align-items:center;gap:8px;min-width:0}
.real-match-team.home{justify-content:flex-start}
.real-match-team.away{justify-content:flex-end;text-align:right}
.real-match-team .team-name{font-size:12px;color:#d5e5c8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.real-match-center{text-align:center;padding:0 8px;min-width:90px}
.real-match-score{font:20px var(--display);color:var(--lime);display:flex;align-items:center;justify-content:center;gap:4px}
.score-num{min-width:16px}
.score-num.winner{color:#dfff94;font-weight:bold;text-shadow:0 0 8px #c9f76b40}
.score-sep{color:#657d59}
.real-match-sets{font-size:9.5px;color:#889e7d;margin-top:3px;letter-spacing:0.3px}
.real-match-vs{font-size:12px;font-weight:700;color:#7e9573;letter-spacing:1px}
.real-match-venue{font-size:10.5px;color:#708468;border-top:1px solid #222d1f;padding-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Real Club Modal & Roster Table */
.real-club-modal{border:1px solid #4a6639;background:linear-gradient(155deg,#1c261b,#121914);color:#e2edd8;border-radius:18px;padding:0;max-width:1140px;width:min(1140px,96vw);max-height:92vh;box-shadow:0 30px 80px rgba(0,0,0,0.85)}
.real-club-modal::backdrop{background:rgba(8,12,9,0.85);backdrop-filter:blur(8px)}
.real-modal-container{display:flex;flex-direction:column;max-height:92vh;padding:28px 32px}
.real-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #2d3e28;padding-bottom:16px;margin-bottom:14px}
.real-modal-club-info{display:flex;align-items:center;gap:14px}
.real-modal-club-info .club-crest-wrap.large{width:56px;height:56px}
.real-modal-club-info h2{font-size:24px;margin:2px 0 4px;color:#edf7e2}
.real-modal-sub{font-size:12px;color:#9cb091}
.real-modal-summary-bar{display:flex;gap:20px;background:#151e14;border:1px solid #273722;border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:12px;color:#9eb393}
.real-sum-item{display:flex;align-items:center;gap:8px}
.real-sum-item strong{color:#def7c3}

.real-modal-table-wrap{flex:1;overflow-y:auto;border:1px solid #2c3c26;border-radius:8px;background:#131b12;margin-bottom:16px}
.real-roster-table{width:100%;border-collapse:collapse;font-size:12px}
.real-roster-table th{background:#1c271a;color:#92a886;font-size:10px;text-transform:uppercase;letter-spacing:0.8px;padding:10px 12px;text-align:left;border-bottom:1px solid #2d3e28;position:sticky;top:0;z-index:2}
.real-roster-table td{padding:10px 12px;border-bottom:1px solid #1f2b1d;vertical-align:middle;color:#cadbc0}
.real-roster-table tr:last-child td{border-bottom:none}
.real-roster-table tr.row-in-roster{background:#23351d38}
.real-roster-table tr:hover{background:#1f2c1a}
.player-table-avatar{width:34px;height:34px;border-radius:6px;background:#243220;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #384d30}
.player-table-avatar img{width:100%;height:100%;object-fit:cover}
.avatar-table-fallback{font:12px var(--display);color:#94ad87}
.player-table-name strong{display:block;color:#e8f4dd;font-size:13px}
.player-table-name small{display:block;font-size:10px;color:#7f9474}
.real-table-action-btn{padding:5px 10px;min-height:30px;font-size:11px;white-space:nowrap;border-radius:6px}
.real-table-action-btn.remove-btn{background:#283a21;border-color:#4a6538;color:#c8f76b}
.real-table-action-btn.remove-btn:hover{background:#381d1d;border-color:#6e2e2e;color:#ff9e9e}
.real-modal-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2d3e28;padding-top:14px}

@media(max-width:650px){
  .real-clubs-grid{grid-template-columns:1fr}
  .real-round-matches{grid-template-columns:1fr}
  .real-modal-container{padding:14px}
  .real-modal-club-info h2{font-size:18px}
  .real-modal-summary-bar{flex-direction:column;gap:6px}
  .real-roster-table th:nth-child(4),.real-roster-table td:nth-child(4){display:none}
}

/* Staff Strip under bench in #team */
.staff-strip-box{margin-top:20px;padding-top:16px;border-top:1px solid #283724}
.staff-strip-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.staff-strip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.staff-mini-card{background:#151e16;border:1px solid #293a26;border-radius:8px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;transition:all .15s}
.staff-mini-card.hired{background:linear-gradient(135deg,#1b281c,#141d15);border-color:#48633c;box-shadow:0 0 10px rgba(203,247,107,0.06)}
.staff-mini-card.unhired{border-style:dashed;border-color:#354930}
.staff-mini-card.coming-soon{opacity:0.65;border-style:dashed}
.staff-mini-top{display:flex;justify-content:space-between;align-items:center}
.staff-mini-icon{font-size:20px}
.staff-mini-tag{font-size:9px;color:#8ba386;border:1px solid #2e3e29;border-radius:4px;padding:1px 5px}
.staff-mini-name{font-size:13px;color:#eef8e3;margin-top:2px}
.staff-mini-bonus{font-size:11px;color:#cbf76b}
.staff-mini-action{margin-top:4px}
.scout-rec-btn{width:100%;padding:4px 8px;font-size:10px;min-height:28px;background:#24361e;border-color:var(--lime);color:var(--lime);font-weight:700}
.scout-rec-btn:hover{background:#314929}

/* Schedule Sort Button & Assistant Auto-confirm */
.schedule-sort-btn{cursor:pointer;transition:all .15s}
.schedule-sort-btn:hover{border-color:var(--lime);color:var(--lime)}
.assistant-round-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;background:#141f16;border:1px solid #2e4429;border-radius:6px;padding:3px 8px;color:#caf76b;font-weight:600}
.assistant-round-toggle input{cursor:pointer;margin:0;accent-color:var(--lime)}
.assistant-round-locked{font-size:10px;color:#859c7f}

/* User Team Subtle Highlights across all listings */
.waiting-pill.user-team-pill{border-color:var(--lime);background:#22361b;box-shadow:0 0 10px rgba(203,247,107,0.18)}
.fixture.your-fixture{background:rgba(203,247,107,0.07);border-left:3px solid var(--lime);border-radius:4px}
.podium-card.is-you{border-color:var(--lime)!important;box-shadow:0 0 16px rgba(203,247,107,0.22)}
tr.you{background:rgba(203,247,107,0.08)!important;border-left:3px solid var(--lime)}
.team-profile-trigger{cursor:pointer;transition:all .15s}
.team-profile-trigger:hover strong{color:var(--lime)!important;text-decoration:underline;text-underline-offset:3px}
.team-profile-trigger:hover .team-icon-img,.team-profile-trigger:hover .podium-crest{transform:scale(1.08);transition:transform .15s ease}

/* Icon-only button */
.icon-only-btn{min-width:34px;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;border-radius:6px;cursor:pointer;transition:all .15s}
.icon-only-btn:hover{border-color:var(--lime);background:#24361e;transform:scale(1.06)}

/* League Countdown Banner in #league */
.league-countdown-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,#1c2d1b,#121b14);border:1px solid #436136;border-radius:10px;padding:14px 18px;margin-bottom:16px;box-shadow:0 4px 18px rgba(0,0,0,0.35)}
.countdown-main-info{display:flex;align-items:center;gap:12px}
.countdown-icon{font-size:26px;background:#152416;border:1px solid #3d5931;border-radius:8px;padding:4px 10px}
.countdown-eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--lime);display:block}
.countdown-title{font-size:16px;margin:2px 0 0;color:#f0fae6}
.countdown-clock-box{display:flex;align-items:center;gap:10px}
.countdown-clock-val{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;letter-spacing:1.5px;color:#cbf76b;background:#0d140e;border:1px solid #283e23;padding:4px 12px;border-radius:6px;min-width:140px;text-align:center}
.countdown-status-badge{font-size:10px;font-weight:700;padding:4px 8px;border-radius:4px;letter-spacing:.5px}
.countdown-status-badge.badge-open{background:#233a1e;color:#bbf255;border:1px solid #486d34}
.countdown-status-badge.badge-live{background:#3a2020;color:#ff9e9e;border:1px solid #6b3333}
.panel.active-league-round{border-color:var(--lime)!important;box-shadow:0 0 16px rgba(203,247,107,0.12)}
.badge-active-now{background:#274220;color:#cbf76b;border:1px solid #4e7837;font-weight:700}

/* Team Profile Dialog */
.team-profile-dialog{border:none;background:transparent;padding:0;max-width:620px;width:94vw;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.85);color:#eff8e5}
.team-profile-dialog::backdrop{background:rgba(8,12,9,0.85);backdrop-filter:blur(4px)}
.team-profile-modal{background:#141c15;border:1px solid #374e32;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto}
.team-profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #263823;padding-bottom:14px}
.team-profile-identity{display:flex;align-items:center;gap:14px}
.team-profile-crest-wrap{width:56px;height:56px;min-width:56px;background:#1b281c;border:1px solid #395232;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:4px}
.team-profile-crest{width:100%;height:100%;object-fit:contain}
.team-profile-title{font-size:22px;margin:2px 0 0;color:#ffffff;display:flex;align-items:center;gap:8px}
.team-profile-city{font-size:12px;color:#92a88e;margin-top:2px}
.team-profile-motto{font-size:12px;font-style:italic;color:#b2cbab;margin:4px 0 0}
.close-profile-btn{font-size:14px;cursor:pointer}

/* Private Profile Box */
.team-profile-private-box{background:#171717;border:1px dashed #404040;border-radius:10px;padding:24px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.private-lock-icon{font-size:36px}
.team-profile-private-box h3{font-size:18px;color:#d4d4d4;margin:0}
.team-profile-private-box p{font-size:13px;color:#8f8f8f;line-height:1.5;max-width:440px;margin:0}
.private-owner-hint{margin-top:10px;padding:8px 12px;background:#182319;border:1px solid #334d2d;border-radius:6px;font-size:12px;color:#bfe892}
.private-owner-hint a{color:var(--lime);text-decoration:underline;cursor:pointer}

/* Public Profile Body */
.team-profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-stat-card{background:#182319;border:1px solid #2b3e27;border-radius:8px;padding:12px}
.profile-stat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.profile-rep-val{font-size:24px;font-family:'Barlow Condensed',sans-serif;font-weight:800;display:block}
.profile-rep-label{font-size:10px;font-weight:700;color:#97b390;text-transform:uppercase;letter-spacing:.5px}
.profile-standing-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px;margin-top:4px}
.profile-standing-row .muted-tag{display:block;font-size:9px;color:#7f9879;text-transform:uppercase}

/* Court preview in profile */
.profile-court-section{background:#101712;border:1px solid #243521;border-radius:10px;padding:12px}
.profile-section-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#c0dfb5;margin-bottom:10px}
.profile-court-preview-box{width:100%;min-height:480px;height:auto;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,0.15)}
.profile-court-inner-surface{position:absolute;inset:16px 26px 58px;border:2px solid #ffffff;box-shadow:inset 0 0 25px rgba(0,0,0,0.35);border-radius:4px}
.profile-court-line{position:absolute;left:0;right:0;height:2px;background:#ffffff;opacity:0.8}
.profile-court-line.line-top{top:33%}
.profile-court-line.line-bottom{bottom:33%}
.profile-court-net{position:absolute;top:50%;transform:translateY(-50%);left:-4%;right:-4%;height:3px;background:#cbf76b;box-shadow:0 0 6px rgba(203,247,107,0.7);z-index:3;display:flex;align-items:center;justify-content:center}
.profile-court-net span{background:#152014;color:#cbf76b;font-size:7px;font-weight:800;letter-spacing:2px;padding:1px 6px;border-radius:3px;border:1px solid #435e36}
.profile-court-crest{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;opacity:0.35;pointer-events:none;z-index:2;mix-blend-mode:luminosity}
.profile-court-crest img{width:100%;height:100%;object-fit:contain}
.profile-court-sponsor{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.45);padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,0.15);display:flex;align-items:center;gap:5px;z-index:2;pointer-events:none}
.profile-court-sponsor span{font-size:10px}
.profile-court-sponsor strong{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:800;letter-spacing:1px;color:#ffffff}
.profile-court-arena-tag{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;color:rgba(255,255,255,0.75);letter-spacing:1px;z-index:2;pointer-events:none}

/* Staff & Sponsor in profile */
.profile-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-sub-box{background:#182319;border:1px solid #2b3e27;border-radius:8px;padding:12px}
.profile-sub-box h4{font-size:12px;margin:0 0 8px;color:#c2e0b8;text-transform:uppercase;letter-spacing:.6px}
.profile-staff-list{display:flex;flex-direction:column;gap:6px}
.profile-staff-item{display:flex;align-items:center;gap:8px;font-size:12px}
.profile-staff-item .staff-avatar{font-size:18px;background:#111912;border:1px solid #253822;border-radius:6px;padding:2px 6px}
.profile-staff-item strong{display:block;color:#e8f4dd}
.profile-staff-item small{color:#8ea788;font-size:10px}
.profile-sponsor-card{display:flex;align-items:center;gap:10px;background:#111912;border:1px solid #293d25;border-radius:6px;padding:8px}
.profile-sponsor-card .sponsor-logo{font-size:22px}
.profile-sponsor-card strong{display:block;color:#eaf7df;font-size:12px}
.profile-sponsor-card small{color:#ffd700;font-size:10px}

/* Facilities list */
.profile-facilities-box{background:#182319;border:1px solid #2b3e27;border-radius:8px;padding:12px}
.profile-facilities-box h4{font-size:12px;margin:0 0 8px;color:#c2e0b8;text-transform:uppercase;letter-spacing:.6px}
.profile-facilities-tags{display:flex;flex-wrap:wrap;gap:6px}
.fac-tag{font-size:11px;background:#111912;border:1px solid #2d4128;border-radius:6px;padding:3px 8px;color:#bfe5ad}
.profile-privacy-note{text-align:center;font-size:11px;color:#7e9678;padding:6px;border-top:1px dashed #243521}

@media(max-width:550px){
  .team-profile-stats-grid{grid-template-columns:1fr}
  .profile-details-grid{grid-template-columns:1fr}
}

/* Multi-tier standings and pyramid */
.league-tier-selector-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #2d3e28;
}
.tier-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 8px;
  background: #172216;
  border: 1px solid #2e4028;
  color: #b0c79c;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.tier-tab-btn:hover {
  background: #233420;
  border-color: #557746;
  color: #e2f7c8;
}
.tier-tab-btn.active {
  background: linear-gradient(135deg, #273b20, #1a2717);
  border-color: var(--lime);
  color: #ffffff;
  box-shadow: 0 0 14px rgba(203, 247, 107, 0.2);
}
.tier-tab-btn.active.tier-gold {
  border-color: #ffd700;
  color: #ffd700;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.25);
}
.tier-tab-badge {
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 10px;
  background: #101710;
  color: #8fa87e;
}
.tier-tab-btn.active .tier-tab-badge {
  background: #1b2619;
  color: var(--lime);
}
.tier-your-club-tag {
  font-size: 9px;
  padding: 2px 5px;
  background: rgba(203, 247, 107, 0.2);
  color: #cbf76b;
  border-radius: 4px;
  font-weight: 700;
}

/* Season Progress Banner & Sim Bar */
.season-banner {
  background: linear-gradient(145deg, #1b271b, #121a14);
  border: 1px solid #384f30;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.season-banner-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.season-banner-title {
  font-size: 18px;
  font-weight: 700;
  color: #eff9e6;
  display: flex;
  align-items: center;
  gap: 8px;
}
.season-banner-sub {
  font-size: 12px;
  color: #92a88e;
}
.season-progress-bar-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.season-progress-bar {
  width: 140px;
  height: 6px;
  background: #253322;
  border-radius: 4px;
  overflow: hidden;
}
.season-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #60a5fa, #cbf76b);
  border-radius: 4px;
}
.season-sim-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sim-btn {
  font-size: 11px;
  padding: 7px 12px;
  font-weight: 600;
}

/* Promotion / Relegation Zone Badges */
.zone-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.zone-pill.zone-champion { background: rgba(255, 215, 0, 0.2); color: #ffd700; border: 1px solid rgba(255, 215, 0, 0.4); }
.zone-pill.zone-silver { background: rgba(226, 232, 240, 0.15); color: #e2e8f0; border: 1px solid rgba(226, 232, 240, 0.3); }
.zone-pill.zone-bronze { background: rgba(205, 127, 50, 0.2); color: #e59866; border: 1px solid rgba(205, 127, 50, 0.4); }
.zone-pill.zone-promotion { background: rgba(34, 197, 94, 0.15); color: #4ade80; border: 1px solid rgba(34, 197, 94, 0.35); }
.zone-pill.zone-safe { background: rgba(148, 163, 184, 0.1); color: #94a3b8; }
.zone-pill.zone-relegation { background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.35); }

/* Table row styling based on zone */
tr.row-zone-champion { border-left: 4px solid #ffd700 !important; background: rgba(255, 215, 0, 0.06); }
tr.row-zone-silver { border-left: 4px solid #cbd5e1 !important; background: rgba(203, 213, 225, 0.04); }
tr.row-zone-bronze { border-left: 4px solid #cd7f32 !important; background: rgba(205, 127, 50, 0.04); }
tr.row-zone-promotion { border-left: 4px solid #22c55e !important; background: rgba(34, 197, 94, 0.05); }
tr.row-zone-relegation { border-left: 4px solid #ef4444 !important; background: rgba(239, 68, 68, 0.05); }
tr.row-zone-safe { border-left: 4px solid rgba(148, 163, 184, 0.25); }
tr.row-zone-empty { border-left: 4px dashed #243522; opacity: 0.55; }
tr.row-zone-empty:hover { opacity: 0.85; background: rgba(255,255,255,0.02); }

/* Pagination component */
.pagination-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Season End Celebration Modal */
.season-end-dialog {
  border: none;
  background: transparent;
  padding: 0;
  max-width: 780px;
  width: 95vw;
}
.season-end-modal {
  background: linear-gradient(155deg, #192518, #0f1611);
  border: 1px solid #4a6838;
  border-radius: 16px;
  padding: 24px;
  color: #eff9e6;
  box-shadow: 0 20px 60px rgba(0,0,0,0.85);
  max-height: 90vh;
  overflow-y: auto;
}





@keyframes confirmPulse{0%,100%{box-shadow:0 0 0 0 #cbf76b66;transform:translateY(0)}50%{box-shadow:0 0 0 9px #cbf76b00;transform:translateY(-2px)}}
.confirm-attention{animation:confirmPulse 2.4s ease-in-out infinite}.entry-status{font-size:12px;line-height:1.6;margin:0 0 12px;color:var(--lime)}.squad-top-confirm-box{padding:18px;border:1px solid #64833c;border-radius:12px;background:#1f2c1d}.court-auto-fill{position:absolute;inset:0;display:grid;place-items:center;z-index:8;pointer-events:none}.court-auto-fill button{pointer-events:auto;box-shadow:0 6px 35px #0008}.swap-target{outline:3px solid var(--lime);background:#cbf76b33;border-radius:10px}[draggable=true]{cursor:grab}.squad-status-panel .requirements>div{padding:10px 0;border-bottom:1px solid #ffffff12}.purchase-dialog details{padding:16px 0;border-bottom:1px solid #ffffff20}.purchase-dialog summary{cursor:pointer;color:var(--lime);margin-bottom:12px}@media(prefers-reduced-motion:reduce){.confirm-attention{animation:none;outline:2px solid var(--lime)}}

[data-pick-slot][data-current-id]:not([data-current-id=""]){touch-action:none;user-select:none;cursor:grab}[data-pick-slot] img{-webkit-user-drag:none;pointer-events:none}

.sim-action-btn.simulation-processing:disabled{opacity:1;cursor:progress;filter:saturate(.75)}.simulation-spinner{display:inline-block;width:17px;height:17px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:simulationSpin .8s linear infinite;margin-right:9px}@keyframes simulationSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.simulation-spinner{animation:none}}

.squad-drag-ghost{position:fixed;z-index:100000;pointer-events:none!important;transform:translate(-50%,-65%);width:104px;min-height:112px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#15251ef5;border:2px solid var(--lime);border-radius:14px;box-shadow:0 14px 32px #0008;color:#fff}.squad-drag-ghost>*{pointer-events:none!important}.squad-drag-ghost img{width:48px;height:58px;object-fit:contain}.squad-drag-ghost strong{font-size:12px;text-align:center}.squad-drag-ghost small{font-size:10px;color:var(--lime)}.squad-drag-source{opacity:.3!important}.squad-dragging,.squad-dragging *{cursor:grabbing!important}

.squad-top-confirm-box.entry-warning{background:#302316;border-color:#c27a2d}.entry-warning .entry-status{color:#ffc17a}.confirm-warning{background:#ffad42;color:#291706;border:1px solid #ffca7e;font-weight:700;font-size:14px;padding:13px 18px;box-shadow:0 4px 16px #ffad4233}.confirm-warning:hover{background:#ffc16b}.confirm-warning.confirm-attention{animation:confirmWarningPulse 2.4s ease-in-out infinite}.entry-ready .entry-status{margin:0;color:var(--lime);font-weight:600}.squad-top-confirm-box:not(:has(button)) .entry-status{margin-bottom:0}@keyframes confirmWarningPulse{0%,100%{box-shadow:0 0 0 0 #ffad4266;transform:translateY(0)}50%{box-shadow:0 0 0 9px #ffad4200;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.confirm-warning.confirm-attention{animation:none;outline-color:#ffad42}}

/* Larger tactical portraits and unmistakable club ownership. */
.court .court-slot .jersey{width:62px;height:68px;flex-shrink:0;font-size:18px}.court .court-slot strong{font-size:13px;font-weight:750;text-shadow:0 1px 3px #0009}.court .court-slot small{font-size:10px;color:#f2f0df}.court .court-slot{position:relative;padding:6px 4px;min-width:0;border:2px solid transparent;border-radius:14px;gap:3px}.court .court-slot.contracted-player{width:112px;max-width:100%;min-height:146px;justify-self:center;align-self:center;justify-content:center;padding:9px 5px;border-radius:12px;border-color:#ffe082;background:linear-gradient(145deg,#493013e8,#94621dbb);box-shadow:0 0 0 2px #c88b2b88,0 0 24px #ffd35b88,inset 0 0 22px #ffc53c33}.court .contracted-player .jersey{filter:drop-shadow(0 0 8px #ffe082)}.court .contracted-player strong{color:#fff1ad}.contract-player-badge{font-size:9px;font-weight:900;letter-spacing:1px;background:#ffe082;color:#342006;border-radius:5px;padding:3px 8px;white-space:nowrap}.court .court-player-photo{object-fit:contain}@media(max-width:650px){.court .court-slot .jersey{width:48px;height:54px}.court .court-slot strong{font-size:11px}.court .court-slot{padding:6px 2px}.contract-player-badge{font-size:7px;letter-spacing:.3px;padding:3px 4px}.court .court-players{gap:10px 6px}}

.wallet-operation{cursor:pointer}.wallet-operation:hover,.wallet-operation:focus-visible{background:#cbf76b12;outline:2px solid #94b85b;outline-offset:-2px}.tx-open-hint{color:var(--lime);margin-left:8px}.tx-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.tx-detail-grid>div{padding:12px;background:#ffffff06;border-radius:8px}.tx-detail-grid dt{font-size:11px;color:#9aac91}.tx-detail-grid dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}.tx-description{padding-left:20px;line-height:1.9}.tx-reference{overflow-wrap:anywhere;margin-top:24px}.transaction-details-dialog{width:min(760px,94vw)}@media(max-width:550px){.tx-detail-grid{grid-template-columns:1fr}}

/* Compact portrait contract cards, independent of the grid column width. */
.court .contracted-player strong{max-width:100%;overflow-wrap:anywhere;line-height:1.15}.court .contracted-player::before{content:"";position:absolute;inset:4px;border:1px solid #ffe08255;border-radius:8px;pointer-events:none}.court .contracted-player small{position:relative}.court .contracted-player .contract-player-badge{letter-spacing:.5px;padding:3px 6px}@media(max-width:650px){.court .court-slot.contracted-player{width:88px;min-height:124px;padding:7px 3px}.court .contracted-player .contract-player-badge{letter-spacing:.2px;padding:3px 4px}}

/* Keep the libero, sponsor and arena footer in separate vertical bands. */
.court { padding-bottom: 70px; }
.court .court-players { padding-bottom: 12px; }
.court-sponsor-lane { position:relative; z-index:1; display:flex; justify-content:center; margin:8px 12px 0; min-height:40px; pointer-events:none; }
.court-sponsor-lane .court-print-sponsor { max-width:100%; text-align:center; }
.court .swap-hover,.bench-slot-item.swap-hover { outline:3px solid #fff; background:#cbf76b66; }
.squad-drag-ghost .jersey,.squad-drag-ghost .bench-slot-avatar { width:54px; height:62px; flex-shrink:0; }
.squad-drag-ghost small { text-align:center; }

/* Contract ownership remains visible after moving a player to the bench. */
.bench-slot-item.contracted-player{border-color:#ffe082;background:linear-gradient(145deg,#493013e8,#94621dbb);box-shadow:0 0 0 1px #c88b2b88,0 0 16px #ffd35b55,inset 0 0 18px #ffc53c33;min-width:0}
.bench-slot-item.contracted-player::before{content:"";position:absolute;inset:3px;border:1px solid #ffe08255;border-radius:4px;pointer-events:none}
.bench-slot-item.contracted-player strong{color:#fff1ad}
.bench-slot-item.contracted-player small{color:#f2f0df}
.bench-slot-item.contracted-player .bench-slot-avatar{border-color:#ffe082;filter:drop-shadow(0 0 5px #ffe08288)}
.bench-slot-item.contracted-player .contract-player-badge{font-size:7px;letter-spacing:.2px;padding:3px 4px;max-width:100%}
.bench-slot-item.contracted-player:hover{border-color:#fff0b3;box-shadow:0 0 0 1px #ffe082,0 0 20px #ffd35b88}

.squad-status-panel .squad-history-button{margin-top:20px;white-space:normal;text-align:center}
