@import '_content/XTOS.Live.Web.Auth/XTOS.Live.Web.Auth.l8eq13e62h.bundle.scp.css';
@import '_content/XTOS.Live.Web.Components/XTOS.Live.Web.Components.2le6wlxtfg.bundle.scp.css';
@import '_content/XTOS.Live.Web.DialogComponents/XTOS.Live.Web.DialogComponents.nay2dawkfc.bundle.scp.css';

/* /Layout/MainLayout.razor.rz.scp.css */
.live-drawer-header[b-fyuxw4c5d4] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0;
}
/* /Pages/EventList/EventDetail.razor.rz.scp.css */
.event-detail[b-sak1149tau] {
    display: flex;
    flex-direction: column;
    /* The outer surface of the page, following .card-app: the sections inside sit on it
       the way every other screen in the app stacks its blocks.
       The width is capped because the timeline puts one team down each side — left to fill
       a wide monitor the two columns end up a screen apart and stop reading as columns. */
    gap: var(--xt-gap-lg);
    width: 100%;
    max-width: 980px;
    margin-inline: auto;
    padding: var(--xt-gap-lg);
    background: var(--xt-bg-card);
    border-radius: var(--xt-radius-md);
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
}

/* Controls and timeline on one section surface. */
.tl-card[b-sak1149tau] {
    background: var(--xt-bg-section-card);
    border-radius: var(--xt-radius-md);
    padding: 14px 18px 18px;
}

/* summary card */
.summary-card[b-sak1149tau] {
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    box-shadow: var(--mud-elevation-1);
    padding: 16px 20px;
    /* Pinned while the timeline scrolls. It carries the running score, and it is also the
       legend that says which column belongs to which team — losing it halfway down a long
       match loses both. The scroll container is .mud-main-content, which already sits under
       the app bar, so it pins right below it. */
    position: sticky;
    top: 0;
    z-index: 3;
}

/* On a phone the card is a large share of the screen; pinning it would leave little
   room for the timeline it is meant to accompany. */
@media (max-width: 600px) {
    .summary-card[b-sak1149tau] {
        position: static;
    }
}

.sc-top[b-sak1149tau] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.score-row[b-sak1149tau] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    padding: 6px 0 10px;
}

.team-name[b-sak1149tau] {
    font-size: 18px;
    font-weight: 700;
}

/* The scoreboard is the timeline's legend: each name wears its column's colour, which is
   why the timeline carries no header strip naming the two teams a second time. */
.team-name.home[b-sak1149tau] { color: var(--mud-palette-primary); }
.team-name.away[b-sak1149tau] { color: #b0763f; }

.ta-r[b-sak1149tau] {
    text-align: right;
}

.score[b-sak1149tau] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 34px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

/* Dash between scores: fixed dark gray so it stays visible on the white header */
.score em[b-sak1149tau] {
    color: #5f6672;
    font-style: normal;
    font-weight: 600;
    font-size: 26px;
}

/* score provenance: which source the big score came from + the other one alongside */
.sc-scores[b-sak1149tau] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-bottom: 6px;
}

.sc-scores .alt-score[b-sak1149tau] {
    color: var(--xt-text-muted);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.sc-discrepancy[b-sak1149tau] {
    text-align: center;
    color: var(--mud-palette-warning);
    font-size: 12px;
    padding-bottom: 8px;
}

.sc-meta[b-sak1149tau] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--xt-text-muted);
    font-size: 13px;
    justify-content: center;
}

.sc-meta .sep[b-sak1149tau] {
    opacity: .5;
}

/* timeline controls */
.tl-controls[b-sak1149tau] {
    padding-bottom: 12px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    justify-content: space-between;
}

.checks[b-sak1149tau] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

/* ---- Timeline: one column per team -----------------------------------------
   The side of an event is its position, not a label on the row: home reads down
   the left, away down the right. That removes the per-row team chip and lets a
   whole half be scanned for one team without reading a word of it. */
.tl[b-sak1149tau] {
    /* Home follows the tenant accent; away is a fixed warm counterpart, so the
       two sides never collide whatever the tenant picks. */
    --tl-home: var(--mud-palette-primary);
    --tl-away: #b0763f;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* A hairline down the middle: it keeps the two teams apart and gives the structural
   rows, which sit across it, something to be centred on. */
.tl[b-sak1149tau]::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 6px;
    left: 50%;
    width: 1px;
    background: var(--mud-palette-lines-default);
    opacity: .45;
    z-index: 0;
}

/* Everything else rides above the spine, so the period bands cover it instead of
   being crossed by it. */
.tl-sep[b-sak1149tau],
.tl-row[b-sak1149tau] {
    position: relative;
    z-index: 1;
}

/* The period boundary is a rule with the score it left behind, not a panel to open. */
.tl-sep[b-sak1149tau] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 16px 0 6px;
    padding: 6px 12px;
    background: var(--xt-bg-table-container);
    border-radius: var(--xt-radius-sm);
    font-size: 12px;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.tl-sep-score[b-sak1149tau] {
    font-weight: 800;
    color: var(--mud-palette-text-primary);
}

.tl-row[b-sak1149tau] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr) 44px;
    align-items: center;
    column-gap: 10px;
    padding: 4px 0;
}

.tl-row[b-sak1149tau] {
    border-radius: var(--xt-radius-sm);
    transition: background-color .12s ease;
}

.tl-row:hover[b-sak1149tau] {
    background: var(--xt-bg-table-container);
}

.tl-min[b-sak1149tau] {
    grid-column: 1;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--xt-text-muted);
}

.num[b-sak1149tau] {
    font-variant-numeric: tabular-nums;
}

.tl-cell[b-sak1149tau] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tl-row.side-home .tl-cell[b-sak1149tau] {
    grid-column: 2;
}

.tl-row.side-away .tl-min[b-sak1149tau] {
    grid-column: 4;
    text-align: right;
}

.tl-row.side-away .tl-cell[b-sak1149tau] {
    grid-column: 3;
    flex-direction: row-reverse;
}

/* Match and period markers belong to neither team, so they run across the middle.
   They get no disc either: a quiet pill reads as a divider, which is what they are,
   while a marker like the others would claim they are events of the same weight. */
.tl-row.side-none .tl-cell[b-sak1149tau] {
    grid-column: 2 / span 2;
    justify-content: center;
}

.tl-row.side-none .tl-mark[b-sak1149tau] {
    display: none;
}

.tl-row.side-none .tl-what[b-sak1149tau] {
    padding: 2px 12px;
    border-radius: 11px;
    background: var(--xt-bg-table-container);
    font-size: 11.5px;
}

