.mg-championships,.mg-league-page{direction:rtl;color:var(--header-color,#111827);margin:22px 0}.mg-championships{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:"main side";gap:18px}.mg-champ-main{grid-area:main;display:grid;gap:14px}.mg-champ-sidebar{grid-area:side;display:grid;gap:16px;align-content:start}.mg-best-leagues,.mg-champ-news,.mg-champ-calendar,.mg-champ-schedule,.mg-league-header,.mg-panel{overflow:hidden;border-radius:16px;background:var(--light-color,#fff);box-shadow:0 2px 12px var(--theme-shadow,rgba(15,23,42,.1))}.mg-best-leagues h2,.mg-champ-news h2,.mg-panel>h2{margin:0;padding:15px 18px;font-size:17px;text-align:right}.mg-best-leagues nav{display:grid;padding:0 10px 12px}.mg-best-leagues a{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px;border-radius:10px;color:inherit;text-decoration:none}.mg-best-leagues a:hover{background:var(--gray-1,#f1f5f9);color:var(--main-color,#087c2d)}.mg-best-leagues img{width:28px;height:28px;object-fit:contain}.mg-champ-news-list{display:grid;padding:0 12px 12px;gap:9px}.mg-champ-news-item a{display:flex;flex-direction:row;gap:9px;align-items:center;color:inherit;text-decoration:none}.mg-champ-news-item img{width:74px;height:52px;object-fit:cover;border-radius:7px}.mg-champ-news-item span{display:grid;gap:4px}.mg-champ-news-item strong{font-size:12px;line-height:1.55}.mg-champ-news-item small{font-size:10px;opacity:.7}.mg-champ-news-item.is-featured a{display:grid}.mg-champ-news-item.is-featured img{width:100%;height:145px}.mg-champ-calendar{box-shadow:0 3px 14px var(--theme-shadow,rgba(15,23,42,.12))}.mg-champ-calendar header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;min-height:70px;padding:0 14px}.mg-champ-calendar header a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--gray-1,#f1f5f9);color:inherit;text-decoration:none;font-size:30px;line-height:1}.mg-champ-calendar header strong{text-align:center;font-size:16px}.mg-schedule-title{width:100%;border:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--gray-1,#f1f5f9);color:inherit;font:inherit;cursor:pointer;text-align:right}.mg-league-identity{display:flex;align-items:center;gap:9px}.mg-league-identity img{width:25px;height:25px;object-fit:contain}.mg-league-identity strong{font-size:14px}.mg-collapse-arrow{display:grid;place-items:center;width:28px;height:28px;font-size:18px;transition:transform .2s}.mg-schedule-title[aria-expanded="false"] .mg-collapse-arrow{transform:rotate(180deg)}.mg-schedule-list,.mg-round-matches{display:grid}.mg-schedule-match{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;gap:8px;min-height:76px;padding:9px 16px;border-top:1px solid var(--theme-border,#e5e7eb);color:inherit;text-decoration:none}.mg-team{display:flex;align-items:center;gap:9px}.mg-team.home{justify-content:flex-start}.mg-team.away{justify-content:flex-end}.mg-team img{width:38px;height:38px;object-fit:contain}.mg-team strong{font-size:13px}.mg-match-center{text-align:center}.mg-match-center time{font-weight:800;font-size:14px}.mg-champ-empty{margin:0;padding:20px;text-align:center;opacity:.72}.mg-league-header{padding:22px 24px 0}.mg-league-heading{display:flex;align-items:center;gap:14px}.mg-league-heading img{width:58px;height:58px;object-fit:contain}.mg-league-heading h1{margin:0;font-size:22px}.mg-league-header nav{display:flex;gap:28px;margin-top:22px;overflow:auto}.mg-league-header nav a{position:relative;padding:13px 2px;color:inherit;text-decoration:none;white-space:nowrap;font-size:14px}.mg-league-header nav a.is-active{font-weight:800;color:var(--main-color,#087c2d)}.mg-league-header nav a.is-active:after{content:"";position:absolute;right:0;left:0;bottom:0;height:3px;border-radius:4px;background:var(--main-color,#087c2d)}.mg-league-content{display:grid;gap:16px;margin-top:16px}.mg-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.mg-panel{min-width:0}.mg-table-wrap{overflow:auto}.mg-standings{width:100%;border-collapse:collapse;white-space:nowrap}.mg-standings th,.mg-standings td{padding:11px 10px;border-top:1px solid var(--theme-border,#e5e7eb);text-align:center;font-size:12px}.mg-standings th:nth-child(2),.mg-standings td:nth-child(2){text-align:right}.mg-standing-team{display:flex;align-items:center;gap:8px}.mg-standing-team img{width:24px;height:24px;object-fit:contain}.mg-round-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin:0 14px 10px;border-radius:10px;background:var(--gray-1,#f1f5f9)}.mg-round-nav a{display:grid;place-items:center;padding:8px;color:inherit;text-decoration:none;font-size:24px}.mg-round-nav strong{text-align:center;font-size:13px}.mg-match-date{margin:0;padding:8px 14px;background:var(--gray-1,#f1f5f9);font-size:12px}.mg-league-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 16px 18px}.mg-league-news-card a{display:grid;gap:9px;color:inherit;text-decoration:none}.mg-league-news-card img{width:100%;height:145px;object-fit:cover;border-radius:10px}.mg-league-news-card span{display:grid;gap:5px}.mg-league-news-card strong{font-size:14px;line-height:1.6}.mg-league-news-card small{font-size:11px;opacity:.65}.mg-league-news-card.is-leading{grid-column:span 2;grid-row:span 2}.mg-league-news-card.is-leading img{height:300px}.mg-league-news-card.is-leading strong{font-size:18px}.mg-news-panel{padding-bottom:2px}html[data-theme="dark"] .mg-best-leagues a:hover,html[data-theme="dark"] .mg-champ-calendar header a,html[data-theme="dark"] .mg-schedule-title,html[data-theme="dark"] .mg-round-nav,html[data-theme="dark"] .mg-match-date{background:var(--gray-1,#1f2937)}
@media(max-width:900px){.mg-championships{grid-template-columns:1fr;grid-template-areas:"main" "side"}.mg-champ-sidebar{grid-template-columns:1fr 1fr}.mg-overview-grid{grid-template-columns:1fr}.mg-league-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.mg-championships,.mg-league-page{margin:12px 0}.mg-champ-sidebar{grid-template-columns:1fr}.mg-champ-calendar header{min-height:62px}.mg-schedule-match{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);padding:9px 8px;min-height:86px}.mg-team{flex-direction:column;gap:5px;text-align:center}.mg-team.home{flex-direction:column-reverse}.mg-team strong{font-size:11px}.mg-team img{width:32px;height:32px}.mg-league-header{padding:16px 14px 0}.mg-league-heading img{width:46px;height:46px}.mg-league-heading h1{font-size:18px}.mg-league-header nav{gap:20px}.mg-league-news-grid{grid-template-columns:1fr;padding:0 12px 14px}.mg-league-news-card.is-leading{grid-column:auto;grid-row:auto}.mg-league-news-card.is-leading img,.mg-league-news-card img{height:190px}.mg-standings th,.mg-standings td{padding:9px 7px}.mg-best-leagues nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep section labels plain and pin every competition bar to the card top. */
.mg-match-date{text-align:center}
.mg-championships .mg-best-leagues>h2,
.mg-championships .mg-champ-news>h2{
    margin:0!important;
    padding:0 10px 10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:1.5;
}
.mg-championships .mg-best-leagues,
.mg-championships .mg-champ-news{
    padding-top:12px!important;
}
.mg-championships .mg-champ-main>.mg-champ-schedule{
    padding:0!important;
}
.mg-championships .mg-champ-main>.mg-champ-schedule>.mg-schedule-title{
    margin:0!important;
    border-radius:0!important;
}

/* Keep both championship layouts constrained and stable at every viewport/zoom. */
.mg-championships,
.mg-league-page{
    width:min(calc(100% - 24px),1024px)!important;
    max-width:1024px!important;
    margin:22px auto!important;
}
.mg-league-page,
.mg-league-page *{
    box-sizing:border-box;
}
.mg-league-content,
.mg-overview-grid,
.mg-panel,
.mg-table-wrap,
.mg-round-matches{
    max-width:100%;
    min-width:0;
}
.mg-overview-grid{
    align-items:start;
}
.mg-overview-grid>.mg-panel{
    align-self:start;
}

/* Explicit positions prevent RTL rules from turning the arrows inward. */
.mg-champ-calendar header,
.mg-round-nav{
    direction:ltr;
}
.mg-champ-calendar header strong,
.mg-round-nav strong{
    direction:rtl;
}
.mg-date-previous,
.mg-round-previous{
    grid-column:1;
}
.mg-date-next,
.mg-round-next{
    grid-column:3;
}
.mg-champ-calendar header strong,
.mg-round-nav strong{
    grid-column:2;
    grid-row:1;
}
.mg-champ-calendar header>a,
.mg-round-nav>a{
    grid-row:1;
}

/* Section labels are plain text; the content starts directly beneath them. */
.mg-championships .mg-best-leagues>h2,
.mg-championships .mg-champ-news>h2{
    display:block!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 10px 8px!important;
    color:inherit!important;
    background:none!important;
}
.mg-championships .mg-best-leagues,
.mg-championships .mg-champ-news{
    padding-top:10px!important;
}
.mg-champ-main{
    align-content:start;
    grid-auto-rows:max-content;
}
.mg-championships .mg-champ-news-list,
.mg-championships .mg-best-leagues nav{
    margin-top:0!important;
}

@media(max-width:600px){
    .mg-championships,.mg-league-page{margin:12px auto!important}
}

/* 1.5.6: functional, accessible competition collapse control. */
.mg-collapse-arrow{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(148,163,184,.12);
    font-size:0;
    transition:background-color .2s ease;
}
.mg-collapse-arrow svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.25;
    stroke-linecap:round;
    stroke-linejoin:round;
    transform:rotate(180deg);
    transition:transform .2s ease;
}
.mg-schedule-title:hover .mg-collapse-arrow{
    background:rgba(148,163,184,.22);
}
.mg-schedule-title[aria-expanded="false"] .mg-collapse-arrow svg{
    transform:rotate(0);
}
.mg-schedule-title[aria-expanded="false"] .mg-collapse-arrow{
    transform:none;
}
.mg-schedule-list[hidden]{
    display:none!important;
}
.mg-team strong{
    font-size:13px;
}
@media(max-width:600px){
    .mg-team strong{font-size:11px}
}

/* 1.5.14: true mobile standings layout; no sideways scrolling or overlap. */
@media(max-width:600px){
    .mg-league-page .mg-league-header nav{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:0;
        width:100%;
        overflow:visible;
    }
    .mg-league-page .mg-league-header nav a{
        min-width:0;
        padding:10px 3px;
        white-space:normal;
        overflow-wrap:anywhere;
        text-align:center;
        font-size:11px;
        line-height:1.35;
    }
    .mg-league-page .mg-table-wrap{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }
    .mg-league-page .mg-standings{
        width:100%;
        max-width:100%;
        table-layout:fixed;
        white-space:normal;
        font-variant-numeric:tabular-nums;
    }
    .mg-league-page .mg-standings .mg-col-rank{width:7%}
    .mg-league-page .mg-standings .mg-col-team{width:35%}
    .mg-league-page .mg-standings .mg-col-played,
    .mg-league-page .mg-standings .mg-col-won,
    .mg-league-page .mg-standings .mg-col-drawn,
    .mg-league-page .mg-standings .mg-col-lost,
    .mg-league-page .mg-standings .mg-col-gd,
    .mg-league-page .mg-standings .mg-col-points{width:9.666%}
    .mg-league-page .mg-standings .mg-col-gf,
    .mg-league-page .mg-standings .mg-col-ga{display:none}
    .mg-league-page .mg-standings th,
    .mg-league-page .mg-standings td{
        height:48px;
        padding:7px 2px;
        overflow:hidden;
        font-size:10.5px;
        line-height:1.25;
    }
    .mg-league-page .mg-standings th.mg-col-team,
    .mg-league-page .mg-standings td.mg-col-team{
        padding-inline:3px;
    }
    .mg-league-page .mg-standing-team{
        display:grid;
        grid-template-columns:22px minmax(0,1fr);
        align-items:center;
        gap:4px;
        width:100%;
        min-width:0;
        overflow:hidden;
    }
    .mg-league-page .mg-standing-team img{
        width:22px;
        height:22px;
    }
    .mg-league-page .mg-standing-team strong{
        display:-webkit-box;
        min-width:0;
        max-width:100%;
        overflow:hidden;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        white-space:normal;
        overflow-wrap:anywhere;
        text-align:right;
        font-size:10.5px;
        line-height:1.3;
    }
}

/* Competition formats: group tables and stage-based knockout views. */
.mg-group-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px}
.mg-group-table{min-width:0;overflow:hidden;border:1px solid var(--theme-border,#e5e7eb);border-radius:12px}
.mg-group-table h3,.mg-stage>h3{margin:0;padding:11px 14px;background:var(--gray-1,#f1f5f9);font-size:14px}
.mg-tournament-stages{display:grid;gap:14px;padding:0 14px 14px}
.mg-stage{overflow:hidden;border:1px solid var(--theme-border,#e5e7eb);border-radius:12px}
.mg-stage .mg-schedule-match:first-child{border-top:0}
html[data-theme="dark"] .mg-group-table h3,html[data-theme="dark"] .mg-stage>h3{background:var(--gray-1,#1f2937)}
@media(max-width:600px){.mg-group-tables{grid-template-columns:1fr;padding:0 8px 10px}.mg-tournament-stages{padding:0 8px 10px}}

/* 1.4.4: keep fixture separators quiet in dark mode. */
html[data-theme="dark"] .mg-championships,
html[data-theme="dark"] .mg-league-page{
    --theme-border:rgba(148,163,184,.22);
}

/* 1.5.10: match-state overlay. It never participates in the fixture grid. */
.mg-schedule-match{
    position:relative;
}
.mg-match-status{
    position:absolute;
    z-index:2;
    top:50%;
    right:16px;
    width:34px;
    min-width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    transform:translateY(-50%);
    border-radius:50%;
    background:rgba(100,116,139,.17);
    color:var(--header-color,#475569);
    font-size:11px;
    font-weight:900;
    line-height:1;
    direction:ltr;
    pointer-events:none;
}
.mg-match-status.is-live{
    background:#20c875;
    color:#062d1b;
    box-shadow:0 0 0 3px rgba(32,200,117,.12);
}
.mg-match-status.is-finished,
.mg-match-status.is-finished-extra{
    width:32px;
    min-width:32px;
    height:26px;
    border-radius:8px;
}
.mg-match-status.is-penalties,
.mg-match-status.is-finished-penalties{
    background:transparent;
    color:var(--header-color,#475569);
}
.mg-match-status.is-postponed,.mg-match-status.is-cancelled,.mg-match-status.is-abandoned{
    width:auto;
    min-width:42px;
    height:26px;
    padding:0 7px;
    border-radius:8px;
    font-size:9px;
}
.mg-match-status.is-cancelled,.mg-match-status.is-abandoned{background:rgba(220,38,38,.14);color:#b91c1c}
.mg-status-clock{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mg-match-status .mg-status-text[hidden],
.mg-match-status .mg-status-clock[hidden],
.mg-match-status.is-live .mg-status-clock,
.mg-match-status.is-finished .mg-status-clock,
.mg-match-status.is-finished-extra .mg-status-clock{display:none!important}
.mg-match-status.is-live .mg-status-text,
.mg-match-status.is-finished .mg-status-text,
.mg-match-status.is-finished-extra .mg-status-text{display:inline!important}
.mg-match-status.is-break .mg-status-text,
.mg-match-status.is-waiting .mg-status-text,
.mg-match-status.is-penalties .mg-status-text,
.mg-match-status.is-finished-penalties .mg-status-text{display:none!important}
.mg-match-status.is-break .mg-status-clock,
.mg-match-status.is-waiting .mg-status-clock,
.mg-match-status.is-penalties .mg-status-clock,
.mg-match-status.is-finished-penalties .mg-status-clock{display:block!important}
html[data-theme="dark"] .mg-match-status{color:#d1d5db;background:rgba(148,163,184,.22)}
html[data-theme="dark"] .mg-match-status.is-live{background:#20c875;color:#052e1a}
html[data-theme="dark"] .mg-match-status.is-penalties,
html[data-theme="dark"] .mg-match-status.is-finished-penalties{background:transparent;color:#cbd5e1}
html[data-theme="dark"] .mg-match-status.is-cancelled,
html[data-theme="dark"] .mg-match-status.is-abandoned{background:rgba(248,113,113,.2);color:#fca5a5}
@media(max-width:600px){
    .mg-match-status{right:5px;width:26px;min-width:26px;height:26px;font-size:9px}
    .mg-match-status.is-finished,.mg-match-status.is-finished-extra{width:27px;min-width:27px;height:22px}
    .mg-status-clock{width:17px;height:17px}
    .mg-match-status.is-postponed,.mg-match-status.is-cancelled,.mg-match-status.is-abandoned{min-width:28px;height:22px;padding:0 3px;font-size:7px}
}
html[data-theme="dark"] .mg-schedule-match,
html[data-theme="dark"] .mg-standings th,
html[data-theme="dark"] .mg-standings td{
    border-color:rgba(148,163,184,.22);
}

/* 1.4.3: restore the compact fixture rhythm and keep crests next to the score. */
.mg-champ-calendar header{
    grid-template-columns:30px minmax(0,1fr) 30px;
    min-height:48px;
    padding:0 12px;
}
.mg-champ-calendar header a{
    width:30px;
    height:30px;
    font-size:22px;
}
.mg-champ-calendar header strong{
    font-size:13px;
}
.mg-schedule-match{
    grid-template-columns:minmax(0,220px) 58px minmax(0,220px);
    justify-content:center;
    gap:8px;
    min-height:52px;
    padding:6px 12px;
}
.mg-team{
    display:grid;
    align-items:center;
    gap:7px;
    min-width:0;
    overflow:hidden;
}
.mg-team.home{
    grid-template-columns:minmax(0,1fr) 32px;
    justify-content:stretch;
    text-align:left;
}
.mg-team.away{
    grid-template-columns:32px minmax(0,1fr);
    justify-content:stretch;
    text-align:right;
}
.mg-team img{
    width:32px;
    height:32px;
}
.mg-team strong{
    display:block;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.mg-match-center time{
    font-size:13px;
}
.mg-schedule-match.has-match-status{
    /* Reserve an equal gutter on both sides. The right gutter contains the
       absolute status badge; the matching left gutter keeps the fixture's
       center column on the exact visual axis of the card. */
    padding-inline:62px;
}
.mg-round-nav{
    grid-template-columns:30px minmax(0,1fr) 30px;
    min-height:38px;
    margin:0 10px 8px;
}
.mg-round-nav a{
    padding:4px;
    font-size:20px;
}
.mg-round-nav>span{
    display:grid;
    place-items:center;
    grid-row:1;
    padding:4px;
    font-size:20px;
}
.mg-round-nav>.is-disabled{
    opacity:.28;
}
.mg-date-previous,
.mg-round-previous{
    grid-column:3;
}
.mg-date-next,
.mg-round-next{
    grid-column:1;
}
@media(max-width:600px){
    .mg-champ-calendar header{min-height:46px}
    .mg-schedule-match{
        grid-template-columns:minmax(0,150px) 48px minmax(0,150px);
        min-height:50px;
        padding:5px 7px;
        gap:5px;
    }
    .mg-schedule-match.has-match-status{padding-inline:40px}
    .mg-team,.mg-team.home{display:grid;flex-direction:initial;gap:5px;text-align:initial}
    .mg-team.home{grid-template-columns:minmax(0,1fr) 28px;text-align:left}
    .mg-team.away{grid-template-columns:28px minmax(0,1fr);text-align:right}
    .mg-team img{width:28px;height:28px}
    .mg-team strong{font-size:11px}
}

/* 1.5.31: keep the day navigator available while long fixture lists scroll. */
.mg-championships>.mg-champ-main>.mg-champ-calendar{
    position:sticky;
    top:12px;
    z-index:40;
    align-self:start;
}
@media(max-width:600px){
    .mg-championships>.mg-champ-main>.mg-champ-calendar{top:8px}
}
