/* =========================
   SINGLE MATCH PAGE - PRO UI
   ========================= */

:root{
    --bg-1:#06111f;
    --bg-2:#0a1730;
    --bg-3:#0d1d3a;

    --card:#101a2d;
    --card-2:#0d1627;
    --card-3:#0b1220;

    --line:rgba(255,255,255,0.08);
    --line-strong:rgba(255,255,255,0.14);

    --text:#f5f7ff;
    --muted:#9eb0cf;
    --soft:#7f91b0;

    --blue:#4f7cff;
    --violet:#835cff;
    --pink:#ff4f93;
    --cyan:#22d3ee;
    --green:#22c55e;
    --yellow:#facc15;
    --red:#ef4444;
    --orange:#fb923c;

    --shadow-lg:0 18px 50px rgba(0,0,0,.28);
    --shadow-md:0 10px 28px rgba(0,0,0,.22);
    --shadow-sm:0 6px 18px rgba(0,0,0,.14);

    --radius-xl:26px;
    --radius-lg:20px;
    --radius-md:16px;
    --radius-sm:12px;
}

.modern-match-page{
    max-width:1180px;
    margin:0 auto;
    padding:22px 16px 42px;
    position:relative;
}

.modern-match-page::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 10% 10%, rgba(79,124,255,.18), transparent 25%),
        radial-gradient(circle at 90% 12%, rgba(131,92,255,.16), transparent 24%),
        radial-gradient(circle at 50% 100%, rgba(255,79,147,.10), transparent 24%),
        linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 45%, #07101e 100%);
}

.modern-match-page::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,0));
    pointer-events:none;
}

