.tip-team-title {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}

.tip-card {
    border-radius: .65rem;
    scroll-margin-top: 1rem;
}

.tip-card:target {
    border-color: #16a34a;
    box-shadow: 0 0 0 .22rem rgba(22, 163, 74, .18), 0 1px 3px rgba(0,0,0,.06);
}

.tip-score-boxes {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) minmax(240px, .8fr);
    gap: .85rem;
    align-items: stretch;
}

.tip-score-box {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: .85rem;
    border: 1px solid #dbe3ee;
    border-radius: .55rem;
    background: #f8fafc;
}

.tip-score-box legend {
    float: none;
    width: auto;
    margin: 0 0 .2rem;
    color: var(--navy);
    font-size: .9rem;
    font-weight: 900;
}

.tip-score-box label {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) 96px;
    gap: .65rem;
    align-items: center;
    margin: 0;
}

.tip-score-box label span {
    min-width: 0;
    color: #334155;
    font-weight: 800;
}

.tip-score-box input[type="number"] {
    text-align: center;
    font-weight: 900;
}

.tip-options-box {
    align-content: start;
}

.tip-options-box label {
    grid-template-columns: 1fr;
}

.admin-tip-entry .joker-check,
.tip-options-box .joker-check {
    display: flex;
    grid-template-columns: none;
    gap: .45rem;
    align-items: center;
    padding-top: 0;
}

.admin-tip-empty {
    padding: .85rem;
    border: 1px dashed #b8c4d4;
    border-radius: .55rem;
    background: #f8fafc;
    color: #64748b;
    font-weight: 700;
}

.account-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid #dbe3ee;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 6px 22px rgba(15, 23, 42, .055);
}

.account-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 999px;
    background: var(--navy);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 900;
}

.account-hero h2 {
    margin: 0;
    color: var(--navy);
    font-weight: 900;
}

.account-hero p {
    margin: .15rem 0 0;
    color: #64748b;
}

.account-rank {
    min-width: 7rem;
    padding: .65rem .8rem;
    border: 1px solid #dbe3ee;
    border-radius: .55rem;
    text-align: center;
    background: #f8fafc;
}

.account-rank span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.account-rank strong {
    display: block;
    color: var(--navy);
    font-size: 1.5rem;
    line-height: 1.1;
}

.match-events {
    border-top: 1px solid #e5e7eb;
    padding-top: .5rem;
}

.match-card-actions {
    display: inline-flex;
    gap: .25rem;
    align-items: center;
    margin-left: auto;
}

.match-card .match-meta {
    justify-content: space-between;
}

.match-card-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid #cbd5e1;
    border-radius: .35rem;
    background: #fff;
    color: var(--navy2);
    text-decoration: none;
}

.match-card-icon-btn:hover {
    border-color: var(--navy2);
    background: #eef5ff;
    color: var(--navy);
}

.event-minute {
    display: inline-block;
    min-width: 2.4rem;
    font-weight: 800;
    color: var(--navy);
}

.admin-match-team {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: .12rem 0;
}

.admin-match-link,
.match-card-link {
    color: inherit;
    display: block;
    text-decoration: none;
}

.admin-match-link:hover span:last-child,
.match-card-link:hover strong {
    text-decoration: underline;
}

.admin-progress-steps {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-progress-steps li {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem 0;
    color: #64748b;
}

.admin-progress-steps li::before {
    content: "";
    width: .75rem;
    height: .75rem;
    border: 2px solid #cbd5e1;
    border-radius: 999px;
}

.admin-progress-steps li.is-active {
    color: var(--navy);
    font-weight: 800;
}

.admin-progress-steps li.is-active::before {
    border-color: #0d6efd;
    background: #0d6efd;
}

.admin-progress-steps li.is-done::before {
    border-color: #198754;
    background: #198754;
}

.fifa-detail-row td {
    background: #f8fafc;
    border-top: 0;
}

.fifa-detail-grid {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);
    gap: 1rem;
}

.fifa-detail-title {
    font-weight: 800;
    color: var(--navy);
    margin-bottom: .35rem;
}

.fifa-stat-list,
.fifa-lineup-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.fifa-stat-list span,
.fifa-lineup-list span {
    display: inline-flex;
    align-items: center;
    min-height: 1.6rem;
    padding: .2rem .45rem;
    border: 1px solid #dbe3ee;
    border-radius: .35rem;
    background: #fff;
    font-size: .78rem;
}

.fifa-lineup-list .is-starter {
    border-color: #86b7fe;
    background: #eef5ff;
}

@media (max-width: 900px) {
    .fifa-detail-grid {
        grid-template-columns: 1fr;
    }

    .tip-score-boxes,
    .account-hero {
        grid-template-columns: 1fr;
    }

    .account-rank {
        text-align: left;
    }
}

.match-detail-hero {
    padding: 1rem;
}

.match-centre-hero {
    padding: 1.15rem;
    border: 1px solid #dbe3ee;
    border-radius: .65rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.match-centre-kicker,
.match-centre-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .9rem;
    color: #64748b;
    font-size: .9rem;
}

.match-centre-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.match-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: .15rem .55rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-weight: 800;
}

.match-centre-scoreboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1.3rem 0 1rem;
}

.match-centre-team {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
}

.match-centre-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
}

