/* Sport 导航样式 */
.sport-nav {
	background:#1F2022;
	padding: 12px 20px;
	/* border-radius: 10px; */
	margin-bottom: 20px;
	box-shadow: 0 2px 10px rgba(139, 69, 19, 0.2);
}

/* 球类导航内容 */
.sport-nav-content {
	display: flex;
	gap: 8px;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding-bottom: 4px;
}

.sport-nav-content::-webkit-scrollbar {
	height: 4px;
}

.sport-nav-content::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 2px;
}

.sport-nav-content::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
}

/* 球类项目 */
.sport-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: rgba(255, 255, 255, 0.15);
	border: 1.5px solid rgba(255, 255, 255, 0.2);
	white-space: nowrap;
	flex-shrink: 0;
}

.sport-item:hover {
	background: rgba(255, 255, 255, 0.25);
	border-color: rgba(255, 255, 255, 0.35);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.sport-item.active {
	background: rgba(255, 255, 255, 0.95);
	border-color: #8B3A3E;
	box-shadow: 0 4px 12px rgba(139, 58, 62, 0.4);
}

.sport-icon {
	font-size: 28px;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15));
	transition: transform 0.3s;
}

.sport-item:hover .sport-icon {
	transform: scale(1.1);
}

.sport-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.sport-item.active .sport-name {
	color: #6B2E32;
}

.sport-item:not(.active) .sport-name {
	color: white;
}

/* 移除 a 标签下划线 */
.sport-nav-content a {
	text-decoration: none;
}

/* 日期导航样式 */
.search-filter-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #1F2022;
	padding: 12px 16px;
	margin-bottom: 20px;
	box-shadow: 0 2px 10px rgba(139, 69, 19, 0.2);
}

.search-box {
	position: relative;
	flex: 1;
	max-width: 300px;
}

.search-input {
	width: 100%;
	padding: 10px 40px 10px 16px;
	border: 2px solid rgba(255, 248, 230, 0.3);
	border-radius: 8px;
	background: rgba(255, 248, 230, 0.95);
	color: #3D2414;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	box-sizing: border-box;
}

.search-input::placeholder {
	color: #8B7355;
}

.search-input:focus {
	border-color: #FFF0E6;
	box-shadow: 0 0 0 3px rgba(255, 248, 230, 0.2);
	background: #FFF0E6;
}

.search-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	color: #8B4513;
	pointer-events: none;
}

.date-filter {
	flex-shrink: 0;
}

.date-select {
	padding: 10px 16px;
	border: 2px solid rgba(255, 248, 230, 0.3);
	border-radius: 8px;
	background: rgba(255, 248, 230, 0.95);
	color: #3D2414;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	min-width: 150px;
}

.date-select:hover {
	border-color: rgba(255, 248, 230, 0.5);
	background: #FFF0E6;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.date-select:focus {
	border-color: #FFF0E6;
	box-shadow: 0 0 0 3px rgba(255, 248, 230, 0.2);
}

.date-select option {
	background: #FFF0E6;
	color: #3D2414;
	padding: 8px 12px;
	font-weight: 500;
}

/* 操作按钮容器 */
.action-buttons {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

/* 操作按钮通用样式 */
.action-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 2px solid rgba(255, 248, 230, 0.4);
	border-radius: 8px;
	background: rgba(255, 248, 230, 0.95);
	color: #6B2E32;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	outline: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	min-width: auto;
	white-space: nowrap;
}

.action-btn:hover {
	border-color: rgba(212, 93, 93, 0.6);
	background: linear-gradient(135deg, #FFF8F8 0%, #FFE8E8 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(212, 93, 93, 0.25);
}

.action-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(212, 93, 93, 0.2);
}

.action-btn .btn-icon {
	font-size: 16px;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

.action-btn .btn-text {
	font-weight: 600;
	letter-spacing: 0.3px;
}

/* 联赛积分榜按钮特殊样式 */
.standings-btn:hover {
	background: linear-gradient(135deg, #E8F5E9 0%, #C8E6C9 100%);
	border-color: rgba(76, 175, 80, 0.6);
	box-shadow: 0 4px 12px rgba(76, 175, 80, 0.25);
}

/* 历史成绩按钮特殊样式 */
.history-btn:hover {
	background: linear-gradient(135deg, #FFF3E0 0%, #FFE0B2 100%);
	border-color: rgba(255, 152, 0, 0.6);
	box-shadow: 0 4px 12px rgba(255, 152, 0, 0.25);
}

/* 移动端适配 */
@media (max-width: 768px) {
	.action-buttons {
		gap: 8px;
	}

	.action-btn {
		padding: 8px 14px;
		font-size: 13px;
	}

	.action-btn .btn-text {
		display: none;
	}

	.action-btn .btn-icon {
		font-size: 18px;
	}

	.search-filter-row {
		flex-wrap: wrap;
	}

	.action-buttons {
		order: 2;
		width: 100%;
		justify-content: space-between;
		margin-top: 10px;
	}

	.action-btn {
		flex: 1;
		justify-content: center;
	}
}

.date-nav {
	display: flex;
	gap: 10px;
	background: linear-gradient(135deg, #8B3A3E 0%, #6B2E32 100%);
	padding: 12px;
	/* border-radius: 10px; */
	margin-bottom: 20px;
	justify-content: center;
}

.date-tab {
	flex: 1;
	text-align: center;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: rgba(255, 248, 230, 0.15);
	color: rgba(255, 248, 230, 0.9);
	font-weight: 500;
	font-size: 14px;
}

.date-tab:hover {
	background: rgba(255, 248, 230, 0.25);
	color: #FFF0E6;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.date-tab.active {
	background: #FFF5E6;
	color: #8B4513;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 加载动画 */
.loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
}

.spinner {
	width: 40px;
	height: 40px;
	border: 3px solid #E8DCC4;
	border-top-color: #8B4513;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.loading p {
	margin-top: 16px;
	color: #6B4423;
	font-size: 14px;
}

/* 比赛容器 */
#matches-container {
	background: #FFF0E6;
	/* border-radius: 16px; */
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	padding: 0;
	overflow: visible;
}

.matches-container {
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: visible;
	width: 100%;
}

/* 联赛分组 */
.league-group {
	display: flex;
	border-bottom: 1px solid #E8DCC4;
	
}

.league-group:last-child {
	border-bottom: none;
}

/* 联赛列 */
.league-column {
	flex-shrink: 0;
	width: 140px;
	min-width: 140px;
	max-width: 140px;
	border-right: 1px solid #D4C4B0;
	border-bottom: 1px solid #D4C4B0;
	background: #FFE8D6;
}

/* 比赛列 */
.matches-column {
	width: 100%;
	min-width: 200px;
	overflow: visible;
}

/* 单场比赛项 */
.match-item {
	display: flex;
	align-items: center;
	padding: 12px 10px;
	gap: 10px;
	border-bottom: 1px solid #FFD6B8;
	transition: all 0.3s ease;
	position: relative;
	z-index: 1;
}

.match-item:hover {
	z-index: 10;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
}

.match-item:last-child {
	z-index: 100;
}

/* 联赛信息 */
.league-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px;
}

.league-info .league-name {
	font-weight: 600;
	color: #3D2414;
	font-size: 13px;
}

.league-info .file-group {
	color: #6B4423;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 500;
}

/* 比赛状态 */
.match-status {
	flex-shrink: 0;
	min-width: 80px;
	max-width: 80px;
	padding-right: 10px;
	border-right: 1px solid #E8DCC4;
}

.status-badge {
	text-align: center;
	padding: 4px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	display: inline-block;
	min-width: 60px;
}

.status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	box-shadow: 0 2px 4px rgba(22, 101, 52, 0.1);
}

.status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	animation: pulse 1.5s ease-in-out infinite;
	box-shadow: 0 2px 4px rgba(220, 38, 38, 0.15);
}

.status-pending {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	color: #6B4423;
}

@keyframes pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.6; }
}

/* 球队名称 */
.team-name {
	font-weight: 600;
	color: #3D2414;
	font-size: 14px;
	transition: color 0.2s;
	flex: 1;
	min-width: 120px;
	padding: 0 10px;
}

.team-name.local {
	color: #8B4513;
	text-align: right;
/*	border-right: 1px solid #E8DCC4;*/
}

.team-name.local:hover {
	color: #6B2E32;
}

.team-name.visitor {
	color: #f59e0b;
	text-align: left;
	border-right: 1px solid #E8DCC4;
}

.team-name.visitor:hover {
	color: #d97706;
}

/* 比分 */
.match-score {
	font-size: 16px;
	font-weight: 700;
	color: #8B4513;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
	flex-shrink: 0;
	min-width: 80px;
	max-width: 80px;
	padding: 0 10px;
	text-align: center;
/*	border-right: 1px solid #E8DCC4;*/
}

/* 半场比分 */
.halftime-score {
	font-size: 12px;
	color: #8B7355;
	font-style: italic;
	flex-shrink: 0;
	min-width: 50px;
}

.events-toggle {
	cursor: pointer;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.events-toggle:hover {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	transform: scale(1.15) rotate(10deg);
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
}

.events-content {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 8px;
	padding: 10px 12px;
	background: #FFF0E6;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	min-width: 320px;
	z-index: 1000;
	pointer-events: auto;
}

.events-column {
	position: relative;
	flex-shrink: 0;
	min-width: 90px;
	max-width: 90px;
	padding: 0 10px;
	display: flex;
	justify-content: center;
	gap: 8px;
	z-index: 5;
}

.match-events {
	display: flex;
	flex-direction: column;
	gap: 4px;
	position: relative;
	z-index: 10;
}

.event-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 6px;
	background: #FFF0E6;
	border-radius: 4px;
	font-size: 13px;
	line-height: 1.3;
}

.event-icon {
	font-size: 14px;
	min-width: 18px;
}

.event-minute {
	font-weight: 600;
	color: #6B4423;
	min-width: 40px;
	font-size: 12px;
}