.tl-row.side-none:hover[b-sak1149tau] {
    background: none;
}

.tl-text[b-sak1149tau] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

.tl-row.side-away .tl-text[b-sak1149tau] {
    align-items: flex-end;
    text-align: right;
}

.tl-player[b-sak1149tau] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tl-row.side-away .tl-player[b-sak1149tau] {
    justify-content: flex-end;
}

/* Between the two names of one substitution: a link, not a direction. */
.tl-swap[b-sak1149tau] {
    font-weight: 400;
    color: var(--xt-text-muted);
}

.tl-what[b-sak1149tau] {
    font-size: 12px;
    color: var(--xt-text-muted);
}

.tl-mark[b-sak1149tau] {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.tl-mark.dot-struct[b-sak1149tau] {
    background: rgba(0, 0, 0, .06);
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--xt-text-muted);
}

.tl-mark.dot-goal[b-sak1149tau] {
    background: var(--tl-home);
    color: var(--mud-palette-primary-text);
}

.tl-row.side-away .tl-mark.dot-goal[b-sak1149tau] {
    background: var(--tl-away);
    color: #fff;
}

/* A booking carries no disc: the card is the marker. */
.tl-mark.dot-yellow[b-sak1149tau],
.tl-mark.dot-red[b-sak1149tau] {
    background: none;
    border: 0;
}

.card-shape[b-sak1149tau] {
    width: 13px;
    height: 17px;
    border-radius: 2px;
    transform: rotate(-9deg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}

.dot-yellow .card-shape[b-sak1149tau] { background: #efb920; }
.dot-red .card-shape[b-sak1149tau] { background: #d0342c; }

.tl-mark.dot-sub[b-sak1149tau] {
    background: var(--xt-bg-table-container);
    color: var(--xt-text-muted);
}

/* The goal carries the resulting score inline: it is the one row where the
   scoreboard moves, so it is the one worth reading twice. */
.tl-pill[b-sak1149tau] {
    flex: none;
    font-size: 13px;
    font-weight: 800;
    padding: 2px 9px;
    border-radius: 12px;
    border: 1px solid var(--tl-home);
    color: var(--tl-home);
    background: var(--mud-palette-primary-hover);
}

.tl-row.side-away .tl-pill[b-sak1149tau] {
    border-color: var(--tl-away);
    color: var(--tl-away);
    background: transparent;
}

@media (max-width: 560px) {
    .tl-row[b-sak1149tau] {
        grid-template-columns: 32px minmax(0, 1fr) minmax(0, 1fr) 32px;
        column-gap: 6px;
    }

    .tl-mark[b-sak1149tau] {
        width: 22px;
        height: 22px;
    }

    .tl-player[b-sak1149tau] {
        font-size: 12.5px;
    }
}

.foot-note[b-sak1149tau] {
    font-size: 12.5px;
    color: var(--xt-text-muted);
    line-height: 1.55;
    border-top: 1px dashed var(--mud-palette-lines-default);
    padding-top: 14px;
    margin: 6px 0 0;
}

.foot-note em[b-sak1149tau] {
    font-style: normal;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

/* empty / generating state */
.ed-empty-state[b-sak1149tau] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 48px 16px;
    color: var(--mud-palette-text-primary);
    text-align: center;
}

.ed-empty-actions[b-sak1149tau] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.timeline-empty-illustration[b-sak1149tau] {
    width: min(184px, 48vw);
    margin-bottom: 10px;
    animation: timeline-empty-float-b-sak1149tau 3.2s ease-in-out infinite;
    filter: drop-shadow(0 12px 18px rgba(59, 130, 246, 0.14));
}

.timeline-empty-illustration img[b-sak1149tau] {
    display: block;
    width: 100%;
    height: auto;
}

.ed-empty-state .empty-title[b-sak1149tau] {
    font-size: 16px;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.ed-empty-state .empty-sub[b-sak1149tau] {
    font-size: 13px;
    max-width: 420px;
    color: var(--mud-palette-text-primary);
    line-height: 1.5;
    opacity: 0.72;
}

@keyframes timeline-empty-float-b-sak1149tau {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .timeline-empty-illustration[b-sak1149tau] {
        animation: none;
    }
}
/* /Pages/EventList/EventList.razor.rz.scp.css */
.event-list[b-3v1499d2b0] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 8px 4px 32px;
}

.el-header[b-3v1499d2b0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.el-breadcrumb[b-3v1499d2b0] {
    margin: 0 0 2px;
    color: var(--xt-text-muted);
}

/* Neutralize MudBlazor's default top margin so external labels + inputs share a baseline. */
.event-list[b-3v1499d2b0]  .mud-input-control {
    margin-top: 0;
}

.field-label[b-3v1499d2b0] {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: var(--mud-palette-text-primary);
    margin: 0 0 4px 3px;
    line-height: 150%;
}

.filters-actions[b-3v1499d2b0] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
}

/* Darker, slightly bolder separator so "vs" stays legible on striped rows */
.el-vs[b-3v1499d2b0] {
    color: #5f6672;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 0 6px;
}

.el-results[b-3v1499d2b0] {
    margin-top: 4px;
}

.el-empty-state[b-3v1499d2b0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 40px 16px;
    color: var(--xt-text-muted);
}

.el-empty-state .empty-title[b-3v1499d2b0] {
    font-size: 16px;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.el-empty-state .empty-sub[b-3v1499d2b0] {
    font-size: 13px;
}

.el-fixture-name[b-3v1499d2b0] {
    font-style: italic;
    color: var(--mud-palette-text-primary);
}

.el-row-actions[b-3v1499d2b0] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}

/* Plain span (not a Mud component) so this isolated scope applies without ::deep.
   Same green the Limits module uses for "modified" values. */
.el-inplay[b-3v1499d2b0] {
    display: inline-block;
    margin-right: 8px;
    padding: 1px 8px;
    border-radius: var(--xt-radius-sm);
    border: 1px solid var(--xt-field-modified);
    color: var(--xt-field-modified);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    vertical-align: middle;
}
/* /Pages/Home.razor.rz.scp.css */
/* Limits visual language — theme palette vars + fixed --xt-* tokens
   (see docs/design/limits-ui-guide.md). Typography inherits the MudTheme stack. */

.home-page[b-4z6fpwd2mq] {
    display: block;
    padding: 16px 8px 32px;
    font-size: 14px;
    line-height: 150%;
    color: var(--mud-palette-text-primary);
}

/* ---- Header ---- */
.home-header[b-4z6fpwd2mq] {
    margin-bottom: 20px;
}

.home-title[b-4z6fpwd2mq] {
    margin: 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 120%;
    color: var(--mud-palette-text-primary);
    outline: none;
}

.home-sub[b-4z6fpwd2mq] {
    margin: 4px 0 0;
    font-size: 14px;
    color: var(--mud-palette-action-default);
}

/* ---- Navigation grid ---- */
.home-grid[b-4z6fpwd2mq] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--xt-gap-md);
}

@media (max-width: 600px) {
    .home-grid[b-4z6fpwd2mq] {
        grid-template-columns: 1fr;
    }
}

/* ---- Navigation card ---- */
.home-card[b-4z6fpwd2mq] {
    display: flex;
    align-items: center;
    gap: var(--xt-gap-lg);
    background: var(--mud-palette-surface);
    padding: 18px 20px;
    border-radius: var(--xt-radius-md);
    border: 1px solid var(--mud-palette-divider);
    box-shadow: var(--mud-elevation-1);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.home-card:hover[b-4z6fpwd2mq] {
    border-color: var(--mud-palette-primary);
    box-shadow: var(--mud-elevation-2);
    text-decoration: none;
    color: inherit;
}

/* Icon container — pill tinted with the theme primary */
.home-card-icon[b-4z6fpwd2mq] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--xt-radius-md);
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

/* Card text */
.home-card-body[b-4z6fpwd2mq] {
    flex: 1;
    min-width: 0;
}

.home-card-title[b-4z6fpwd2mq] {
    font-weight: 600;
    font-size: 15px;
    color: var(--mud-palette-text-primary);
    line-height: 140%;
}

.home-card-desc[b-4z6fpwd2mq] {
    font-size: 13px;
    color: var(--mud-palette-action-default);
    margin-top: 2px;
    line-height: 140%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Chevron arrow — plain span wrapper since MudIcon Class= doesn't get scoped attribute */
.home-card-arrow[b-4z6fpwd2mq] {
    display: flex;
    align-items: center;
    color: var(--mud-palette-divider);
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.home-card:hover .home-card-arrow[b-4z6fpwd2mq] {
    color: var(--mud-palette-primary);
}
/* /Pages/Reports/HoldPercentage.razor.rz.scp.css */
/* Limits visual language — theme palette vars + fixed --xt-* tokens
   (see docs/design/limits-ui-guide.md). Controls render as stock MudBlazor,
   matching the Limits module; typography inherits the MudTheme stack.
   The week-highlight class for the date picker (.hold-week-day) is global
   in wwwroot/css/app.css because the calendar popup renders in the popover
   provider, outside this page's CSS scope. */

.hold-report[b-igt68k6cdm] {
    display: flex;
    flex-direction: column;
    gap: var(--xt-gap-lg);
    padding: 16px 8px 32px;
    font-size: 14px;
    line-height: 150%;
    color: var(--mud-palette-text-primary);
}

/* Labels live above the inputs, so drop the input's own top margin */
.hold-report[b-igt68k6cdm]  .mud-input-control {
    margin-top: 0;
}

/* ---- Header ---- */
.hold-header[b-igt68k6cdm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--xt-gap-sm);
}

.hold-breadcrumb[b-igt68k6cdm] {
    color: var(--mud-palette-action-default);
    font-size: 12px;
    margin: 0 0 2px;
}

.hold-header-actions[b-igt68k6cdm] {
    display: flex;
    align-items: center;
    gap: var(--xt-gap-md);
}

.hold-updated[b-igt68k6cdm] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--mud-palette-action-default);
}