.match-centre-team strong {
    display: block;
    color: var(--navy);
    font-size: 1.45rem;
    line-height: 1.1;
}

.match-centre-team span {
    display: block;
    color: #64748b;
    font-weight: 800;
    margin-top: .15rem;
}

.match-centre-flag {
    width: 4rem;
    height: 2.65rem;
    object-fit: cover;
    border: 1px solid #dbe3ee;
    border-radius: .35rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

.match-centre-score {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: var(--navy);
    font-weight: 900;
}

.match-centre-score span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 4.1rem;
    height: 4.1rem;
    border-radius: .75rem;
    background: #0f2447;
    color: #fff;
    font-size: 2.45rem;
    line-height: 1;
}

.match-centre-score small {
    color: #64748b;
    font-size: 2rem;
}

.match-centre-score-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}

.match-score-tile {
    padding: .75rem .85rem;
    border: 1px solid #dbe3ee;
    border-radius: .55rem;
    background: #fff;
}

.match-score-tile span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.match-score-tile strong {
    display: block;
    color: var(--navy);
    font-size: 1.35rem;
    line-height: 1.1;
    margin-top: .25rem;
}

.match-centre-layout {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(340px, 1.15fr);
    gap: 1rem;
}

.match-panel {
    padding: 1rem;
    border: 1px solid #dbe3ee;
    border-radius: .65rem;
    background: #fff;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .045);
}

.match-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
}

.match-panel-head h2 {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: var(--navy);
    font-size: 1rem;
    font-weight: 900;
    margin: 0;
}

.match-detail-meta,
.match-detail-facts {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .9rem;
    align-items: center;
    color: #64748b;
    font-size: .9rem;
}

.match-detail-scoreboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
}

.match-detail-team {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.match-detail-team.text-end {
    justify-content: flex-end;
}

.match-detail-team strong {
    font-size: 1.25rem;
    line-height: 1.15;
}

.match-detail-flag {
    width: 3rem;
    height: 2rem;
    object-fit: cover;
    border-radius: .25rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.match-detail-score {
    display: flex;
    align-items: baseline;
    gap: .45rem;
    font-weight: 900;
    color: var(--navy);
}

.match-detail-score span {
    min-width: 2.25rem;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1;
}

.match-detail-score small {
    font-size: 1.6rem;
}

.match-detail-grid {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr);
    gap: 1rem;
}

.match-info-list {
    display: grid;
    grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr);
    gap: .4rem .75rem;
    margin-bottom: 1rem;
}

.match-info-list dt {
    color: #64748b;
    font-weight: 700;
}

.match-info-list dd {
    margin: 0;
}

.match-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .6rem;
}

.match-stat-item {
    border: 1px solid #dbe3ee;
    border-radius: .45rem;
    padding: .55rem .65rem;
    background: #fff;
}

.match-stat-item span {
    display: block;
    color: #64748b;
    font-size: .78rem;
}

.match-stat-item strong {
    display: block;
    color: var(--navy);
    font-size: 1rem;
}

.match-timeline {
    display: grid;
    gap: .5rem;
}

.match-timeline-item {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    position: relative;
}

.match-timeline-minute {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 1.8rem;
    border-radius: .35rem;
    background: #eef5ff;
    color: var(--navy);
    font-weight: 900;
}

.match-timeline-body {
    padding: .45rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: .55rem;
    background: #fff;
}

.match-timeline-item p {
    margin: .1rem 0 0;
    color: #475569;
}

.match-timeline-item.is-goal .match-timeline-minute,
.match-timeline-item.is-penalty .match-timeline-minute,
.match-timeline-item.is-own_goal .match-timeline-minute {
    background: #e7f6ee;
    color: #11633b;
}

.match-timeline-item.is-yellow_card .match-timeline-minute {
    background: #fff7d6;
    color: #7a5b00;
}

.match-timeline-item.is-red_card .match-timeline-minute {
    background: #ffe5e5;
    color: #9f1d1d;
}

.match-timeline-item.is-substitution .match-timeline-minute,
.match-timeline-item.is-var .match-timeline-minute {
    background: #f1edff;
    color: #4c2ca0;
}

.lineup-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.lineup-columns h3 {
    color: #64748b;
    font-size: .85rem;
    font-weight: 800;
    margin-bottom: .5rem;
    text-transform: uppercase;
}

.lineup-player {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    gap: .45rem;
    align-items: center;
    padding: .4rem 0;
    border-bottom: 1px solid #edf2f7;
}

.lineup-player span {
    color: #64748b;
    font-weight: 800;
}

.lineup-player strong {
    min-width: 0;
}

.lineup-player small {
    color: #64748b;
}

.lineup-player.is-sub {
    opacity: .82;
}

@media (max-width: 760px) {
    .match-detail-scoreboard,
    .match-detail-grid,
    .match-centre-scoreboard,
    .match-centre-layout,
    .lineup-columns {
        grid-template-columns: 1fr;
    }

    .match-centre-team.is-away {
        flex-direction: row;
        text-align: left;
    }

    .match-centre-score {
        justify-content: center;
        order: 3;
    }

    .match-centre-score span {
        width: 3.4rem;
        height: 3.4rem;
        font-size: 2rem;
    }

    .match-detail-score {
        justify-content: center;
        order: 3;
    }

    .match-detail-team.text-end {
        justify-content: flex-start;
        text-align: left !important;
    }
}