.event-team {
	flex: 1;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.event-team.localteam {
	color: #8B3A3E;
}

.event-team.visitorteam {
	color: #f59e0b;
}

/* 无数据提示样式 */
.no-data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 80px 20px;
	background: #1F2022;
	border-radius: 16px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.no-data-icon {
	font-size: 64px;
	margin-bottom: 16px;
	animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

.no-data p {
	font-size: 16px;
	color: #ddd;
	margin: 0;
	font-weight: 500;
}

/* 赔率弹窗遮罩 */
.odds-dialog-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	backdrop-filter: blur(4px);
}

/* 赔率弹窗加载状态 */
.odds-dialog-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	background: rgba(255, 248, 230, 0.95);
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.odds-dialog-loading .loading-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #E8DCC4;
	border-top-color: #8B4513;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.odds-dialog-loading .loading-text {
	margin-top: 16px;
	font-size: 16px;
	color: #8B4513;
	font-weight: 600;
}

/* 赔率弹窗 */
.odds-dialog {
	background: #FFF0E6;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	max-width: 900px;
	width: 90%;
	max-height: 85vh;
	overflow: hidden;
	animation: slideIn 0.3s ease;
}

@keyframes slideIn {
	from {
		transform: translateY(-20px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* 赔率弹窗头部 */
.odds-dialog-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid #E8DCC4;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.odds-dialog-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #FFF0E6;
	flex: 1;
}

.odds-dialog-header .close-btn {
	cursor: pointer;
	font-size: 24px;
	color: rgba(255, 248, 230, 0.9);
	transition: all 0.3s;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 248, 230, 0.2);
	flex-shrink: 0;
	margin-left: 10px;
	line-height: 1;
	position: static !important;
	top: auto !important;
	right: auto !important;
}

.odds-dialog-header .close-btn:hover {
	background: rgba(255, 248, 230, 0.3);
	color: #FFF0E6;
	transform: rotate(90deg);
}

/* 赔率弹窗内容 */
.odds-dialog-body {
	padding: 20px;
	max-height: calc(85vh - 70px);
	overflow-y: auto;
}

/* 阵容弹窗遮罩 */
.lineups-dialog-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	backdrop-filter: blur(4px);
}

/* 阵容弹窗 */
.lineups-dialog {
	background: #FFF0E6;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	max-width: 800px;
	width: 90%;
	max-height: 85vh;
	overflow: hidden;
	animation: slideIn 0.3s ease;
}

/* 阵容弹窗头部 */
.lineups-dialog-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid #E8DCC4;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.lineups-dialog-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #FFF0E6;
	flex: 1;
}

.lineups-dialog-header .close-btn {
	cursor: pointer;
	font-size: 24px;
	color: rgba(255, 248, 230, 0.9);
	transition: all 0.3s;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 248, 230, 0.2);
	flex-shrink: 0;
	margin-left: 10px;
	line-height: 1;
	position: relative;
	z-index: 10;
	visibility: visible;
	opacity: 1;
}

.lineups-dialog-header .close-btn:hover {
	background: rgba(255, 248, 230, 0.3);
	color: #FFF0E6;
	transform: rotate(90deg);
}

/* 阵容弹窗内容 */
.lineups-dialog-body {
	padding: 20px;
	max-height: calc(85vh - 70px);
	overflow-y: auto;
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 20px;
	align-items: start;
}

.lineups-team {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* 主队样式 */
.lineups-team.local-team .team-title {
	font-size: 16px;
	font-weight: 700;
	color: #FFF0E6;
	padding: 10px 12px;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	border-radius: 8px;
	text-align: center;
}

.lineups-team.local-team .player-item {
	padding: 12px;
	background: #FFE8D6;
	border-radius: 8px;
	border-left: 4px solid #8B4513;
	transition: all 0.2s;
}

.lineups-team.local-team .player-item:hover {
	background: #FFE8D6;
	transform: translateX(4px);
}

/* 客队样式 */
.lineups-team.away-team .team-title {
	font-size: 16px;
	font-weight: 700;
	color: #FFF0E6;
	padding: 10px 12px;
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	border-radius: 8px;
	text-align: center;
}

.lineups-team.away-team .player-item {
	padding: 12px;
	background: #FFE8D6;
	border-radius: 8px;
	border-left: 4px solid #f59e0b;
	transition: all 0.2s;
}

.lineups-team.away-team .player-item:hover {
	background: #fef3c7;
	transform: translateX(4px);
}

.lineups-team .players-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.player-item .player-name {
	font-size: 14px;
	font-weight: 600;
	color: #3D2414;
	margin-bottom: 4px;
}

.player-item .player-id {
	font-size: 12px;
	color: #6B4423;
	font-family: 'Courier New', monospace;
}

.no-players {
	padding: 20px;
	text-align: center;
	color: #8B7355;
	font-size: 14px;
}

.lineups-divider {
	background: #E8DCC4;
	width: 1px;
	height: 100%;
	min-height: 200px;
}

.odds-dialog-body::-webkit-scrollbar {
	width: 6px;
}

.odds-dialog-body::-webkit-scrollbar-track {
	background: #FFD6B8;
	border-radius: 3px;
}

.odds-dialog-body::-webkit-scrollbar-thumb {
	background: #D4C4B0;
	border-radius: 3px;
}

.odds-dialog-body::-webkit-scrollbar-thumb:hover {
	background: #8B7355;
}

/* 比赛信息 */
.match-info {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	border-radius: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.match-info .category-name {
	font-weight: 700;
	color: #8B4513;
	font-size: 14px;
	background: linear-gradient(135deg, #FFE8D6 0%, #F5E6D3 100%);
	padding: 4px 12px;
	border-radius: 6px;
}

.match-info .team-name {
	font-weight: 600;
	color: #3D2414;
	font-size: 14px;
}

.match-info .team-name.local {
	text-align: right;
	margin-left: auto;
}

.match-info .team-name.visitor {
	text-align: left;
}

.match-info .match-separator {
	color: #8B7355;
	font-size: 14px;
}

.match-info .status-text {
	font-weight: 600;
	color: #6B4423;
	font-size: 14px;
	padding: 4px 12px;
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	border-radius: 6px;
}

.match-info .sport-type {
	font-weight: 700;
	color: #8B4513;
	font-size: 14px;
	background: linear-gradient(135deg, #FFE8D6 0%, #F5E6D3 100%);
	padding: 4px 12px;
	border-radius: 6px;
}

.match-info .match-id {
	color: #6B4423;
	font-size: 12px;
}

/* 赔率数量 */
.odds-count {
	color: #6B4423;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}

/* 筛选按钮组 */
.odds-filters-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	gap: 16px;
	overflow: visible;
}

.filter-apply-btn {
	padding: 8px 20px;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s;
	white-space: nowrap;
}

.filter-apply-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
}

.filter-apply-btn:active {
	transform: translateY(0);
}

.odds-filters {
	display: flex;
	gap: 12px;
	position: relative;
	overflow: visible;
}

/* 筛选输入框样式 */
.filter-input {
	flex: 1;
	min-width: 310px;
	max-width: 310px;
	background: #FFE8D6;
	border: 2px solid #E8DCC4;
	border-radius: 10px;
	overflow: visible;
	position: relative;
	cursor: pointer;
	transition: all 0.3s;
}

.filter-input:hover {
	border-color: #8B4513;
	box-shadow: 0 2px 8px rgba(139, 69, 19, 0.1);
}

.filter-input-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	min-height: 40px;
	gap: 8px;
	flex: 1;
	overflow: hidden;
}

.filter-placeholder {
	color: #8B7355;
	font-size: 14px;
	font-weight: 500;
}

.filter-arrow {
	color: #6B4423;
	font-size: 12px;
	flex-shrink: 0;
	transition: transform 0.3s;
}

.filter-arrow.arrow-rotated {
	transform: rotate(180deg);
}

/* 筛选标签容器 */
.filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 16px;
	min-height: 20px;
}

/* 筛选标签 */
.filter-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 500;
	animation: fadeIn 0.3s ease;
	max-width: 100px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex-shrink: 0;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: scale(0.8);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.tag-remove {
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	padding: 0 4px;
	transition: all 0.2s;
}

.tag-remove:hover {
	background: rgba(255, 248, 230, 0.2);
	border-radius: 50%;
}

/* 下拉菜单 */
.filter-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	background: #FFF0E6;
	border: 1px solid #E8DCC4;
	border-radius: 6px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	z-index: 9999;
	max-height: 300px;
	overflow-y: auto;
	min-width: 200px;
	/* animation: fadeInDown 0.2s ease; */
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.filter-dropdown::-webkit-scrollbar {
	width: 6px;
}

.filter-dropdown::-webkit-scrollbar-track {
	background: #FFD6B8;
	border-radius: 3px;
}

.filter-dropdown::-webkit-scrollbar-thumb {
	background: #D4C4B0;
	border-radius: 3px;
}

.filter-dropdown::-webkit-scrollbar-thumb:hover {
	background: #8B7355;
}

/* 下拉菜单搜索框 */
.filter-dropdown-search {
	padding: 8px;
	border-bottom: 1px solid #E8DCC4;
	position: sticky;
	top: 0;
	background: #FFF0E6;
	z-index: 1;
}

.filter-search-input {
	width: 100%;
	padding: 6px 10px;
	border: 1px solid #E8DCC4;
	border-radius: 4px;
	font-size: 13px;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.2s;
}

.filter-search-input:focus {
	border-color: #8B4513;
}

/* 下拉菜单选项 */
.filter-dropdown-options {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 4px;
}

.filter-dropdown-option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.2s;
	font-size: 13px;
}

.filter-dropdown-option:hover {
	background: #FFE8D6;
}

.filter-dropdown-option input[type="checkbox"] {
	width: 14px;
	height: 14px;
	cursor: pointer;
	accent-color: #8B4513;
	flex-shrink: 0;
}