/* ---- Field labels (Limits pattern: caption bold above the input) ---- */
.field-label[b-igt68k6cdm] {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: var(--mud-palette-text-primary);
    margin: 0 0 4px 3px;
    line-height: 150%;
}

.field-label .req[b-igt68k6cdm] {
    color: var(--mud-palette-error);
}

/* ---- Filters (card chrome comes from the shared CollapsibleFiltersCard) ---- */
.filters-section-title[b-igt68k6cdm] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--mud-palette-action-default);
    margin: 14px 0 2px;
}

.filters-section-title:first-child[b-igt68k6cdm] {
    margin-top: 0;
}

.filters-section-title[b-igt68k6cdm]::before {
    content: "● ";
    color: var(--mud-palette-divider);
    font-size: 0.55rem;
    vertical-align: middle;
}

.filters-section-title.required[b-igt68k6cdm]::before {
    color: var(--mud-palette-error);
}

.filters-actions[b-igt68k6cdm] {
    display: flex;
    justify-content: flex-end;
    gap: var(--xt-gap-md);
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-divider);
}

/* ---- Applied-filter chips (stock MudChip) ---- */
.hold-chips[b-igt68k6cdm] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* ---- Metric (KPI) cards ---- */
.hold-cards[b-igt68k6cdm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--xt-gap-md);
}

@media (max-width: 900px) {
    .hold-cards[b-igt68k6cdm] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .hold-cards[b-igt68k6cdm] {
        grid-template-columns: 1fr;
    }
}

.metric-card[b-igt68k6cdm] {
    background: var(--xt-bg-section-card);
    border-radius: var(--xt-radius-md);
    box-shadow: var(--mud-elevation-1);
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.metric-label[b-igt68k6cdm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: bold;
    color: var(--mud-palette-action-default);
}

.metric-value[b-igt68k6cdm] {
    font-size: 22px;
    font-weight: 600;
    line-height: 120%;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.metric-winloss[b-igt68k6cdm] {
    color: var(--mud-palette-success);
}

.metric-players[b-igt68k6cdm] {
    color: var(--mud-palette-primary);
}

.metric-sub[b-igt68k6cdm] {
    font-size: 12px;
    color: var(--mud-palette-action-default);
}

/* ---- Empty state ---- */
.hold-empty-state[b-igt68k6cdm] {
    background: var(--xt-bg-section-card);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--xt-gap-sm);
    padding: 56px 16px;
    border-radius: var(--xt-radius-md);
    color: var(--mud-palette-action-default);
    box-shadow: var(--mud-elevation-1);
}

.empty-title[b-igt68k6cdm] {
    font-weight: 600;
    font-size: 16px;
    color: var(--mud-palette-text-primary);
}

.empty-sub[b-igt68k6cdm] {
    font-size: 13px;
    color: var(--mud-palette-action-default);
}

/* ---- Results card ---- */
.hold-results[b-igt68k6cdm] {
    background: var(--xt-bg-section-card);
    padding: 20px 24px;
    border-radius: var(--xt-radius-md);
    box-shadow: var(--mud-elevation-1);
}

.results-toolbar[b-igt68k6cdm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--xt-gap-md);
    flex-wrap: wrap;
    margin-bottom: 14px;
}

