/* === Base table container === */
.custom-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px; /* spacing between rows */
    font-family: 'Segoe UI', sans-serif;
}

    /* === Header styling === */
    .custom-table thead tr {
        background-color: #111;
    }

    .custom-table thead th {
        padding: 14px 12px;
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        border-radius: 12px 12px 0 0;
    }

        /* First column header left aligned */
        .custom-table thead th:first-child {
            text-align: left;
        }

    /* === Row styling === */
    .custom-table tbody tr {
        background-color: #1a1a1a;
        border-radius: 12px;
        overflow: hidden;
    }

    .custom-table tbody td {
        padding: 14px 12px;
        font-size: 14px;
        color: #fff;
        text-align: center;
    }

        /* First column left-aligned for readability */
        .custom-table tbody td:first-child {
            text-align: left;
            display: flex;
            align-items: center;
            gap: 10px;
        }

    /* Rank number style */
    .custom-table .rank {
        font-weight: bold;
    }

    /* Avatar style */
    .custom-table .avatar {
        width: 36px;
        height: 36px;
        border-radius: 6px;
        object-fit: cover;
        background-color: #fff; /* fallback for shimmer */
    }

    /* Color accents */
    .custom-table .primary {
        color: dodgerblue;
        font-weight: bold;
    }

    .custom-table .success {
        color: #ccff00;
        font-weight: bold;
    }

    .custom-table .girly {
        color: deeppink;
        font-weight: bold;
    }

    .custom-table .danger {
        color: indianred;
        font-weight: bold;
    }

/* === Responsive === */
@media (max-width: 768px) {
    .custom-table thead {
        display: none;
    }

    .custom-table tbody tr {
        display: block;
        margin-bottom: 12px;
        border-radius: 12px;
        padding: 12px;
    }

    .custom-table tbody td {
        display: flex;
        justify-content: space-between;
        text-align: right;
        padding: 6px 0;
        border-right: none;
    }

        .custom-table tbody td:first-child {
            justify-content: flex-start;
        }

        .custom-table tbody td::before {
            content: attr(data-label);
            font-weight: bold;
            color: #888;
            text-align: left;
        }
}
