/* ═══════════════════════════════════════════════════════════════════════════
   KARTING SERIES STANDINGS MODULE — MODERN DESIGN SYSTEM
   ═══════════════════════════════════════════════════════════════════════════

   Premium, mobile-first championship standings styled to match BookNow.
   Light theme by default, fully themeable via CSS custom properties.

   League plan §5.2: the standings board (.ss-board: class chips, one table per
   class, each driver's round-by-round) is shared with the Catalog's league page,
   which declares this stylesheet (WebsiteDisplayResources.ModuleStylesheet), so
   the board's rules are written for both module roots.

   ═══════════════════════════════════════════════════════════════════════════ */

.scm-mod-KartingSeriesStandings {
    --ss-accent: var(--scm-accent, #2563eb);
    --ss-bg: var(--scm-surface, #ffffff);
    --ss-text: var(--scm-surface-contrast, #0f172a);
    --ss-text-secondary: var(--scm-text-secondary, #475569);
    --ss-border: var(--scm-border, #e2e8f0);
    --ss-radius-lg: 0.75rem;
    --ss-radius-xl: 1rem;

    background: var(--ss-bg);
    color: var(--ss-text);
    border-radius: var(--ss-radius-xl);
    padding: 1.5rem;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════════════════════ */

.scm-mod-KartingSeriesStandings .ss-header {
    margin-bottom: 1rem;
}

.scm-mod-KartingSeriesStandings .ss-header h2 {
    margin: 0 0 0.75rem 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ss-text);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.scm-mod-KartingSeriesStandings .ss-header h2 i {
    color: #d97706;
}

.scm-mod-KartingSeriesStandings .ss-series-picker,
.scm-mod-KartingSeriesStandings .ss-header-chips {
    margin-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* W1.2 (review #15) — venue-mode series picker pills */
/* Links since 3.99.73 (the module renders statically): the theme's link underline and hover color are reset. */
.scm-mod-KartingSeriesStandings .ss-series-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    text-decoration: none;
    border: 1px solid var(--scm-border, #e2e8f0);
    background: var(--scm-surface, #f8fafc);
    color: var(--scm-surface-contrast, inherit);
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.scm-mod-KartingSeriesStandings .ss-series-pill:hover {
    border-color: var(--scm-accent, #2563eb);
    color: var(--scm-surface-contrast, inherit);
    text-decoration: none;
}

.scm-mod-KartingSeriesStandings .ss-series-pill:focus-visible {
    outline: 2px solid var(--scm-accent, #2563eb);
    outline-offset: 2px;
}

.scm-mod-KartingSeriesStandings .ss-series-pill.is-active,
.scm-mod-KartingSeriesStandings .ss-series-pill.is-active:hover {
    background: var(--scm-accent, #2563eb);
    border-color: var(--scm-accent, #2563eb);
    color: var(--scm-accent-contrast, #fff);
}

/* ═══════════════════════════════════════════════════════════════════════════
   THE STANDINGS BOARD (Standings module and the Catalog's league page)
   ═══════════════════════════════════════════════════════════════════════════ */

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board {
    --ssb-accent: var(--scm-accent, #2563eb);
    --ssb-text: var(--scm-surface-contrast, #0f172a);
    --ssb-text-secondary: var(--scm-text-secondary, #475569);
    --ssb-text-tertiary: var(--scm-text-tertiary, #64748b);
    --ssb-border: var(--scm-border, #e2e8f0);
    --ssb-elevated: var(--scm-surface-muted, #f8fafc);
    --ssb-gold: #b45309;
    --ssb-gold-soft: #fffbeb;
    --ssb-silver: #475569;
    --ssb-silver-soft: #f1f5f9;
    --ssb-bronze: #92400e;
    --ssb-bronze-soft: #fef3c7;
    color: var(--ssb-text);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Class chips: a radio group. The chips scroll sideways on a phone rather than wrapping into a wall of pills. */
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-chips {
    display: flex;
    gap: 0.4rem;
    margin: 0 0 0.75rem;
    padding: 0.125rem 0.125rem 0.375rem;
    border: 0;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-chip {
    --class-dot: var(--class-color, var(--ssb-accent));
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.9rem;
    border: 1px solid var(--ssb-border);
    border-radius: 999px;
    background: var(--scm-surface, #fff);
    color: var(--ssb-text);
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-chip:hover {
    border-color: var(--class-dot);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background: var(--class-dot, var(--ssb-accent));
    flex-shrink: 0;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-radio:checked + .ss-class-chip {
    background: var(--ssb-text);
    border-color: var(--ssb-text);
    color: var(--scm-surface, #fff);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-radio:focus-visible + .ss-class-chip {
    outline: 2px solid var(--ssb-accent);
    outline-offset: 2px;
}

/* Without :has() every class's table shows, each under its heading. With it, only the checked class's table shows and
   the heading moves out of sight (the chip says it; a screen reader still reads it). */
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-panel + .ss-class-panel {
    margin-top: 1.25rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-class-heading {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio:checked) .ss-class-panel {
    display: none;
    margin-top: 0;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio:checked) .ss-class-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="0"]:checked) .ss-class-panel[data-i="0"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="1"]:checked) .ss-class-panel[data-i="1"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="2"]:checked) .ss-class-panel[data-i="2"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="3"]:checked) .ss-class-panel[data-i="3"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="4"]:checked) .ss-class-panel[data-i="4"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="5"]:checked) .ss-class-panel[data-i="5"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="6"]:checked) .ss-class-panel[data-i="6"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="7"]:checked) .ss-class-panel[data-i="7"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="8"]:checked) .ss-class-panel[data-i="8"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="9"]:checked) .ss-class-panel[data-i="9"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="10"]:checked) .ss-class-panel[data-i="10"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="11"]:checked) .ss-class-panel[data-i="11"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="12"]:checked) .ss-class-panel[data-i="12"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="13"]:checked) .ss-class-panel[data-i="13"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="14"]:checked) .ss-class-panel[data-i="14"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="15"]:checked) .ss-class-panel[data-i="15"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="16"]:checked) .ss-class-panel[data-i="16"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="17"]:checked) .ss-class-panel[data-i="17"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="18"]:checked) .ss-class-panel[data-i="18"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="19"]:checked) .ss-class-panel[data-i="19"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="20"]:checked) .ss-class-panel[data-i="20"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="21"]:checked) .ss-class-panel[data-i="21"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="22"]:checked) .ss-class-panel[data-i="22"],
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-board:has(.ss-class-radio[data-i="23"]:checked) .ss-class-panel[data-i="23"] {
    display: block;
}

/* ─── The table ─────────────────────────────────────────────────────────── */

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table-wrapper {
    overflow-x: auto;
    border: 1px solid var(--ssb-border);
    border-radius: 0.75rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table th {
    text-align: left;
    padding: 0.625rem 0.625rem;
    color: var(--ssb-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--ssb-elevated);
    border-bottom: 1px solid var(--ssb-border);
    white-space: nowrap;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table th abbr {
    text-decoration: none;
    cursor: help;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table td {
    padding: 0.625rem 0.625rem;
    border-bottom: 1px solid var(--ssb-border);
    color: var(--ssb-text);
    vertical-align: middle;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-table tbody tr:last-child td {
    border-bottom: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-pos-col {
    width: 3rem;
    text-align: center;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-pts-col {
    width: 4.5rem;
    text-align: center;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-position {
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-driver {
    font-weight: 600;
    min-width: 8rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-team {
    color: var(--ssb-text-secondary);
    font-size: 0.75rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-team-inline {
    display: none;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--ssb-text-secondary);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-points {
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ssb-accent);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-gap {
    color: var(--ssb-text-tertiary);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-best-lap {
    font-variant-numeric: tabular-nums;
    font-size: 0.75rem;
    color: var(--ssb-text-tertiary);
}

/* Podium rows */
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-gold { background: var(--ssb-gold-soft); }
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-gold .ss-position { color: var(--ssb-gold); }
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-silver { background: var(--ssb-silver-soft); }
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-silver .ss-position { color: var(--ssb-silver); }
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-bronze { background: var(--ssb-bronze-soft); }
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-row-bronze .ss-position { color: var(--ssb-bronze); }

/* On a phone the table keeps the columns a driver reads first: position, name, points, gap. The team moves under the
   name; rounds, wins, podiums and best lap are in the round-by-round breakdown. */
@media (max-width: 560px) {
    :is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-col-wide {
        display: none;
    }

    :is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-team-inline {
        display: block;
    }
}

/* ─── Round by round (W5.1/S-13) ───────────────────────────────────────────
   The module renders statically, so the breakdown opens without script: a visually hidden checkbox in the driver cell,
   labelled by the driver's name, and the row after a checked row is shown. */
:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-expand-label {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-expand-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-expand-toggle:focus-visible + .ss-expand-label {
    outline: 2px solid var(--ssb-accent);
    outline-offset: 2px;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-expand-chevron {
    font-size: 0.7rem;
    opacity: 0.5;
    margin-left: 0.4rem;
    display: inline-block;
    transition: transform 0.15s ease;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) tr:has(.ss-expand-toggle:checked) .ss-expand-chevron {
    transform: rotate(180deg);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-progression-row {
    display: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) tr:has(.ss-expand-toggle:checked) + .ss-progression-row {
    display: table-row;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-progression-row td {
    background: var(--ssb-elevated);
    padding: 0.6rem 0.75rem;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-progression {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-round-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    min-width: 3.4rem;
    border: 1px solid var(--ssb-border);
    border-radius: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    line-height: 1.25;
    background: var(--scm-surface, #fff);
    color: var(--ssb-text);
    text-decoration: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) a.ss-round-chip:hover {
    border-color: var(--ssb-accent);
    color: var(--ssb-text);
    text-decoration: none;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) a.ss-round-chip:focus-visible {
    outline: 2px solid var(--ssb-accent);
    outline-offset: 2px;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-round-chip.is-dropped {
    opacity: 0.55;
    text-decoration: line-through;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-round-chip-label {
    font-weight: 700;
    opacity: 0.7;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-round-chip-pos {
    font-weight: 600;
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-round-chip-pts {
    opacity: 0.75;
}

/* ─── Empty state ───────────────────────────────────────────────────────── */

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-empty-state {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--scm-text-secondary, #475569);
}

:is(.scm-mod-KartingSeriesStandings, .scm-mod-KartingSeriesCatalog) .ss-empty-state i {
    font-size: 2.25rem;
    margin-bottom: 0.5rem;
    display: block;
    color: var(--scm-text-tertiary, #94a3b8);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SIZE VARIANTS & RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */

.scm-mod-KartingSeriesStandings.scm-mod-compact {
    padding: 0.75rem;
}

.scm-mod-KartingSeriesStandings.scm-mod-compact .ss-table {
    font-size: 0.75rem;
}

.scm-mod-KartingSeriesStandings.scm-mod-large {
    padding: 2rem;
}

@media (max-width: 576px) {
    .scm-mod-KartingSeriesStandings {
        padding: 1rem;
        border-radius: var(--ss-radius-lg);
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .scm-mod-KartingSeriesStandings,
    .scm-mod-KartingSeriesStandings * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   KARTING DISPLAY CHIP VOCABULARY — WebsiteDisplays light variant
   ───────────────────────────────────────────────────────────────────────────
   Same semantic class names (kd-series-chip, kd-tech-chip, kd-byo-chip,
   kd-license-chip, kd-grade-chip, kd-round-chip, kd-session-chip) are also
   defined in PublicDisplays modules using a dark, oversized treatment.
   These two surfaces intentionally diverge — do NOT consolidate into
   SCMUIKit. Class names match so semantic markup stays portable.
   ═══════════════════════════════════════════════════════════════════════════ */

.scm-mod-KartingSeriesStandings .kd-chip,
.scm-mod-KartingSeriesStandings .kd-series-chip,
.scm-mod-KartingSeriesStandings .kd-tech-chip,
.scm-mod-KartingSeriesStandings .kd-byo-chip,
.scm-mod-KartingSeriesStandings .kd-license-chip,
.scm-mod-KartingSeriesStandings .kd-grade-chip,
.scm-mod-KartingSeriesStandings .kd-round-chip,
.scm-mod-KartingSeriesStandings .kd-session-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
    white-space: nowrap;
    vertical-align: middle;
}

.scm-mod-KartingSeriesStandings .kd-series-chip   { background: #eef2ff; color: #3730a3; border-color: #c7d2fe; }
.scm-mod-KartingSeriesStandings .kd-tech-chip     { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.scm-mod-KartingSeriesStandings .kd-tech-chip.kd-tech-chip--failed { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.scm-mod-KartingSeriesStandings .kd-tech-chip.kd-tech-chip--pending { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.scm-mod-KartingSeriesStandings .kd-byo-chip      { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.scm-mod-KartingSeriesStandings .kd-license-chip  { background: #f5f3ff; color: #5b21b6; border-color: #ddd6fe; }
.scm-mod-KartingSeriesStandings .kd-grade-chip    { background: #ecfeff; color: #155e75; border-color: #a5f3fc; }
.scm-mod-KartingSeriesStandings .kd-round-chip    { background: #f8fafc; color: #475569; border-color: #cbd5e1; }
.scm-mod-KartingSeriesStandings .kd-session-chip  { background: #f1f5f9; color: #334155; border-color: #cbd5e1; text-transform: uppercase; letter-spacing: 0.02em; }