/* Limits section-title scale (subtitle1 bold) */
.results-title[b-igt68k6cdm] {
    margin: 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 150%;
    color: var(--mud-palette-text-primary);
}

.results-count[b-igt68k6cdm] {
    font-weight: normal;
    font-size: 12px;
    color: var(--mud-palette-action-default);
    margin-left: 8px;
}

.hold-results[b-igt68k6cdm]  .groupby-select {
    min-width: 200px;
    max-width: 240px;
}

/* ---- Results table (custom HTML table styled like a dense/striped MudTable) ---- */
.hold-table-scroll[b-igt68k6cdm] {
    overflow-x: auto;
    border-radius: var(--xt-radius-sm);
    background: var(--mud-palette-surface);
}

.hold-table[b-igt68k6cdm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.hold-table th[b-igt68k6cdm],
.hold-table td[b-igt68k6cdm] {
    padding: 8px 10px;
    white-space: nowrap;
}

.hold-table thead th[b-igt68k6cdm] {
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font-weight: bold;
    text-align: right;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.hold-table thead .market-group-header[b-igt68k6cdm] {
    text-align: center;
    border-left: 1px solid var(--mud-palette-divider);
}

.hold-table th.group-col[b-igt68k6cdm],
.hold-table td.group-col[b-igt68k6cdm] {
    text-align: left;
    position: sticky;
    left: 0;
    background: inherit;
}

.hold-table thead th.group-col[b-igt68k6cdm] {
    background: var(--mud-palette-surface);
}

.hold-table td.num[b-igt68k6cdm] {
    text-align: right;
}

/* Zebra + hover, same slots a striped MudTable uses */
.hold-table tbody .style-row:nth-child(even)[b-igt68k6cdm] {
    background: var(--mud-palette-table-striped, rgba(0, 0, 0, 0.02));
}

.hold-table tbody .style-row:nth-child(odd)[b-igt68k6cdm] {
    background: var(--mud-palette-surface);
}

.hold-table tbody .style-row:hover[b-igt68k6cdm] {
    background: var(--mud-palette-table-hover, rgba(0, 0, 0, 0.04));
}

.hold-table .group-header-row td[b-igt68k6cdm] {
    background: var(--xt-bg-table-container);
    font-weight: bold;
    border-top: 1px solid var(--mud-palette-divider);
}

.hold-table .subtotal-row td[b-igt68k6cdm] {
    background: var(--xt-bg-tabbar);
    font-weight: 600;
    border-top: 1px solid var(--mud-palette-divider);
}

.hold-table .grandtotal-row td[b-igt68k6cdm] {
    background: var(--xt-bg-tabs-paper);
    font-weight: bold;
    border-top: 2px solid var(--mud-palette-divider);
}

/* ---- Wager style chips ---- */
.style-chip[b-igt68k6cdm] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.style-straight[b-igt68k6cdm] {
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
}

.style-parlay[b-igt68k6cdm] {
    background: var(--xt-bg-card);
    color: var(--mud-palette-text-primary);
}

.style-if[b-igt68k6cdm] {
    background: var(--mud-palette-success-hover);
    color: var(--mud-palette-success);
}

/* ---- Hold thresholds (theme state colors) ---- */
.hold-healthy[b-igt68k6cdm] {
    color: var(--mud-palette-success);
    font-weight: 600;
}

/* Palette Warning is too light for text — use its darken variant */
.hold-low[b-igt68k6cdm] {
    color: var(--mud-palette-warning-darken);
    background: var(--mud-palette-warning-hover);
    font-weight: 600;
}

.hold-negative[b-igt68k6cdm] {
    color: var(--mud-palette-error);
    font-weight: 600;
}

.hold-empty[b-igt68k6cdm] {
    color: var(--mud-palette-action-disabled);
}

/* ---- Legend ---- */
.hold-legend[b-igt68k6cdm] {
    display: flex;
    gap: var(--xt-gap-lg);
    flex-wrap: wrap;
    margin-top: 12px;
    font-size: 12px;
    color: var(--mud-palette-action-default);
}

.legend-dot[b-igt68k6cdm] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 5px;
}

.legend-healthy[b-igt68k6cdm] {
    background: var(--mud-palette-success);
}

.legend-low[b-igt68k6cdm] {
    background: var(--mud-palette-warning-darken);
}

.legend-negative[b-igt68k6cdm] {
    background: var(--mud-palette-error);
}

/* ---- Footer ---- */
.results-footer[b-igt68k6cdm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--xt-gap-sm);
    margin-top: 14px;
}

.showing-label[b-igt68k6cdm] {
    font-size: 12px;
    color: var(--mud-palette-action-default);
}
/* /Pages/Upgrade/UpgradePage.razor.rz.scp.css */
/* Tokens from AgentSite Figma harness */

.upgrade-page[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 8px 32px;
    font-family: 'Geist', 'Inter', 'ProximaNova', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 150%;
    color: #171717;
    /* Accent / semantic — same in both modes */
    --up-blue:         #3b82f6;
    --up-blue-border:  #5b99ff;
    --up-navy:         #1e3a8a;
    --up-green:        #15803d;
    --up-amber:        #b45309;
    --up-red:          #dc2626;
    --up-shadow:       0px 1px 2px rgba(0, 0, 0, 0.05);
    /* Light-mode surface tokens (overridden below for dark) */
    --up-text:         #171717;
    --up-muted:        #737373;
    --up-border:       #e5e5e5;
    --up-input-border: #d4d4d4;
    --up-subtle:       #f5f5f5;
    --up-surface:      #ffffff;
    --up-surface-2:    #F0F3F8;
}


