html{
scroll-behavior:smooth;
overflow-x:hidden;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:#eef4f8;
color:#122033;
overflow-x:hidden;
}

.schedule-page{
background:
linear-gradient(135deg,#061a35,#08254c,#0b3a66);
min-height:100vh;
padding:24px 0 36px;
}

/* Hero */
.schedule-hero{
background:
linear-gradient(135deg, rgba(8,37,76,0.95), rgba(16,78,139,0.92)),
url("/assets/img/stadium.jpg") center/cover no-repeat;
border:1px solid rgba(255,255,255,0.14);
border-radius:22px;
box-shadow:0 16px 34px rgba(15,23,42,0.14);
padding:18px 26px;
margin-bottom:18px;
position:relative;
overflow:hidden;
}

.schedule-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(90deg, rgba(255,255,255,0.04), transparent);
pointer-events:none;
}

.schedule-hero-inner{
position:relative;
z-index:2;
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:20px;
}

.schedule-hero-left{
flex:1 1 auto;
min-width:0;
}

.hero-tag{
display:inline-block;
padding:8px 14px;
border-radius:999px;
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.14);
font-size:12px;
font-weight:700;
color:#ffffff;
margin-bottom:12px;
text-transform:uppercase;
letter-spacing:.4px;
}

.schedule-page-title{
font-size:34px;
font-weight:800;
line-height:1.15;
margin:0;
color:#ffffff;
}

.schedule-page-subtitle{
font-size:15px;
line-height:1.8;
color:#dbeafe;
margin:0;
max-width:680px;
}

.schedule-hero-right{
display:flex;
gap:12px;
flex-wrap:wrap;
justify-content:flex-end;
}

.hero-stat-card{
min-width:125px;
padding:14px 16px;
border-radius:16px;
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.14);
text-align:center;
backdrop-filter:blur(6px);
}

.hero-stat-label{
display:block;
font-size:11px;
font-weight:700;
color:#dbeafe;
margin-bottom:6px;
text-transform:uppercase;
letter-spacing:.3px;
}

.hero-stat-card strong{
font-size:24px;
font-weight:800;
color:#ffffff;
}

/* Tabs */
.schedule-tabs{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:18px;
}

.tab-chip{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 15px;
border-radius:999px;
background:#ffffff;
border:1px solid #dbe5ee;
color:#4b5563;
font-size:12px;
font-weight:700;
box-shadow:0 4px 12px rgba(15,23,42,0.05);
}

.tab-chip.active{
background:#16a34a;
border-color:#16a34a;
color:#ffffff;
}

.schedule-layout{
display:block;
}

.schedule-main{
width:100%;
display:flex;
flex-direction:column;
gap:6px;
}

.schedule-sidebar{
display:none;
}

.full-width-layout{
width:100%;
}

/* Panels */
.schedule-panel{
background:#ffffff;
border:2px solid transparent;
border-radius:20px;
overflow:hidden;
box-shadow:0 12px 28px rgba(15,23,42,0.08);
background-clip:padding-box;
position:relative;
}

.schedule-panel::before{
content:"";
position:absolute;
inset:0;
border-radius:20px;
padding:2px;
background:linear-gradient(135deg,#08254c,#104e8b);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;
mask-composite:exclude;
pointer-events:none;
}

.sidebar-panel{
position:static;
top:auto;
}

.schedule-panel-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:16px 18px;
border-bottom:none;
background:linear-gradient(135deg,#08254c,#104e8b);
color:#ffffff;
}

.schedule-panel-head h1,
.schedule-panel-head h2,
.schedule-panel-head h3,
.schedule-panel-head h4,
.schedule-panel-head span{
color:#ffffff;
}

.schedule-panel-head h2{
color:#ffffff;
}

.schedule-panel-head span{
color:#dbeafe;
font-weight:600;
}

/* Day Group */
.day-group{
padding:0 18px;
margin-bottom:0;
}

.day-group:last-child{
padding-bottom:0;
margin-bottom:0;
}

.day-group-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:14px 18px;
background:linear-gradient(135deg,#08254c,#104e8b);
border-bottom:none;
color:#ffffff;
}

.day-group-header div,
.day-group-header span{
color:#ffffff;
}

.day-title{
font-weight:700;
font-size:14px;
letter-spacing:.3px;
}

.day-count{
font-size:12px;
font-weight:600;
background:rgba(255,255,255,0.18);
padding:4px 10px;
border-radius:20px;
}

/* Match Rows */
.match-list{
display:flex;
flex-direction:column;
gap:8px;
}

.match-row{
background:#fbfdff;
border:1.5px solid #104e8b;
border-radius:16px;
padding:8px;
transition:all .22s ease;
box-shadow:0 10px 22px rgba(16,78,139,0.08);
}

.match-row:hover{
transform:translateY(-2px);
box-shadow:0 10px 22px rgba(15,23,42,0.08);
border-color:#cdd9e5;
}

.match-row-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
margin-bottom:6px;
flex-wrap:wrap;
}

