/*
PuntVault Enterprise UI Framework
Phase 4.4 - Table System V2

Purpose:
- Standardize data tables for results, analytics, payments, admin and leaderboards.
- Additive only. Existing table styles remain untouched until templates migrate.
*/

.pv-table-wrap-v2 {
    width: 100%;
    overflow-x: auto;
    border-radius: var(--pv-radius-lg);
    border: 1px solid var(--pv-border-soft);
    background: var(--pv-surface-glass);
    box-shadow: var(--pv-shadow-card);
}

.pv-table-v2 {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    color: var(--pv-text);
}

.pv-table-v2 th,
.pv-table-v2 td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--pv-border-soft);
    text-align: left;
    vertical-align: middle;
}

.pv-table-v2 th {
    color: var(--pv-muted);
    font-size: var(--pv-text-xs);
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.045);
}

.pv-table-v2 td {
    color: var(--pv-text-soft);
    font-size: var(--pv-text-sm);
}

.pv-table-v2 tbody tr {
    transition: background var(--pv-transition);
}

.pv-table-v2 tbody tr:hover {
    background: rgba(255, 255, 255, 0.045);
}

.pv-table-v2 tbody tr:last-child td {
    border-bottom: 0;
}

.pv-table-v2 .is-win {
    color: var(--pv-green);
    font-weight: 900;
}

.pv-table-v2 .is-loss {
    color: #ff9b9d;
    font-weight: 900;
}

.pv-table-v2 .is-pending {
    color: var(--pv-gold);
    font-weight: 900;
}

.pv-table-empty-v2 {
    padding: var(--pv-space-lg);
    color: var(--pv-muted);
    text-align: center;
}

@media (max-width: 640px) {
    .pv-table-wrap-v2 {
        border-radius: var(--pv-radius-md);
    }

    .pv-table-v2 th,
    .pv-table-v2 td {
        padding: 12px;
    }
}