/* ---- MudBlazor overrides scoped to this page ---- */
.upgrade-page[b-d9c9c8a6i0]  .mud-button-root {
    border-radius: 8px;
    box-shadow: none;
    font-family: inherit;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.005em;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-button-filled.mud-button-filled-primary {
    background: var(--up-blue);
    border: 2px solid var(--up-blue-border);
}

.upgrade-page[b-d9c9c8a6i0]  .mud-button-outlined.mud-button-outlined-primary {
    background: #ffffff;
    border: 2px solid var(--up-blue);
    color: var(--up-blue);
}

.upgrade-page[b-d9c9c8a6i0]  .mud-input-control {
    margin-top: 0;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-input.mud-input-outlined {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: var(--up-shadow);
    min-height: 36px;
    font-family: inherit;
    font-size: 14px;
    color: var(--up-text);
}

.upgrade-page[b-d9c9c8a6i0]  .mud-input.mud-input-outlined .mud-input-outlined-border {
    border: 2px solid var(--up-input-border);
    border-radius: 8px;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-input.mud-input-outlined:hover .mud-input-outlined-border {
    border-color: #a3a3a3;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-input-slot {
    font-size: 14px;
    padding-top: 7.5px;
    padding-bottom: 7.5px;
}

/* ---- Table hover ---- */
.upgrade-page[b-d9c9c8a6i0]  .mud-table-body .mud-table-row:hover .mud-table-cell {
    background: #eff6ff;
}


/* Table */
.upgrade-page[b-d9c9c8a6i0]  .mud-table-root {
    font-family: inherit;
    font-size: 14px;
    border: 1px solid var(--up-border);
    border-radius: 10px;
    overflow: hidden;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-table-head .mud-table-cell {
    background: #ffffff;
    font-weight: 500;
    font-size: 14px;
    color: var(--up-text);
    border-bottom: 1px solid var(--up-input-border);
    padding: 7.5px 8px;
    font-family: inherit;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-table-body .mud-table-row {
    height: 44px;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-table-body .mud-table-cell {
    padding: 11.5px 8px;
    border-bottom: none;
    font-family: inherit;
    font-size: 14px;
    color: var(--up-text);
}

.upgrade-page[b-d9c9c8a6i0]  .mud-table-body .mud-table-row:nth-child(odd) .mud-table-cell {
    background: #ffffff;
}

.upgrade-page[b-d9c9c8a6i0]  .mud-table-body .mud-table-row:nth-child(even) .mud-table-cell {
    background: var(--up-subtle);
}

/* Expansion panel */
.upgrade-page[b-d9c9c8a6i0]  .mud-expand-panel {
    border-radius: 12px;
    border: 1px solid var(--up-border);
    box-shadow: var(--up-shadow);
}

.upgrade-page[b-d9c9c8a6i0]  .mud-expand-panel-header {
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
}

/* ---- Header ---- */
.upgrade-header[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}

.upgrade-breadcrumb[b-d9c9c8a6i0] {
    color: var(--up-muted);
    font-size: 12px;
    margin: 0 0 2px;
}

/* ---- Field labels ---- */
.field-label[b-d9c9c8a6i0] {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: var(--up-text);
    margin: 0 0 4px 3px;
    line-height: 150%;
}

.field-label .req[b-d9c9c8a6i0] {
    color: var(--up-red);
}

/* ---- Filters: chrome comes from shared CollapsibleFiltersCard ---- */
.filters-actions[b-d9c9c8a6i0] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--up-border);
}

/* ---- Alerts ---- */
.upgrade-alert[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
}

.upgrade-alert-error[b-d9c9c8a6i0] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: var(--up-red);
}

.upgrade-alert-warning[b-d9c9c8a6i0] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: var(--up-amber);
}

.upgrade-alert-info[b-d9c9c8a6i0] {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

/* ---- Results card ---- */
.upgrade-results[b-d9c9c8a6i0] {
    background: #ffffff;
    padding: 20px 24px;
    border-radius: 12px;
    border: 1px solid var(--up-border);
    box-shadow: var(--up-shadow);
}

.results-toolbar[b-d9c9c8a6i0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.results-title[b-d9c9c8a6i0] {
    margin: 0;
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.01em;
    color: var(--up-text);
}

/* ---- Cell styles ---- */
.fixture-id[b-d9c9c8a6i0] {
    font-size: 12px;
    color: var(--up-muted);
    font-variant-numeric: tabular-nums;
}

.fixture-teams[b-d9c9c8a6i0] {
    font-weight: 500;
    color: var(--up-text);
}

.fixture-name[b-d9c9c8a6i0] {
    font-size: 12px;
    color: var(--up-muted);
}

.fixture-contestant[b-d9c9c8a6i0] {
    font-size: 12px;
    font-style: italic;
    color: var(--up-muted);
}

.fixture-entry-type[b-d9c9c8a6i0] {
    font-size: 12px;
    color: var(--up-muted);
}

.wager-count[b-d9c9c8a6i0] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.wager-count-zero[b-d9c9c8a6i0] {
    color: var(--up-muted);
    font-variant-numeric: tabular-nums;
}

/* ---- Fixture status badges ---- */
.badge-finished[b-d9c9c8a6i0] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: #dcfce7;
    color: var(--up-green);
}

.badge-inprogress[b-d9c9c8a6i0] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: #fffbeb;
    color: var(--up-amber);
}

.badge-canceled[b-d9c9c8a6i0] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: #fee2e2;
    color: var(--up-red);
}

.badge-other[b-d9c9c8a6i0] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: var(--up-subtle);
    color: var(--up-muted);
}