.match-box{
    background:
        linear-gradient(180deg, rgba(16,26,45,.92) 0%, rgba(11,18,32,.96) 100%);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:20px;
    margin-bottom:18px;
    box-shadow:var(--shadow-md);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.match-box h3{
    margin:0 0 16px;
    color:var(--text);
    font-size:22px;
    font-weight:800;
    letter-spacing:-.02em;
}

/* =========================
   HERO SUMMARY
   ========================= */

.match-summary-header{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    padding:28px 24px 20px;
    background:
        radial-gradient(circle at 15% 15%, rgba(79,124,255,.18), transparent 24%),
        radial-gradient(circle at 85% 18%, rgba(131,92,255,.16), transparent 24%),
        linear-gradient(180deg, rgba(18,31,57,.96) 0%, rgba(10,19,35,.98) 100%);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:var(--shadow-lg);
}

.match-summary-header::before{
    content:"";
    position:absolute;
    inset:auto -10% -60% -10%;
    height:190px;
    background:radial-gradient(circle, rgba(79,124,255,.12), transparent 65%);
    pointer-events:none;
}

.summary-top{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:20px;
}

.summary-team{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.summary-team-right{
    justify-content:flex-end;
}

.summary-team-logo{
    width:58px;
    height:58px;
    border-radius:50%;
    object-fit:contain;
    padding:6px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 0 22px rgba(79,124,255,.18);
    flex:0 0 auto;
}

.summary-team-name{
    color:#fff;
    font-size:29px;
    font-weight:900;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.summary-center-main{
    text-align:center;
    min-width:280px;
}

.summary-league{
    color:#8ea6d3;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:8px;
}

.summary-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    padding:6px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.11);
    color:#fff;
    font-size:12px;
    font-weight:800;
    margin-bottom:14px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.is-live-blink{
    background:linear-gradient(135deg, rgba(255,79,129,.20), rgba(255,134,90,.14));
    border-color:rgba(255,79,129,.34);
    box-shadow:
        0 0 0 4px rgba(255,79,129,.08),
        0 0 22px rgba(255,79,129,.16);
}

.summary-scoreline{
    font-size:58px;
    font-weight:900;
    color:#fff;
    line-height:1;
    letter-spacing:.03em;
    margin-bottom:14px;
    text-shadow:0 4px 20px rgba(0,0,0,.28);
}

.summary-score-sep{
    padding:0 10px;
    color:#8fa4cd;
}

.summary-meta-lines{
    display:grid;
    gap:6px;
}

.summary-venue,
.summary-referee{
    color:#aab8d2;
    font-size:14px;
    line-height:1.45;
}

.summary-bottom{
    margin-top:22px;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.summary-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);
    color:#dce5f8;
    font-size:13px;
    font-weight:700;
    box-shadow:var(--shadow-sm);
}

.summary-chip strong{
    color:#fff;
}

/* =========================
   TIMELINE
   ========================= */

.timeline-box{
    position: relative;
    overflow: visible;
    border-radius: 26px;
    padding: 20px 18px 28px;
    margin-bottom: 22px;
    background:
        radial-gradient(circle at 50% 0%, rgba(79,124,255,.10), transparent 34%),
        linear-gradient(180deg, rgba(14,22,40,.96) 0%, rgba(8,14,26,.98) 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: var(--shadow-md);
    z-index: 1;
}

.timeline-head{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.timeline-team{
    color: #d6def0;
    font-size: 13px;
    font-weight: 700;
    min-width: 0;
}

.timeline-home-name{
    text-align: left;
}

.timeline-away-name{
    text-align: right;
}

.timeline-center-label{
    color: #8fa7d3;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
    white-space: nowrap;
}

.timeline-bar{
    position: relative;
    height: 136px;
    padding-top: 8px;
    padding-bottom: 8px;
    z-index: 2;
}

.timeline-line{
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2d4f95 0%, #4f7cff 32%, #835cff 66%, #ff4f93 100%);
    box-shadow: 0 0 18px rgba(79,124,255,.18);
}

.timeline-half-marker{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(8,13,24,.96);
    border: 1px solid rgba(255,255,255,.10);
    color: #dce6ff;
    font-size: 10px;
    font-weight: 800;
    box-shadow: var(--shadow-sm);
    z-index: 6;
    white-space: nowrap;
}

.timeline-scale{
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.timeline-scale span{
    position: absolute;
    top: calc(50% + 16px);
    transform: translateX(-50%);
    color: #7f93ba;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.timeline-event{
    position: absolute;
    transform: translateX(-50%);
    z-index: 5;
    cursor: pointer;
}

.timeline-event.home{
    top: 2px;
}

.timeline-event.away{
    bottom: 2px;
}

.timeline-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1;
    color: #fff;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
    box-shadow:
        0 10px 18px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.04);
    transition: transform .18s ease, box-shadow .18s ease;
}

.timeline-event:hover .timeline-icon{
    transform: scale(1.08);
    box-shadow:
        0 12px 22px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.timeline-goal .timeline-icon{
    background: linear-gradient(135deg, rgba(34,211,238,.22), rgba(79,124,255,.18));
    box-shadow:
        0 10px 18px rgba(0,0,0,.24),
        0 0 18px rgba(34,211,238,.14);
}

.timeline-sub .timeline-icon{
    background: linear-gradient(135deg, rgba(131,92,255,.22), rgba(167,85,247,.18));
    box-shadow:
        0 10px 18px rgba(0,0,0,.24),
        0 0 18px rgba(131,92,255,.14);
}

.timeline-var .timeline-icon{
    background: linear-gradient(135deg, rgba(255,79,147,.24), rgba(244,63,94,.18));
    box-shadow:
        0 10px 18px rgba(0,0,0,.24),
        0 0 18px rgba(255,79,147,.14);
}

.timeline-yellow .timeline-icon{
    background: linear-gradient(135deg, rgba(250,204,21,.28), rgba(251,146,60,.22));
    color: #1b1604;
}

.timeline-red .timeline-icon{
    background: linear-gradient(135deg, rgba(248,113,113,.28), rgba(239,68,68,.24));
}

.timeline-tooltip{
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    min-width: 180px;
    max-width: 240px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(7,12,24,.98);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
    text-align: center;
    z-index: 999;
    white-space: normal;
    pointer-events: none;
}

.timeline-event.home .timeline-tooltip{
    bottom: calc(100% + 12px);
    top: auto;
}

.timeline-event.away .timeline-tooltip{
    top: calc(100% + 12px);
    bottom: auto;
}

.timeline-event:hover .timeline-tooltip{
    display: block;
}

.timeline-tooltip-minute{
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
    line-height: 1.2;
}

.timeline-tooltip-text{
    color: #dbe4f6;
    font-size: 12px;
    line-height: 1.35;
    word-break: break-word;
}

.timeline-tooltip-team{
    color: #8b9ec2;
    font-size: 11px;
    margin-top: 5px;
    line-height: 1.25;
}

/* optional safer placement near edges */
.timeline-event.edge-left .timeline-tooltip{
    left: 0;
    transform: none;
}

.timeline-event.edge-right .timeline-tooltip{
    left: auto;
    right: 0;
    transform: none;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 900px){
    .timeline-head{
        grid-template-columns: 1fr;
        text-align: center;
        gap: 8px;
    }

    .timeline-home-name,
    .timeline-away-name{
        text-align: center;
    }
}

@media (max-width: 640px){
    .timeline-box{
        padding: 16px 14px 22px;
        border-radius: 18px;
        overflow-x: auto;
    }

    .timeline-bar{
        min-width: 720px;
        height: 132px;
    }

    .timeline-icon{
        width: 26px;
        min-width: 26px;
        height: 26px;
        font-size: 13px;
    }

    .timeline-tooltip{
        min-width: 150px;
        max-width: 200px;
        padding: 8px 10px;
    }

    .timeline-tooltip-minute{
        font-size: 11px;
    }

    .timeline-tooltip-text{
        font-size: 11px;
    }

    .timeline-tooltip-team{
        font-size: 10px;
    }

    .timeline-scale span{
        font-size: 10px;
    }
}

/* =========================
   TABS
   ========================= */

.modern-match-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:18px;
}

.match-subtab{
    appearance:none;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.05);
    color:#d9e3f7;
    border-radius:15px;
    padding:13px 18px;
    font-size:14px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:.2s ease;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 8px 18px rgba(0,0,0,.18);
}

.match-subtab:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.match-subtab.active{
    color:#fff;
    border-color:rgba(99,102,241,.24);
    background:linear-gradient(135deg, #4f7cff 0%, #835cff 50%, #ff4f93 100%);
    box-shadow:
        0 10px 28px rgba(108,92,255,.24),
        0 0 22px rgba(79,124,255,.20);
}

/* =========================
   TAB PANES
   ========================= */

.match-tab-content{
    position:relative;
}

.tab-pane{
    display:none;
}

.tab-pane.active{
    display:block;
    animation:matchFadeIn .22s ease;
}

@keyframes matchFadeIn{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   PREDICTIONS
   ========================= */

.pred-clean-box{
    background:linear-gradient(180deg, rgba(14,22,40,.96) 0%, rgba(8,14,26,.98) 100%);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:20px;
    color:#fff;
    box-shadow:var(--shadow-md);
}

.pred-clean-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.pred-clean-head h3{
    margin:0;
    font-size:24px;
    color:#fff;
}

.pred-clean-market{
    font-size:12px;
    font-weight:800;
    color:#fff;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.10);
}

.pred-clean-main{
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:18px;
    margin-bottom:16px;
}

.pred-clean-label{
    font-size:12px;
    text-transform:uppercase;
    font-weight:800;
    color:#9fb0cf;
    margin-bottom:8px;
}

.pred-clean-tip{
    font-size:34px;
    font-weight:900;
    line-height:1.15;
    color:#fff;
}

.pred-clean-confidence{
    margin-top:10px;
    font-size:14px;
    color:#d6def0;
}

.pred-clean-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin-bottom:16px;
}

.pred-clean-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    padding:15px;
}

.pred-clean-card-title{
    font-size:12px;
    text-transform:uppercase;
    color:#9fb0cf;
    margin-bottom:8px;
    font-weight:800;
}

.pred-clean-card-value{
    font-size:20px;
    font-weight:800;
    color:#fff;
}

.pred-clean-section{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:16px;
    margin-bottom:16px;
}

.pred-clean-section h4{
    margin:0 0 12px;
    font-size:16px;
    color:#fff;
}

.pred-clean-probs{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.pred-clean-prob{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    background:rgba(5,11,22,.55);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    color:#e6ecf8;
}

.pred-clean-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.pred-clean-list{
    display:grid;
    gap:10px;
}

.pred-clean-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    background:rgba(5,11,22,.55);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
}

.pred-clean-row span{
    color:#aab8d2;
    font-size:14px;
}

.pred-clean-row strong{
    color:#fff;
    font-size:14px;
    text-align:right;
}

.pred-clean-analysis{
    display:grid;
    gap:10px;
}

.pred-clean-analysis-item{
    background:rgba(5,11,22,.55);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    padding:12px;
    color:#edf2ff;
    line-height:1.55;
}

.pred-clean-empty{
    color:#9fb0cf;
}

/* =========================
   STATS
   ========================= */

.stats-compare-head{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:12px;
    color:#eef3ff;
    font-weight:800;
    margin-bottom:12px;
}

.stats-compare-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:12px;
    padding:12px 14px;
    align-items:center;
    color:#dce5f6;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
    margin-bottom:10px;
}