.filter-dropdown-option .option-name {
	flex: 1;
	font-size: 13px;
	font-weight: 400;
	color: #3D2414;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 无筛选数据 */
.no-filter-data {
	text-align: center;
	padding: 40px 20px;
	color: #8B7355;
	font-size: 14px;
}

/* 下拉菜单底部 */
.filter-dropdown-footer {
	display: flex;
	gap: 8px;
	padding: 8px;
	border-top: 1px solid #E8DCC4;
	background: #FFF0E6;
	position: sticky;
	bottom: 0;
	z-index: 1;
}

.filter-btn {
	flex: 1;
	padding: 6px 12px;
	border: none;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.2s;
}

.filter-btn-confirm {
	background: #8B4513;
	color: #FFF0E6;
}

.filter-btn-confirm:hover {
	background: #6B2E32;
}

.filter-btn-cancel {
	background: #FFD6B8;
	color: #6B4423;
}

.filter-btn-cancel:hover {
	background: #E8DCC4;
}

/* 赔率列表 */
.odds-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-radius: 8px;
	overflow: hidden;
}

/* 赔率行 - 模拟表格行 */
.odds-row {
	display: flex;
	align-items: stretch;
	gap: 0;
	border-bottom: 1px solid #E8DCC4;
	background: #FFF0E6;
	transition: all 0.2s;
}

.odds-row:last-child {
	border-bottom: none;
}

.odds-row:hover {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
}

/* 博彩公司列 */
.odds-row .bookmaker-name {
	flex: 0 0 120px;
	min-width: 120px;
	max-width: 120px;
	padding: 12px 16px;
	border-right: 1px solid #E8DCC4;
	font-weight: 700;
	color: #8B4513;
	font-size: 14px;
	background: #FFE8D6;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 赔率数据列 */
.odds-row .odds-data {
	flex: 1;
	padding: 12px 16px;
	border-right: 1px solid #E8DCC4;
	display: flex;
	align-items: center;
}

/* 状态列 */
.odds-row .bookmaker-status {
	flex: 0 0 80px;
	min-width: 80px;
	max-width: 80px;
	padding: 12px 16px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 单个赔率项 */
.odds-item {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	border-radius: 8px;
	padding: 12px;
	border: 1px solid #E8DCC4;
	transition: all 0.3s;
	margin-bottom: 16px;
}

.odds-item:hover {
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.15);
	transform: translateY(-2px);
	border-color: #8B4513;
}

/* 市场信息 */
.market-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid #8B4513;
	width: 100%;
	box-sizing: border-box;
}

.left-section {
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: flex-start;
}

.right-section {
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: flex-end;
}