/* ---- Profit/Loss ---- */
.profit-pos[b-d9c9c8a6i0] {
    color: var(--up-green);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.profit-neg[b-d9c9c8a6i0] {
    color: var(--up-red);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* ---- Loading / Empty ---- */
.upgrade-loading[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
}

.upgrade-empty-state[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 56px 16px;
    color: var(--up-muted);
}

.upgrade-empty-state.small[b-d9c9c8a6i0] {
    padding: 32px 16px;
}

.empty-title[b-d9c9c8a6i0] {
    font-weight: 600;
    font-size: 16px;
    color: var(--up-text);
}

.empty-sub[b-d9c9c8a6i0] {
    font-size: 13px;
    color: var(--up-muted);
}

/* ---- Detail panel ---- */
.upgrade-detail[b-d9c9c8a6i0] {
    scroll-margin-top: 80px;
    background: #ffffff;
    padding: 20px 24px;
    border-radius: 12px;
    border: 1px solid var(--up-blue-border);
    box-shadow: var(--up-shadow);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.detail-header[b-d9c9c8a6i0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.detail-title[b-d9c9c8a6i0] {
    margin: 0;
    font-weight: 600;
    font-size: 16px;
    color: var(--up-text);
}

.detail-info-grid[b-d9c9c8a6i0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    background: var(--up-subtle);
    border-radius: 8px;
    padding: 14px 16px;
}

.detail-info-item[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.detail-info-label[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--up-muted);
}

.detail-info-value[b-d9c9c8a6i0] {
    font-size: 14px;
    font-weight: 500;
    color: var(--up-text);
}

.detail-result[b-d9c9c8a6i0] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.detail-form[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-form-title[b-d9c9c8a6i0] {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 600;
    color: var(--up-text);
}

.detail-actions[b-d9c9c8a6i0] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid var(--up-border);
}

/* ---- History ---- */
.upgrade-history[b-d9c9c8a6i0] {
    /* expansion panel already provides background */
}

.history-filters[b-d9c9c8a6i0] {
    padding: 4px 0 16px;
}

/* ---- Correction history ---- */
.correction-before[b-d9c9c8a6i0] {
    color: var(--up-red);
    font-variant-numeric: tabular-nums;
}

.correction-after[b-d9c9c8a6i0] {
    color: var(--up-green);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* ---- Impact modal ---- */
.upgrade-modal-overlay[b-d9c9c8a6i0] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1400;
}

.upgrade-modal[b-d9c9c8a6i0] {
    background: #f4f4f5;
    border-radius: 16px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18);
    padding: 28px 32px;
    min-width: 500px;
    max-width: 620px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.modal-header[b-d9c9c8a6i0] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid var(--up-border);
    padding-bottom: 16px;
}

.modal-title-group[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.modal-title[b-d9c9c8a6i0] {
    margin: 0;
    font-weight: 600;
    font-size: 18px;
    color: var(--up-text);
}

.modal-subtitle[b-d9c9c8a6i0] {
    margin: 0;
    font-size: 12px;
    color: var(--up-muted);
}

.modal-actions[b-d9c9c8a6i0] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
}

/* Impact before/after */
.impact-summary[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 10px;
    padding: 16px 20px;
}

.impact-before[b-d9c9c8a6i0],
.impact-after[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.impact-before[b-d9c9c8a6i0] {
    align-items: flex-start;
}

.impact-after[b-d9c9c8a6i0] {
    align-items: flex-end;
    text-align: right;
}

.impact-arrow[b-d9c9c8a6i0] {
    flex-shrink: 0;
    margin: 0 12px;
}

.impact-label[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--up-muted);
}

.impact-result[b-d9c9c8a6i0] {
    font-size: 22px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--up-text);
}

.impact-status[b-d9c9c8a6i0] {
    font-size: 12px;
    color: var(--up-muted);
}

.impact-arrow[b-d9c9c8a6i0] {
    color: var(--up-blue);
    font-size: 28px !important;
}

/* Stats row — card per stat */
.impact-stats[b-d9c9c8a6i0] {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.impact-stat[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    background: #e4e4e7;
    border-radius: 8px;
    padding: 12px 16px;
}

.stat-label[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--up-muted);
}

.stat-value[b-d9c9c8a6i0] {
    font-size: 20px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--up-text);
}

/* Execution states */
.execution-state[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 32px 16px;
    text-align: center;
}

.execution-message[b-d9c9c8a6i0] {
    font-size: 16px;
    font-weight: 500;
    color: var(--up-text);
    margin: 0;
}

.success-msg[b-d9c9c8a6i0] {
    color: var(--up-green);
    font-weight: 600;
}

.failure-msg[b-d9c9c8a6i0] {
    color: var(--up-red);
    font-weight: 600;
}

/* ---- Result state (success) ---- */
.result-state[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.result-state-header[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 0 4px;
    text-align: center;
}

.result-check-icon[b-d9c9c8a6i0] {
    font-size: 48px !important;
}

.result-state-title[b-d9c9c8a6i0] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--up-text);
}

.result-state-date[b-d9c9c8a6i0] {
    font-size: 12px;
    color: var(--up-muted);
}

.result-fixture-card[b-d9c9c8a6i0] {
    background: #ffffff;
    border-radius: 10px;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.result-fixture-name[b-d9c9c8a6i0] {
    font-size: 13px;
    font-weight: 600;
    color: var(--up-text);
}

.result-correction[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.result-score[b-d9c9c8a6i0] {
    font-size: 22px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--up-text);
}

.result-correction-arrow[b-d9c9c8a6i0] {
    color: var(--up-blue);
}

.result-stats[b-d9c9c8a6i0] {
    display: flex;
    gap: 10px;
}

.result-stat[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    background: #e4e4e7;
    border-radius: 8px;
    padding: 12px 16px;
}

.result-stat-value[b-d9c9c8a6i0] {
    font-size: 22px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--up-text);
}

.result-stat-label[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--up-muted);
}

.error-code[b-d9c9c8a6i0] {
    font-size: 12px;
    font-family: monospace;
    color: var(--up-muted);
}

/* ---- Misc ---- */
.cursor-pointer[b-d9c9c8a6i0] {
    cursor: pointer;
}

/* ---- Wager list in impact modal ---- */
.impact-wagers[b-d9c9c8a6i0] {
    background: #ffffff;
    border-radius: 10px;
    padding: 14px 16px;
}

.impact-wagers-title[b-d9c9c8a6i0] {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--up-muted);
    margin: 0 0 8px 0;
}

.wager-list[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 260px;
    overflow-y: auto;
}

