/* Custom Styled Leaderboard - Grid Layout */
.csl-leaderboard-wrapper {
    width: 100% !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

.csl-filter-tabs {
    display: flex !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
    padding-bottom: 2px !important;
}

.csl-filter-tab {
    background: none !important;
    border: none !important;
    padding: 0 0 12px 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    border-bottom: 3px solid transparent !important;
    margin-bottom: -3px !important;
    transition: all 0.2s ease !important;
}

.csl-leaderboard {
    overflow: hidden !important;
    border-radius: 8px !important;
    border-width: 1px !important;
    border-style: solid !important;
}

.csl-header {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 16px 24px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
}

.csl-header > div:nth-child(1) { grid-column: span 1 / span 1 !important; }
.csl-header > div:nth-child(2) { grid-column: span 2 / span 2 !important; }
.csl-header > div:nth-child(3) { grid-column: span 4 / span 4 !important; }
.csl-header > div:nth-child(4) { grid-column: span 2 / span 2 !important; }
.csl-header > div:nth-child(5) { grid-column: span 3 / span 3 !important; text-align: right !important; }

.csl-row {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 16px 24px !important;
    align-items: center !important;
    transition: background-color 0.2s ease !important;
    border-top-width: 1px !important;
    border-top-style: solid !important;
}

.csl-row > div:nth-child(1) { 
    grid-column: span 1 / span 1 !important; 
    font-weight: 700 !important;
    font-size: 18px !important;
}

.csl-row > div:nth-child(2) { 
    grid-column: span 2 / span 2 !important; 
}

.csl-row > div:nth-child(3) { 
    grid-column: span 4 / span 4 !important; 
    font-weight: 600 !important;
}

.csl-row > div:nth-child(4) { 
    grid-column: span 2 / span 2 !important; 
}

.csl-row > div:nth-child(5) { 
    grid-column: span 3 / span 3 !important; 
    text-align: right !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.csl-avatar {
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.csl-rank-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: white !important;
}

.csl-rank-top3 {
    background-color: #c0504d !important;
}

.csl-rank-other {
    background-color: #8b4513 !important;
}

.csl-loading {
    text-align: center !important;
    padding: 40px !important;
}

/* Reset any conflicting styles */
.csl-leaderboard *,
.csl-leaderboard-wrapper * {
    box-sizing: border-box !important;
}

.csl-row img.csl-avatar {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

@media screen and (max-width: 768px) {
    .csl-header, .csl-row {
        padding: 12px 16px !important;
        gap: 12px !important;
    }
    
    .csl-avatar {
        width: 36px !important;
        height: 36px !important;
    }
    
    .csl-rank-badge {
        width: 32px !important;
        height: 32px !important;
        font-size: 10px !important;
    }
    
    .csl-filter-tabs {
        gap: 12px !important;
        overflow-x: auto !important;
    }
    
    .csl-filter-tab {
        font-size: 13px !important;
        white-space: nowrap !important;
    }
}