.match-round{
display:inline-block;
padding:6px 10px;
border-radius:999px;
background:#e0f2fe;
border:1px solid #bae6fd;
color:#0369a1;
font-size:11px;
font-weight:700;
}

/* Match Status Badge Base Styles */
.match-status{
display:inline-flex;
align-items:center;
justify-content:center;
padding:6px 12px;
border-radius:999px;
font-size:11px;
font-weight:700;
letter-spacing:.2px;
text-transform:uppercase;
box-shadow:0 6px 14px rgba(15,23,42,0.08);
}

/* Match Status Upcoming Styles */
.match-status.upcoming{
background:#fff7ed;
border:1px solid #fed7aa;
color:#c2410c;
}

/* Match Status Live Styles */
.match-status.live{
background:#fee2e2;
border:1px solid #fca5a5;
color:#b91c1c;
animation:matchLivePulse 1.4s ease-in-out infinite;
}

/* Match Status Completed Styles */
.match-status.completed{
background:#ecfdf5;
border:1px solid #bbf7d0;
color:#15803d;
}

.match-row-mid{
display:flex;
flex-direction:column;
gap:4px;
}

/* Schedule Match Meta Container */
.match-meta{
margin-bottom:4px;
}

/* Schedule Card Meta Divider */
.match-meta{
position:relative;
padding-bottom:4px;
margin-bottom:6px;
}

/* CSS START: Schedule Match Date Time Row Same Line */
.match-datetime-row{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:8px;
}

/* CSS END: Schedule Match Date Time Row Same Line */

/* Schedule Match Number Badge */
.match-number-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:6px 12px;
border-radius:999px;
background:linear-gradient(135deg,#08254c,#104e8b);
border:1px solid rgba(8,37,76,0.18);
font-size:12px;
font-weight:700;
color:#ffffff;
box-shadow:0 6px 14px rgba(8,37,76,0.12);
}

/* Schedule Match Date Badge */
.match-date-text{
display:inline-flex;
align-items:center;
gap:6px;
padding:6px 12px;
border-radius:999px;
background:#eff6ff;
border:1px solid #bfdbfe;
font-size:12px;
font-weight:700;
color:#1d4ed8;
box-shadow:0 4px 10px rgba(29,78,216,0.08);
}

/* Schedule Match Time Badge */
.match-time-text{
display:inline-flex;
align-items:center;
gap:6px;
padding:6px 12px;
border-radius:999px;
background:#f0fdf4;
border:1px solid #bbf7d0;
font-size:12px;
font-weight:700;
color:#15803d;
box-shadow:0 4px 10px rgba(21,128,61,0.08);
}