.wager-row[b-d9c9c8a6i0] {
    background: transparent;
    border: 1px solid var(--up-border);
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.wager-row-top[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.wager-player[b-d9c9c8a6i0] {
    font-weight: 600;
    color: var(--up-text);
    font-size: 13px;
    margin-right: 4px;
}

.wager-type-chip[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.chip-straight[b-d9c9c8a6i0] {
    background: transparent;
    border: 1px solid #1d4ed8;
    color: #1d4ed8;
}

.chip-parlay[b-d9c9c8a6i0] {
    background: transparent;
    border: 1px solid #6d28d9;
    color: #6d28d9;
}

.status-arrow[b-d9c9c8a6i0] {
    opacity: 0.4;
}

.wager-row-desc[b-d9c9c8a6i0] {
    font-size: 11px;
    color: var(--up-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wager-row-detail[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.wager-side[b-d9c9c8a6i0] {
    font-weight: 600;
    color: var(--up-text);
}

.wager-points[b-d9c9c8a6i0] {
    font-variant-numeric: tabular-nums;
    color: var(--up-text);
    background: #e5e7eb;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.wager-odds[b-d9c9c8a6i0] {
    font-variant-numeric: tabular-nums;
    color: var(--up-navy);
    font-weight: 700;
    font-size: 13px;
}

.wager-amounts[b-d9c9c8a6i0] {
    margin-left: auto;
    color: var(--up-muted);
    font-size: 12px;
}


/* ================================================================
   UNGRADE MODE  — colors via --up-* tokens (light/dark handled above)
   ================================================================ */

/* Back bar */
.ungrade-back-bar[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    margin-bottom: 2px;
}

/* Tenant selector row (multi-tenant ungrade) */
.ungrade-tenant-row[b-d9c9c8a6i0] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    background: var(--up-surface);
    padding: 14px 18px;
    border-radius: 4px;
    border: 1px solid var(--up-border);
    box-shadow: var(--up-shadow);
}

/* ---- Event header card (shows main game info once loaded) ---- */
.ungrade-event-header[b-d9c9c8a6i0] {
    background: var(--up-surface);
    border: 1px solid var(--up-border);
    border-radius: 4px;
    box-shadow: var(--up-shadow);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.ungrade-event-title[b-d9c9c8a6i0] {
    font-size: 16px;
    font-weight: 700;
    color: var(--up-text);
    margin-bottom: 4px;
}

.ungrade-event-attrs[b-d9c9c8a6i0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 10px;
    font-size: 12px;
    color: var(--up-muted);
}

.ungrade-event-sep[b-d9c9c8a6i0] {
    color: var(--up-border);
}

/* ---- Section header (above each fixture group) ---- */
.ungrade-section-header[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 6px;
}

.ungrade-section-label[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--up-muted);
}

.ungrade-section-count[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    color: var(--up-muted);
    background: var(--up-surface-2);
    border: 1px solid var(--up-border);
    border-radius: 3px;
    padding: 0 5px;
    font-variant-numeric: tabular-nums;
}

.ungrade-count-chip[b-d9c9c8a6i0] {
    font-size: 11px;
    font-weight: 600;
    color: var(--up-muted);
    background: var(--up-surface-2);
    border: 1px solid var(--up-border);
    border-radius: 3px;
    padding: 0 5px;
    font-variant-numeric: tabular-nums;
}

.ungrade-league-chip[b-d9c9c8a6i0] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--up-blue);
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.25);
    border-radius: 3px;
    padding: 0 5px;
}

.ungrade-prop-name[b-d9c9c8a6i0] {
    font-weight: 600;
    font-size: 13px;
    color: var(--up-text);
}

.ungrade-prop-date[b-d9c9c8a6i0] {
    font-size: 11px;
    color: var(--up-muted);
}

/* ---- Main game card ---- */
.ungrade-main-game[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
}

.ungrade-game-card[b-d9c9c8a6i0] {
    background: var(--up-surface);
    border: 1px solid var(--up-border);
    border-left: 3px solid var(--up-blue);
    border-radius: 4px;
    padding: 14px 18px;
    box-shadow: var(--up-shadow);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.game-card-body[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.game-card-team[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    min-width: 120px;
}

.game-card-team-name[b-d9c9c8a6i0] {
    font-size: 14px;
    font-weight: 600;
    color: var(--up-text);
}

.game-card-team-role[b-d9c9c8a6i0] {
    font-size: 10.5px;
    color: var(--up-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 1px;
}

.game-card-score-block[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.game-card-score[b-d9c9c8a6i0] {
    font-size: 26px;
    font-weight: 800;
    color: var(--up-text);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1;
}

.game-card-score-label[b-d9c9c8a6i0] {
    font-size: 10px;
    color: var(--up-muted);
    margin-top: 2px;
}

.game-card-actions[b-d9c9c8a6i0] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* ---- Props cards (table wrappers) ---- */
.ungrade-props-card[b-d9c9c8a6i0] {
    display: flex;
    flex-direction: column;
}

.ungrade-table-scroll[b-d9c9c8a6i0] {
    overflow-x: auto;
    background: var(--up-surface);
    border: 1px solid var(--up-border);
    border-radius: 4px;
    box-shadow: var(--up-shadow);
}

/* ---- Ungrade plain tables ---- */
.ungrade-table[b-d9c9c8a6i0] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-family: inherit;
    background: var(--up-surface);
}

.ungrade-table thead tr[b-d9c9c8a6i0] {
    background: var(--up-surface-2);
    border-bottom: 1px solid var(--up-border);
}

.ungrade-table thead th[b-d9c9c8a6i0] {
    padding: 8px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--up-muted);
    text-align: left;
    white-space: nowrap;
}

.ungrade-table thead th:last-child[b-d9c9c8a6i0] { text-align: right; }

.ungrade-table thead th.period-col[b-d9c9c8a6i0] {
    text-align: center;
    white-space: nowrap;
    padding-left: 4px;
    padding-right: 4px;
}

.ungrade-table tbody td.period-col[b-d9c9c8a6i0] {
    text-align: center;
    white-space: nowrap;
    padding-left: 4px;
    padding-right: 4px;
}

.ungrade-table tbody tr[b-d9c9c8a6i0] {
    border-bottom: 1px solid var(--up-border);
}

.ungrade-table tbody tr:last-child[b-d9c9c8a6i0] {
    border-bottom: none;
}

.ungrade-table tbody tr:hover td[b-d9c9c8a6i0] {
    background: var(--up-surface-2);
}

.ungrade-table tbody td[b-d9c9c8a6i0] {
    padding: 7px 14px;
    color: var(--up-text);
    vertical-align: middle;
}

.ungrade-table tbody td:last-child[b-d9c9c8a6i0] { text-align: right; }

/* Group rows for game props */
.ungrade-group-first td:first-child[b-d9c9c8a6i0] {
    border-left: 3px solid var(--up-blue);
    padding-left: 11px;
    font-weight: 600;
    color: var(--up-text);
}

.ungrade-group-cont td:first-child[b-d9c9c8a6i0] {
    border-left: 3px solid transparent;
    padding-left: 11px;
    color: var(--up-muted);
    font-style: italic;
    font-size: 12px;
}

/* Separator row between fixture groups */
.ungrade-group-sep td[b-d9c9c8a6i0] {
    padding: 0;
    height: 1px;
    background: var(--up-surface-2);
    border: none;
}

.ungrade-table tbody tr.ungrade-group-sep:hover td[b-d9c9c8a6i0] {
    background: var(--up-surface-2);
}
/* /Pages/WagerHistory/WagerHistoryPage.razor.rz.scp.css */
/* Limits visual language — theme palette vars + fixed --xt-* tokens
   (see docs/design/limits-ui-guide.md). Controls render as stock MudBlazor,
   matching the Limits module; typography inherits the MudTheme stack. */

.wager-page[b-xiwd2yyq89] {
    display: flex;
    flex-direction: column;
    gap: var(--xt-gap-lg);
    padding: 16px 8px 32px;
    font-size: 14px;
    line-height: 150%;
    color: var(--mud-palette-text-primary);
}

/* Labels live above the inputs, so drop the input's own top margin */
.wager-page[b-xiwd2yyq89]  .mud-input-control {
    margin-top: 0;
}

/* ---- Header ---- */
.wager-header[b-xiwd2yyq89] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--xt-gap-sm);
}

.wager-breadcrumb[b-xiwd2yyq89] {
    color: var(--mud-palette-action-default);
    font-size: 12px;
    margin: 0 0 2px;
}


.wager-header-actions[b-xiwd2yyq89] {
    display: flex;
    align-items: center;
    gap: var(--xt-gap-sm);
}

/* ---- Field labels (Limits pattern: caption bold above the input) ---- */
.field-label[b-xiwd2yyq89] {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: var(--mud-palette-text-primary);
    margin: 0 0 4px 3px;
    line-height: 150%;
}

.field-label .req[b-xiwd2yyq89] {
    color: var(--mud-palette-error);
}

/* ---- Filters card ---- */
.filters-section-title[b-xiwd2yyq89] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--mud-palette-action-default);
    margin: 14px 0 2px;
}

