/* Extracted from templates/public/public_team_standings.html (Phase 3.1). Page-local styles; global rules belong in the design system sheets. */
.pts-wrap { max-width: 800px; margin: 2rem auto; padding: 0 1rem 4rem; }

.pts-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.pts-table th {
  text-align: left; padding: 0.6rem 0.5rem;
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  color: var(--t-text-muted); border-bottom: 2px solid var(--t-border);
}
.pts-table td {
  padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--t-border);
}
.pts-table th { letter-spacing: 0.04em; }
.pts-table tbody tr:nth-child(even) td { background: var(--t-table-row-alt, rgba(0,0,0,0.015)); }
.pts-table tr:hover td { background: var(--t-table-row-hover, rgba(117, 201, 167, 0.05)); }
.pts-rank { font-weight: 800; width: 30px; text-align: center; }
.pts-top-1 .pts-rank { color: var(--t-status-warning-text, #b45309); }
.pts-top-2 .pts-rank { color: var(--t-text-muted); }
.pts-top-3 .pts-rank { color: var(--t-text-secondary, #92400e); }

.pts-team-cell { display: flex; align-items: center; gap: 0.5rem; }
.pts-swatch { width: 18px; height: 18px; border-radius: 4px; border: 1px solid var(--t-border); flex-shrink: 0; }
.pts-team-name { font-weight: 700; }

.pts-player-cell { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.pts-player-name {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pts-team-chip {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem; font-weight: 600;
    color: var(--t-text-secondary);
    background: var(--t-surface-elevated, rgba(0,0,0,0.04));
    border: 1px solid var(--t-border);
    border-radius: var(--radius-pill, 999px);
    white-space: nowrap;
    flex-shrink: 0;
}
.pts-team-chip .pts-swatch { width: 10px; height: 10px; border-radius: 2px; }

.pts-diff-pos { color: var(--t-status-success-text); }
.pts-diff-neg { color: var(--t-status-danger-text); }
.pts-subtitle { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; }
.pts-legend { margin-top: 0.75rem; font-size: 0.75rem; color: var(--t-text-muted); }
.pts-empty { color: var(--t-text-muted); text-align: center; padding: 3rem 0; }

.pts-subtitle-row {
    display: flex; justify-content: space-between; align-items: center;
    gap: 0.75rem; margin-bottom: 1rem; flex-wrap: wrap;
}
.pts-subtitle-row .pts-subtitle { margin-bottom: 0; }
.pts-my-stats-link {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    background: var(--t-status-success-bg);
    color: var(--t-status-success-text);
    border: 1px solid var(--t-status-success-border);
    border-radius: var(--radius-pill);
    font-size: 0.78rem; font-weight: 600;
    text-decoration: none;
    transition: background var(--dur-fast) var(--ease-standard);
}
.pts-my-stats-link:hover { background: var(--t-status-success-border); color: var(--t-status-success-text); }

/* ── Tabs ── */
.pts-tabs {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid var(--t-border);
    margin-bottom: 1.25rem;
}
.pts-tab {
    appearance: none;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--t-text-muted);
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-standard);
}
.pts-tab:hover { color: var(--t-text); }
.pts-tab.is-active {
    color: var(--t-text);
    border-bottom-color: var(--t-status-success-text);
}
.pts-tab-panel.is-hidden { display: none; }
