.as-tabs {
    margin-bottom: 20px;
}

.as-search {
    width: 220px;
}

.as-pool-note {
    color: var(--muted);
    font-size: 13px;
}

.as-scroll {
    overflow-x: auto;
}

.as-table {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.as-table th {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.as-table th[data-sort] {
    cursor: pointer;
    user-select: none;
}

.as-table th[data-sort]:hover,
.as-table th.sorted {
    color: var(--text);
}

.as-table th.sorted::after {
    content: '\f0d8';   /* caret-up */
    margin-left: 6px;
    font: var(--fa-font-solid);
    font-size: 10px;
}

.as-table th.sorted.desc::after {
    content: '\f0d7';   /* caret-down */
}

.as-table td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

.as-table tbody tr:hover td {
    background: var(--row-hover);
}

.as-table .empty {
    white-space: normal;
}

.c-pos {
    width: 56px;
}

.pos {
    display: inline-grid;
    place-items: center;
    min-width: 32px;
    height: 28px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--raised);
    font-size: 13px;
    font-weight: 700;
}

.pos.top-1 { background: var(--gold-soft); color: var(--gold); }
.pos.top-2 { background: var(--silver-soft); color: var(--silver); }
.pos.top-3 { background: var(--bronze-soft); color: var(--bronze); }

.c-name {
    font-weight: 500;
}

.c-total {
    font-weight: 800;
    font-size: 17px;
}

.as-table th.c-num,
.as-table td.c-num,
.as-table th.c-total,
.as-table td.c-total {
    text-align: right;
}

.c-num.zero {
    color: var(--muted);
    opacity: 0.6;
}

.as-weeks {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
}

.as-weeks button {
    flex-shrink: 0;
    padding: 6px 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: none;
    color: var(--muted);
    font: 500 14px Roboto, sans-serif;
    cursor: pointer;
}

.as-weeks button:hover {
    color: var(--text);
}

.as-weeks button.active {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}

.as-weeks button.unplayed {
    opacity: 0.5;
}

/* Round scores: team, points, then a column per hole with strokes over points */
.c-team span {
    display: block;
}

.c-team sup {
    margin-left: 2px;
    color: var(--warn);
}

.as-holes .c-hole {
    min-width: 38px;
    padding: 6px 4px;
    text-align: center;
}

.strokes {
    display: block;
    font-weight: 600;
}

.hole-pts {
    display: block;
    color: var(--accent-text);
    font-size: 11px;
}

.hole-pts.zero {
    color: var(--muted);
    opacity: 0.5;
}

@media (max-width: 767px) {
    .card-head {
        flex-wrap: wrap;
    }

    .as-search {
        width: 100%;
    }

    .as-table td,
    .as-table th {
        padding: 8px 6px;
    }

    .c-pos {
        width: 44px;
    }
}