.filters-section-title:first-child[b-xiwd2yyq89] {
    margin-top: 0;
}

.filters-section-title[b-xiwd2yyq89]::before {
    content: "● ";
    color: var(--mud-palette-divider);
    font-size: 0.55rem;
    vertical-align: middle;
}

.filters-section-title.required[b-xiwd2yyq89]::before {
    color: var(--mud-palette-error);
}

.filters-actions[b-xiwd2yyq89] {
    display: flex;
    justify-content: flex-end;
    gap: var(--xt-gap-md);
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-divider);
}

/* ---- Applied-filter chips (stock MudChip) ---- */
.wager-chips[b-xiwd2yyq89] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* ---- Inline alerts ---- */
.wager-alert[b-xiwd2yyq89] {
    display: flex;
    align-items: center;
    gap: var(--xt-gap-sm);
    padding: 10px 14px;
    border-radius: var(--xt-radius-md);
    font-size: 14px;
}

.wager-alert-error[b-xiwd2yyq89] {
    background: var(--mud-palette-error-hover);
    border: 1px solid var(--mud-palette-error);
    color: var(--mud-palette-error);
}

.wager-alert-warning[b-xiwd2yyq89] {
    background: var(--mud-palette-warning-hover);
    border: 1px solid var(--mud-palette-warning);
    color: var(--mud-palette-text-primary);
}

/* ---- Results card ---- */
.wager-results[b-xiwd2yyq89] {
    background: var(--xt-bg-section-card);
    padding: 20px 24px;
    border-radius: var(--xt-radius-md);
    box-shadow: var(--mud-elevation-1);
}

.results-toolbar[b-xiwd2yyq89] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

/* Limits section-title scale (subtitle1 bold) */
.results-title[b-xiwd2yyq89] {
    margin: 0;
    font-weight: bold;
    font-size: 16px;
    line-height: 150%;
    color: var(--mud-palette-text-primary);
}

/* ---- Row cell styles ---- */
.wager-id[b-xiwd2yyq89] {
    font-size: 12px;
    color: var(--mud-palette-action-default);
    font-variant-numeric: tabular-nums;
}

.wager-player[b-xiwd2yyq89] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

/* ---- Rich description cell ---- */
.wager-desc-cell[b-xiwd2yyq89] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 240px;
    min-width: 140px;
}

.wager-desc-type[b-xiwd2yyq89] {
    font-size: 11px;
    font-weight: 600;
    color: var(--mud-palette-action-default);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wager-desc-matchup[b-xiwd2yyq89] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wager-desc-pick[b-xiwd2yyq89] {
    font-size: 13px;
    color: var(--mud-palette-text-primary);
}

.wager-desc-meta[b-xiwd2yyq89] {
    font-size: 11px;
    color: var(--mud-palette-action-default);
}

.wager-desc-leg[b-xiwd2yyq89] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-top: 2px;
    border-top: 1px solid var(--mud-palette-divider);
}

.wager-desc-leg:first-of-type[b-xiwd2yyq89] {
    border-top: none;
    padding-top: 0;
}

/* ---- Status badges (theme state colors) ---- */
.status-badge[b-xiwd2yyq89] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.status-win[b-xiwd2yyq89] {
    background: var(--mud-palette-success-hover);
    color: var(--mud-palette-success);
}

.status-loss[b-xiwd2yyq89] {
    background: var(--mud-palette-error-hover);
    color: var(--mud-palette-error);
}

/* Palette Warning is too light for text — tint the background, keep text readable */
.status-pending[b-xiwd2yyq89] {
    background: var(--mud-palette-warning-hover);
    border: 1px solid var(--mud-palette-warning);
    color: var(--mud-palette-text-primary);
}

.status-canceled[b-xiwd2yyq89] {
    background: var(--xt-bg-table-container);
    color: var(--mud-palette-action-default);
}

/* ---- Line verification badges ---- */
.verif-cell[b-xiwd2yyq89] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.verif-clickable[b-xiwd2yyq89] {
    cursor: pointer;
}

.verif-clickable:hover[b-xiwd2yyq89] {
    filter: brightness(0.93);
}

.verif-notchecked[b-xiwd2yyq89] {
    background: var(--xt-bg-table-container);
    color: var(--mud-palette-action-default);
}

.verif-ok[b-xiwd2yyq89] {
    background: var(--mud-palette-success-hover);
    color: var(--mud-palette-success);
}

.verif-warning[b-xiwd2yyq89] {
    background: var(--mud-palette-warning-hover);
    border: 1px solid var(--mud-palette-warning);
    color: var(--mud-palette-text-primary);
}

.verif-discrepancy[b-xiwd2yyq89] {
    background: var(--mud-palette-error-hover);
    color: var(--mud-palette-error);
}

.verif-error[b-xiwd2yyq89] {
    background: var(--xt-bg-card);
    color: var(--mud-palette-text-primary);
}

.verif-reviewed[b-xiwd2yyq89] {
    background: var(--mud-palette-info-hover);
    color: var(--mud-palette-info);
}

/* ---- Profit / Loss ---- */
.profit-pos[b-xiwd2yyq89] {
    color: var(--mud-palette-success);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.profit-neg[b-xiwd2yyq89] {
    color: var(--mud-palette-error);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.profit-zero[b-xiwd2yyq89] {
    color: var(--mud-palette-action-default);
    font-variant-numeric: tabular-nums;
}

/* ---- Loading skeletons ---- */
.wager-loading[b-xiwd2yyq89] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
}

/* ---- Empty state ---- */
.wager-empty-state[b-xiwd2yyq89] {
    background: var(--xt-bg-section-card);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--xt-gap-sm);
    padding: 56px 16px;
    border-radius: var(--xt-radius-md);
    color: var(--mud-palette-action-default);
    box-shadow: var(--mud-elevation-1);
}

.empty-title[b-xiwd2yyq89] {
    font-weight: 600;
    font-size: 16px;
    color: var(--mud-palette-text-primary);
}

.empty-sub[b-xiwd2yyq89] {
    font-size: 13px;
    color: var(--mud-palette-action-default);
}
