body.page-matches-predict{
    background:
        radial-gradient(circle at top, rgba(36,90,172,.24), transparent 38%),
        linear-gradient(180deg, #041122 0%, #061427 45%, #08182d 100%);
    color:#f4f6fb;
}

.page-matches-predict .alert{
    margin:0 0 12px;
    border-radius:16px;
}

.predict-screen{
    display:grid;
    gap:10px;
    padding-bottom:18px;
}

.predict-helper-card,
.predict-panel{
    position:relative;
    border:1px solid #5a8bd0;
    border-radius:18px;
    background:
        linear-gradient(180deg, rgba(8,18,36,.95), rgba(6,16,31,.98)),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
    box-shadow:0 14px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}

.predict-helper-card{
    padding:10px 12px;
    text-align:center;
}

.predict-helper-card p{
    margin:0;
    font-family:'Orbitron',sans-serif;
    font-size:11px;
    line-height:1.35;
    color:#fff;
}

.predict-helper-card strong{
    color:#ffe08a;
}

.predict-form{
    display:grid;
    gap:10px;
}

.predict-panel{
    overflow:hidden;
    padding:12px 10px 14px;
}

.predict-panel__head{
    text-align:center;
    margin-bottom:10px;
}

.predict-panel__head--tight{
    margin-bottom:8px;
}

.predict-panel__title{
    margin:0;
    font-family:'Orbitron',sans-serif;
    font-size:16px;
    line-height:1.15;
    font-weight:500;
    color:#ffffff;
    text-transform:none;
}

.predict-panel__title--small{
    font-size:14px;
    letter-spacing:.03em;
}

.predict-panel__meta{
    margin:4px 0 0;
    font-family:'Orbitron',sans-serif;
    font-size:10px;
    color:#8fb7ff;
    letter-spacing:.04em;
}

.predict-block{
    display:grid;
    gap:8px;
}

.predict-block__title{
    margin:0;
    text-align:center;
    font-family:'Orbitron',sans-serif;
    font-size:11px;
    font-weight:500;
    color:#ffffff;
}

.predict-divider{
    height:1px;
    margin:10px -10px;
    background:linear-gradient(90deg, transparent, rgba(116,166,255,.85), transparent);
}

.predict-choice-row{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    align-items:end;
}

.predict-choice-row--main{
    margin-top:2px;
}

.predict-pill{
    min-height:50px;
    padding:0 6px 8px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#fff;
    cursor:pointer;
    display:grid;
    align-content:end;
    justify-items:center;
    gap:4px;
}

.predict-pill__label{
    font-family:'Orbitron',sans-serif;
    font-size:10px;
    line-height:1.15;
    color:#ffffff;
    text-align:center;
    min-height:24px;
    display:grid;
    place-items:end center;
}

.predict-pill__value{
    width:100%;
    min-height:20px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.45);
    background:#f1f2f4;
    color:#172033;
    font-family:'Orbitron',sans-serif;
    font-size:13px;
    font-weight:700;
    display:grid;
    place-items:center;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.85), 0 3px 7px rgba(0,0,0,.18);
}

.predict-pill.is-active .predict-pill__value{
    background:linear-gradient(180deg, #f2cf2b, #f0bb15);
    border-color:#f3d75f;
    color:#1b1c1f;
}

.predict-score-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);
    gap:10px;
    align-items:end;
}

.predict-score-box{
    display:grid;
    gap:4px;
}

.predict-score-box__label{
    text-align:center;
    font-family:'Orbitron',sans-serif;
    font-size:10px;
    color:#fff;
    line-height:1.15;
    min-height:24px;
    display:grid;
    place-items:end center;
}

.predict-score-box__input{
    width:100%;
    height:22px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.45);
    background:#f1f2f4;
    color:#1a1d24;
    text-align:center;
    font-family:'Orbitron',sans-serif;
    font-size:16px;
    font-weight:700;
    outline:none;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.85), 0 3px 7px rgba(0,0,0,.18);
}

.predict-score-box__input::-webkit-outer-spin-button,
.predict-score-box__input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.predict-score-box__input[type=number]{
    -moz-appearance:textfield;
}

.predict-score-separator{
    width:30px;
    height:30px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.45);
    background:linear-gradient(180deg, #161e2f, #0d1321);
    color:#ffffff;
    font-family:'Orbitron',sans-serif;
    font-weight:700;
    display:grid;
    place-items:center;
    align-self:end;
    margin:0 auto 0;
    box-shadow:0 4px 8px rgba(0,0,0,.25);
}

.combo-toggle{
    display:grid;
    justify-items:center;
    margin:4px 0 10px;
}