.market-info .market-name {
	font-weight: 600;
	color: #3D2414;
	font-size: 14px;
	background: linear-gradient(135deg, #FFE8D6 0%, #F5E6D3 100%);
	padding: 4px 10px;
	border-radius: 4px;
	flex-shrink: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 博彩公司名称 */
.bookmaker-name {
	font-weight: 700;
	color: #8B4513;
	font-size: 15px;
	flex-shrink: 0;
	max-width: 120px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 停盘标记 */
.market-info .stop-mark {
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	flex-shrink: 0;
}

.market-info .stop-mark.stop {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
}

.market-info .stop-mark.active {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #16a34a;
}

/* 赔率内容 */
.odds-content {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* 赔率详情 */
.odds-details {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Total 分组 */
.total-group {
	background: #FFE8D6;
	border-radius: 6px;
	padding: 8px;
	margin-bottom: 6px;
	border: 1px solid #E8DCC4;
}

.total-group:last-child {
	margin-bottom: 0;
}

.total-title {
	font-weight: 700;
	color: #8B4513;
	font-size: 13px;
	margin-bottom: 6px;
	padding-bottom: 4px;
	border-bottom: 2px solid #8B4513;
}

.total-odds {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Handicap 分组 */
.handicap-group {
	background: #FFE8D6;
	border-radius: 6px;
	padding: 8px;
	margin-bottom: 6px;
	border: 1px solid #E8DCC4;
}

.handicap-group:last-child {
	margin-bottom: 0;
}

.handicap-title {
	font-weight: 700;
	color: #8B4513;
	font-size: 13px;
	margin-bottom: 6px;
	padding-bottom: 4px;
	border-bottom: 2px solid #8B4513;
}

.handicap-odds {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* 赔率项 */
.odd-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #FFF0E6;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid #E8DCC4;
	min-width: 80px;
	transition: all 0.2s;
}

.odd-item:hover {
	border-color: #8B4513;
	box-shadow: 0 2px 8px rgba(139, 69, 19, 0.1);
}

.odd-item .odd-name {
	font-size: 12px;
	color: #6B4423;
	font-weight: 500;
	margin-bottom: 4px;
}

.odd-item .odd-value {
	font-size: 16px;
	font-weight: 700;
	color: #8B4513;
}

/* 单个赔率行 */
.odd-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #FFF0E6;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid #E8DCC4;
	min-width: 80px;
	transition: all 0.2s;
}

.odd-row:hover {
	border-color: #8B4513;
	box-shadow: 0 2px 8px rgba(139, 69, 19, 0.1);
}

.odd-row .odd-name {
	font-size: 12px;
	color: #6B4423;
	font-weight: 500;
	margin-bottom: 4px;
}

.odd-row .odd-value {
	font-size: 16px;
	font-weight: 700;
	color: #8B4513;
}

/* 无赔率数据 */
.no-odds,
.no-odds-data {
	text-align: center;
	padding: 20px;
	color: #8B7355;
}

/* ==================== 棒球表格样式 ==================== */

/* 棒球表头 */
.baseball-header {
	display: grid;
	grid-template-columns: 150px 60px repeat(12, 30px) 60px;
	gap: 8px;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	padding: 12px;
	font-size: 12px;
	font-weight: 600;
	color: #FFF0E6;
	align-items: center;
}

.baseball-header > div {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 棒球比赛表格 */
.baseball-match-table {
	width: 100%;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
/*	margin-bottom: 8px;*/
}

.baseball-match-table td {
	border: 1px solid #E8DCC4;
	padding: 8px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 棒球表头行 */
.baseball-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.baseball-match-table .header-team,
.baseball-match-table .header-line,
.baseball-match-table .header-inning {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 10px 8px;
}

.baseball-match-table .header-team {
/*	min-width: 150px;*/
	position: relative;
/*	display: flex;*/
/*	justify-content: space-between;*/
	align-items: center;
}

.baseball-match-table .header-team-left {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.baseball-match-table .header-score-right {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.baseball-match-table .header-inning {
	min-width: 30px;
	padding: 10px 2px;
}

/* 球队名称单元格 */
.team-name-cell {
	font-size: 13px;
	font-weight: 500;
	color: #3D2414;
	text-align: left;
	min-width: 150px;
	background: #FFE8D6;
}

/* 球队得分单元格 */
.team-score-cell {
	font-size: 16px;
	font-weight: 700;
	color: #8B4513;
	min-width: 60px;
}

/* 局数单元格 */
.inning-cell {
	min-width: 30px;
	padding: 4px 2px;
}

.inning-cell .inning-score {
	display: block;
	padding: 4px 0;
	min-height: 24px;
}

.inning-cell:first-child .inning-score {
	border-bottom: 1px solid #E8DCC4;
}

.inning-cell.extra {
	background: #fefce8;
}

/* 数据单元格 */
.match-data-cell {
	min-width: 60px;
}

/* 响应式调整 */
@media (max-width: 1024px) {
	.baseball-header-table .header-inning:nth-child(n+10),
	.baseball-match-table .inning-cell:nth-child(n+10) {
		display: none;
	}
}

@media (max-width: 768px) {
	.baseball-header,
	.baseball-match {
		grid-template-columns: 35px 100px 45px repeat(6, 30px) 35px 50px;
		font-size: 10px;
		padding: 8px;
		gap: 4px;
	}

	.header-inning:nth-child(n+7),
	.inning-cell:nth-child(n+7) {
		display: none;
	}

	.match-mlb,
	.header-mlb {
		font-size: 11px;
	}

	.inning-score {
		font-size: 10px;
		min-width: 16px;
	}
}

/* ==================== 篮球表格样式 ==================== */

/* 篮球比赛表格 */
.basketball-match-table {
	width: 100%;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
}

.basketball-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 篮球表头行 */
.basketball-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.basketball-match-table .header-team,
.basketball-match-table .header-line,
.basketball-match-table .header-quarter {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

.basketball-match-table .header-team {
	position: relative;
	min-width: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.basketball-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.basketball-match-table .header-timer {
	color: #F5E6D3;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 6px;
	background: rgba(255, 248, 230, 0.2);
	border-radius: 4px;
}

.basketball-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.basketball-match-table .header-quarter {
	min-width: 45px;
	padding: 12px 4px;
}

.basketball-match-table .header-line {
	min-width: 60px;
}

/* 篮球球队名称单元格 */
.basketball-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	min-width: 180px;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.basketball-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.basketball-match-table .team-name-cell.home {
	color: #A52A2A;
}

.basketball-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 篮球球队得分单元格 */
.basketball-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	min-width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 篮球节次单元格 */
.basketball-match-table .quarter-cell {
	min-width: 45px;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.basketball-match-table .quarter-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

.basketball-match-table .quarter-cell.ot {
	background: #F5E6D3;
	color: #A52A2A;
	font-weight: 700;
}

/* 篮球数据单元格 */
.basketball-match-table .match-data-cell {
	min-width: 60px;
	background: #FFE8D6;
}

/* 篮球表格行悬停效果 */
.basketball-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.basketball-match-table tbody tr:hover .quarter-cell {
	background: #F5E6D3;
}

/* 篮球比赛状态样式 */
.basketball-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.basketball-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.basketball-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 响应式调整 - 篮球 */
@media (max-width: 1024px) {
	.basketball-match-table .header-quarter:nth-child(n+5),
	.basketball-match-table .quarter-cell:nth-child(n+5) {
		display: none;
	}

	.basketball-match-table .team-name-cell {
		min-width: 150px;
		font-size: 12px;
	}

	.basketball-match-table .team-score-cell {
		font-size: 16px;
	}

	.basketball-match-table .quarter-cell {
		min-width: 40px;
		font-size: 13px;
	}
}

@media (max-width: 768px) {
	.basketball-match-table .header-quarter:nth-child(n+4),
	.basketball-match-table .quarter-cell:nth-child(n+4) {
		display: none;
	}

	.basketball-match-table .header-team-left {
		font-size: 11px;
	}

	.basketball-match-table .team-name-cell {
		min-width: 120px;
		font-size: 11px;
		padding-left: 8px;
	}

	.basketball-match-table .team-score-cell {
		font-size: 14px;
		min-width: 50px;
	}

	.basketball-match-table .quarter-cell {
		min-width: 35px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.basketball-match-table .header-quarter,
	.basketball-match-table .header-line {
		font-size: 11px;
		padding: 8px 4px;
	}
}

/* 篮球表格分隔线 */
.basketball-match-table tbody tr:not(:last-child) td {
	border-bottom: 2px solid #E8DCC4;
}

/* ==================== 冰球表格样式 ==================== */

/* 冰球比赛行 */
.hockey-match-row {
	display: flex;
	background: #FFF0E6;
	border-bottom: 1px solid #E8DCC4;
	transition: all 0.3s ease;
	min-width: 0;
	width: 100%;
}

.hockey-match-row:hover {
	background-color: #FFE8D6;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.hockey-match-row .hockey-match-cell {
	display: block;
	padding: 20px 18px;
}

.hockey-match-row .match-date-time {
	width: 18%;
	flex-shrink: 0;
}

.hockey-match-row .match-date-time .date {
	display: block;
	font-weight: 700;
	color: #3D2414;
	font-size: 1.15rem;
	letter-spacing: 0.3px;
	margin-bottom: 6px;
}

.hockey-match-row .match-date-time .time {
	display: block;
	font-size: 1rem;
	color: #6B4423;
	font-weight: 500;
	margin-bottom: 6px;
}

.hockey-match-row .match-date-time .match-status {
	text-align: center;
	display: inline-block;
	padding: 4px 10px;
	border-radius: 18px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.hockey-match-row .match-date-time .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	box-shadow: 0 2px 6px rgba(22, 101, 52, 0.15);
	border: 1px solid #bbf7d0;
}

.hockey-match-row .match-date-time .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	animation: pulse 1.5s ease-in-out infinite;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.2);
	border: 1px solid #fecaca;
}

.hockey-match-row .match-date-time .status-pending {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	color: #8B3A3E;
	box-shadow: 0 2px 6px rgba(139, 58, 62, 0.15);
	border: 1px solid #FFD6B8;
}

.hockey-match-row .match-teams {
	width: 70%;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px 0;
}

.hockey-match-row .match-teams .team-info {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 16px 20px;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	border-radius: 12px;
	border: 1px solid #E8DCC4;
}

.hockey-match-row .match-teams .team-name {
	max-width: 200px;
	font-weight: 700;
	color: #3D2414;
	font-size: 1.3rem;
	letter-spacing: 0.3px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hockey-match-row .match-teams .team-score {
	font-weight: 800;
	font-size: 1.6rem;
	margin: 0 14px;
	color: #8B4513;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
	text-shadow: 0 1px 2px rgba(139, 69, 19, 0.1);
}

.hockey-match-row .match-teams .vs {
	color: #8B7355;
	font-weight: 600;
	font-size: 1rem;
}

.hockey-match-row .match-period-scores {
	width: 100%;
	flex-shrink: 0;
}

.hockey-match-row .match-teams .period-scores {
	width: 100%;
}

.hockey-match-row .match-teams .period-scores {
	display: flex;
	gap: 10px;
}

.hockey-match-row .match-teams .period-scores .period-score-item {
	flex: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
	background: linear-gradient(135deg, #fff 0%, #FFE8D6 100%);
	border-radius: 10px;
	font-size: 14px;
	border: 1px solid #D4C4B0;
	transition: all 0.2s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	min-width: 0;
}

.hockey-match-row .match-teams .period-scores .period-score-item:hover {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	border-color: #8B4513;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
}

.hockey-match-row .match-teams .period-scores .period-score-item:hover .period-name,
.hockey-match-row .match-teams .period-scores .period-score-item:hover .period-score-value {
	color: #FFF0E6;
}

.hockey-match-row .match-teams .period-scores .period-name {
	color: #6B4423;
	font-weight: 700;
	font-size: 1rem;
	transition: color 0.2s ease;
	margin-right: 10px;
}

.hockey-match-row .match-teams .period-scores .period-score-value {
	font-weight: 800;
	color: #3D2414;
	font-size: 1.2rem;
	transition: color 0.2s ease;
}

.hockey-match-row .match-actions {
	width: 12%;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	gap: 16px;
	padding: 10px;
}

.hockey-match-row .match-actions .events-toggle {
	font-size: 2rem;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border: 2px solid #E8DCC4;
}

.hockey-match-row .match-actions .events-toggle:hover {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 6px 16px rgba(139, 69, 19, 0.4);
	border-color: #8B4513;
}

/* 冰球比赛详情 - 进球表格 */
.hockey-match-detail {
	width: 100%;
	padding: 20px;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	border-top: 3px solid #8B4513;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
}

.hockey-match-detail .goals-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.hockey-match-detail .goals-table th,
.hockey-match-detail .goals-table td {
	border: 1px solid #E8DCC4;
	padding: 14px 16px;
	text-align: left;
}

.hockey-match-detail .goals-table th {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	font-weight: 700;
	font-size: 0.92rem;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	letter-spacing: 0.3px;
}

.hockey-match-detail .goals-table tr:nth-child(even) {
	background-color: #FFE8D6;
}

.hockey-match-detail .goals-table tr:hover {
	background-color: #F5E6D3;
	transform: scale(1.01);
	transition: all 0.2s ease;
}

.hockey-match-detail .goal-type {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 14px;
	font-size: 0.82rem;
	font-weight: 700;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
	letter-spacing: 0.3px;
}

.hockey-match-detail .goal-normal {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	border: 1px solid #bbf7d0;
}

.hockey-match-detail .goal-powerplay {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	color: #8B3A3E;
	border: 1px solid #FFD6B8;
}

.hockey-match-detail .goal-shorthanded {
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	color: #92400e;
	border: 1px solid #fde68a;
}

.hockey-match-detail .goal-empty-net {
	background: linear-gradient(135deg, #E8DCC4 0%, #D4C4B0 100%);
	color: #475569;
	border: 1px solid #D4C4B0;
}

.hockey-match-detail .no-goals {
	text-align: center;
	color: #8B7355;
	font-style: italic;
	padding: 35px;
	font-size: 0.95rem;
	font-weight: 500;
}

/* ==================== 冰球进球详情弹窗 ==================== */
.hockey-goals-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	backdrop-filter: blur(4px);
}

.hockey-goals-modal-content {
	background: white;
	border-radius: 12px;
	max-width: 900px;
	width: 100%;
	max-height: 85vh;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
	animation: slideInDown 0.3s ease;
}

@keyframes slideInDown {
	from {
		transform: translateY(-30px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.hockey-goals-modal-header {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: white;
	padding: 20px 24px;
	border-radius: 12px 12px 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0 2px 10px rgba(139, 69, 19, 0.3);
}

.hockey-goals-modal-header h2 {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.hockey-goals-close-btn {
	background: rgba(255, 248, 230, 0.2);
	border: none;
	color: white;
	font-size: 2rem;
	cursor: pointer;
	line-height: 1;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.hockey-goals-close-btn:hover {
	background: rgba(255, 248, 230, 0.3);
	transform: rotate(90deg);
}

.hockey-goals-modal-body {
	padding: 24px;
	max-height: calc(85vh - 80px);
	overflow-y: auto;
}

.hockey-goals-modal-body::-webkit-scrollbar {
	width: 8px;
}

.hockey-goals-modal-body::-webkit-scrollbar-track {
	background: #FFD6B8;
	border-radius: 4px;
}

.hockey-goals-modal-body::-webkit-scrollbar-thumb {
	background: #D4C4B0;
	border-radius: 4px;
}

.hockey-goals-modal-body::-webkit-scrollbar-thumb:hover {
	background: #8B7355;
}

.hockey-goals-match-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #E8DCC4;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	padding: 20px;
	border-radius: 8px;
}

.hockey-goals-match-teams {
	text-align: center;
	flex: 1;
}

.hockey-goals-match-teams h3 {
	font-size: 1.6rem;
	color: #3D2414;
	margin: 0 0 10px 0;
	font-weight: 700;
	letter-spacing: 0.3px;
}

.hockey-goals-final-score {
	font-size: 2.3rem;
	font-weight: 800;
	color: #8B4513;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 2px;
}

.hockey-goals-match-meta {
	text-align: left;
	min-width: 180px;
}

.hockey-goals-match-meta p {
	margin: 0 0 10px 0;
	font-size: 12px;
	color: #475569;
}

.hockey-goals-match-meta p strong {
	color: #3D2414;
	font-weight: 600;
}

/* 弹窗内的进球表格 */
.hockey-goals-modal-body .goals-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.hockey-goals-modal-body .goals-table th,
.hockey-goals-modal-body .goals-table td {
	border: 1px solid #E8DCC4;
	padding: 12px 14px;
	text-align: left;
}

.hockey-goals-modal-body .goals-table thead tr {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.hockey-goals-modal-body .goals-table th {
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.3px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.hockey-goals-modal-body .goals-table tbody tr:nth-child(even) {
	background-color: #FFE8D6;
}

.hockey-goals-modal-body .goals-table tbody tr:hover {
	background-color: #F5E6D3;
}

.hockey-goals-modal-body .goal-type {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 700;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.hockey-goals-modal-body .goal-normal {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	border: 1px solid #bbf7d0;
}

.hockey-goals-modal-body .goal-powerplay {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	color: #8B3A3E;
	border: 1px solid #FFD6B8;
}

.hockey-goals-modal-body .goal-shorthanded {
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	color: #92400e;
	border: 1px solid #fde68a;
}

.hockey-goals-modal-body .goal-empty-net {
	background: linear-gradient(135deg, #E8DCC4 0%, #D4C4B0 100%);
	color: #475569;
	border: 1px solid #D4C4B0;
}

.hockey-goals-modal-body .no-goals {
	text-align: center;
	color: #8B7355;
	font-style: italic;
	padding: 40px;
	font-size: 0.95rem;
	font-weight: 500;
}

/* 响应式调整 - 弹窗 */
@media (max-width: 768px) {
	.hockey-goals-modal-overlay {
		padding: 10px;
	}

	.hockey-goals-modal-content {
		max-height: 90vh;
		border-radius: 8px;
	}

	.hockey-goals-modal-header {
		padding: 16px 20px;
	}

	.hockey-goals-modal-header h2 {
		font-size: 1.2rem;
	}

	.hockey-goals-modal-body {
		padding: 16px;
		max-height: calc(90vh - 70px);
	}

	.hockey-goals-match-header {
		flex-direction: column;
		text-align: center;
		gap: 16px;
	}

	.hockey-goals-match-meta {
		text-align: center;
		min-width: auto;
	}

	.hockey-goals-match-teams h3 {
		font-size: 1.3rem;
	}

	.hockey-goals-final-score {
		font-size: 1.8rem;
	}

	.hockey-goals-modal-body .goals-table {
		font-size: 0.85rem;
	}

	.hockey-goals-modal-body .goals-table th,
	.hockey-goals-modal-body .goals-table td {
		padding: 10px 8px;
	}
}

/* 响应式调整 - 冰球 */
@media (max-width: 1024px) {
	.hockey-match-row {
		flex-wrap: wrap;
	}

	.hockey-match-row .hockey-match-cell {
		width: 50% !important;
		padding: 16px;
	}

	.hockey-match-row .match-date-time,
	.hockey-match-row .match-teams {
		width: 50% !important;
	}

	.hockey-match-row .match-teams {
		order: 3;
		width: 100% !important;
	}

	.hockey-match-row .match-period-scores,
	.hockey-match-row .match-actions {
		width: 50% !important;
	}

	.hockey-match-row .match-actions {
		display: flex;
		justify-content: flex-start;
		gap: 12px;
	}

	.hockey-match-row .match-date-time .date,
	.hockey-match-row .match-teams .team-name,
	.hockey-match-row .match-period-scores .period-score-item {
		font-size: 0.95rem;
	}

	.hockey-match-row .match-teams .team-score {
		font-size: 1.3rem;
	}

	.hockey-match-row .match-period-scores .period-score-value {
		font-size: 1rem;
	}
}

@media (max-width: 768px) {
	.hockey-match-row {
		flex-direction: column;
	}

	.hockey-match-row .hockey-match-cell {
		width: 100% !important;
		padding: 16px;
		border-bottom: 1px solid #E8DCC4;
	}

	.hockey-match-row .match-teams .team-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.hockey-match-row .match-teams .team-score {
		margin: 8px 0;
	}

	.hockey-match-row .match-period-scores .period-scores-grid {
		gap: 8px 10px;
	}

	.hockey-match-detail .goals-table {
		font-size: 0.86rem;
	}

	.hockey-match-detail .goals-table th,
	.hockey-match-detail .goals-table td {
		padding: 11px 10px;
	}

	.hockey-match-row .match-date-time .date,
	.hockey-match-row .match-teams .team-name,
	.hockey-match-row .match-period-scores .period-score-item {
		font-size: 0.95rem;
	}

	.hockey-match-row .match-teams .team-score {
		font-size: 1.25rem;
	}

	.hockey-match-row .match-period-scores .period-score-value {
		font-size: 0.95rem;
	}

	.hockey-match-row .match-actions {
		display: flex;
		gap: 12px;
		justify-content: flex-start;
	}
}

/* 冰球比赛表格（保留兼容性） */
.hockey-match-table {
	width: 100%;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
	table-layout: fixed;
}

.hockey-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 冰球表头行 */
.hockey-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.hockey-match-table .header-team,
.hockey-match-table .header-line,
.hockey-match-table .header-period {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

.hockey-match-table .header-team {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.hockey-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
	flex: 1;
	min-width: 0;
}

.hockey-match-table .header-timer {
	color: #F5E6D3;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 6px;
	background: rgba(255, 248, 230, 0.2);
	border-radius: 4px;
}

.hockey-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.hockey-match-table .header-period {
	width: 12%;
	padding: 12px 4px;
}

.hockey-match-table .header-line {
	width: 12%;
}

/* 冰球球队名称单元格 */
.hockey-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	width: 36%;
	max-width: 320px;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.hockey-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.hockey-match-table .team-name-cell.home {
	color: #A52A2A;
}

.hockey-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 冰球球队得分单元格 */
.hockey-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	width: 10%;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 冰球节数单元格 */
.hockey-match-table .period-cell {
	width: 12%;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.hockey-match-table .period-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

.hockey-match-table .period-cell.ot {
	background: #F5E6D3;
	color: #A52A2A;
	font-weight: 700;
}

.hockey-match-table .period-cell.so {
	background: #fef08a;
	color: #d97706;
	font-weight: 700;
}

/* 冰球数据单元格 */
.hockey-match-table .match-data-cell {
	width: 9%;
	background: #FFE8D6;
}

/* 冰球表格行悬停效果 */
.hockey-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.hockey-match-table tbody tr:hover .period-cell {
	background: #F5E6D3;
}

/* 冰球表格行分隔 */
.hockey-match-table tbody tr:not(:first-child):not(:last-child) td {
	border-bottom: 1px solid #E8DCC4;
}

/* ==================== 网球表格样式 ==================== */

/* 网球比赛表格 */
.tennis-match-table {
	width: 100%;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
}

.tennis-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 网球表头行 */
.tennis-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.tennis-match-table .header-team,
.tennis-match-table .header-line,
.tennis-match-table .header-set {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

.tennis-match-table .header-team {
	position: relative;
	min-width: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.tennis-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.tennis-match-table .header-tb {
	color: #fef08a;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 8px;
	background: rgba(251, 191, 36, 0.3);
	border-radius: 4px;
	border: 1px solid rgba(251, 191, 36, 0.5);
}

.tennis-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.tennis-match-table .header-set {
	min-width: 45px;
	padding: 12px 4px;
}

.tennis-match-table .header-line {
	min-width: 60px;
}

/* 网球球员名称单元格 */
.tennis-match-table .player-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	min-width: 180px;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
	position: relative;
}

.tennis-match-table .player-name-cell:hover {
	background-color: #FFE8D6;
}

/* 网球局分标记 */
.tennis-match-table .game-score {
	margin-left: 8px;
	padding: 2px 8px;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	font-size: 12px;
	font-weight: 700;
	border-radius: 4px;
	display: inline-block;
	min-width: 30px;
	text-align: center;
}

/* 网球球员得分单元格 */
.tennis-match-table .player-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	min-width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 网球局数单元格 */
.tennis-match-table .set-cell {
	min-width: 45px;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.tennis-match-table .set-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

/* 网球获胜球员高亮 */
.tennis-match-table .player-row.winner {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}

.tennis-match-table .player-row.winner .player-name-cell {
	color: #166534;
	font-weight: 700;
}

.tennis-match-table .player-row.winner .player-score-cell {
	color: #16a34a;
}

.tennis-match-table .player-row.winner .set-cell {
	color: #16a34a;
	background: #f0fdf4;
	font-weight: 700;
}

/* 网球数据单元格 */
.tennis-match-table .match-data-cell {
	min-width: 60px;
	background: #FFE8D6;
}

/* 网球表格行悬停效果 */
.tennis-match-table tbody tr:hover .player-name-cell {
	background-color: #FFE8D6;
}

.tennis-match-table tbody tr:hover .set-cell {
	background: #F5E6D3;
}

/* 网球比赛状态样式 */
.tennis-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.tennis-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.tennis-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 网球表格行分隔 */
.tennis-match-table tbody tr:not(:first-child):not(:last-child) td {
	border-bottom: 1px solid #E8DCC4;
}

/* 网球比赛之间分隔线 */
.tennis-match-table + .tennis-match-table {
	margin-top: 2px;
}

/* 响应式调整 - 网球 */
@media (max-width: 1024px) {
	.tennis-match-table .header-set:nth-child(n+4),
	.tennis-match-table .set-cell:nth-child(n+4) {
		display: none;
	}

	.tennis-match-table .player-name-cell {
		min-width: 150px;
		font-size: 12px;
	}

	.tennis-match-table .player-score-cell {
		font-size: 16px;
	}

	.tennis-match-table .set-cell {
		min-width: 40px;
		font-size: 13px;
	}
}

@media (max-width: 768px) {
	.tennis-match-table .header-set:nth-child(n+3),
	.tennis-match-table .set-cell:nth-child(n+3) {
		display: none;
	}

	.tennis-match-table .header-team-left {
		font-size: 11px;
	}

	.tennis-match-table .player-name-cell {
		min-width: 120px;
		font-size: 11px;
		padding-left: 8px;
	}

	.tennis-match-table .player-score-cell {
		font-size: 14px;
		min-width: 50px;
	}

	.tennis-match-table .set-cell {
		min-width: 35px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.tennis-match-table .header-set,
	.tennis-match-table .header-line {
		font-size: 11px;
		padding: 8px 4px;
	}

	.tennis-match-table .game-score {
		font-size: 11px;
		padding: 1px 6px;
		min-width: 25px;
	}
}

/* ==================== 手球表格样式 ==================== */

/* 手球比赛表格 */
.handball-match-table {
	width: 100%;
	table-layout: fixed;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
}

.handball-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 手球表头行 */
.handball-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.handball-match-table .header-team,
.handball-match-table .header-line,
.handball-match-table .header-period {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

/* 固定单元格宽度 */
.handball-match-table .header-team {
	position: relative;
	width: 50%;
	align-items: center;
}

.handball-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.handball-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.handball-match-table .header-period {
	width: 50px;
	padding: 12px 4px;
}

.handball-match-table .header-line {
	width: 60px;
}

/* 手球球队名称单元格 - 固定宽度 */
.handball-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	width: 50%;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.handball-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.handball-match-table .team-name-cell.home {
	color: #A52A2A;
}

.handball-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 手球球队得分单元格 - 固定宽度 */
.handball-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 手球节数单元格 - 固定宽度 */
.handball-match-table .period-cell {
	width: 50px;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.handball-match-table .period-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

/* 手球数据单元格 - 固定宽度 */
.handball-match-table .match-data-cell {
	width: 60px;
	background: #FFE8D6;
}

/* 手球表格行悬停效果 */
.handball-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.handball-match-table tbody tr:hover .period-cell {
	background: #F5E6D3;
}

/* 手球比赛状态样式 */
.handball-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.handball-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.handball-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

.handball-match-table .status-cancelled {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #8B7355;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 手球表格行分隔 */
.handball-match-table tbody tr:not(:last-child) td {
	border-bottom: 2px solid #E8DCC4;
}

/* 响应式调整 - 手球 */
@media (max-width: 1024px) {
	.handball-match-table .team-name-cell {
		width: 180px;
		font-size: 12px;
	}

	.handball-match-table .team-score-cell {
		font-size: 16px;
		width: 55px;
	}

	.handball-match-table .period-cell {
		width: 45px;
		font-size: 13px;
	}

	.handball-match-table .header-team {
		width: 180px;
	}
}

@media (max-width: 768px) {
	.handball-match-table .header-team-left {
		font-size: 11px;
	}

	.handball-match-table .team-name-cell {
		width: 150px;
		font-size: 11px;
		padding-left: 8px;
	}

	.handball-match-table .team-score-cell {
		font-size: 14px;
		width: 50px;
	}

	.handball-match-table .period-cell {
		width: 40px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.handball-match-table .header-period,
	.handball-match-table .header-line {
		font-size: 11px;
		padding: 8px 4px;
	}
}

/* 排球比赛表格样式 - 与页面主题一致的紫色渐变 */
.volleyball-match-table {
	width: 100%;
	table-layout: fixed;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
}

.volleyball-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 排球表头行 - 紫色渐变 */
.volleyball-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.volleyball-match-table .header-team,
.volleyball-match-table .header-line,
.volleyball-match-table .header-period {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

/* 固定单元格宽度 */
.volleyball-match-table .header-team {
	position: relative;
	width: 50%;
	align-items: center;
}

.volleyball-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.volleyball-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.volleyball-match-table .header-period {
	width: 45px;
	padding: 12px 3px;
	font-size: 11px;
}

.volleyball-match-table .header-line {
	width: 60px;
}

/* 排球球队名称单元格 - 固定宽度 */
.volleyball-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	width: 50%;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.volleyball-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.volleyball-match-table .team-name-cell.home {
	color: #A52A2A;
}

.volleyball-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 排球球队得分单元格 - 固定宽度 */
.volleyball-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 排球节数单元格 - 固定宽度 (5局) */
.volleyball-match-table .period-cell {
	width: 45px;
	padding: 8px 3px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.volleyball-match-table .period-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

/* 排球数据单元格 - 固定宽度 */
.volleyball-match-table .match-data-cell {
	width: 60px;
	background: #FFE8D6;
}

/* 排球表格行悬停效果 */
.volleyball-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.volleyball-match-table tbody tr:hover .period-cell {
	background: #F5E6D3;
}

/* 排球比赛状态样式 */
.volleyball-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.volleyball-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.volleyball-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

.volleyball-match-table .status-cancelled {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #8B7355;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 排球表格行分隔 */
.volleyball-match-table tbody tr:not(:last-child) td {
	border-bottom: 2px solid #E8DCC4;
}

/* 响应式调整 - 排球 */
@media (max-width: 1024px) {
	.volleyball-match-table .team-name-cell {
		width: 180px;
		font-size: 12px;
	}

	.volleyball-match-table .team-score-cell {
		font-size: 16px;
		width: 55px;
	}

	.volleyball-match-table .period-cell {
		width: 40px;
		font-size: 13px;
		padding: 8px 2px;
	}

	.volleyball-match-table .header-team {
		width: 180px;
	}
}

@media (max-width: 768px) {
	.volleyball-match-table .header-team-left {
		font-size: 11px;
	}

	.volleyball-match-table .team-name-cell {
		width: 150px;
		font-size: 11px;
		padding-left: 12px;
	}

	.volleyball-match-table .team-score-cell {
		font-size: 14px;
		width: 50px;
	}

	.volleyball-match-table .period-cell {
		width: 38px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.volleyball-match-table .header-period {
		width: 38px;
		font-size: 10px;
		padding: 12px 2px;
	}
}

/* 板球比赛表格样式 - 与页面主题一致的紫色渐变 */
.cricket-match-table {
	width: 100%;
	table-layout: fixed;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
}

.cricket-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 板球表头行 */
.cricket-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.cricket-match-table .header-team,
.cricket-match-table .header-line,
.cricket-match-table .header-period {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

/* 固定单元格宽度 */
.cricket-match-table .header-team {
	position: relative;
	width: 50%;
	align-items: center;
}

.cricket-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.cricket-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.cricket-match-table .header-period {
	width: 80px;
	padding: 12px 4px;
}

.cricket-match-table .header-line {
	width: 60px;
}

/* 板球球队名称单元格 - 固定宽度 */
.cricket-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	width: 50%;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.cricket-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.cricket-match-table .team-name-cell.home {
	color: #A52A2A;
}

.cricket-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 板球球队得分单元格 - 固定宽度 */
.cricket-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 板球队数单元格 - 固定宽度 */
.cricket-match-table .period-cell {
	width: 80px;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.cricket-match-table .period-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

/* 板球数据单元格 - 固定宽度 */
.cricket-match-table .match-data-cell {
	width: 60px;
	background: #FFE8D6;
}

/* 板球表格行悬停效果 */
.cricket-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.cricket-match-table tbody tr:hover .period-cell {
	background: #F5E6D3;
}

/* 板球比赛状态样式 */
.cricket-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.cricket-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.cricket-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

.cricket-match-table .status-cancelled {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #8B7355;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 板球表格行分隔 */
.cricket-match-table tbody tr:not(:last-child) td {
	border-bottom: 2px solid #E8DCC4;
}

/* 响应式调整 - 板球 */
@media (max-width: 1024px) {
	.cricket-match-table .team-name-cell {
		width: 180px;
		font-size: 12px;
	}

	.cricket-match-table .team-score-cell {
		font-size: 16px;
		width: 55px;
	}

	.cricket-match-table .period-cell {
		width: 70px;
		font-size: 13px;
	}

	.cricket-match-table .header-team {
		width: 180px;
	}
}

@media (max-width: 768px) {
	.cricket-match-table .header-team-left {
		font-size: 11px;
	}

	.cricket-match-table .team-name-cell {
		width: 150px;
		font-size: 11px;
		padding-left: 8px;
	}

	.cricket-match-table .team-score-cell {
		font-size: 14px;
		width: 50px;
	}

	.cricket-match-table .period-cell {
		width: 60px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.cricket-match-table .header-period,
	.cricket-match-table .header-line {
		font-size: 11px;
		padding: 8px 4px;
	}
}

/* ==================== 橄榄球表格样式 ==================== */

/* 橄榄球比赛表格 */
.rugby-match-table {
	width: 100%;
	table-layout: fixed;
	background: #FFF0E6;
	border-collapse: collapse;
	border: 1px solid #E8DCC4;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 12px;
}

.rugby-match-table td {
	border: 1px solid #E8DCC4;
	padding: 10px 12px;
	text-align: center;
	vertical-align: middle;
}

/* 橄榄球表头行 */
.rugby-match-table tbody tr:first-child {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
}

.rugby-match-table .header-team,
.rugby-match-table .header-line,
.rugby-match-table .header-period {
	background: transparent;
	color: #FFF0E6;
	font-weight: 700;
	font-size: 12px;
	padding: 12px 8px;
}

/* 固定单元格宽度 */
.rugby-match-table .header-team {
	position: relative;
	width: 50%;
	align-items: center;
}

.rugby-match-table .header-team-left {
	color: #FFF0E6;
	font-weight: 500;
	font-size: 13px;
}

.rugby-match-table .header-score-right {
	background: rgba(255, 248, 230, 0.2);
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
}

.rugby-match-table .header-period {
	width: 60px;
	padding: 12px 4px;
}

.rugby-match-table .header-line {
	width: 60px;
}

/* 橄榄球球队名称单元格 - 固定宽度 */
.rugby-match-table .team-name-cell {
	font-size: 13px;
	font-weight: 600;
	color: #3D2414;
	text-align: left;
	width: 50%;
	padding-left: 16px;
	background: #FFE8D6;
	transition: background-color 0.2s;
}

.rugby-match-table .team-name-cell.away {
	border-bottom: 1px solid #E8DCC4;
	color: #8B4513;
}

.rugby-match-table .team-name-cell.home {
	color: #A52A2A;
}

.rugby-match-table .team-name-cell:hover {
	background-color: #FFE8D6;
}

/* 橄榄球球队得分单元格 - 固定宽度 */
.rugby-match-table .team-score-cell {
	font-size: 18px;
	font-weight: 800;
	color: #8B4513;
	width: 60px;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
}

/* 橄榄球阶段比分单元格 - 固定宽度 */
.rugby-match-table .period-cell {
	width: 60px;
	padding: 8px 4px;
	font-size: 14px;
	font-weight: 600;
	color: #6B4423;
	background: #FFD6B8;
	transition: all 0.2s;
}

.rugby-match-table .period-cell:hover {
	background: #F5E6D3;
	color: #8B4513;
}

/* 橄榄球数据单元格 - 固定宽度 */
.rugby-match-table .match-data-cell {
	width: 60px;
	background: #FFE8D6;
}

/* 橄榄球表格行悬停效果 */
.rugby-match-table tbody tr:hover .team-name-cell {
	background-color: #FFE8D6;
}

.rugby-match-table tbody tr:hover .period-cell {
	background: #F5E6D3;
}

/* 橄榄球比赛状态样式 */
.rugby-match-table .status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	animation: pulse 1.5s ease-in-out infinite;
}

.rugby-match-table .status-finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #166534;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.rugby-match-table .status-pending {
	background: linear-gradient(135deg, #FFD6B8 0%, #E8DCC4 100%);
	color: #6B4423;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}

/* 橄榄球表格行分隔 */
.rugby-match-table tbody tr:not(:first-child):not(:last-child) td {
	border-bottom: 2px solid #E8DCC4;
}

/* 响应式调整 - 橄榄球 */
@media (max-width: 1024px) {
	.rugby-match-table .team-name-cell {
		width: 180px;
		font-size: 12px;
	}

	.rugby-match-table .team-score-cell {
		font-size: 16px;
		width: 55px;
	}

	.rugby-match-table .period-cell {
		width: 50px;
		font-size: 13px;
	}

	.rugby-match-table .header-team {
		width: 180px;
	}
}

@media (max-width: 768px) {
	.rugby-match-table .header-team-left {
		font-size: 11px;
	}

	.rugby-match-table .team-name-cell {
		width: 150px;
		font-size: 11px;
		padding-left: 8px;
	}

	.rugby-match-table .team-score-cell {
		font-size: 14px;
		width: 50px;
	}

	.rugby-match-table .period-cell {
		width: 45px;
		font-size: 12px;
		padding: 6px 2px;
	}

	.rugby-match-table .header-period,
	.rugby-match-table .header-line {
		font-size: 11px;
		padding: 8px 4px;
	}
}

/* ===========================================
   电竞比赛样式 (Esports)
   =========================================== */

/* 电竞比赛项容器 */
.match-item.esports-match {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
	background: #FFF0E6;
	border-radius: 12px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	border: 1px solid #E8DCC4;
	transition: all 0.3s ease;
	overflow: hidden;
}

.match-item.esports-match:hover {
	box-shadow: 0 4px 16px rgba(139, 69, 19, 0.15);
	border-color: #8B4513;
	transform: translateY(-2px);
}

/* 电竞比赛内容区域 - 两列横向布局 */
.esports-match .esports-content {
	display: grid;
	grid-template-columns: 50% 50%;
	gap: 16px;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

/* 当只有队伍列时,居中显示 */
.esports-match .esports-content.teams-only {
	grid-template-columns: 1fr;
	justify-items: center;
}

.esports-match .esports-content.teams-only .match-teams {
	max-width: 100%;
	justify-content: center;
}

/* 当没有地图时,队伍列占满 */
.esports-match .esports-content.no-maps:not(.teams-only) {
	grid-template-columns: 1fr;
	justify-items: center;
}

/* 队伍列 - 两行结构 */
.esports-match .esports-content .match-teams {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	border-radius: 10px;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

/* 队伍行 - 横向排列 */
.esports-match .match-teams .teams-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

/* 队伍名称行 */
.esports-match .match-teams .teams-name-row {
	padding: 8px 12px;
	background: #FFF0E6;
	border-radius: 8px;
	width: 100%;
}

/* 队伍比分行 */
.esports-match .match-teams .teams-score-row {
	padding: 10px 12px;
	background: linear-gradient(135deg, #8B4513 0%, #A0522D 100%);
	border-radius: 10px;
}

/* 地图列 */
.esports-match .esports-content .esports-maps {
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	padding: 12px;
	border-radius: 10px;
	overflow-y: auto;
	max-height: 400px;
	min-width: 0;
	overflow-x: auto;
}

.esports-match .esports-map-title {
	font-size: 13px;
	font-weight: 700;
	color: #92400e;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid #92400e;
}

/* 地图表格样式 */
.esports-match .esports-map-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	background: #FFF0E6;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.esports-match .esports-map-table thead {
	background: linear-gradient(135deg, #92400e 0%, #78350f 100%);
	color: #FFF0E6;
}

.esports-match .esports-map-table th {
	padding: 8px 6px;
	text-align: center;
	font-weight: 600;
	font-size: 11px;
	border-right: 1px solid rgba(255, 248, 230, 0.1);
}

.esports-match .esports-map-table th:last-child {
	border-right: none;
}

.esports-match .esports-map-table tbody tr {
	border-bottom: 1px solid #FFD6B8;
	transition: background 0.2s;
}

.esports-match .esports-map-table tbody tr:hover {
	background: #FFE8D6;
}

.esports-match .esports-map-table tbody tr:last-child {
	border-bottom: none;
}

.esports-match .esports-map-table td {
	padding: 8px 6px;
	text-align: center;
	border-right: 1px solid #FFD6B8;
}

.esports-match .esports-map-table td:last-child {
	border-right: none;
}

.esports-match .map-name {
	font-weight: 600;
	color: #3D2414;
	text-align: left;
}

.esports-match .map-score {
	font-weight: 600;
	color: #6B4423;
}

/* 直播流列 */
.esports-match .esports-content .esports-streams {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-width: 0;
	overflow: hidden;
}

/* 暂无直播时不显示 */
.esports-match .esports-content .esports-streams:not(:has(.stream-link)) {
	display: none;
}

/* 电竞比赛操作区域 */
.esports-match .esports-match-info .esports-match-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

/* 电竞比赛信息区域 */
.esports-match .esports-match-info {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 2px solid #FFD6B8;
	width: 100%;
	justify-content: space-between;
	align-items: center;
}

.esports-match .match-time {
	font-size: 13px;
	font-weight: 600;
	color: #6B4423;
	background: #FFE8D6;
	padding: 6px 12px;
	border-radius: 6px;
}

.esports-match .match-status {
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 6px;
}

.esports-match .match-status.status-live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	animation: pulse 2s infinite;
}

.esports-match .match-status.status-pending {
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	color: #8B3A3E;
}

.esports-match .match-status.status-finished {
	background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
	color: #059669;
}

.esports-match .game-type {
	font-size: 12px;
	font-weight: 600;
	color: #A52A2A;
	background: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);
	padding: 6px 12px;
	border-radius: 6px;
}

.esports-match .match-round {
	font-size: 12px;
	font-weight: 600;
	color: #8B4513;
	background: linear-gradient(135deg, #FFE8D6 0%, #F5E6D3 100%);
	padding: 6px 12px;
	border-radius: 6px;
}

/* 电竞比赛队伍卡片 */
.esports-match .esports-content .team {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 0;
	overflow: hidden;
}

.esports-match .match-teams .team-name {
	font-size: 14px;
	font-weight: 700;
	color: #3D2414;
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	/* max-width: 120px; */
	line-height: 1.4;
	padding: 6px 10px;
	background: #FFF0E6;
	border-radius: 6px;
}

.esports-match .match-teams .team.team-home .team-name {
	color: #8B4513;
	border-left: 3px solid #8B4513;
}

.esports-match .match-teams .team.team-away .team-name {
	color: #A52A2A;
	border-right: 3px solid #A52A2A;
}

.esports-match .match-teams .team-score {
	font-size: 22px;
	font-weight: 900;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 1px;
	line-height: 1;
	padding: 8px 16px;
	background: #FFF0E6;
	border-radius: 8px;
	color: #3D2414;
}

.esports-match .match-teams .team.team-home .team-score {
	color: #8B4513;
}

.esports-match .match-teams .team.team-away .team-score {
	color: #A52A2A;
}

.esports-match .match-teams .vs-divider {
	font-size: 12px;
	font-weight: 800;
	color: #FFF0E6;
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgba(139, 69, 19, 0.3);
}

/* 电竞操作按钮 - 阵容 */
.esports-match .lineups-toggle {
	cursor: pointer;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.esports-match .lineups-toggle:hover {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	transform: scale(1.15) rotate(10deg);
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
}

.esports-match .stream-link {
	cursor: pointer;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFE8D6 0%, #FFD6B8 100%);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	color: inherit;
}

.esports-match .stream-link:hover {
	background: linear-gradient(135deg, #8B4513 0%, #A52A2A 100%);
	color: #FFF0E6;
	transform: scale(1.15) rotate(10deg);
	box-shadow: 0 4px 12px rgba(139, 69, 19, 0.3);
}

/* 响应式设计 - 电竞 */
@media (max-width: 1024px) {
	.esports-match .esports-content {
		flex-direction: column;
	}

	.esports-match .esports-content .match-teams {
		flex-direction: column;
		width: 100%;
		max-width: 100%;
	}

	.esports-match .esports-content .esports-maps {
		flex: 1;
		width: 100%;
		max-height: 200px;
	}

	.esports-match .esports-content .esports-streams {
		flex: 1;
		width: 100%;
	}

	.esports-match .match-teams .team-name {
		font-size: 13px;
		max-width: 100px;
	}

	.esports-match .match-teams .team-score {
		font-size: 18px;
		padding: 6px 12px;
	}

	.esports-match .match-teams .vs-divider {
		width: 32px;
		height: 32px;
		font-size: 10px;
	}
}

@media (max-width: 768px) {
	.esports-match {
		padding: 12px;
	}

	.esports-match .esports-match-info {
		gap: 0px;
        padding-bottom: 2px;
	}

	.esports-match .match-time,
	.esports-match .match-status,
	.esports-match .game-type,
	.esports-match .match-round {
		font-size: 11px;
		padding: 5px 10px;
		width: fit-content;
	}

	.esports-match .esports-content {
		flex-direction: column;
		gap: 12px;
	}

	.esports-match .esports-content .match-teams {
		width: 100%;
		gap: 8px;
		padding: 8px;
	}

	.esports-match .match-teams .teams-row {
		gap: 8px;
	}

	.esports-match .match-teams .teams-name-row {
		padding: 6px 8px;
	}

	.esports-match .match-teams .teams-score-row {
		padding: 8px 10px;
	}

	.esports-match .match-teams .team-name {
		font-size: 12px !important;
		max-width: 80px !important;
		padding: 4px 8px !important;
	}

	.esports-match .match-teams .vs-divider {
		width: 28px !important;
		height: 28px !important;
		font-size: 9px !important;
	}

	.esports-match .match-teams .team-score {
		font-size: 16px !important;
		padding: 6px 12px !important;
	}

	.esports-match .esports-content .esports-maps {
		flex: 1;
		width: 100%;
		padding: 8px;
		max-height: 200px;
	}

	.esports-match .esports-content .esports-map {
		padding: 6px 8px;
	}

	.esports-match .esports-content .esports-map-title,
	.esports-match .esports-content .esports-streams-title {
		font-size: 12px;
	}

	.esports-match .esports-content .map-name,
	.esports-match .esports-content .map-score {
		font-size: 12px;
	}

	.esports-match .esports-content .esports-streams {
		flex: 1;
		width: 100%;
	}

	.esports-match .esports-content .stream-link {
		font-size: 11px;
		padding: 6px 12px;
	}
}




/* ==================== 弹窗通用样式 ==================== */

/* 弹窗遮罩层 */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	backdrop-filter: blur(4px);
	animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* 弹窗内容容器 */
.modal-content {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
	max-width: 900px;
	width: 90%;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	animation: slideDown 0.3s ease;
}

@keyframes slideDown {
	from {
		transform: translateY(-30px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* 弹窗头部 */
.modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	background: linear-gradient(135deg, #8B3A3E 0%, #6B2E32 100%);
	border-bottom: 2px solid #e2e8f0;
	flex-shrink: 0;
}

.modal-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.3px;
}

.modal-close {
	cursor: pointer;
	font-size: 24px;
	color: rgba(255, 255, 255, 0.9);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	transition: all 0.3s;
	line-height: 1;
	flex-shrink: 0;
}

.modal-close:hover {
	background: rgba(255, 255, 255, 0.3);
	color: #fff;
	transform: rotate(90deg);
}

/* 弹窗主体 */
.modal-body {
	flex: 1;
	padding: 24px;
	overflow-y: auto;
	min-height: 0;
}

.modal-body::-webkit-scrollbar {
	width: 8px;
}

.modal-body::-webkit-scrollbar-track {
	background: #f1f5f9;
	border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

/* 内容加载状态 */
.content-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
}

.content-loading .spinner {
	width: 50px;
	height: 50px;
	border: 4px solid #e2e8f0;
	border-top-color: #8B3A3E;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

.content-loading p {
	margin-top: 16px;
	color: #64748b;
	font-size: 15px;
	font-weight: 500;
}

/* 内容主体 */
.content-body {
	min-height: 200px;
}

/* 无数据提示 */
.content-body .no-data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	color: #94a3b8;
	font-size: 15px;
	font-weight: 500;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border-radius: 12px;
	border: 2px dashed #e2e8f0;
}

/* ==================== 比赛详情弹窗样式 ==================== */

/* 比赛详情弹窗 */
.match-detail-modal {
	max-width: 1000px;
}

/* 比赛基本信息 */
.match-basic-info {
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	padding: 20px;
	border-radius: 12px;
	margin-bottom: 20px;
	border: 1px solid #e2e8f0;
}

.match-header {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}

.match-teams {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
}

.match-teams .team {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 20px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	min-width: 0;
}

.match-teams .team.local {
	border-left: 4px solid #8B3A3E;
}

.match-teams .team.visitor {
	border-right: 4px solid #6B2E32;
}

.match-teams .team-name {
	font-size: 16px;
	font-weight: 700;
	color: #1e293b;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: 100%;
}

.match-teams .team.local .team-name {
	color: #8B3A3E;
}

.match-teams .team.visitor .team-name {
	color: #6B2E32;
}

.match-score {
	font-size: 32px;
	font-weight: 900;
	color: #8B3A3E;
	font-family: 'Arial Black', sans-serif;
	letter-spacing: 2px;
	min-width: 120px;
	text-align: center;
	flex-shrink: 0;
}

.match-meta {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.match-status {
	padding: 6px 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
}

.match-status.live {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #dc2626;
	animation: pulse 1.5s ease-in-out infinite;
}

.match-status.finished {
	background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
	color: #16a34a;
}

.match-status.pending {
	background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
	color: #64748b;
}

.match-league {
	padding: 6px 14px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	background: linear-gradient(135deg, #FFE8D6 0%, #F5E6D3 100%);
	color: #8B3A3E;
}

/* 标签页 */
.modal-tabs {
	display: flex;
	gap: 4px;
	background: #f8fafc;
	padding: 4px;
	border-radius: 10px;
	margin-bottom: 20px;
	border: 1px solid #e2e8f0;
	flex-wrap: wrap;
}

.tab-btn {
	flex: 1;
	min-width: 80px;
	padding: 10px 16px;
	border: none;
	background: transparent;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tab-btn:hover {
	background: #fff;
	color: #8B3A3E;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.tab-btn.active {
	background: linear-gradient(135deg, #8B3A3E 0%, #6B2E32 100%);
	color: #fff;
	box-shadow: 0 2px 8px rgba(139, 58, 62, 0.25);
}

/* 标签页内容容器 */
.tab-content-container {
	min-height: 300px;
}

.tab-content {
	display: none;
}

.tab-content.active {
	display: block;
	animation: fadeIn 0.3s ease;
}

/* 统计表格 */
.stats-container {
	background: #fff;
	border-radius: 12px;
	padding: 20px;
	border: 1px solid #e2e8f0;
}

.stats-table {
	width: 100%;
	border-collapse: collapse;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border-radius: 8px;
	overflow: hidden;
}

.stats-table th {
	background: linear-gradient(135deg, #8B3A3E 0%, #6B2E32 100%);
	color: #fff;
	font-weight: 700;
	padding: 14px 16px;
	font-size: 14px;
}

.stats-table td {
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 500;
	border-bottom: 1px solid #e2e8f0;
	color: #1e293b;
	text-align: center;
}

.stats-table tbody tr:last-child td {
	border-bottom: none;
}

.stats-table tbody tr:hover {
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.stats-table tbody tr:nth-child(even) {
	background: #f8fafc;
}

/* 伤停表格 */
.injuries-container {
	background: #fff;
	border-radius: 12px;
	padding: 20px;
	border: 1px solid #e2e8f0;
}

.injuries-table {
	width: 100%;
	border-collapse: collapse;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border-radius: 8px;
	overflow: hidden;
}

.injuries-table th {
	background: linear-gradient(135deg, #8B3A3E 0%, #6B2E32 100%);
	color: #fff;
	font-weight: 700;
	padding: 14px 16px;
	font-size: 14px;
}

.injuries-table td {
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 500;
	border-bottom: 1px solid #e2e8f0;
	color: #1e293b;
}

.injuries-table tbody tr:last-child td {
	border-bottom: none;
}

.injuries-table tbody tr:hover {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
}

/* ==================== 球队资料弹窗样式 ==================== */

.team-profile-modal {
	max-width: 700px;
}

.team-profile-container {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	border: 1px solid #e2e8f0;
}

.team-header {
	text-align: center;
	padding-bottom: 16px;
	border-bottom: 2px solid #8B3A3E;
	margin-bottom: 20px;
}

.team-header .team-name {
	font-size: 24px;
	font-weight: 800;
	color: #8B3A3E;
	margin-bottom: 12px;
	letter-spacing: 0.5px;
}

.team-info {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

.team-info span {
	padding: 8px 16px;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	border: 1px solid #e2e8f0;
}

/* ==================== 球员资料弹窗样式 ==================== */

.player-profile-modal {
	max-width: 600px;
}

.player-profile-container {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	border: 1px solid #e2e8f0;
}

.player-header {
	text-align: center;
	padding-bottom: 16px;
	border-bottom: 2px solid #8B3A3E;
	margin-bottom: 20px;
}

.player-header .player-name {
	font-size: 24px;
	font-weight: 800;
	color: #8B3A3E;
	margin-bottom: 12px;
	letter-spacing: 0.5px;
}

.player-info {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.player-info span {
	padding: 8px 16px;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	border: 1px solid #e2e8f0;
}

/* ==================== 响应式设计 ==================== */

@media (max-width: 1024px) {
	.main-content-wrapper {
		flex-direction: column;
	}

	.modal-content {
		width: 95%;
		max-height: 95vh;
	}

	.match-detail-modal {
		max-width: 700px;
	}
}

@media (max-width: 768px) {

	.modal-header {
		padding: 12px 16px;
	}

	.modal-title {
		font-size: 16px;
	}

	.modal-body {
		padding: 16px;
	}

	.modal-tabs {
		flex-wrap: wrap;
	}

	.tab-btn {
		min-width: 60px;
		padding: 8px 12px;
		font-size: 13px;
	}

	.match-teams {
		gap: 12px;
	}

	.match-teams .team {
		padding: 12px;
	}

	.match-teams .team-name {
		font-size: 14px;
	}

	.match-score {
		font-size: 24px;
		min-width: 80px;
	}

	.stats-table th,
	.stats-table td,
	.injuries-table th,
	.injuries-table td {
		padding: 10px 12px;
		font-size: 13px;
	}

	.team-header .team-name,
	.player-header .player-name {
		font-size: 20px;
	}

	.team-info span,
	.player-info span {
		font-size: 13px;
		padding: 6px 12px;
	}
}

/* ==================== 运动类型导航标签样式 ==================== */

.sport-type-nav {
	margin-top: 20px;
}

.sport-type-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	padding: 12px;
	background: #151515;
	box-shadow: 0 2px 10px rgba(139, 69, 19, 0.2);
}

.sport-type-tab {
	padding: 10px 18px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: rgba(255, 255, 255, 0.15);
	border: 1.5px solid rgba(255, 255, 255, 0.2);
	white-space: nowrap;
	text-decoration: none;
	color: white;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
	display: inline-block;
	position: relative;
}

.sport-type-tab:hover {
	background: rgba(255, 255, 255, 0.25);
	border-color: rgba(255, 255, 255, 0.35);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	color: white;
}

.sport-type-tab.active {
	background: rgba(255, 255, 255, 0.95);
	border-color: #151515;
	box-shadow: 0 4px 12px rgba(139, 58, 62, 0.4);
	color: #151515;
	font-weight: 700;
}

.sport-type-tab.active::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	width: 60%;
	height: 3px;
	background: #151515;
	border-radius: 2px;
}

/* 移动端适配 */
@media (max-width: 768px) {
	.sport-type-tabs {
		gap: 6px;
		padding: 10px;
	}

	.sport-type-tab {
		padding: 8px 14px;
		font-size: 12px;
	}
}
















