/* ===================================================================
   SINGLE TEAM PAGE — reached from a team's logo on /teams/. Combines
   a light "Player Performance" roster panel (same pattern as
   player-rankings.css) with a dark "Match Results" score-card board
   (same pattern as results.css), both scoped under .team-page-modern.
=================================================================== */

.team-page-hero{ padding:60px 0 44px; }
.team-page-hero-inner{ display:flex; align-items:center; gap:22px; }
.team-page-hero .kicker{ margin-bottom:6px; color:var(--lime); }
.team-page-hero h1{ font-size:clamp(32px,5vw,50px); margin:0; color:var(--line); }

.team-page-crest{
	width:84px; height:84px; border-radius:50%; flex-shrink:0;
	background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden; padding:8px; box-sizing:border-box;
}
.team-page-crest img{ width:100%; height:100%; object-fit:contain; }

.team-page-modern{
	--tp-navy: #14205b;
	--tp-navy-deep: #0a1240;
	--tp-navy-soft: #eceffb;
	--tp-orange: #e8491d;
	--tp-gold: #d99f1f;
	--tp-silver: #9aa4c4;
	--tp-line: #e2e5f2;
	--tp-text: #1b2140;
	--tp-text-mute: #767d9c;

	--pitch-dark: #14205b;
	--pitch-darker: #0a123a;
	--card: #1a2a72;
	--card-line: #2c3c8f;
	--win: #4fae6d;

	padding:0 0 90px;
	display:flex; flex-direction:column; gap:44px;
}

/* ---------- Player Performance panel (light) ---------- */
.team-page-modern .panel{
	background:#fff; border-radius:16px; border:1px solid var(--tp-line);
	box-shadow:0 20px 40px -26px rgba(20,32,91,0.28); overflow:hidden;
}
.team-page-modern .panel-head{ padding:26px 28px 22px; }
.team-page-modern .panel-head .title{ display:flex; flex-direction:column; gap:4px; }
.team-page-modern .panel-head .eyebrow{
	font-family:'Poppins', var(--body); font-size:11px; letter-spacing:1px; color:#ffffff; font-weight:600;
}
.team-page-modern .panel-head h2{ font-family:'Oswald', var(--display); font-size:22px; font-weight:500; color:var(--tp-text); margin:0; }

.team-page-modern table{ width:100%; border-collapse:collapse; font-family:'Inter', var(--body); color:var(--tp-text); }
.team-page-modern thead th{
	text-align:center; font-family:'JetBrains Mono', var(--mono); font-size:11px; font-weight:500; letter-spacing:0.5px;
	color:var(--tp-text-mute); padding:12px 10px;
	border-top:1px solid var(--tp-line); border-bottom:1px solid var(--tp-line);
	background:var(--tp-navy-soft);
}
.team-page-modern thead th:first-child{ width:56px; }
.team-page-modern thead th.player-col{ text-align:left; }

.team-page-modern tbody td{ text-align:center; padding:14px 10px; font-size:14.5px; border-bottom:1px solid var(--tp-line); }
.team-page-modern tbody tr:last-child td{ border-bottom:none; }
.team-page-modern tbody tr{ position:relative; transition:background 0.15s ease; }
.team-page-modern tbody tr:hover{ background:#fafbff; }
.team-page-modern tbody tr::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; }
.team-page-modern tbody tr.top1::before{ background:var(--tp-orange); }
.team-page-modern tbody tr.top2::before{ background:var(--tp-silver); }
.team-page-modern tbody tr.top3::before{ background:var(--tp-gold); }

