/* 让竖向滚动条永远显示 */
html {
  overflow-y: scroll !important;
}

.vh-50 {
  height: 50vh;
}

.vh-80 {
  height: 80vh;
}
body{
  font-size: 0.95rem !important;
}
.text-end{
  text-align: right !important;
} 

/* ===== 体育赛事主题样式覆盖 ===== */

/* 定义主题色彩变量 */
:root {
  --sports-red: #dc3545;
  --sports-dark-red: #c82333;
  --sports-black: #1a1a1a;
  --sports-dark-gray: #2d2d2d;
  --sports-gray: #6c757d;
  --sports-light-gray: #f8f9fa;
  --sports-white: #ffffff;
  --sports-gold: #ffc107;
  --sports-orange: #fd7e14;
}

/* 全局背景和文字颜色 */
body {
  background-color: var(--sports-light-gray);
  color: var(--sports-black);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* 全局链接样式 */
a {
  color: var(--sports-black);
  text-decoration: none;
  transition: color 0.3s ease;
}


/* 导航栏样式 */
.navbar {
 
}

.navbar-brand {
  color: var(--sports-white) !important;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 1px;
}

.navbar-nav .nav-link {
  color:var(--sports-white);
  font-weight: 500;
  transition: all 0.3s ease;
  border-radius: 4px;
  margin: 0 2px;
}

.navbar-nav .nav-link:hover {
  background-color: var(--sports-red);
  color: var(--sports-white) !important;
}

.navbar-nav .nav-link.active {
  background-color: var(--sports-red);
  color: var(--sports-white) !important;
}

/* 按钮样式 */
.btn {
  border-radius: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  border: none;
  padding: 6px 12px;
}

.btn-primary {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red));
  color: var(--sports-white);
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.btn-primary:hover {
  background: linear-gradient(45deg, var(--sports-dark-red), var(--sports-red));
  box-shadow: 0 6px 20px rgba(220, 53, 69, 0.4);
}

