/* TennisFinalsPro — publiczny status meczu LIVE */
#matches .league-match-card.tfp-match-is-live,
#matches .league-match-card.tfp-match-is-live-finished {
	position: relative;
	border-color: rgba(13, 180, 159, 0.65) !important;
	background: linear-gradient(145deg, #ffffff 0%, #f0fffb 58%, #e7fbff 100%) !important;
	box-shadow:
		0 10px 26px rgba(13, 148, 136, 0.14),
		inset 0 3px 0 #15c9aa !important;
}
#matches .league-match-card.tfp-match-is-live-finished {
	border-color: rgba(245, 158, 11, 0.55) !important;
	background: linear-gradient(145deg, #fff 0%, #fffaf0 100%) !important;
	box-shadow:
		0 10px 26px rgba(245, 158, 11, 0.12),
		inset 0 3px 0 #f59e0b !important;
}
#matches .league-match-card[data-live='1'] .league-badge.pending {
	display: none !important;
}
.tfp-match-live-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 25px;
	padding: 0 9px;
	border-radius: 999px;
	color: #fff;
	background: linear-gradient(135deg, #059669, #0d9488 58%, #0891b2);
	box-shadow: 0 5px 14px rgba(13, 148, 136, 0.22);
	font-size: 9px;
	font-weight: 1000;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.tfp-match-is-live-finished .tfp-match-live-badge {
	background: linear-gradient(135deg, #f59e0b, #f97316);
}
.tfp-match-live-dot,
.tfp-live-filter-dot,
.tfp-table-live-chip i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.18);
	animation: tfpLivePulse 1.25s ease-in-out infinite;
	flex: 0 0 auto;
}
@keyframes tfpLivePulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.45;
		transform: scale(0.72);
	}
}
.tfp-live-scoreboard {
	margin: 9px 0 3px;
	padding: 8px;
	border: 1px solid rgba(13, 148, 136, 0.17);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 5px 16px rgba(15, 23, 42, 0.055);
}
.tfp-live-scoreboard__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 2px 6px;
}
.tfp-live-scoreboard__head span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #087f72;
	font-size: 9px;
	font-weight: 950;
}
.tfp-live-scoreboard__head span i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #10b981;
	box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
}
.tfp-live-scoreboard__head b {
	color: #64748b;
	font-size: 8px;
	font-weight: 900;
}
.tfp-live-scoreboard__labels,
.tfp-live-scoreboard__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px 42px 48px;
	align-items: center;
	gap: 4px;
}
.tfp-live-scoreboard__labels {
	padding: 0 4px 3px;
	color: #94a3b8;
	font-size: 7px;
	font-weight: 950;
	text-align: center;
}
.tfp-live-scoreboard__row {
	min-height: 31px;
	padding: 3px 4px;
	border-top: 1px solid #edf4f4;
}
.tfp-live-scoreboard__row.is-serving {
	background: linear-gradient(90deg, rgba(190, 242, 100, 0.12), transparent);
}
.tfp-live-scoreboard__player {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 5px;
}
.tfp-live-scoreboard__player strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #0f172a;
	font-size: 9px;
	font-weight: 950;
}
.tfp-live-scoreboard__player em {
	font-style: normal;
	font-size: 15px;
	line-height: 1;
	filter: drop-shadow(0 2px 3px rgba(101, 163, 13, 0.18));
}
.tfp-live-scoreboard__row > b {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	border-radius: 7px;
	background: #f1f7f7;
	color: #0f3d48;
	font-size: 10px;
	font-weight: 1000;
}
.tfp-live-scoreboard__row > b:last-child {
	color: #047857;
	background: #ecfdf5;
}
.tfp-live-filter-tab {
	color: #047857 !important;
	border-color: #a7f3d0 !important;
	background: #ecfdf5 !important;
}
.tfp-live-filter-tab.active {
	color: #fff !important;
	background: linear-gradient(135deg, #10b981, #0891b2) !important;
}
.tfp-live-filter-dot {
	background: #10b981;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.13);
}
.tfp-live-filter-tab.active .tfp-live-filter-dot {
	background: #fff;
}
#table .tfp-table-player-live td {
	background: linear-gradient(90deg, rgba(16, 185, 129, 0.065), rgba(6, 182, 212, 0.035)) !important;
}
#table .tfp-table-player-live td:first-child {
	box-shadow: inset 3px 0 0 #10b981;
}
.tfp-table-live-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 4px;
	min-height: 20px;
	padding: 0 7px;
	border: 1px solid #a7f3d0;
	border-radius: 999px;
	color: #047857;
	background: #ecfdf5;
	font-size: 7.5px;
	font-weight: 900;
	white-space: nowrap;
}
.tfp-table-live-chip i {
	width: 6px;
	height: 6px;
	background: #10b981;
	box-shadow: none;
}
.tfp-table-live-chip b {
	font-weight: 1000;
}
.tfp-table-live-chip span {
	color: #0f766e;
}
@media (max-width: 768px) {
	.tfp-match-live-badge {
		min-height: 23px;
		padding: 0 8px;
		font-size: 8px;
	}
	.tfp-live-scoreboard {
		margin: 7px 0 2px;
		padding: 6px;
		border-radius: 10px;
	}
	.tfp-live-scoreboard__labels,
	.tfp-live-scoreboard__row {
		grid-template-columns: minmax(0, 1fr) 34px 34px 40px;
		gap: 3px;
	}
	.tfp-live-scoreboard__row {
		min-height: 29px;
	}
	.tfp-live-scoreboard__player strong {
		font-size: 8.5px;
	}
	.tfp-live-scoreboard__player em {
		font-size: 14px;
	}
	.tfp-live-scoreboard__row > b {
		min-height: 22px;
		font-size: 9px;
	}
	.tfp-table-live-chip {
		font-size: 7px;
		padding: 0 6px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.tfp-match-live-dot,
	.tfp-live-filter-dot,
	.tfp-table-live-chip i {
		animation: none;
	}
}

/* LIVE — drabinka */
#bracket .tfp-bracket-pro-match.tfp-bracket-is-live .tfp-bracket-pro-card {
	border-color: rgba(16, 185, 129, 0.7) !important;
	background: linear-gradient(145deg, #fff 0%, #f0fdf9 62%, #e6fbff 100%) !important;
	box-shadow:
		0 10px 24px rgba(5, 150, 105, 0.16),
		inset 3px 0 0 #10b981 !important;
}
#bracket .tfp-bracket-pro-match.tfp-bracket-is-live-finished .tfp-bracket-pro-card {
	border-color: rgba(245, 158, 11, 0.6) !important;
	background: linear-gradient(145deg, #fff, #fffaf0) !important;
	box-shadow:
		0 10px 24px rgba(245, 158, 11, 0.13),
		inset 3px 0 0 #f59e0b !important;
}
.tfp-bracket-live-chip {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	min-height: 20px;
	padding: 0 7px;
	border-radius: 999px;
	color: #fff !important;
	background: linear-gradient(135deg, #10b981, #0891b2) !important;
	font-size: 7.5px !important;
	font-weight: 1000 !important;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 12px rgba(13, 148, 136, 0.2);
	white-space: nowrap;
}
.tfp-bracket-live-chip i,
.tfp-schedule-live-chip i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	animation: tfpLivePulse 1.25s ease-in-out infinite;
}
.tfp-bracket-live-score {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 4px 6px 3px;
	padding: 5px 7px;
	border: 1px solid #a7f3d0;
	border-radius: 8px;
	background: #ecfdf5;
	color: #047857;
}
.tfp-bracket-live-score strong {
	font-size: 7px;
	font-weight: 1000;
	letter-spacing: 0.05em;
}
.tfp-bracket-live-score span {
	font-size: 8px;
	font-weight: 1000;
	white-space: nowrap;
}
.tfp-bracket-pro-team.is-live-serving {
	background: linear-gradient(90deg, rgba(190, 242, 100, 0.16), transparent) !important;
}
.tfp-live-server-ball {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 4px;
	font-style: normal;
	font-size: 13px;
	line-height: 1;
	filter: drop-shadow(0 2px 3px rgba(101, 163, 13, 0.22));
}

/* LIVE — harmonogram */
#schedule .tfp-schedule-card.tfp-schedule-is-live {
	border-color: #6ee7b7 !important;
	background: linear-gradient(145deg, #fff, #f0fdf9) !important;
	box-shadow:
		0 7px 18px rgba(16, 185, 129, 0.12),
		inset 3px 0 0 #10b981 !important;
}
#schedule .tfp-schedule-card.tfp-schedule-is-live-finished {
	border-color: #fdba74 !important;
	background: linear-gradient(145deg, #fff, #fff7ed) !important;
	box-shadow:
		0 7px 18px rgba(245, 158, 11, 0.1),
		inset 3px 0 0 #f59e0b !important;
}
.tfp-schedule-live-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 21px;
	padding: 0 7px;
	border-radius: 999px;
	background: linear-gradient(135deg, #10b981, #0891b2);
	color: #fff;
	font-size: 7px;
	font-weight: 900;
	white-space: nowrap;
}
.tfp-schedule-live-chip span {
	font-weight: 1000;
}

@media (max-width: 768px) {
	.tfp-bracket-live-score {
		margin: 3px 4px;
		padding: 4px 6px;
	}
	.tfp-bracket-live-score strong {
		font-size: 6.5px;
	}
	.tfp-bracket-live-score span {
		font-size: 7.5px;
	}
	.tfp-schedule-live-chip {
		min-height: 19px;
		padding: 0 6px;
		font-size: 6.5px;
	}
}

/* =========================================================
   TFP FIX: DRABINKA — ostatni niebieski kwadrat = PUNKT LIVE
   3 pierwsze pola: sety. 4 pole: 0 / 15 / 30 / 40 / AD.
   Nie pokazujemy już osobnego zielonego paska z wynikiem LIVE.
   ========================================================= */
#bracket .tfp-bracket-live-score {
	display: none !important;
}