.stats-home{text-align:left;}
.stats-type{text-align:center;color:#95a7ca;}
.stats-away{text-align:right;}

/* =========================
   LINEUPS / H2H / MISSING
   ========================= */

.lineup-lists{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    margin-top:18px;
}

.lineup-col{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:16px;
    color:#e5edf7;
}

.lineup-col-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:12px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.lineup-section-title{
    margin:14px 0 8px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    color:#9fb0c6;
}

.lineup-row{
    display:grid;
    grid-template-columns:34px 1fr 32px;
    gap:10px;
    align-items:center;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.lineup-row:last-child{
    border-bottom:none;
}

.ln-num{
    font-weight:800;
    color:#fff;
}

.ln-name{
    font-weight:600;
    color:#f0f4ff;
}

.ln-pos{
    text-align:right;
    color:#8ea0b8;
    font-size:12px;
}

.lineup-sub{
    opacity:.86;
}

.lineup-empty{
    color:#93a4bb;
    font-size:13px;
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
}

.formation-note{
    opacity:.72;
    font-size:11px;
    font-weight:600;
}

.ln-main{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.ln-events{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
}

.ln-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:18px;
    padding:2px 7px;
    border-radius:6px;
    font-size:10px;
    font-weight:800;
    line-height:1;
}

.ln-goal{background:#fff;color:#111827;}
.ln-assist{background:#dbeafe;color:#1d4ed8;}
.ln-sub-in{background:#16a34a;color:#fff;}
.ln-sub-out{background:#dc2626;color:#fff;}
.ln-yellow{background:#facc15;color:#111827;}
.ln-red{background:#dc2626;color:#fff;}

/* =========================
   LINEUP PITCH
   ========================= */

.lineup-pitch-wrap{
    margin-bottom:18px;
}

.pitch-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    background:linear-gradient(135deg, rgba(79,124,255,.20), rgba(131,92,255,.18));
    color:#fff;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    padding:11px 13px;
    border-radius:14px 14px 0 0;
    border:1px solid rgba(255,255,255,.08);
    border-bottom:none;
}

.pitch-center{
    opacity:.95;
}

.pitch-team-right{
    text-align:right;
}

.lineup-pitch{
    position:relative;
    min-height:560px;
    border-radius:0 0 18px 18px;
    overflow:hidden;
    background:
        linear-gradient(180deg,#17643a 0%, #145633 100%);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.pitch-mark{
    position:absolute;
    pointer-events:none;
}

.pitch-border{
    inset:20px;
    border:2px solid rgba(255,255,255,.35);
    border-radius:8px;
}

.pitch-half-vertical{
    top:20px;
    bottom:20px;
    left:50%;
    width:2px;
    transform:translateX(-50%);
    background:rgba(255,255,255,.35);
}

.pitch-circle{
    left:50%;
    top:50%;
    width:130px;
    height:130px;
    transform:translate(-50%,-50%);
    border:2px solid rgba(255,255,255,.35);
    border-radius:50%;
}

.pitch-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    top:50%;
}

.pitch-dot-center{
    left:50%;
    transform:translate(-50%,-50%);
}

.pitch-dot-left{
    left:115px;
    transform:translateY(-50%);
}

.pitch-dot-right{
    right:115px;
    transform:translateY(-50%);
}

.pitch-box-vertical{
    top:50%;
    width:95px;
    height:280px;
    transform:translateY(-50%);
    border:2px solid rgba(255,255,255,.35);
}

.pitch-box-left{
    left:20px;
    border-left:none;
}

.pitch-box-right{
    right:20px;
    border-right:none;
}

.pitch-six-vertical{
    top:50%;
    width:40px;
    height:130px;
    transform:translateY(-50%);
    border:2px solid rgba(255,255,255,.35);
}

.pitch-six-left{
    left:20px;
    border-left:none;
}

.pitch-six-right{
    right:20px;
    border-right:none;
}

.pitch-goal-vertical{
    top:50%;
    width:16px;
    height:70px;
    transform:translateY(-50%);
    border:2px solid rgba(255,255,255,.28);
}

.pitch-goal-left{
    left:20px;
    border-left:none;
}

.pitch-goal-right{
    right:20px;
    border-right:none;
}

.pitch-player{
    position:absolute;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    z-index:2;
    width:100px;
}

.player-rating{
    position:absolute;
    top:-16px;
    right:18px;
    min-width:30px;
    height:18px;
    padding:0 6px;
    border-radius:7px;
    color:#fff;
    font-size:11px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
    z-index:4;
}

.player-rating.rating-good{background:#65a30d;}
.player-rating.rating-mid{background:#1f2937;}
.player-rating.rating-bad{background:#b45309;}

.shirt-badge-wrap{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.shirt-badge{
    width:40px;
    height:40px;
    border-radius:12px 12px 8px 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:800;
    font-size:14px;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
    margin-bottom:5px;
}

.home-player .shirt-badge{
    background:linear-gradient(135deg, #4f8cff, #2f67ff);
}

.away-player .shirt-badge{
    background:linear-gradient(135deg, #ff5f5f, #ef4444);
}

.player-mini-name{
    font-size:12px;
    line-height:1.15;
    color:#fff;
    font-weight:700;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
    max-width:100px;
    white-space:normal;
}

.player-icons{
    position:absolute;
    display:flex;
    flex-direction:column;
    gap:3px;
    z-index:5;
}

.player-icons-right{
    left:100%;
    margin-left:4px;
    top:50%;
    transform:translateY(-50%);
}

.player-icons-left{
    right:100%;
    margin-right:4px;
    top:50%;
    transform:translateY(-50%);
}

.player-icon{
    min-width:16px;
    height:16px;
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
    font-weight:800;
    box-shadow:0 1px 4px rgba(0,0,0,.25);
    line-height:1;
}

.icon-goal{
    background:#ffffff;
    color:#111827;
    padding:0 4px;
    min-width:20px;
}

.icon-assist{
    background:#e5e7eb;
    color:#111827;
    padding:0 4px;
    min-width:20px;
}

.icon-sub-in{
    background:#16a34a;
    color:#fff;
}

.icon-sub-out{
    background:#dc2626;
    color:#fff;
}

.icon-yellow{
    width:12px;
    min-width:12px;
    height:16px;
    background:#facc15;
    border-radius:2px;
}

.icon-red{
    width:12px;
    min-width:12px;
    height:16px;
    background:#dc2626;
    border-radius:2px;
}

.player-photo-wrap{
    position:absolute;
    top:-40px;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
}

.player-photo{
    width:46px;
    height:46px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #fff;
    background:#222;
}

.player-photo.placeholder{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#444;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 920px){
    .summary-top,
    .timeline-head{
        grid-template-columns:1fr;
        text-align:center;
    }

    .summary-team,
    .summary-team-right{
        justify-content:center;
    }

    .summary-team-right{
        flex-direction:row-reverse;
    }

    .summary-team-name{
        font-size:23px;
        white-space:normal;
    }

    .summary-scoreline{
        font-size:42px;
    }

    .lineup-lists,
    .pred-clean-two{
        grid-template-columns:1fr;
    }

    .pred-clean-grid,
    .pred-clean-probs{
        grid-template-columns:1fr 1fr;
    }

    .timeline-home-name,
    .timeline-away-name{
        text-align:center;
    }
}

@media (max-width: 768px){
    .lineup-pitch-wrap{
        overflow:hidden;
        position:relative;
        min-height:620px;
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .lineup-pitch{
        transform:rotate(90deg) translateY(5px);
        transform-origin:center center;
        width:660px;
        height:485px;
        margin:0;
        flex:0 0 auto;
    }

    .pitch-player{
        transform:translate(-50%, -50%) rotate(-90deg);
        width:70px;
    }

    .player-photo-wrap{
        top:-18px;
    }

    .player-photo,
    .player-photo.placeholder{
        width:26px;
        height:26px;
    }

    .shirt-badge{
        width:28px;
        height:28px;
        font-size:11px;
        line-height:28px;
    }

    .player-mini-name{
        font-size:9px;
        max-width:60px;
    }

    .player-rating{
        top:-12px;
        right:6px;
        font-size:9px;
        min-width:22px;
        height:14px;
    }

    .player-icons{
        transform:scale(.8);
    }

    .pitch-head{
        display:none;
    }
}

@media (max-width: 640px){
    .modern-match-page{
        padding:12px 10px 28px;
    }

    .match-box,
    .match-summary-header,
    .timeline-box,
    .pred-clean-box{
        border-radius:18px;
        padding:16px;
    }

    .summary-team-logo{
        width:44px;
        height:44px;
    }

    .summary-scoreline{
        font-size:34px;
    }

    .match-subtab{
        padding:11px 14px;
        font-size:13px;
        border-radius:12px;
    }

    .pred-clean-grid,
    .pred-clean-probs,
    .pred-clean-two{
        grid-template-columns:1fr;
    }

    .pred-clean-tip{
        font-size:26px;
    }

    .pred-clean-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .pred-clean-row strong{
        text-align:left;
    }

    .timeline-box{
        overflow-x:auto;
    }

    .timeline-bar{
        min-width:700px;
    }
}

.fs-form-wrapper{
    background:linear-gradient(180deg, rgba(14,22,40,.96) 0%, rgba(8,14,26,.98) 100%);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:16px;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
}

/* SUB TABS */
.fs-form-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:14px;
}

.fs-form-tab{
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.05);
    color:#9fb0cf;
    padding:9px 14px;
    border-radius:10px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    cursor:pointer;
    transition:all .2s ease;
}

.fs-form-tab:hover{
    background:rgba(255,255,255,.08);
}

.fs-form-tab.active{
    background:linear-gradient(135deg,#ff1455,#ff4d8d);
    color:#fff;
    border-color:transparent;
}

/* PANES */
.fs-form-pane{
    display:none;
}

.fs-form-pane.active{
    display:block;
}

/* LIST BOX */
.fs-form-list-box{
    margin-bottom:14px;
}

.fs-form-list-title{
    background:rgba(255,255,255,.05);
    color:#cdd7f2;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    padding:8px 12px;
    border-radius:8px;
    margin-bottom:6px;
    letter-spacing:.05em;
}

/* ROW */
.fs-match-row{
    display:grid;
    grid-template-columns:70px 40px 1fr 40px 40px;
    gap:10px;
    align-items:center;
    padding:10px 12px;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(255,255,255,.02);
    transition:all .2s ease;
}

.fs-match-row:hover{
    background:rgba(255,255,255,.05);
}

.fs-match-row:last-of-type{
    border-bottom:0;
}

/* DATE + COMP */
.fs-col-date{
    font-size:12px;
    color:#8ea2c8;
}

.fs-col-comp{
    font-size:12px;
    font-weight:800;
    color:#cdd7f2;
}

/* TEAMS */
.fs-col-teams{
    display:grid;
    gap:4px;
    min-width:0;
}

.fs-team-line{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}

.fs-team-logo{
    width:16px;
    height:16px;
    object-fit:contain;
    flex:0 0 auto;
}

.fs-team-name{
    font-size:13px;
    color:#cfd9ee;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.fs-team-name-main{
    font-weight:800;
    color:#fff;
}

/* SCORE */
.fs-col-score{
    display:grid;
    gap:4px;
    justify-items:center;
}

.fs-score-line{
    font-size:14px;
    font-weight:900;
    color:#fff;
    line-height:1;
}

/* RESULT BADGE */
.fs-col-result{
    display:flex;
    justify-content:flex-end;
}

.fs-result-badge{
    width:24px;
    height:24px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:900;
    color:#fff;
}

/* COLORS */
.fs-result-win{
    background:linear-gradient(135deg,#16a34a,#22c55e);
}

.fs-result-draw{
    background:linear-gradient(135deg,#f59e0b,#fbbf24);
}

.fs-result-loss{
    background:linear-gradient(135deg,#dc2626,#ef4444);
}

/* SHOW MORE */
.fs-show-more{
    text-align:center;
    padding:12px 8px 4px;
    font-size:13px;
    font-weight:700;
    color:#9fb0cf;
    cursor:pointer;
}

.fs-show-more:hover{
    color:#fff;
}

/* EMPTY */
.fs-form-empty{
    padding:12px;
    font-size:13px;
    color:#8ea2c8;
}

/* MOBILE */
@media (max-width: 640px){
    .fs-match-row{
        grid-template-columns:60px 30px 1fr 30px 30px;
        gap:8px;
    }

    .fs-team-name{
        font-size:12px;
    }

    .fs-score-line{
        font-size:13px;
    }
}

/* TIME (NS) */
.summary-scoreline.is-time {
    font-size: 25px !important;
    font-weight: 600;
    padding:20px 0 0 0;
}

/* SCORE (LIVE / FT) */
.summary-scoreline.is-score {
    font-size: 18px;
}

/* BIG SCORE */
.summary-scoreline.is-score .js-home-score,
.summary-scoreline.is-score .js-away-score {
    font-size: 42px;
    font-weight: 800;
}

/* separator */
.summary-score-sep {
    margin: 0 8px;
    font-size: 28px;
}