.team-page-modern .rank-badge{
	width:26px; height:26px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center;
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:12px;
	background:var(--tp-navy-soft); color:var(--tp-text-mute);
}
.team-page-modern tr.top1 .rank-badge{ background:var(--tp-orange); color:#fff; }
.team-page-modern tr.top2 .rank-badge{ background:var(--tp-silver); color:var(--tp-navy-deep); }
.team-page-modern tr.top3 .rank-badge{ background:var(--tp-gold); color:var(--tp-navy-deep); }

.team-page-modern .player-cell{ display:flex; align-items:center; gap:12px; text-align:left; font-weight:500; font-size:15px; }
.team-page-modern .avatar{
	width:34px; height:34px; border-radius:50%; flex-shrink:0;
	display:flex; align-items:center; justify-content:center;
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:11px; color:#fff;
}
.team-page-modern .player-name{ color:var(--tp-navy); }
.team-page-modern tr.top1 .player-name{ color:var(--tp-orange); font-weight:600; }

.team-page-modern .pts{ font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:16px; color:var(--tp-navy); }
.team-page-modern tr.top1 .pts{ color:var(--tp-orange); }
.team-page-modern .stat{ font-family:'JetBrains Mono', var(--mono); color:var(--tp-text-mute); }
.team-page-modern .no-data{ text-align:center; color:var(--tp-text-mute); padding:40px 0; }

.team-page-modern .stat-row{ display:none; }

@media (max-width:840px){
	.team-page-modern thead th, .team-page-modern tbody td{ padding:12px 6px; font-size:13px; }
	.team-page-modern .player-cell{ font-size:13.5px; }
}

@media (max-width:620px){
	.team-page-modern .panel-head{ padding:20px 18px 16px; }
	.team-page-modern thead{ display:none; }
	.team-page-modern table, .team-page-modern tbody, .team-page-modern tr{ display:block; width:100%; }
	.team-page-modern tbody tr{ padding:16px 18px; }
	.team-page-modern tbody td{ display:none; border-bottom:none; padding:0; }
	.team-page-modern td.player-col{ display:block; }
	.team-page-modern .player-cell{ margin-bottom:12px; }

	.team-page-modern .stat-row{
		display:flex !important; gap:16px;
		font-family:'JetBrains Mono', var(--mono); font-size:12.5px; color:var(--tp-text-mute);
	}
	.team-page-modern .stat-row div{ display:flex; flex-direction:column; gap:2px; }
	.team-page-modern .stat-row .label{ font-size:9px; letter-spacing:0.5px; }
	.team-page-modern .stat-row .value{ font-size:14px; color:var(--tp-text); font-weight:500; }
	.team-page-modern .stat-row .value.pts-val{ color:var(--tp-navy); font-weight:700; font-size:15px; }
	.team-page-modern tr.top1 .stat-row .value.pts-val{ color:var(--tp-orange); }
}

/* ---------- Match Results board (dark cards) ---------- */
.team-page-modern .board{ width:100%; max-width:640px; margin:0 auto; font-family:'Oswald', var(--body); }

.team-page-modern .board-head{
	display:flex; align-items:baseline; justify-content:space-between;
	padding:0 4px 18px; border-bottom:1px solid var(--tp-line); margin-bottom:22px;
}
.team-page-modern .board-head h2{ font-family:'Oswald', var(--display); font-size:22px; font-weight:600; margin:0; color:var(--tp-text); }
.team-page-modern .board-head span{
	font-family:'JetBrains Mono', var(--mono); font-size:12px; color:var(--tp-gold);
	background:rgba(217,159,31,0.12); padding:5px 10px; border-radius:20px; border:1px solid rgba(217,159,31,0.35);
}

.team-page-modern .match{
	position:relative;
	background:linear-gradient(180deg, var(--card) 0%, #101c50 100%);
	border:1px solid var(--card-line); border-radius:10px;
	padding:22px 22px 16px; margin-bottom:16px; overflow:hidden;
}
.team-page-modern .match::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--win); }
.team-page-modern .match.draw::before{ background:var(--tp-gold); }

.team-page-modern .match-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.team-page-modern .team{ display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.team-page-modern .team.away{ flex-direction:row-reverse; text-align:right; }

.team-page-modern .match .crest{
	width:46px; height:46px; border-radius:50%; flex-shrink:0;
	display:flex; align-items:center; justify-content:center;
	background:var(--pitch-darker); border:2px solid transparent;
	overflow:hidden; padding:4px; box-sizing:border-box;
}
.team-page-modern .match .crest img{ width:100%; height:100%; object-fit:contain; }
.team-page-modern .crest-fallback{ font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:13px; color:var(--silver, #9aa4d6); }
.team-page-modern .winner-ring{ border-color:var(--tp-gold); box-shadow:0 0 0 3px rgba(217,159,31,0.15); }

.team-page-modern .match .team-name{ font-size:15px; font-weight:500; letter-spacing:0.2px; line-height:1.25; color:var(--off-white,#eef0f8); }
.team-page-modern .team.dim .team-name{ color:#9aa4d6; }

.team-page-modern .scoreline{
	font-family:'JetBrains Mono', var(--mono); font-weight:700; font-size:28px; letter-spacing:2px;
	display:flex; align-items:center; gap:8px; padding:6px 14px;
	background:var(--pitch-darker); border-radius:8px; border:1px solid var(--card-line);
	flex-shrink:0;
}
.team-page-modern .scoreline .dash{ color:#9aa4d6; font-size:16px; }
.team-page-modern .scoreline .num.win{ color:var(--tp-gold); }
.team-page-modern .scoreline .num.lose{ color:#9aa4d6; }
.team-page-modern .scoreline .num.draw{ color:#eef0f8; }

.team-page-modern .match-meta{
	display:flex; align-items:center; justify-content:space-between; margin-top:16px; padding-top:12px;
	border-top:1px dashed var(--card-line);
	font-family:'JetBrains Mono', var(--mono); font-size:11px; color:#9aa4d6; letter-spacing:0.5px;
}
.team-page-modern .match-meta .status{ color:var(--win); display:flex; align-items:center; gap:6px; }
.team-page-modern .match-meta .status::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--win); }
.team-page-modern .match.draw .match-meta .status{ color:var(--tp-gold); }
.team-page-modern .match.draw .match-meta .status::before{ background:var(--tp-gold); }

.team-page-modern .no-results{ text-align:center; color:var(--tp-text-mute); padding:30px 0; }

@media (max-width:480px){
	.team-page-modern .scoreline{ font-size:22px; padding:5px 10px; }
	.team-page-modern .match .team-name{ font-size:13px; }
	.team-page-modern .match .crest{ width:38px; height:38px; }
}
