.country-rail {
    background: var(--gray-card, #fff);
    border: 1px solid var(--gray-border, #e3e6e4);
    border-radius: 9px;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 45, 28, .09));
    overflow: hidden;
    position: sticky;
    top: 18px;
}

.country-menu { display: none; position: relative; }

.country-rail-title {
    padding: 13px 16px;
    color: #fff;
    background: var(--green-deep, #003b22);
    font-size: 13px;
    font-weight: 800;
}

.country-list { max-height: calc(100vh - 165px); overflow-y: auto; }

.country-link {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    color: var(--text-dark, #111815);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    border: 0;
    border-bottom: 1px solid var(--gray-border, #e3e6e4);
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.country-link:hover, .country-link.active { background: var(--green-light, #e9f5ee); color: var(--green-dark, #004d2b); }
.country-flag-small { width: 20px; height: 14px; object-fit: contain; }
.country-count { margin-left: auto; color: var(--text-light, #8b9590); font-size: 11px; }
.country-list-error { padding: 14px; color: var(--text-medium, #637069); font-size: 12px; }

.country-league-picker { padding: 10px 12px 12px 41px; border-bottom: 1px solid var(--gray-border, #e3e6e4); background: var(--green-light, #e9f5ee); }
.country-league-link { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 7px 8px; border: 0; border-radius: 5px; background: transparent; color: var(--text-medium, #637069); cursor: pointer; font: inherit; font-size: 12px; text-align: left; text-decoration: none; }
.country-league-link:hover, .country-league-link.active { background: var(--gray-card, #fff); color: var(--green-dark, #004d2b); }
.country-league-link span { color: var(--text-light, #8b9590); font-size: 10px; }
.country-league-loading, .country-league-empty { color: var(--text-medium, #637069); font-size: 11px; }

.league-prediction-group { margin-bottom: 26px; }
.league-prediction-group h2 { margin: 0 0 8px; font-size: 19px; }
.league-prediction-group > p { margin: 0 0 12px; color: var(--text-medium, #637069); }
.league-prediction-card { margin-bottom: 10px; }

:root[data-theme="dark"] .country-link:hover,
:root[data-theme="dark"] .country-link.active {
    color: var(--text-dark, #edf5ef);
}

@media (max-width: 800px) {
    .country-rail { display: none; }
    .country-menu { display: block; }
    .country-menu-toggle {
        min-height: 20px;
        padding: 3px 7px;
        border: 1px solid var(--yellow, #f7b817);
        border-radius: 5px;
        background: transparent;
        color: var(--yellow, #f7b817);
        font-size: 8px;
        font-weight: 900;
        cursor: pointer;
    }
    .country-menu-panel {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        z-index: 100;
        width: min(280px, calc(100vw - 24px));
        max-height: min(65vh, 460px);
        overflow-y: auto;
        border: 1px solid var(--gray-border, #e3e6e4);
        border-radius: 8px;
        background: var(--gray-card, #fff);
        box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
    }
    .country-menu.open .country-menu-panel { display: block; }
    .country-menu-panel .country-link { padding: 12px 13px; }
}