body[data-page="tournament-view"] #bracket .tfp-bracket-pro-team__sets strong.tfp-bracket-pro-live-point,
body[data-page="tournament-view"] #bracket .tfp-bracket-pro-team.is-winner .tfp-bracket-pro-team__sets strong.tfp-bracket-pro-live-point {
	background: #d8eaff !important;
	color: #075fb8 !important;
	font-size: 7.5px !important;
	letter-spacing: -.03em !important;
}

body[data-page="tournament-view"] #bracket .tfp-bracket-pro-team__sets strong.tfp-bracket-pro-live-point.is-live-point {
	background: #cfe7ff !important;
	color: #0057ad !important;
	box-shadow: inset 0 0 0 1px rgba(33, 133, 233, .24) !important;
}

body[data-page="tournament-view"] #bracket .tfp-bracket-pro-team__sets strong.tfp-bracket-pro-live-point.is-tiebreak-point {
	font-size: 7px !important;
}

/* Karta ma 124 px. Zmniejszamy tylko przycisk, żeby dół nie był ucięty. */
body[data-page="tournament-view"] #bracket .tfp-bracket-pro-edit {
	align-self: flex-end !important;
	width: auto !important;
	min-width: 70px !important;
	max-width: 92px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin-top: auto !important;
	padding: 0 7px !important;
	border-radius: 6px !important;
	font-size: 7.5px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

/* LIVE pozostaje tylko jako mały status w nagłówku karty. */
#bracket .tfp-bracket-live-chip {
	min-height: 17px !important;
	height: 17px !important;
	padding: 0 6px !important;
	font-size: 6.8px !important;
}


/* =========================================================
   TFP LIVE SCORE — układ jak w serwisach wynikowych:
   pola 1-3 = gemy w setach (aktualny set aktualizowany LIVE),
   ostatnie niebieskie pole = aktualny punkt 0/15/30/40/AD lub TB.
   ========================================================= */
body[data-page="tournament-view"] #bracket .tfp-bracket-pro-team__sets > b.is-live-current-set {
	background: #eef6ff !important;
	color: #073b78 !important;
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .26) !important;
	font-weight: 1000 !important;
}