.ipl-scorecard{
margin-top:4px;
padding:12px 14px;
border-radius:16px;
background:linear-gradient(180deg,#f8fbff 0%, #edf4ff 100%);
border:1px solid #d4e3ff;
box-shadow:0 10px 24px rgba(8,37,76,0.08);
}

.ipl-scorecard-top{
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:10px;
}

.ipl-team-panel{
padding:4px 6px;
}

.ipl-team-panel-left{
align-items:flex-start;
text-align:left;
}

.ipl-team-panel-right{
align-items:flex-end;
text-align:right;
}

.ipl-team-name{
font-size:13px;
font-weight:700;
line-height:1.2;
color:#08254c;
word-break:break-word;
}

.ipl-team-score{
font-size:28px;
font-weight:800;
line-height:1;
letter-spacing:-0.5px;
color:#08254c;
}

.ipl-team-overs{
font-size:11px;
font-weight:600;
line-height:1.1;
color:#64748b;
}

.ipl-vs-center{
display:flex;
align-items:center;
justify-content:center;
}

.ipl-vs-badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:48px;
height:48px;
padding:0 14px;
border-radius:999px;
background:#104e8b;
color:#ffffff;
font-size:12px;
font-weight:800;
letter-spacing:1px;
box-shadow:0 10px 22px rgba(16,78,139,0.20);
}

.match-row-bottom{
margin-top:4px;
}

.match-note{
font-size:13px;
font-weight:700;
color:#1d4ed8;
}

.match-note.upcoming-note{
color:#64748b;
}

.ipl-match-note{
display:inline-flex;
align-items:center;
padding:8px 14px;
border-radius:999px;
background:#eff6ff;
border:1px solid #bfdbfe;
line-height:1.4;
}

.ipl-upcoming-note{
display:inline-flex;
align-items:center;
padding:8px 14px;
border-radius:999px;
background:#f8fafc;
border:1px solid #e2e8f0;
line-height:1.4;
}

.match-note.upcoming-note{
color:#64748b;
}

/* CSS START: Schedule Match Venue Badge Inline */
.match-venue{
display:inline-flex;
align-items:center;
gap:6px;
padding:6px 12px;
border-radius:999px;
background:#f1f5f9;
border:1px solid #cbd5f5;
font-size:12px;
font-weight:700;
color:#1e293b;
line-height:1.4;
white-space:nowrap;
flex-shrink:0;
}
/* CSS END: Schedule Match Venue Badge Inline */

/* Schedule Match Award Styles */
.match-award{
margin-top:8px;
display:inline-flex;
align-items:center;
gap:8px;
padding:8px 12px;
border-radius:12px;
background:#fff7ed;
border:1px solid #fed7aa;
font-size:12px;
font-weight:700;
color:#c2410c;
}

.match-award-star-icon::before{
content:"⭐";
}

/* Empty */
.schedule-empty-box{
padding:28px 18px;
text-align:center;
}

.schedule-empty-box h3{
font-size:22px;
font-weight:800;
margin:0 0 8px;
color:#0f172a;
}

.schedule-empty-box p{
font-size:14px;
line-height:1.8;
color:#64748b;
margin:0;
}

