.users-locations { 
    margin-top: 2rem; 
}

.users-map-frame { 
    position: relative; 
    width: 100%; 
    max-width: 100%; 
    aspect-ratio: 2 / 1; 
    overflow: hidden; 
    border: 1px solid var(--border, #8895a04d); 
    border-radius: .6rem; 
}

.users-map-frame img, 
.users-map-frame svg { 
    position: absolute; 
    inset: 0; 
    width: 100%; 
    height: 100%; 
}

.users-map-frame img { 
    object-fit: contain; 
}

.users-map-pin { 
    fill: var(--accent, #b04a4a); 
    stroke: var(--bg, #fff); 
    stroke-width: 1.6; 
}

.users-map-count { 
    fill: #fff; 
    font-size: 10px; 
    font-weight: 700; 
    pointer-events: none; 
}

#users-countries-table { 
    width: 100%; 
}

#users-countries-table td:last-child, 
#users-countries-table th:last-child { 
    text-align: right; 
    width: 9rem; 
}

.users-country-chart { 
    display: grid; 
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); 
    gap: 1.5rem; 
    align-items: center; 
    margin: 1rem 0 2rem; 
}

#users-countries-pie { 
    width: 100%; 
    height: auto; 
    max-width: 260px; 
}

.users-country-legend { 
    display: grid; 
    gap: .55rem; 
}

.users-country-legend-entry {
    display: grid; 
    grid-template-columns: .8rem minmax(0, 1fr) auto; 
    align-items: center; 
    gap: .65rem; 
    font-size: .92rem; 
}

.users-country-legend-dot {
    width: .8rem; 
    height: .8rem; 
    border-radius: 2px; 
}

.users-country-legend-entry strong { 
    font-variant-numeric: tabular-nums; 
    white-space: nowrap; 
}

.users-country-empty { 
    fill: currentColor; 
    font-size: 13px; 
}

@media (max-width: 580px) { 
    .users-country-chart { 
        grid-template-columns: 1fr; 
        justify-items: center; 
    } 
    .users-country-legend { 
        width: 100%;
    }
}