.combo-toggle__button{
    width:min(188px,100%);
    min-height:28px;
    padding:0 12px;
    border-radius:10px;
    border:1px solid #4d7f2b;
    background:linear-gradient(180deg, #295b1f, #183d15);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 6px 10px rgba(0,0,0,.25);
    color:#f1f5e8;
    font-family:'Orbitron',sans-serif;
    font-size:10px;
    letter-spacing:.04em;
    cursor:pointer;
}

.combo-toggle.is-off .combo-toggle__button{
    border-color:#6f3838;
    background:linear-gradient(180deg, #633131, #411f1f);
}

.combo-toggle__text strong{
    color:#c7ff5a;
}

.combo-toggle.is-off .combo-toggle__text strong{
    color:#ffd0d0;
}


.combo-status{
    width:min(360px, 100%);
    margin:6px auto 16px;
    padding:10px 14px;
    border-radius:14px;
    border:1px solid #4d7f2b;
    background:linear-gradient(180deg, #244f1c, #173914);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 6px 10px rgba(0,0,0,.25);
    color:#f1f5e8;
    font-family:'Orbitron',sans-serif;
    text-align:center;
    display:grid;
    gap:4px;
    cursor:default;
    user-select:none;
}

.combo-status__label{
    font-size:12px;
    letter-spacing:.05em;
}

.combo-status__state{
    color:#c7ff5a;
    font-size:12px;
    letter-spacing:.08em;
}

.combo-status__hint{
    color:#d9edca;
    font-size:9px;
    line-height:1.35;
}

.extra-row{
    display:grid;
    gap:6px;
    padding-top:4px;
}

.extra-row + .extra-row{
    margin-top:4px;
}

.extra-row__title{
    text-align:center;
    font-family:'Orbitron',sans-serif;
    font-size:11px;
    color:#86b6ff;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.predict-actions{
    display:grid;
    gap:8px;
}

.predict-submit,
.predict-back{
    width:100%;
    min-height:42px;
    border-radius:14px;
    border:1px solid rgba(103,165,255,.48);
    background:linear-gradient(180deg, #16365e, #0c2240);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 16px rgba(0,0,0,.28);
    color:#f6fbff;
    font-family:'Orbitron',sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    display:grid;
    place-items:center;
    text-align:center;
}

.predict-submit{
    border-color:#6fbe45;
    background:linear-gradient(180deg, #1f6022, #153c17);
}

.predict-back{
    background:linear-gradient(180deg, #12284a, #0b1b32);
}

@media (min-width: 768px){
    .wrap--predict{
        max-width:520px;
        padding:10px 12px 34px;
    }

    .predict-topbar{
        padding-top:18px;
    }

    .predict-brand{
        font-size:40px;
    }

    .predict-menu-button{
        width:180px;
        height:38px;
        font-size:13px;
    }

    .predict-helper-card{
        padding:14px 18px;
    }

    .predict-helper-card p{
        font-size:12px;
    }

    .predict-panel{
        padding:18px 16px 20px;
    }

    .predict-panel__title{
        font-size:24px;
    }

    .predict-panel__title--small{
        font-size:20px;
    }

    .predict-panel__meta,
    .predict-block__title,
    .extra-row__title{
        font-size:13px;
    }

    .predict-pill{
        min-height:72px;
        gap:6px;
    }

    .predict-pill__label,
    .predict-score-box__label{
        font-size:14px;
        min-height:34px;
    }

    .predict-pill__value{
        min-height:34px;
        font-size:18px;
    }

    .predict-score-row{
        grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
        gap:12px;
    }

    .predict-score-box__input{
        height:34px;
        font-size:24px;
    }

    .predict-score-separator{
        width:40px;
        height:40px;
        font-size:18px;
    }

    .combo-toggle__button{
        width:220px;
        min-height:34px;
        font-size:12px;
    }

    .predict-submit,
    .predict-back{
        min-height:48px;
        font-size:14px;
    }
}

body.page-matches-index .section-head h1{
    font-family:'Orbitron',sans-serif;
    font-size:clamp(22px,3vw,32px);
}

body.page-matches-index .stack-item,
body.page-matches-results .stack-item,
body.page-matches-round .stack-item{
    border-color:rgba(116,166,255,.22);
    background:linear-gradient(180deg, rgba(10,18,32,.9), rgba(6,14,28,.95));
}


/* =========================================================
   MATCHES INDEX PAGE
========================================================= */
body.page-matches-index{
    background:
        radial-gradient(circle at top, rgba(30,82,180,.18), transparent 32%),
        linear-gradient(180deg, #04101f 0%, #07162b 52%, #081727 100%);
}

body.page-matches-index .wrap{
    max-width: 1380px;
    padding-top: 28px;
    padding-bottom: 44px;
}

.matches-page{
    display:grid;
    gap:24px;
}

.matches-hero,
.matches-stage,
.matches-empty{
    border:1px solid rgba(99,143,235,.22);
    background:linear-gradient(180deg, rgba(6,18,38,.94), rgba(5,14,28,.98));
    box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}

.matches-hero{
    text-align:center;
    padding:30px 28px;
}

.matches-hero__eyebrow{
    display:inline-block;
    margin-bottom:10px;
    padding:8px 14px;
    border-radius:999px;
    border:1px solid rgba(115,167,255,.30);
    background:rgba(255,255,255,.03);
    color:#9fc3ff;
    font-family:'Orbitron', sans-serif;
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.matches-hero__title{
    margin:0;
    font-family:'Orbitron', sans-serif;
    font-size:clamp(28px, 4vw, 46px);
    line-height:1.1;
    color:#fff;
}

.matches-hero__text{
    max-width:780px;
    margin:14px auto 0;
    font-size:16px;
    line-height:1.7;
    color:#b7c7df;
}

.matches-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
    max-width:900px;
    margin:26px auto 0;
}

.matches-stat-card{
    padding:18px 16px;
    border-radius:18px;
    border:1px solid rgba(120,163,245,.20);
    background:rgba(255,255,255,.03);
    display:grid;
    gap:8px;
    justify-items:center;
}

.matches-stat-card__label{
    color:#9db6db;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-family:'Orbitron', sans-serif;
}

.matches-stat-card__value{
    color:#ffffff;
    font-size:34px;
    line-height:1;
    font-family:'Orbitron', sans-serif;
}

.matches-toolbar{
    display:grid;
    gap:18px;
    justify-items:center;
    margin-top:26px;
}

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

.matches-toolbar__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:999px;
    border:1px solid rgba(115,167,255,.25);
    background:linear-gradient(180deg, rgba(23,53,98,.95), rgba(12,31,58,.95));
    color:#ecf4ff;
    font-weight:700;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.matches-toolbar__link:hover{
    transform:translateY(-1px);
    border-color:rgba(144,187,255,.55);
    box-shadow:0 12px 24px rgba(0,0,0,.18);
}

.matches-filter-form{
    width:min(100%, 430px);
    display:grid;
    gap:10px;
}

.matches-filter-form__label{
    color:#dbe8ff;
    font-weight:700;
    font-size:14px;
    text-align:center;
}

.matches-filter-form__control select{
    width:100%;
    min-height:50px;
    padding:0 16px;
    border-radius:14px;
    border:1px solid rgba(115,167,255,.24);
    background:#0b1a32;
    color:#fff;
    font-size:15px;
    font-weight:700;
    outline:none;
}

.matches-empty{
    text-align:center;
    padding:34px 24px;
}

.matches-empty h2{
    margin:0 0 8px;
    font-family:'Orbitron', sans-serif;
    color:#fff;
}

.matches-empty p{
    margin:0;
    color:#b9c8de;
}

.matches-stage{
    padding:28px 22px 24px;
}

.matches-stage__head{
    display:grid;
    justify-items:center;
    gap:8px;
    margin-bottom:24px;
    text-align:center;
}

.matches-stage__kicker{
    color:#86b3ff;
    font-family:'Orbitron', sans-serif;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.matches-stage__title{
    margin:0;
    color:#fff;
    font-family:'Orbitron', sans-serif;
    font-size:clamp(24px, 3vw, 36px);
    line-height:1.1;
}

.matches-stage__count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(120,163,245,.22);
    color:#d9e9ff;
    font-weight:700;
}

.matches-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

.match-card{
    height:100%;
    padding:22px 18px;
    border-radius:20px;
    border:1px solid rgba(123,170,255,.18);
    background:
        linear-gradient(180deg, rgba(10,25,48,.98), rgba(7,18,34,.98)),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
    display:grid;
    gap:18px;
    text-align:center;
    box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03);
}

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

.match-card__number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(115,167,255,.20);
    color:#ddecff;
    font-weight:700;
    font-size:13px;
}

.match-card__status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    font-family:'Orbitron', sans-serif;
    font-size:12px;
    letter-spacing:.04em;
    text-transform:uppercase;
    border:1px solid transparent;
}

.match-card__status.is-scheduled{
    background:rgba(59,130,246,.14);
    border-color:rgba(96,165,250,.38);
    color:#bfdbfe;
}

.match-card__status.is-live{
    background:rgba(34,197,94,.16);
    border-color:rgba(74,222,128,.38);
    color:#d1fae5;
}

.match-card__status.is-postponed,
.match-card__status.is-cancelled{
    background:rgba(245,158,11,.14);
    border-color:rgba(251,191,36,.35);
    color:#fde68a;
}

.match-card__status.is-finished{
    background:rgba(168,85,247,.15);
    border-color:rgba(196,181,253,.35);
    color:#e9d5ff;
}

.match-card__round-name{
    color:#8ab2f7;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.match-card__teams{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 70px minmax(0, 1fr);
    gap:14px;
    align-items:center;
}

.match-team{
    display:grid;
    gap:8px;
    justify-items:center;
}

.match-team__badge-wrap{
    width:72px;
    height:72px;
    border-radius:50%;
    border:1px solid rgba(116,166,255,.22);
    background:rgba(255,255,255,.04);
    display:grid;
    place-items:center;
    overflow:hidden;
}

.match-team__badge{
    width:52px;
    height:52px;
    object-fit:contain;
}

.match-team__fallback{
    color:#ffffff;
    font-family:'Orbitron', sans-serif;
    font-size:18px;
    font-weight:700;
}

.match-team__short{
    color:#86b6ff;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.match-team__name{
    color:#fff;
    font-size:22px;
    line-height:1.18;
    font-weight:800;
    word-break:break-word;
}

.match-card__versus{
    width:60px;
    height:60px;
    margin:0 auto;
    border-radius:50%;
    border:1px solid rgba(116,166,255,.25);
    background:linear-gradient(180deg, rgba(15,30,56,.96), rgba(8,18,33,.96));
    color:#fff;
    display:grid;
    place-items:center;
    font-family:'Orbitron', sans-serif;
    font-size:24px;
    font-weight:800;
    box-shadow:0 10px 18px rgba(0,0,0,.18);
}

.match-card__meta{
    display:grid;
    gap:10px;
    justify-items:center;
}

.match-card__meta-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    color:#dce8f8;
    line-height:1.5;
}

.match-card__meta-icon{
    opacity:.9;
}

.match-card__footer{
    display:grid;
    gap:14px;
    justify-items:center;
}

.match-card__prediction{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    font-weight:700;
    text-align:center;
}

.match-card__prediction.is-success{
    background:rgba(34,197,94,.14);
    border:1px solid rgba(74,222,128,.32);
    color:#d1fae5;
}

.match-card__prediction.is-warning{
    background:rgba(245,158,11,.14);
    border:1px solid rgba(251,191,36,.35);
    color:#fde68a;
}

.match-card__prediction.is-neutral{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(116,166,255,.18);
    color:#e9f2ff;
}

.match-card__action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:148px;
    min-height:44px;
    padding:0 18px;
    border-radius:14px;
    border:1px solid rgba(109,179,255,.28);
    background:linear-gradient(180deg, #17365d, #102746);
    color:#fff;
    font-weight:800;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.match-card__action:hover{
    transform:translateY(-1px);
    border-color:rgba(144,187,255,.55);
    box-shadow:0 12px 24px rgba(0,0,0,.18);
}

@media (max-width: 1100px){
    .matches-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 720px){
    body.page-matches-index .wrap{
        padding-left:12px;
        padding-right:12px;
    }

    .matches-hero{
        padding:22px 16px;
    }

    .matches-hero__text{
        font-size:14px;
        line-height:1.6;
    }

    .matches-stats{
        grid-template-columns:1fr;
    }

    .matches-stage{
        padding:22px 14px 18px;
    }

    .match-card{
        padding:18px 14px;
        gap:16px;
    }

    .match-card__top{
        justify-content:center;
    }

    .match-card__teams{
        grid-template-columns:minmax(0, 1fr) 44px minmax(0, 1fr);
        gap:8px;
    }

    .match-card__versus{
        width:40px;
        height:40px;
        font-size:18px;
        order:initial;
    }

    .match-team--home,
    .match-team--away{
        order:initial;
    }

    .match-team__badge-wrap{
        width:64px;
        height:64px;
    }

    .match-team__name{
        font-size:18px;
    }

    .match-card__meta-item{
        font-size:14px;
    }

    .matches-toolbar__actions{
        flex-direction:column;
        width:100%;
    }

    .matches-toolbar__link{
        width:100%;
    }
}


@media (max-width: 420px){
    .match-card__teams{
        grid-template-columns:minmax(0, 1fr) 36px minmax(0, 1fr);
        gap:6px;
    }

    .match-team__badge-wrap{
        width:52px;
        height:52px;
    }

    .match-team__badge{
        width:38px;
        height:38px;
    }

    .match-team__fallback{
        font-size:13px;
    }

    .match-team__short{
        font-size:10px;
        letter-spacing:.06em;
    }

    .match-team__name{
        font-size:15px;
        line-height:1.15;
    }

    .match-card__versus{
        width:34px;
        height:34px;
        font-size:15px;
    }
}

/* Combo automático: estados pós-jogo */
.combo-status{
    position:relative;
    overflow:hidden;
    width:min(380px, 100%);
    margin:8px auto 18px;
    padding:12px 16px;
    border-radius:16px;
    font-family:'Orbitron',sans-serif;
    text-align:center;
    display:grid;
    gap:5px;
    cursor:default;
    user-select:none;
    transition:background .35s ease, box-shadow .35s ease, border-color .35s ease, transform .35s ease;
}

.combo-status::before{
    content:"";
    position:absolute;
    inset:-60%;
    background:radial-gradient(circle, rgba(255,255,255,.16), transparent 36%);
    opacity:0;
    transform:translateX(-30%);
    pointer-events:none;
}

.combo-status__label{
    position:relative;
    z-index:1;
    font-size:12px;
    letter-spacing:.05em;
    color:#f7fbff;
}

.combo-status__state{
    position:relative;
    z-index:1;
    font-size:15px;
    letter-spacing:.08em;
}

.combo-status__hint{
    position:relative;
    z-index:1;
    color:#e5edf9;
    font-size:9px;
    line-height:1.45;
    max-width:32em;
    margin:0 auto;
}

.combo-status__meter{
    position:relative;
    z-index:1;
    height:8px;
    width:100%;
    margin-top:5px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(0,0,0,.28);
    border:1px solid rgba(255,255,255,.18);
}

.combo-status__meter span{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg, #7dd3fc, #bef264, #fde047);
    box-shadow:0 0 16px rgba(190,242,100,.75);
    transition:width .55s ease;
}

.combo-status.is-waiting{
    border:1px solid rgba(84,130,204,.55);
    background:linear-gradient(180deg, #173354, #10243b);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 8px 16px rgba(0,0,0,.25);
}

.combo-status.is-waiting .combo-status__state{
    color:#b8d7ff;
}

.combo-status.is-processing{
    border:1px solid rgba(250,204,21,.55);
    background:linear-gradient(180deg, #5b4214, #352810);
    box-shadow:0 0 18px rgba(250,204,21,.18), inset 0 1px 0 rgba(255,255,255,.14);
}

.combo-status.is-processing .combo-status__state{
    color:#fde68a;
}

.combo-status.is-locked{
    border:1px solid rgba(248,113,113,.45);
    background:linear-gradient(180deg, #562222, #331616);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 8px 16px rgba(0,0,0,.25);
}

.combo-status.is-locked .combo-status__state{
    color:#fecaca;
}

.combo-status.is-active,
.combo-status.is-perfect{
    transform:translateY(-1px);
}

.combo-status.is-active{
    border:1px solid rgba(132,204,22,.62);
    background:linear-gradient(180deg, #1f5b1f, #123a18);
    box-shadow:0 0 18px rgba(132,204,22,.25), inset 0 1px 0 rgba(255,255,255,.16);
}

.combo-status.is-active .combo-status__state{
    color:#d9ff76;
}

.combo-status.is-active.level-2{
    background:linear-gradient(180deg, #246d24, #16471b);
    box-shadow:0 0 22px rgba(132,204,22,.33), inset 0 1px 0 rgba(255,255,255,.18);
}

.combo-status.is-active.level-3{
    background:linear-gradient(180deg, #28842c, #17531e);
    box-shadow:0 0 28px rgba(132,204,22,.42), inset 0 1px 0 rgba(255,255,255,.2);
}

.combo-status.is-active.level-4{
    background:linear-gradient(180deg, #31a13a, #196526);
    box-shadow:0 0 36px rgba(132,204,22,.55), inset 0 1px 0 rgba(255,255,255,.22);
}

.combo-status.is-active.level-5,
.combo-status.is-perfect{
    border-color:rgba(250,204,21,.85);
    background:linear-gradient(135deg, #23a33a, #0f8f61 42%, #b8860b 100%);
    box-shadow:0 0 42px rgba(250,204,21,.55), 0 0 80px rgba(34,197,94,.25), inset 0 1px 0 rgba(255,255,255,.28);
    animation:comboPulse 1.4s ease-in-out infinite;
}

.combo-status.is-perfect::before{
    opacity:1;
    animation:comboShine 2.2s linear infinite;
}

.combo-status.is-perfect .combo-status__state{
    color:#fff7ad;
    text-shadow:0 0 12px rgba(250,204,21,.8);
}

.extra-row.is-correct{
    border-radius:14px;
    padding:8px 6px 10px;
    background:rgba(34,197,94,.08);
    box-shadow:0 0 18px rgba(34,197,94,.12);
}

.extra-row.is-correct .extra-row__title{
    color:#bfff6f;
    text-shadow:0 0 10px rgba(132,204,22,.35);
}

.extra-row.is-wrong{
    border-radius:14px;
    padding:8px 6px 10px;
    background:rgba(248,113,113,.08);
}

.extra-row.is-wrong .extra-row__title{
    color:#ff9f9f;
}

.combo-fireworks-layer{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:9999;
    overflow:hidden;
}

.combo-spark{
    position:absolute;
    left:50%;
    top:50%;
    width:9px;
    height:9px;
    border-radius:999px;
    background:#fde047;
    box-shadow:0 0 16px currentColor;
    animation:comboSpark .95s ease-out forwards;
}

.combo-victory-banner{
    position:fixed;
    left:50%;
    top:18%;
    z-index:10000;
    transform:translate(-50%, -20px) scale(.9);
    opacity:0;
    padding:16px 22px;
    border-radius:18px;
    border:1px solid rgba(250,204,21,.85);
    background:linear-gradient(135deg, rgba(20,83,45,.96), rgba(15,118,110,.96), rgba(133,77,14,.96));
    color:#fff7ad;
    font-family:'Orbitron',sans-serif;
    font-size:clamp(18px, 4vw, 34px);
    font-weight:800;
    letter-spacing:.08em;
    text-align:center;
    box-shadow:0 0 60px rgba(250,204,21,.45), 0 18px 50px rgba(0,0,0,.45);
    pointer-events:none;
    animation:comboBanner 2.8s ease forwards;
}

@keyframes comboPulse{
    0%,100%{filter:brightness(1); transform:translateY(-1px) scale(1)}
    50%{filter:brightness(1.15); transform:translateY(-2px) scale(1.01)}
}

@keyframes comboShine{
    from{transform:translateX(-35%) rotate(0deg)}
    to{transform:translateX(35%) rotate(360deg)}
}

@keyframes comboSpark{
    from{
        transform:translate(-50%, -50%) rotate(var(--angle)) translateX(0) scale(1);
        opacity:1;
    }
    to{
        transform:translate(-50%, -50%) rotate(var(--angle)) translateX(var(--distance)) scale(.2);
        opacity:0;
    }
}

@keyframes comboBanner{
    0%{opacity:0; transform:translate(-50%, -25px) scale(.85)}
    18%{opacity:1; transform:translate(-50%, 0) scale(1)}
    78%{opacity:1; transform:translate(-50%, 0) scale(1)}
    100%{opacity:0; transform:translate(-50%, -18px) scale(.95)}
}

@media (min-width:768px){
    .combo-status__label,
    .combo-status__state{
        font-size:14px;
    }

    .combo-status__hint{
        font-size:10px;
    }
}

/* Correção visual do placar nos cards de jogos encerrados */
.match-card__versus.has-score {
    width: auto !important;
    min-width: 96px !important;
    height: 52px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.match-card__versus.has-score .match-card__score {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
}

@media (max-width: 640px) {
    .match-card__versus.has-score {
        min-width: 82px !important;
        height: 46px !important;
        padding: 0 12px !important;
    }

    .match-card__versus.has-score .match-card__score {
        font-size: 20px !important;
        gap: 6px !important;
    }
}

/* Resultado oficial e gabarito discreto na tela do palpite */
.official-result-card{
    margin:10px 0 14px;
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(116,166,255,.35);
    background:linear-gradient(180deg, rgba(15,43,78,.82), rgba(7,20,39,.78));
    box-shadow:0 0 22px rgba(28,113,216,.16);
    text-align:center;
    display:grid;
    gap:5px;
}

.official-result-card__label{
    font-family:'Orbitron',sans-serif;
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#8fc2ff;
}

.official-result-card__score{
    font-family:'Orbitron',sans-serif;
    font-size:17px;
    line-height:1.35;
    color:#fff;
    text-shadow:0 0 10px rgba(255,255,255,.18);
}

.official-result-card__hint{
    font-size:11px;
    color:#d8e8ff;
}

.official-result-card.is-perfect{
    border-color:rgba(34,197,94,.65);
    box-shadow:0 0 24px rgba(34,197,94,.20);
}

.official-result-card.is-partial{
    border-color:rgba(250,204,21,.60);
    box-shadow:0 0 24px rgba(250,204,21,.14);
}

.official-result-card.is-missed{
    border-color:rgba(248,113,113,.42);
}

.predict-pill{
    position:relative;
}

.predict-pill.is-official-correct .predict-pill__value{
    border-color:rgba(74,222,128,.95) !important;
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.85),
        0 0 0 1px rgba(34,197,94,.35),
        0 0 14px rgba(34,197,94,.25) !important;
}

.predict-pill.is-official-correct:not(.is-active) .predict-pill__value{
    background:linear-gradient(180deg, rgba(30,94,52,.92), rgba(19,71,42,.92)) !important;
    color:#d8ffe2 !important;
}

.predict-pill.is-official-correct.is-active .predict-pill__value{
    background:linear-gradient(180deg, #f2cf2b, #f0bb15) !important;
    color:#1b1c1f !important;
}

.predict-pill.is-user-wrong .predict-pill__value{
    border-color:rgba(248,113,113,.65) !important;
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.8),
        0 0 12px rgba(248,113,113,.18) !important;
}

.predict-pill__official-tag{
    position:absolute;
    left:50%;
    bottom:-11px;
    transform:translateX(-50%);
    padding:2px 7px;
    border-radius:999px;
    background:rgba(22,101,52,.94);
    border:1px solid rgba(134,239,172,.55);
    color:#d9ffe5;
    font-family:'Orbitron',sans-serif;
    font-size:7px;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
    pointer-events:none;
}

.extra-row .predict-pill__official-tag{
    bottom:-9px;
}

@media (max-width:640px){
    .official-result-card__score{
        font-size:14px;
    }

    .official-result-card__hint{
        font-size:10px;
    }

    .predict-pill__official-tag{
        font-size:6px;
        padding:2px 5px;
    }
}

/* Resultado visual do placar exato no palpite principal */
.predict-score-row.is-score-correct .predict-score-box__input {
    background: linear-gradient(180deg, rgba(38, 214, 100, 0.95), rgba(13, 132, 58, 0.95)) !important;
    border: 2px solid rgba(130, 255, 175, 0.95) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(69, 255, 139, 0.35),
        0 0 18px rgba(34, 255, 112, 0.45) !important;
}

.predict-score-row.is-score-wrong .predict-score-box__input {
    background: linear-gradient(180deg, rgba(255, 82, 82, 0.95), rgba(142, 22, 36, 0.95)) !important;
    border: 2px solid rgba(255, 145, 145, 0.95) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(255, 80, 80, 0.35),
        0 0 18px rgba(255, 55, 55, 0.35) !important;
}

.predict-score-row.is-score-correct .predict-score-separator {
    color: #7dffae !important;
    border-color: rgba(125, 255, 174, 0.8) !important;
    box-shadow: 0 0 14px rgba(34, 255, 112, 0.3) !important;
}

.predict-score-row.is-score-wrong .predict-score-separator {
    color: #ff8c8c !important;
    border-color: rgba(255, 120, 120, 0.8) !important;
    box-shadow: 0 0 14px rgba(255, 55, 55, 0.25) !important;
}

/* =====================================================
   Badges de pontuação por item no palpite
   ===================================================== */

.predict-block__title-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.predict-block__title-line .predict-block__title {
    margin-bottom: 0 !important;
}

.points-summary-card {
    width: min(420px, 92%);
    margin: 0 auto 16px auto;
    padding: 10px 14px;
    border: 1px solid rgba(80, 220, 255, 0.42);
    border-radius: 16px;
    background:
        radial-gradient(circle at top left, rgba(72, 221, 255, 0.22), transparent 38%),
        rgba(8, 20, 42, 0.78);
    box-shadow:
        0 0 18px rgba(64, 180, 255, 0.16),
        inset 0 0 18px rgba(255, 255, 255, 0.03);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.points-summary-card__label {
    color: #a9caff;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.points-summary-card__value {
    color: #ffffff;
    font-size: 18px;
    text-shadow: 0 0 12px rgba(84, 206, 255, 0.55);
    white-space: nowrap;
}

.points-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(12, 22, 42, 0.78);
    color: #dbeafe;
    box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.04);
}

.points-badge__icon {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    background: rgba(255, 255, 255, 0.12);
}

.points-badge__text {
    opacity: 0.9;
}

.points-badge__value {
    font-size: 12px;
    color: #ffffff;
    white-space: nowrap;
}

.points-badge.is-earned {
    border-color: rgba(72, 255, 144, 0.78);
    background:
        linear-gradient(135deg, rgba(16, 112, 55, 0.94), rgba(21, 185, 86, 0.72));
    box-shadow:
        0 0 16px rgba(44, 255, 128, 0.34),
        inset 0 0 14px rgba(255, 255, 255, 0.09);
}

.points-badge.is-earned .points-badge__icon {
    background: rgba(182, 255, 203, 0.22);
    color: #caffd8;
}

.points-badge.is-zero {
    border-color: rgba(255, 94, 94, 0.68);
    background:
        linear-gradient(135deg, rgba(115, 24, 35, 0.92), rgba(190, 45, 52, 0.68));
    box-shadow:
        0 0 14px rgba(255, 69, 69, 0.22),
        inset 0 0 14px rgba(255, 255, 255, 0.06);
}

.points-badge.is-zero .points-badge__icon {
    background: rgba(255, 198, 198, 0.18);
    color: #ffd1d1;
}

.points-badge.is-waiting {
    border-color: rgba(255, 211, 90, 0.58);
    background:
        linear-gradient(135deg, rgba(108, 80, 19, 0.88), rgba(180, 130, 22, 0.54));
    box-shadow:
        0 0 14px rgba(255, 205, 76, 0.18),
        inset 0 0 14px rgba(255, 255, 255, 0.05);
}

.points-badge--extra {
    min-height: 28px;
    padding: 6px 10px;
    font-size: 10px;
}

.extra-row__headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.extra-row__headline .extra-row__title {
    margin: 0 !important;
}

.extra-row__badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.combo-fire-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff7ed;
    border: 1px solid rgba(255, 185, 85, 0.85);
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 180, 0.40), transparent 28%),
        linear-gradient(135deg, rgba(255, 116, 21, 0.96), rgba(178, 43, 12, 0.88));
    box-shadow:
        0 0 18px rgba(255, 107, 20, 0.48),
        0 0 34px rgba(255, 185, 60, 0.18),
        inset 0 0 14px rgba(255, 255, 255, 0.12);
    animation: comboFirePulse 1.4s ease-in-out infinite;
}

.combo-fire-badge__flame {
    filter: drop-shadow(0 0 6px rgba(255, 226, 84, 0.82));
}

.combo-fire-badge strong {
    color: #fff;
    font-size: 11px;
}

@keyframes comboFirePulse {
    0%, 100% {
        transform: translateY(0);
        box-shadow:
            0 0 14px rgba(255, 107, 20, 0.38),
            0 0 28px rgba(255, 185, 60, 0.16),
            inset 0 0 14px rgba(255, 255, 255, 0.10);
    }

    50% {
        transform: translateY(-1px);
        box-shadow:
            0 0 22px rgba(255, 107, 20, 0.62),
            0 0 42px rgba(255, 185, 60, 0.26),
            inset 0 0 16px rgba(255, 255, 255, 0.16);
    }
}

@media (max-width: 640px) {
    .predict-block__title-line {
        gap: 8px;
    }

    .points-summary-card {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }

    .extra-row__headline {
        justify-content: center;
        text-align: center;
    }

    .extra-row__badges {
        width: 100%;
    }

    .points-badge,
    .combo-fire-badge {
        font-size: 9px;
    }
}

/* =====================================================
   Pontuação total da partida + combo quebrado
   ===================================================== */

.points-summary-card--total {
    border-color: rgba(255, 209, 90, 0.72) !important;
    background:
        radial-gradient(circle at top left, rgba(255, 221, 92, 0.30), transparent 42%),
        linear-gradient(135deg, rgba(45, 30, 86, 0.96), rgba(16, 86, 140, 0.88)) !important;
    box-shadow:
        0 0 22px rgba(255, 197, 54, 0.22),
        0 0 34px rgba(53, 165, 255, 0.16),
        inset 0 0 18px rgba(255, 255, 255, 0.06) !important;
}

.points-summary-card--total .points-summary-card__label {
    color: #ffe69a !important;
    text-shadow: 0 0 10px rgba(255, 210, 76, 0.35);
}

.points-summary-card--total .points-summary-card__value {
    color: #ffffff !important;
    text-shadow:
        0 0 10px rgba(255, 255, 255, 0.22),
        0 0 18px rgba(255, 205, 66, 0.34) !important;
}

.combo-break-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 28px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #ffe2e2;
    border: 1px solid rgba(255, 126, 126, 0.86);
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 210, 210, 0.26), transparent 28%),
        linear-gradient(135deg, rgba(165, 26, 42, 0.96), rgba(100, 14, 26, 0.92));
    box-shadow:
        0 0 18px rgba(255, 58, 82, 0.34),
        0 0 28px rgba(255, 110, 110, 0.16),
        inset 0 0 14px rgba(255, 255, 255, 0.09);
    animation: comboBreakShake 1.5s ease-in-out infinite;
}

.combo-break-badge__boom {
    filter: drop-shadow(0 0 6px rgba(255, 120, 120, 0.78));
}

@keyframes comboBreakShake {
    0%, 100% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-1px);
    }

    40% {
        transform: translateX(1px);
    }

    60% {
        transform: translateX(-1px);
    }

    80% {
        transform: translateX(1px);
    }
}

@media (max-width: 640px) {
    .combo-break-badge {
        font-size: 9px;
        padding: 6px 10px;
    }
}

/* =====================================================
   Combo quebrado - versão texto limpa
   ===================================================== */

.combo-break-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin-top: 6px !important;

    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-height: auto !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;

    color: #fff7f7 !important;
    text-shadow:
        0 0 4px rgba(255, 120, 120, 0.25),
        0 0 8px rgba(255, 70, 70, 0.18) !important;

    animation: none !important;
}

.combo-break-badge::before {
    content: "💥💥" !important;
    display: inline-block !important;
}

.combo-break-badge::after {
    content: "💥💥" !important;
    display: inline-block !important;
}

.combo-break-badge__boom {
    display: none !important;
}

.combo-break-badge span {
    color: #fff7f7 !important;
}

@media (max-width: 640px) {
    .combo-break-badge {
        font-size: 11px !important;
        letter-spacing: 0.04em !important;
    }
}

/* =========================================================
   PALPITES POR RODADA - CENTRALIZADO COM BANDEIRAS EXTERNAS
========================================================= */
body.page-matches-round .wrap{
    max-width: 560px;
    padding-top: 20px;
    padding-bottom: 32px;
}

.round-filter-card{
    max-width: 520px;
    margin: 0 auto;
    text-align: center;
}

.round-filter-card h1{
    font-family: 'Orbitron', sans-serif;
    margin-bottom: 8px;
}

.round-filter-form{
    max-width: 320px;
    margin: 0 auto;
}

.round-match-grid{
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.round-match-card{
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    text-align: center;
    border: 1px solid rgba(116,166,255,.22);
    background: linear-gradient(180deg, rgba(10,18,32,.96), rgba(6,14,28,.98));
}

.round-match-card__kickoff{
    font-family: 'Orbitron', sans-serif;
    font-size: 14px;
    color: #9fbfff;
    margin-bottom: 10px;
}

.round-match-card__teams{
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.round-match-card__team{
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
}

.round-match-card__team--home{
    justify-content: flex-start;
}

.round-match-card__team--away{
    justify-content: flex-end;
}

.round-match-card__team-name{
    display: block;
    font-weight: 700;
    font-size: clamp(16px, 4.8vw, 20px);
    line-height: 1.15;
    color: #ffffff;
    text-wrap: balance;
    word-break: break-word;
}

.round-match-card__flag{
    width: 34px;
    height: 24px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 4px 12px rgba(0,0,0,.28);
    background: rgba(255,255,255,.08);
    flex: 0 0 auto;
}

.round-match-card__flag--fallback{
    display: inline-grid;
    place-items: center;
    font-family: 'Orbitron', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(180deg, #17375f, #0c2040);
}

.round-match-card__versus{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: 'Orbitron', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.20);
    background: linear-gradient(180deg, #162338, #0d1524);
    box-shadow: 0 4px 10px rgba(0,0,0,.20);
}

.round-match-card__status{
    font-size: 15px;
    color: #c7d4e7;
    margin-bottom: 10px;
}

.round-match-card__prediction{
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
}

.round-match-card__actions{
    display: flex;
    justify-content: center;
}

.round-match-card__actions .btn{
    min-width: 140px;
}

@media (max-width: 420px){
    .round-match-card{
        padding: 18px 14px;
    }

    .round-match-card__teams{
        gap: 8px;
    }

    .round-match-card__flag{
        width: 30px;
        height: 22px;
    }

    .round-match-card__team-name{
        font-size: 15px;
    }

    .round-match-card__versus{
        width: 30px;
        height: 30px;
        font-size: 13px;
    }
}

/* =========================================================
   AJUSTE FINAL - PALPITES POR RODADA
========================================================= */

body.page-matches-round .wrap{
    max-width: 470px !important;
    padding: 14px 10px 28px !important;
}

body.page-matches-round .round-header-card{
    max-width: 100%;
    margin: 0 auto 14px;
    text-align: center;
    padding: 18px 14px;
}

body.page-matches-round .round-header-card__title{
    margin: 0 0 6px;
    font-family: 'Orbitron', sans-serif;
    font-size: 20px;
    line-height: 1.15;
    color: #fff;
}

body.page-matches-round .round-header-card__text{
    margin: 0 0 14px;
    color: #9fb1c8;
    font-size: 14px;
    line-height: 1.45;
}

body.page-matches-round .round-header-card__form{
    max-width: 300px;
    margin: 0 auto;
    display: grid;
    gap: 6px;
    text-align: left;
}

body.page-matches-round .round-header-card__form label{
    font-size: 13px;
    color: #dce7f8;
}

body.page-matches-round .round-header-card__form select{
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #334155;
    background: #0b1220;
    color: #e5e7eb;
}

body.page-matches-round .round-match-grid{
    display: grid;
    gap: 14px;
    margin-top: 0;
}

body.page-matches-round .round-match-card{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 18px 14px;
    border: 1px solid rgba(116,166,255,.22);
    background: linear-gradient(180deg, rgba(10,18,32,.96), rgba(6,14,28,.98));
}

body.page-matches-round .round-match-card__kickoff{
    margin-bottom: 12px;
    font-family: 'Orbitron', sans-serif;
    font-size: 15px;
    color: #9fc3ff;
    line-height: 1.2;
}

body.page-matches-round .round-match-card__teams{
    display: grid;
    grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

body.page-matches-round .round-match-card__team{
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

body.page-matches-round .round-match-card__team--home{
    justify-content: flex-start;
    text-align: left;
}

body.page-matches-round .round-match-card__team--away{
    justify-content: flex-end;
    text-align: right;
}

body.page-matches-round .round-match-card__team-name{
    display: block;
    min-width: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    word-break: break-word;
    overflow-wrap: anywhere;
}

body.page-matches-round .round-match-card__flag{
    width: 30px;
    height: 22px;
    object-fit: cover;
    flex: 0 0 30px;
    border-radius: 5px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    box-shadow: 0 4px 12px rgba(0,0,0,.28);
}

body.page-matches-round .round-match-card__flag--fallback{
    display: inline-grid;
    place-items: center;
    font-family: 'Orbitron', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(180deg, #17375f, #0c2040);
}

body.page-matches-round .round-match-card__versus{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto;
    font-family: 'Orbitron', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    border: 1px solid rgba(255,255,255,.20);
    background: linear-gradient(180deg, #162338, #0d1524);
}

body.page-matches-round .round-match-card__status{
    margin-bottom: 10px;
    font-size: 15px;
    color: #c6d4e7;
}

body.page-matches-round .round-match-card__prediction{
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
}

body.page-matches-round .round-match-card__actions{
    display: flex;
    justify-content: center;
}

body.page-matches-round .round-match-card__actions .btn{
    min-width: 140px;
}

@media (max-width: 420px){
    body.page-matches-round .round-match-card__teams{
        grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr);
        gap: 6px;
    }

    body.page-matches-round .round-match-card__flag{
        width: 28px;
        height: 20px;
        flex-basis: 28px;
    }

    body.page-matches-round .round-match-card__team-name{
        font-size: 14px;
    }

    body.page-matches-round .round-match-card__versus{
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* =========================================================
   REFINO UX FINAL - /JOGOS
========================================================= */
body.page-matches-index .match-card{
    gap:16px;
}

body.page-matches-index .match-card__teams{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 54px minmax(0, 1fr);
    gap:10px;
    align-items:start;
}

body.page-matches-index .match-team{
    display:grid;
    grid-template-rows:74px 32px 58px;
    align-items:start;
    justify-items:center;
    gap:6px;
    min-width:0;
}

body.page-matches-index .match-team__badge-wrap{
    position:relative;
    width:58px;
    height:58px;
    border-radius:50%;
    border:1px solid rgba(116,166,255,.28);
    background:radial-gradient(circle at center, rgba(18,36,68,.94), rgba(8,20,38,.98));
    display:grid;
    place-items:center;
    overflow:hidden;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.22);
}

body.page-matches-index .match-team__flag-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.30;
    transform:scale(1.08);
    filter:saturate(1.06) contrast(1.02);
}

body.page-matches-index .match-team__badge-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(6,10,18,.14), rgba(6,10,18,.32));
    pointer-events:none;
}

body.page-matches-index .match-team__abbr{
    position:relative;
    z-index:2;
    color:#ffffff;
    font-family:'Orbitron', sans-serif;
    font-size:19px;
    font-weight:800;
    letter-spacing:.04em;
    line-height:1;
    text-shadow:0 2px 10px rgba(0,0,0,.42);
}

body.page-matches-index .match-team__short{
    min-height:28px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    text-align:center;
    color:#7fb0ff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.10em;
    line-height:1.15;
}

body.page-matches-index .match-team__name{
    min-height:48px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    text-align:center;
    color:#ffffff;
    font-size:16px;
    line-height:1.12;
    font-weight:800;
    word-break:break-word;
    overflow-wrap:anywhere;
    margin:0;
}

body.page-matches-index .match-card__versus{
    width:40px;
    height:40px;
    margin-top:16px;
    font-size:18px;
}

body.page-matches-index .match-card__meta{
    display:grid;
    gap:10px;
}

body.page-matches-index .match-card__meta-box{
    width:100%;
    padding:10px 12px;
    border-radius:14px;
    border:1px solid rgba(116,166,255,.16);
    background:rgba(255,255,255,.03);
}

body.page-matches-index .match-card__meta-item{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:10px;
    flex-wrap:nowrap;
    text-align:left;
}

body.page-matches-index .match-card__meta-icon{
    font-size:16px;
    line-height:1;
    margin-top:2px;
    flex:0 0 auto;
}

body.page-matches-index .match-card__meta-text{
    display:grid;
    gap:4px;
    min-width:0;
}

body.page-matches-index .match-card__meta-text strong{
    color:#ffffff;
    font-size:15px;
    line-height:1.2;
    font-weight:700;
}

body.page-matches-index .match-card__meta-text small{
    color:#dbe8ff;
    font-size:14px;
    line-height:1.35;
}

body.page-matches-index .match-card__prediction{
    min-height:40px;
    padding:0 16px;
    font-size:14px;
}

@media (max-width: 420px){
    body.page-matches-index .match-card{
        padding:16px 12px;
    }

    body.page-matches-index .match-card__teams{
        grid-template-columns:minmax(0, 1fr) 40px minmax(0, 1fr);
        gap:8px;
    }

    body.page-matches-index .match-team{
        grid-template-rows:60px 34px 60px;
        gap:5px;
    }

    body.page-matches-index .match-team__badge-wrap{
        width:54px;
        height:54px;
    }

    body.page-matches-index .match-team__abbr{
        font-size:17px;
    }

    body.page-matches-index .match-team__short{
        min-height:30px;
        font-size:10px;
        letter-spacing:.08em;
    }

    body.page-matches-index .match-team__name{
        min-height:52px;
        font-size:12px;
        line-height:1.10;
    }

    body.page-matches-index .match-card__versus{
        width:36px;
        height:36px;
        margin-top:12px;
        font-size:16px;
    }

    body.page-matches-index .match-card__meta-box{
        padding:10px;
    }

    body.page-matches-index .match-card__meta-text strong{
        font-size:14px;
    }

    body.page-matches-index .match-card__meta-text small{
        font-size:13px;
    }
}

/* =========================================================
   AJUSTE FINO FINAL - /JOGOS
   - círculo só com bandeira viva
   - azul mantém nome da seleção
   - branco vira abreviação 3 letras
========================================================= */
body.page-matches-index .match-team{
    grid-template-rows:58px 28px 28px !important;
    gap:6px !important;
}

body.page-matches-index .match-team__badge-wrap{
    width:54px !important;
    height:54px !important;
    background:#0f213f !important;
    border:1px solid rgba(116,166,255,.30) !important;
    overflow:hidden !important;
}

body.page-matches-index .match-team__flag-bg{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
}

body.page-matches-index .match-team__badge-wrap::after{
    display:none !important;
}

body.page-matches-index .match-team__abbr{
    display:none !important;
}

body.page-matches-index .match-team__short{
    min-height:22px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    text-align:center !important;
    color:#7fb0ff !important;
    font-size:11px !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.10em !important;
    line-height:1.1 !important;
}

body.page-matches-index .match-team__name{
    min-height:22px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:center !important;
    color:#ffffff !important;
    font-family:'Orbitron', sans-serif !important;
    font-size:20px !important;
    font-weight:800 !important;
    letter-spacing:.06em !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    margin:0 !important;
}

body.page-matches-index .match-card__teams{
    align-items:start !important;
}

@media (max-width: 420px){
    body.page-matches-index .match-team{
        grid-template-rows:54px 28px 24px !important;
        gap:5px !important;
    }

    body.page-matches-index .match-team__badge-wrap{
        width:50px !important;
        height:50px !important;
    }

    body.page-matches-index .match-team__short{
        font-size:10px !important;
        min-height:24px !important;
    }

    body.page-matches-index .match-team__name{
        font-size:17px !important;
        min-height:20px !important;
    }
}





/* FCBF_SCORE_DIRECT_VIEW_V2 */
.predict-score-box {
    text-align: center !important;
}

.predict-score-box__label {
    display: block !important;
    text-align: center !important;
    font-size: 19px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.45) !important;
}

.predict-score-step-control {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 28px 38px 28px !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 6px !important;
    width: 140px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.predict-score-step-control .predict-score-step-btn:first-child {
    grid-row: 1 !important;
}

.predict-score-step-control .predict-score-box__input {
    grid-row: 2 !important;
}

.predict-score-step-control .predict-score-step-btn:last-child {
    grid-row: 3 !important;
}

.predict-score-step-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border-radius: 4px !important;
    border: 1px solid rgba(15,23,42,.35) !important;
    background: #f8fafc !important;
    color: #07111f !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.predict-score-step-control .predict-score-box__input {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 38px !important;
    border-radius: 999px !important;
    cursor: default !important;
}

@media (max-width: 430px) {
    .predict-score-box__label {
        font-size: 18px !important;
    }

    .predict-score-step-control {
        width: 132px !important;
        grid-template-rows: 26px 36px 26px !important;
        gap: 5px !important;
    }

    .predict-score-step-control .predict-score-box__input {
        width: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        height: 36px !important;
        min-height: 36px !important;
        line-height: 36px !important;
        font-size: 26px !important;
    }

    .predict-score-step-btn {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        font-size: 18px !important;
    }
}

/* FCBF_FLAGS_SCORE_ALIGN_FINAL_V1 */
.fcbf-predict-team-label {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
}

.fcbf-predict-flag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 24px !important;
    border-radius: 7px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
}

.fcbf-real-flag-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.fcbf-predict-name {
    display: block !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
    text-align: center !important;
}

.predict-score-box__label.fcbf-predict-team-label .fcbf-predict-name {
    font-size: 20px !important;
}

.predict-score-row {
    align-items: flex-start !important;
}

.predict-score-separator {
    align-self: flex-start !important;
    margin-top: 82px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 430px) {
    .fcbf-predict-name {
        font-size: 16px !important;
    }

    .predict-score-box__label.fcbf-predict-team-label .fcbf-predict-name {
        font-size: 19px !important;
    }

    .predict-score-separator {
        margin-top: 80px !important;
    }
}

/* FCBF_FLAG_CROP_FIX_V1 */
.fcbf-predict-flag {
    width: 32px !important;
    height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.fcbf-predict-flag img,
.fcbf-real-flag-img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 4px !important;
}

.predict-pill__label .fcbf-predict-flag {
    width: 30px !important;
    height: 20px !important;
}

.predict-score-box__label .fcbf-predict-flag {
    width: 34px !important;
    height: 23px !important;
}