/* Bracket */
.playoff-bracket-wrapper{
overflow-x:auto;
padding:18px;
background:linear-gradient(180deg,#f9fcff,#ffffff);
}

.playoff-bracket{
min-width:980px;
display:flex;
align-items:center;
justify-content:space-between;
gap:0;
}

.bracket-column{
width:270px;
flex:0 0 270px;
display:flex;
flex-direction:column;
gap:20px;
}

.bracket-center-column{
justify-content:center;
}

.bracket-column-title{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 14px;
border-radius:999px;
background:#eff6ff;
border:1px solid #bfdbfe;
color:#1d4ed8;
font-size:12px;
font-weight:700;
margin:0 auto 2px;
min-width:100px;
}

.bracket-match-card{
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:16px;
padding:14px;
box-shadow:0 8px 18px rgba(15,23,42,0.06);
}

.bracket-match-card.featured{
border-color:#93c5fd;
}

.bracket-match-card.final-match{
border:1.5px solid #f59e0b;
background:linear-gradient(180deg,#fffdf5 0%, #fff7e6 100%);
box-shadow:0 10px 22px rgba(245,158,11,0.14);
}

.bracket-match-head{
font-size:14px;
font-weight:800;
color:#0f172a;
margin-bottom:10px;
text-align:center;
}

.bracket-team{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:10px 11px;
background:#f8fafc;
border:1px solid #e2e8f0;
border-radius:11px;
margin-bottom:8px;
}

.bracket-team:last-of-type{
margin-bottom:0;
}

.bracket-team.winner{
border-left:4px solid #16a34a;
background:linear-gradient(135deg,#ecfdf5,#dcfce7);
border-color:#86efac;
box-shadow:0 6px 14px rgba(22,163,74,0.10);
}

.bracket-team .team-name{
font-size:13px;
font-weight:700;
color:#0f172a;
}

.bracket-team .team-score{
font-size:11px;
font-weight:700;
color:#475569;
white-space:nowrap;
}

.bracket-match-footer{
margin-top:10px;
text-align:center;
font-size:11px;
font-weight:700;
color:#64748b;
}

.bracket-match-footer.champion{
color:#b45309;
}

.bracket-connector-column{
width:60px;
flex:0 0 60px;
position:relative;
height:300px;
}

.bracket-connector{
position:absolute;
left:50%;
transform:translateX(-50%);
width:70%;
border-top:2px solid #93c5fd;
}

.bracket-connector.top{
top:27%;
}

.bracket-connector.bottom{
top:73%;
}

.final-column-line{
height:210px;
}

.bracket-connector.final-link{
top:50%;
}

/* Points Table */
.schedule-table-wrap{
padding:8px 16px 16px;
overflow-x:auto;
}

.schedule-points-table{
width:100%;
border-collapse:collapse;
min-width:760px;
background:#ffffff;
}

.schedule-points-table thead tr{
background:#f8fafc;
}

.schedule-points-table th{
padding:14px 12px;
border-bottom:1px solid #e2e8f0;
font-size:13px;
font-weight:700;
color:#0f172a;
text-align:left;
white-space:nowrap;
}

.schedule-points-table td{
padding:14px 12px;
border-bottom:1px solid #edf2f7;
font-size:13px;
font-weight:600;
color:#334155;
white-space:nowrap;
}

.schedule-points-table tbody tr:hover{
background:#f8fbff;
}

.schedule-points-table tbody tr:last-child td{
border-bottom:none;
}

.schedule-table-empty{
text-align:center;
color:#64748b;
font-weight:600;
}

/* Responsive */
@media (max-width:1199px){
.schedule-hero-inner{
flex-direction:column;
}

.schedule-hero-right{
justify-content:flex-start;
}

.schedule-layout{
display:block;
}

.schedule-sidebar{
display:none;
}

.sidebar-panel{
position:static;
}
}

/* Points table status rows */
.qualified-team{
background:#ecfdf5;
border-left:5px solid #16a34a;
}

.qualified-team:hover{
background:#d1fae5;
}

.eliminated-team{
background:#fef2f2;
border-left:5px solid #dc2626;
}

.eliminated-team:hover{
background:#fee2e2;
}

.winner-team{
background:#fffbeb;
border-left:5px solid #f59e0b;
}

.winner-team:hover{
background:#fef3c7;
}

.runnerup-team{
background:#fff7ed;
border-left:5px solid #f97316;
}

.runnerup-team:hover{
background:#ffedd5;
}

.rank-cell{
position:relative;
font-weight:700;
white-space:nowrap;
}

.qualify-badge,
.eliminate-badge,
.winner-badge,
.runnerup-badge{
display:inline-block;
margin-left:4px;
padding:2px 6px;
font-size:10px;
font-weight:700;
border-radius:4px;
line-height:1.2;
color:#ffffff;
}

.qualify-badge{
background:#16a34a;
}

.eliminate-badge{
background:#dc2626;
}

.winner-badge{
background:#16a34a;
}

.runnerup-badge{
background:#f97316;
}

/* =====================================
Multi Phase Knockout Tables Layout
===================================== */

.phase-tables-stack{
display:flex;
flex-direction:column;
gap:24px;
}

.phase-tables-stack .schedule-panel-head h2{
margin:0;
}

/* =====================================
Series Award Banner
===================================== */

.series-award-banner{
display:flex;
align-items:center;
gap:14px;
padding:18px 20px;
background:linear-gradient(135deg,#6d28d9,#9333ea);
border-bottom:1px solid rgba(255,255,255,0.25);
color:#ffffff;
}

.series-award-icon{
width:52px;
height:52px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.18);
font-size:24px;
flex:0 0 52px;
}

.series-award-content{
display:flex;
flex-direction:column;
gap:4px;
min-width:0;
}

.series-award-label{
font-size:13px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.4px;
color:rgba(255,255,255,0.9);
}

.series-award-title{
font-size:24px;
font-weight:800;
line-height:1.2;
color:#ffffff;
}

/* =====================================
Champion Banner
===================================== */

.champion-banner{
display:flex;
align-items:center;
gap:14px;
padding:18px 20px;
background:linear-gradient(135deg,#f59e0b,#facc15);
border-bottom:1px solid rgba(255,255,255,0.25);
color:#ffffff;
}

.champion-banner-icon{
width:52px;
height:52px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.18);
font-size:24px;
flex:0 0 52px;
}

.champion-banner-text{
display:flex;
flex-direction:column;
gap:4px;
min-width:0;
}

.champion-banner-text span{
font-size:13px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.4px;
color:rgba(255,255,255,0.9);
}

.champion-banner-text strong{
font-size:24px;
font-weight:800;
line-height:1.2;
color:#ffffff;
}

/* =====================================
Dynamic Round Tabs and Match Filter Visibility
===================================== */

.tab-chip.active{
background:#16a34a;
border-color:#16a34a;
color:#ffffff;
}

.tab-chip:hover{
transform:translateY(-1px);
}

.match-row-hidden{
display:none !important;
}

.day-group-hidden{
display:none !important;
}

/* =====================================
Mobile View
===================================== */

@media (max-width:768px){
.schedule-page{
padding:16px 0 8px;
}

.schedule-hero{
padding:16px;
margin-bottom:14px;
}

.schedule-page-title{
font-size:22px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.schedule-hero-right{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:8px;
width:100%;
justify-content:stretch;
}

.hero-stat-card{
min-width:0;
padding:10px 8px;
border-radius:12px;
}

.hero-stat-label{
font-size:9px;
margin-bottom:4px;
letter-spacing:.2px;
}

.hero-stat-card strong{
font-size:18px;
}

.schedule-panel-head{
padding:14px 16px;
}

/* Tabs: desktop normal, mobile compact one-row */
.schedule-tabs{
display:grid;
grid-template-columns:repeat(7, minmax(0, 1fr));
gap:3px;
margin-bottom:12px;
}

.tab-chip{
appearance:none;
-webkit-appearance:none;
border:none;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
padding:5px 1px;
border-radius:10px;
background:#ffffff;
border:1px solid #dbe5ee;
color:#4b5563;
font-size:7px;
font-weight:700;
line-height:1.05;
text-align:center;
white-space:normal;
word-break:break-word;
min-width:0;
box-shadow:none;
transition:all 0.2s ease;
}

.day-group{
padding:0 12px;
margin-bottom:0;
}

.day-group:last-child{
padding-bottom:0;
margin-bottom:0;
}

.day-group-header{
flex-direction:column;
align-items:flex-start;
}

.playoff-bracket-wrapper{
overflow-x:visible;
padding:10px 8px;
}

.schedule-table-wrap{
padding:6px 6px 14px;
overflow-x:hidden;
}

.schedule-points-table{
width:100%;
min-width:100% !important;
table-layout:fixed;
}

.schedule-points-table th,
.schedule-points-table td{
padding:6px 3px;
font-size:9px;
line-height:1.15;
white-space:normal !important;
word-break:break-word;
overflow-wrap:anywhere;
text-align:center;
vertical-align:middle;
}

.schedule-points-table th:nth-child(1),
.schedule-points-table td:nth-child(1){
width:9%;
font-size:8px;
}

.schedule-points-table th:nth-child(2),
.schedule-points-table td:nth-child(2){
width:24%;
text-align:left;
font-size:8.5px;
line-height:1.15;
}

.schedule-points-table th:nth-child(3),
.schedule-points-table td:nth-child(3){
width:10%;
font-size:8px;
}

.schedule-points-table th:nth-child(4),
.schedule-points-table td:nth-child(4){
width:8%;
font-size:8px;
}

.schedule-points-table th:nth-child(5),
.schedule-points-table td:nth-child(5){
width:8%;
font-size:8px;
}

.schedule-points-table th:nth-child(6),
.schedule-points-table td:nth-child(6){
width:15%;
font-size:8px;
}

.schedule-points-table th:nth-child(7),
.schedule-points-table td:nth-child(7){
width:10%;
font-size:8px;
}

.schedule-points-table th:nth-child(8),
.schedule-points-table td:nth-child(8){
width:16%;
font-size:8px;
}

.rank-cell{
white-space:normal !important;
font-size:8px;
line-height:1.1;
}

.schedule-points-table td:nth-child(2){
font-weight:600;
}

.qualify-badge,
.eliminate-badge,
.winner-badge,
.runnerup-badge{
display:block;
margin:3px auto 0;
padding:1px 4px;
font-size:8px;
line-height:1.1;
width:fit-content;
}

.schedule-points-table th{
font-weight:700;
}

.match-list{
gap:6px;
}

.match-row{
padding:6px 8px;
border-radius:12px;
}

.match-row-top{
gap:6px;
margin-bottom:4px;
}

.match-round,
.match-status{
padding:4px 8px;
font-size:9px;
}

.match-row-mid{
gap:2px;
}

.match-meta{
padding-bottom:1px;
margin-bottom:2px;
}

.match-datetime-row{
gap:4px;
}

.match-number-badge,
.match-date-text,
.match-time-text,
.match-venue{
padding:4px 8px;
font-size:9px;
}

.ipl-scorecard{
margin-top:2px;
padding:6px 8px;
border-radius:12px;
}

.ipl-scorecard-top{
grid-template-columns:1fr auto 1fr;
gap:6px;
align-items:center;
}

.ipl-team-panel{
padding:0;
}

.ipl-team-panel-left{
text-align:left;
align-items:flex-start;
}

.ipl-team-panel-right{
text-align:right;
align-items:flex-end;
}

.ipl-team-name{
font-size:11px;
line-height:1.15;
font-weight:700;
}

.ipl-team-score{
font-size:18px;
line-height:1;
}

.ipl-team-overs{
font-size:9px;
line-height:1.1;
margin-top:2px;
}

.ipl-vs-badge{
min-width:24px;
height:24px;
padding:0 6px;
font-size:8px;
}

.match-row-bottom{
margin-top:2px;
}

.match-note,
.ipl-match-note,
.ipl-upcoming-note{
padding:4px 8px;
font-size:9px;
line-height:1.2;
}

.match-award{
margin-top:4px;
padding:4px 8px;
font-size:9px;
line-height:1.2;
}

/* Series banner mobile */
.series-award-banner{
padding:16px;
align-items:flex-start;
}

.series-award-title{
font-size:20px;
}

/* Champion banner mobile */
.champion-banner{
padding:16px;
align-items:flex-start;
}

.champion-banner-text strong{
font-size:20px;
}

/* Playoffs mobile */
.playoff-bracket{
min-width:0;
width:100%;
display:flex;
flex-direction:column;
gap:8px;
position:relative;
}

.bracket-connector-column{
display:none;
}

.playoff-bracket > .bracket-column:first-child{
width:100%;
flex:unset;
display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
align-items:start;
position:relative;
}

.playoff-bracket > .bracket-column:first-child .bracket-column-title{
grid-column:1 / -1;
justify-self:center;
margin:0 auto 4px;
}

.playoff-bracket > .bracket-column:first-child .bracket-match-card{
margin:0;
width:100%;
position:relative;
}

.playoff-bracket > .bracket-column:first-child::after{
content:"";
position:absolute;
left:50%;
bottom:-12px;
transform:translateX(-50%);
width:2px;
height:12px;
background:#93c5fd;
border-radius:999px;
}

.playoff-bracket > .bracket-column.bracket-center-column{
width:100%;
flex:unset;
display:block;
max-width:100%;
position:relative;
}

.playoff-bracket > .bracket-column.bracket-center-column .bracket-column-title{
display:inline-flex;
margin:0 auto 4px;
justify-content:center;
}

.playoff-bracket > .bracket-column.bracket-center-column::after{
content:"";
display:block;
width:2px;
height:12px;
background:#93c5fd;
border-radius:999px;
margin:8px auto 0;
}

.playoff-bracket > .bracket-column:last-child{
width:100%;
flex:unset;
display:block;
max-width:100%;
}

.playoff-bracket > .bracket-column:last-child .bracket-column-title{
display:inline-flex;
margin:0 auto 4px;
justify-content:center;
}

.bracket-column{
width:100%;
flex:unset;
gap:8px;
}

.bracket-column-title{
display:inline-flex;
align-items:center;
justify-content:center;
padding:6px 10px;
font-size:10px;
min-width:76px;
}

.bracket-match-card{
width:100%;
padding:10px;
border-radius:12px;
}

.bracket-match-head{
font-size:12px;
margin-bottom:8px;
text-align:center;
}

.bracket-team{
padding:7px 8px;
gap:6px;
border-radius:9px;
margin-bottom:6px;
}

.bracket-team .team-name{
font-size:11px;
line-height:1.2;
}

.bracket-team .team-score{
font-size:10px;
}

.bracket-match-footer{
margin-top:8px;
font-size:10px;
text-align:center;
}

.bracket-team.winner{
border-left:4px solid #16a34a;
background:linear-gradient(135deg,#ecfdf5,#dcfce7);
border-color:#86efac;
box-shadow:0 6px 14px rgba(22,163,74,0.10);
}

.bracket-match-card.final-match{
border:1.5px solid #f59e0b;
background:linear-gradient(180deg,#fffdf5 0%, #fff7e6 100%);
box-shadow:0 10px 22px rgba(245,158,11,0.14);
}
}

/* CSS START: Golden Final Match Card Under Final Tab */
.match-row[data-round-key="grand_final"]{
background:
linear-gradient(180deg,#fffdf5 0%, #fff7e6 100%);
border:2px solid #f59e0b;
box-shadow:
0 0 0 1px rgba(245,158,11,0.22),
0 14px 30px rgba(245,158,11,0.22);
position:relative;
overflow:hidden;
}

.match-row[data-round-key="grand_final"]::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.65) 45%, transparent 70%);
transform:translateX(-120%);
animation:finalGoldShine 3s ease-in-out infinite;
pointer-events:none;
}

.match-row[data-round-key="grand_final"] .match-round{
background:linear-gradient(135deg,#f59e0b,#facc15);
border-color:#f59e0b;
color:#ffffff;
box-shadow:0 8px 18px rgba(245,158,11,0.25);
}

.match-row[data-round-key="grand_final"] .ipl-scorecard{
background:
linear-gradient(180deg,#fffaf0 0%, #fff1cc 100%);
border-color:#facc15;
box-shadow:0 12px 26px rgba(245,158,11,0.18);
}

.match-row[data-round-key="grand_final"] .ipl-vs-badge{
background:linear-gradient(135deg,#b45309,#f59e0b);
box-shadow:0 10px 22px rgba(180,83,9,0.25);
}

.match-row[data-round-key="grand_final"] .ipl-match-note{
background:#fffbeb;
border-color:#facc15;
color:#b45309;
}

.match-row[data-round-key="grand_final"] .match-award{
background:#fffbeb;
border-color:#facc15;
color:#b45309;
}

@keyframes finalGoldShine{
0%{
transform:translateX(-120%);
}
45%{
transform:translateX(120%);
}
100%{
transform:translateX(120%);
}
}
/* CSS END: Golden Final Match Card Under Final Tab */
/* Schedule Page Icons Fix Start */
.match-date-icon::before{
content:"📅";
}

.match-time-icon::before{
content:"🕒";
}

.match-venue-icon::before{
content:"🏟";
}

.champion-trophy-icon::before{
content:"🏆";
}

.series-cricket-icon::before{
content:"🏏";
}
/* Schedule Page Icons Fix End */