.btn-primary:active,
.btn-primary.active {
  background: linear-gradient(45deg, #b02a37, var(--sports-dark-red)) !important;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.5) !important;
  transform: translateY(1px) !important;
}

.btn-secondary {
  background: linear-gradient(45deg, var(--sports-gray), var(--sports-dark-gray));
  color: var(--sports-white);
}

.btn-secondary:hover {
  background: linear-gradient(45deg, var(--sports-dark-gray), var(--sports-gray));
}

.btn-secondary:active,
.btn-secondary.active {
  background: linear-gradient(45deg, #1a1a1a, var(--sports-dark-gray)) !important;
  box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3) !important;
  transform: translateY(1px) !important;
}

.btn-success {
  background: linear-gradient(45deg, #28a745, #20c997);
  color: var(--sports-white);
}

.btn-success:hover {
  background: linear-gradient(45deg, #20c997, #28a745) !important;
  box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3) !important;
}

.btn-success:active,
.btn-success.active {
  background: linear-gradient(45deg, #1e7e34, #28a745) !important;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.4) !important;
  transform: translateY(1px) !important;
}

.btn-warning {
  background: var(--danger);
  color: var(--sports-light-gray);
}



.btn-warning:active,
.btn-warning.active {
  background: linear-gradient(45deg, #e0a800, var(--sports-gold)) !important;
  box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4) !important;
  transform: translateY(1px) !important;
}

.btn-danger {
  background: linear-gradient(45deg, var(--sports-red), #e74c3c);
  color: var(--sports-white);
}

.btn-danger:hover {
  background: linear-gradient(45deg, #e74c3c, var(--sports-red)) !important;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3) !important;
}

.btn-danger:active,
.btn-danger.active {
  background: linear-gradient(45deg, #c82333, var(--sports-red)) !important;
  box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4) !important;
  transform: translateY(1px) !important;
}

/* Outline 按钮样式 */
.btn-outline-primary {
  background: rgba(220, 53, 69, 0.1);
  color: var(--sports-red);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-primary:hover {
  background: var(--sports-red) !important;
  color: var(--sports-white) !important;
}

.btn-outline-primary:active,
.btn-outline-primary.active {
  background: var(--sports-dark-red) !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

.btn-outline-secondary {
  background: rgba(108, 117, 125, 0.1);
  color: var(--sports-gray);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-secondary:hover {
  background: var(--sports-gray) !important;
  color: var(--sports-white) !important;
}

.btn-outline-secondary:active,
.btn-outline-secondary.active {
  background: var(--sports-dark-gray) !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

.btn-outline-success {
  background: rgba(40, 167, 69, 0.1);
  color: #28a745;
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-success:hover {
  background: #28a745 !important;
  color: var(--sports-white) !important;
}

.btn-outline-success:active,
.btn-outline-success.active {
  background: #1e7e34 !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

.btn-outline-warning {
  background: rgba(255, 193, 7, 0.1);
  color: var(--sports-gold);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-warning:hover {
  background: var(--sports-gold) !important;
  color: var(--sports-black) !important;
}

.btn-outline-warning:active,
.btn-outline-warning.active {
  background: #e0a800 !important;
  color: var(--sports-black) !important;
  transform: translateY(1px) !important;
}

.btn-outline-danger {
  background: rgba(220, 53, 69, 0.1);
  color: var(--sports-red);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-danger:hover {
  background: var(--sports-red) !important;
  color: var(--sports-white) !important;
}

.btn-outline-danger:active,
.btn-outline-danger.active {
  background: var(--sports-dark-red) !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

.btn-outline-info {
  background: rgba(23, 162, 184, 0.1);
  color: #17a2b8;
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-info:hover {
  background: #17a2b8 !important;
  color: var(--sports-white) !important;
}

.btn-outline-info:active,
.btn-outline-info.active {
  background: #117a8b !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

.btn-outline-light {
  background: rgba(248, 249, 250, 0.3);
  color: var(--sports-gray);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-light:hover {
  background: var(--sports-light-gray) !important;
  color: var(--sports-black) !important;
}

.btn-outline-light:active,
.btn-outline-light.active {
  background: #e9ecef !important;
  color: var(--sports-black) !important;
  transform: translateY(1px) !important;
}

.btn-outline-dark {
  background: rgba(26, 26, 26, 0.1);
  color: var(--sports-black);
  border: none;
  transition: all 0.3s ease;
}

.btn-outline-dark:hover {
  background: var(--sports-black) !important;
  color: var(--sports-white) !important;
}

.btn-outline-dark:active,
.btn-outline-dark.active {
  background: #000000 !important;
  color: var(--sports-white) !important;
  transform: translateY(1px) !important;
}

/* 卡片样式 */
.card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  background: var(--sports-white);
  overflow: hidden;
  margin-bottom: 15px;
}

.card:hover {
 
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.card-header {
  background:  var(--sports-gray);
  color: var(--sports-white);
  border-bottom: 0px solid var(--sports-red);
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 15px 20px;
}

.card-header a {
  color: var(--sports-white) !important;
}

.card-header a:hover {
  color: var(--sports-red) !important;
}

.card-title {
  font-weight: bold;
  margin-bottom: 15px;
}
.card-body{
/*  color:var(--sports-black);*/
}
/* 表格样式 */
.table {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.table thead th {
  background: linear-gradient(135deg, var(--sports-black) 0%, var(--sports-dark-gray) 100%);
  color: var(--sports-white);
  border: none;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 15px;
}

.table tbody tr {
  transition: all 0.3s ease;
}

.table tbody tr:hover {
  background-color: rgba(220, 53, 69, 0.1);
}

.table tbody td {
  padding: 12px 15px;
  border-color: #e9ecef;
  vertical-align: middle;
}

/* 表单样式 */
.form-control {
  border: 2px solid #e9ecef;
  border-radius: 8px;
  padding: 12px 15px;
  transition: all 0.3s ease;
  background-color: var(--sports-white);
}


.form-label {
  font-weight: 600;
  color: var(--sports-black);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.9rem;
}

/* Input Group 样式 */
.input-group {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.input-group .form-control {
  border: none;
  border-radius: 0;
  box-shadow: none;
}


.input-group-text {
  background: linear-gradient(135deg, var(--sports-black) 0%, var(--sports-dark-gray) 100%);
  color: var(--sports-white);
  border: none;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 15px;
}

.input-group-text i,
.input-group-text .fas,
.input-group-text .far,
.input-group-text .fab {
  color: var(--sports-red);
  margin-right: 5px;
}

/* Input Group 不同尺寸 */
.input-group-sm .form-control,
.input-group-sm .input-group-text {
  padding: 8px 12px;
  font-size: 0.875rem;
}

.input-group-lg .form-control,
.input-group-lg .input-group-text {
  padding: 16px 20px;
  font-size: 1.1rem;
}

/* Input Group 前置和后置元素 */
.input-group > :first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.input-group > :last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

/* Input Group 按钮 */
.input-group .btn {
  border-radius: 0 !important;
  margin: 0;
  border: none;
  box-shadow: none;
}

.input-group .btn:hover {
  transform: none;
  box-shadow: none;
}

/* Input Group 按钮圆角逻辑 */
/* 如果按钮是第一个元素（左边），且有左边圆角 */
.input-group .btn:first-child {
  border-top-left-radius: 8px !important;
  border-bottom-left-radius: 8px !important;
}

/* 如果按钮是最后一个元素（右边），且有右边圆角 */
.input-group .btn:last-child {
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
}

/* 如果按钮既是第一个也是最后一个（单独按钮），只有右边圆角 */
.input-group .btn:first-child:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
}

/* Input Group 多个输入框 */
.input-group > .form-control:not(:last-child) {
  border-right: 1px solid #e9ecef;
}

.input-group > .form-control:not(:first-child) {
  border-left: 1px solid #e9ecef;
}

/* 确保Input Group元素完全贴合 */
.input-group > * {
  margin: 0;
  border-radius: 0;
}

.input-group > .form-control,
.input-group > .input-group-text,
.input-group > .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

/* 修复Input Group中按钮的样式冲突 */
.input-group .btn-primary,
.input-group .btn-secondary,
.input-group .btn-success,
.input-group .btn-warning,
.input-group .btn-danger,
.input-group .btn-info,
.input-group .btn-light,
.input-group .btn-dark {
  margin: 0;
  border-radius: 0 !important;
  box-shadow: none;
}

/* 确保Input Group中所有按钮默认无圆角 */
.input-group .btn {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group .btn-primary:hover,
.input-group .btn-secondary:hover,
.input-group .btn-success:hover,
.input-group .btn-warning:hover,
.input-group .btn-danger:hover,
.input-group .btn-info:hover,
.input-group .btn-light:hover,
.input-group .btn-dark:hover {
  transform: none;
  box-shadow: none;
}

/* 警告框样式 */
.alert-primary {
  background: rgba(220, 53, 69, 0.1);
}

.alert-success {
  background: rgba(40, 167, 69, 0.1);
}

.alert-warning {
  background: rgba(255, 193, 7, 0.1);
}

.alert-danger {
  background: rgba(220, 53, 69, 0.15);
}

.alert-info {
  background: rgba(23, 162, 184, 0.1);
}

.alert-secondary {
  background: rgba(108, 117, 125, 0.1);
}

.alert-light {
  background: rgba(248, 249, 250, 0.3);
}

.alert-dark {
  background: rgba(26, 26, 26, 0.1);
}

/* 分页样式 */
.pagination {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.page-link {
  border: none;
  color: var(--sports-black);
  padding: 12px 16px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.page-link:hover {
  background-color: var(--sports-red);
  color: var(--sports-white);
}

.page-item.active .page-link {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red));
  border-color: var(--sports-red);
  color: var(--sports-white);
}

/* 徽章样式 */
.badge {
  border-radius: 20px;
  padding: 6px 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.badge-light,.badge-light:hover{
 
  color: var(--sports-black) !important;
}

.badge-primary {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red));
  color: var(--sports-white);
}

.badge-secondary {
  background: linear-gradient(45deg, var(--sports-gray), var(--sports-dark-gray));
  color: var(--sports-white);
}

.badge-success {
  background: linear-gradient(45deg, #28a745, #20c997);
  color: var(--sports-white);
}

.badge-warning {
  background: linear-gradient(45deg, var(--sports-gold), var(--sports-orange));
  color: var(--sports-black);
}
.bg-primary{
  background: var(--sports-red) !important;
}
.bg-dark{
  
}
.bg-white{
  background: var(--sports-white) !important;
}

/* 进度条样式 */
.progress {
  height: 12px;
  border-radius: 6px;
  background-color: #e9ecef;
  overflow: hidden;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.progress-bar {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red));
  border-radius: 0;
  transition: width 0.6s ease;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}

/* 多个进度条的处理 */
.progress-bar:last-child {
  border-right: none;
}

/* 不同颜色的进度条 */
.progress-bar.bg-success {
  background: linear-gradient(45deg, #28a745, #20c997) !important;
}

.progress-bar.bg-info {
  background: linear-gradient(45deg, #17a2b8, #20c997) !important;
}

.progress-bar.bg-warning {
  background: linear-gradient(45deg, var(--sports-gold), var(--sports-orange)) !important;
}

.progress-bar.bg-danger {
  background: linear-gradient(45deg, var(--sports-red), #e74c3c) !important;
}

.progress-bar.bg-secondary {
  background: linear-gradient(45deg, var(--sports-gray), var(--sports-dark-gray)) !important;
}

.progress-bar.bg-primary {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red)) !important;
}

.progress-bar.bg-light {
  background: linear-gradient(45deg, var(--sports-light-gray), #e9ecef) !important;
  color: var(--sports-gray);
}

.progress-bar.bg-dark {
  background: linear-gradient(45deg, var(--sports-black), var(--sports-dark-gray)) !important;
}

/* 模态框样式 */
.modal-content {
  border: none;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  overflow: hidden;
}

.modal-header {
  background: linear-gradient(135deg, var(--sports-black) 0%, var(--sports-dark-gray) 100%);
  color: var(--sports-white);
  border-bottom: 3px solid var(--sports-red);
  padding: 20px 25px;
}

.modal-title {
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.modal-footer {
  border-top: 1px solid #e9ecef;
  padding: 20px 25px;
}

/* 下拉菜单样式 */
.dropdown-menu {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  padding: 8px 0;
}

.dropdown-item {
  padding: 10px 20px;
  transition: all 0.3s ease;
  font-weight: 500;
}

.dropdown-item:hover {
  background-color: rgba(220, 53, 69, 0.1);
  color: var(--sports-red);
}

/* 面包屑导航样式 */
.breadcrumb {
  background: linear-gradient(45deg, var(--sports-light-gray), #e9ecef);
  border-radius: 8px;
  padding: 12px 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--sports-gray);
  font-weight: bold;
}

.breadcrumb-item.active {
  color: var(--sports-red);
  font-weight: bold;
}

/* 工具提示样式 */
.tooltip-inner {
  background: linear-gradient(45deg, var(--sports-black), var(--sports-dark-gray));
  color: var(--sports-white);
  border-radius: 6px;
  font-weight: 500;
}

.bs-tooltip-top .arrow::before {
  border-top-color: var(--sports-black);
}

/* Tab 样式 */
.nav-tabs {
  border-bottom: 1px solid #e9ecef;
}

.nav-tabs .nav-link {
  border: none;
  color: var(--sports-gray);
  font-weight: 500;
  padding: 12px 20px;
  margin-right: 0;
  transition: all 0.3s ease;
  background: transparent;
  position: relative;
}

.nav-tabs .nav-link:hover {
  color: var(--sports-red);
  background: transparent;
  border: none;
}

.nav-tabs .nav-link.active {
  color: var(--sports-red);
  background: transparent;
  border: none;
  font-weight: 600;
}

.nav-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sports-red);
}
footer{
    padding: 10px;
}
footer a{
    color: #b0b3b6;
}
/* 自定义体育赛事专用样式 */
.sports-score {
  background: linear-gradient(45deg, var(--sports-red), var(--sports-dark-red));
  color: var(--sports-white);
  padding: 15px 25px;
  border-radius: 12px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 4px 20px rgba(220, 53, 69, 0.3);
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.sports-timer {
  background: linear-gradient(45deg, var(--sports-black), var(--sports-dark-gray));
  color: var(--sports-red);
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  border: 2px solid var(--sports-red);
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.sports-status {
  display: inline-block;
  padding: 6px 15px;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.8rem;
}

.sports-status.live {
  background: linear-gradient(45deg, var(--sports-red), #e74c3c);
  color: var(--sports-white);
  animation: pulse 2s infinite;
}

.sports-status.finished {
  background: linear-gradient(45deg, var(--sports-gray), var(--sports-dark-gray));
  color: var(--sports-white);
}

.sports-status.upcoming {
  background: linear-gradient(45deg, var(--sports-gold), var(--sports-orange));
  color: var(--sports-black);
}

/* 动画效果 */
@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.7; }
  100% { opacity: 1; }
}

/* 响应式调整 */
@media (max-width: 768px) {
  .navbar-brand {
    font-size: 1.2rem;
  }
  .navbar-nav .nav-link{color:var(--dark)}
  .sports-score {
    font-size: 1.5rem;
    padding: 10px 15px;
  }
  
  .sports-timer {
    font-size: 1.2rem;
    padding: 8px 15px;
  }
  
  .card-header {
    padding: 10px 15px;
  }
  
  .table thead th {
    padding: 10px;
    font-size: 0.9rem;
  }
} 