/* _content/Club.Manager.Web/Components/Blocks/AutoBlockPlaceholder.razor.rz.scp.css */
/* Editor-preview stand-in for data-driven sub-page bodies. Reads the inherited theme text colour
   (currentColor) so it sits coherently inside any public-site theme without hardcoding palette. */

.auto-ph[b-20pn0cxuoq] {
    border: 2px dashed color-mix(in srgb, currentColor 26%, transparent);
    border-radius: 12px;
    padding: 2.5rem 2rem;
    margin: 2rem auto;
    max-width: 880px;
    text-align: center;
}

.auto-ph__tag[b-20pn0cxuoq] {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.55;
    margin-bottom: 0.6rem;
}

.auto-ph__title[b-20pn0cxuoq] {
    font-family: var(--type-display, "Anton"), sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1.05;
    margin-bottom: 0.5rem;
}

.auto-ph__desc[b-20pn0cxuoq] {
    font-size: 0.92rem;
    line-height: 1.5;
    max-width: 34rem;
    margin: 0 auto;
    opacity: 0.72;
}
/* _content/Club.Manager.Web/Components/Layout/LeagueSwitcher.razor.rz.scp.css */
/* League switcher — header chip + dropdown. Ported from the design's `lh-lsw`
   (league-owner.jsx / league-owner.css) onto MLH design tokens, so it tracks theme + accent. */

.lsw[b-450mvsb1es] {
    position: relative;
    display: inline-flex;
}

.lsw__btn[b-450mvsb1es] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 5px 9px 5px 6px;
    border-radius: 9px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
}

.lsw__btn:hover[b-450mvsb1es] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
    border-color: var(--hairline);
}

.lsw__mark[b-450mvsb1es] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 12px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.lsw__name[b-450mvsb1es] {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--fg);
    white-space: nowrap;
    max-width: 38vw;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lsw__chev[b-450mvsb1es] {
    font-size: 18px;
    color: var(--fg-muted);
}

.lsw__scrim[b-450mvsb1es] {
    position: fixed;
    inset: 0;
    z-index: 60;
}

.lsw__menu[b-450mvsb1es] {
    position: absolute;
    top: calc(100% + 9px);
    left: 0;
    z-index: 61;
    width: 330px;
    max-width: 92vw;
    background: var(--surface-raised);
    border: 1px solid var(--hairline-strong);
    border-radius: 14px;
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.24);
    overflow: hidden;
}

.lsw__head[b-450mvsb1es] {
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--fg-muted);
    padding: 14px 16px 9px;
}

.lsw__item[b-450mvsb1es] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: left;
    padding: 11px 16px;
    border: none;
    border-top: 1px solid var(--hairline);
    background: transparent;
    cursor: pointer;
}

.lsw__item:hover[b-450mvsb1es] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
}

.lsw__item--active[b-450mvsb1es] {
    background: var(--accent-soft);
}

.lsw__item-mark[b-450mvsb1es] {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 15px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.lsw__item-body[b-450mvsb1es] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.lsw__item-name[b-450mvsb1es] {
    font-size: 14px;
    font-weight: 600;
    color: var(--fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lsw__item-meta[b-450mvsb1es] {
    font-size: 10.5px;
    color: var(--fg-muted);
    margin-top: 2px;
}

.lsw__check[b-450mvsb1es] {
    margin-left: auto;
    color: var(--accent-text);
    font-size: 18px;
    flex: none;
}

.lsw__foot[b-450mvsb1es] {
    padding: 11px 12px;
    border-top: 1px solid var(--hairline);
}

.lsw__new[b-450mvsb1es] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
    padding: 10px;
    border: 1px dashed var(--hairline-strong);
    border-radius: 9px;
    font-size: 13px;
    color: var(--fg);
    text-decoration: none;
}

.lsw__new:hover[b-450mvsb1es] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
}

.lsw__new .material-symbols-outlined[b-450mvsb1es] {
    font-size: 18px;
}
/* _content/Club.Manager.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.cm-shell[b-aluo5o5mxh] {
    display: grid;
    grid-template-rows: var(--header-height) 1fr;
    grid-template-columns: var(--sidebar-width) 1fr;
    grid-template-areas:
        "header header"
        "sidebar body";
    min-height: 100vh;
    background: var(--bg);
}

.cm-shell[data-sidebar-collapsed="true"][b-aluo5o5mxh] {
    grid-template-columns: var(--sidebar-collapsed-width) 1fr;
}

/* ============================================================================
   Header
   ============================================================================ */

.cm-shell__header[b-aluo5o5mxh] {
    grid-area: header;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 480px) auto;
    align-items: center;
    gap: var(--space-4);
    padding: 0 var(--space-4);
    background: var(--surface);
    border-bottom: var(--rule-thickness-bold) solid var(--hairline-strong);
    position: sticky;
    top: 0;
    z-index: 30;
}

.cm-shell__header-left[b-aluo5o5mxh] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
}

.cm-shell__header-right[b-aluo5o5mxh] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    justify-self: end;
}

.cm-shell__toggle[b-aluo5o5mxh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--fg-muted);
    cursor: pointer;
    transition: color 120ms ease, background 120ms ease, border-color 120ms ease;
}

/* Mobile-only back control. Hidden on desktop (browser chrome + sidebar cover it); the
   responsive block below lights it up and hides the logo so this takes the top-left slot.
   A chevron + "Back" label, sized as a proper finger target (44px tall, never shrinks),
   so there's no tiny arrow to fumble for. */
.cm-shell__back[b-aluo5o5mxh] {
    display: none;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;             /* never let the header compress the tap target */
    height: 44px;
    padding: 0 var(--space-2);
    margin-left: calc(var(--space-1) * -1);  /* align the chevron to the gutter edge */
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--fg);
    font-family: var(--type-body);
    font-size: var(--fs-body);
    font-weight: var(--weight-semibold);
    cursor: pointer;
    transition: color 120ms ease, background 120ms ease, border-color 120ms ease;
}

.cm-shell__back:hover[b-aluo5o5mxh],
.cm-shell__back:focus-visible[b-aluo5o5mxh] {
    color: var(--accent-text);
    background: var(--accent-soft);
    border-color: var(--accent-dim);
    outline: none;
}

.cm-shell__back .material-icons[b-aluo5o5mxh] {
    font-size: 1.5rem;
    line-height: 1;
}

.cm-shell__back-label[b-aluo5o5mxh] {
    letter-spacing: 0.01em;
}

.cm-shell__toggle:hover[b-aluo5o5mxh],
.cm-shell__toggle:focus-visible[b-aluo5o5mxh] {
    color: var(--accent-text);
    background: var(--accent-soft);
    border-color: var(--accent-dim);
    outline: none;
}

.cm-shell__toggle .material-icons[b-aluo5o5mxh] {
    font-size: 1.25rem;
    line-height: 1;
}

/* Logo: yellow mark + condensed all-caps wordmark. The mark uses tabular mono
   so the "CM" reads as a sport-broadcast scoreboard pair, not generic logo
   text. Wordmark is the only Anton text in the header — keeps the broadcast
   personality without it screaming. */
.cm-shell__logo[b-aluo5o5mxh] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    text-decoration: none;
    color: var(--fg);
}

.cm-shell__logo:hover[b-aluo5o5mxh],
.cm-shell__logo:focus-visible[b-aluo5o5mxh] {
    color: var(--fg);
    text-decoration: none;
    outline: none;
}

.cm-shell__logo-mark[b-aluo5o5mxh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--radius-sm);
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 0.75rem;
    font-weight: var(--weight-bold);
    letter-spacing: -0.02em;
}

.cm-shell__logo-text[b-aluo5o5mxh] {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    color: var(--fg);
}

/* Desktop only — on mobile the collapse flag is incidental (the menu is a drawer), so
   the wordmark must stay put regardless of it. */
@media (min-width: 881px) {
    [data-sidebar-collapsed="true"] .cm-shell__logo-text[b-aluo5o5mxh] {
        display: none;
    }
}

/* Scope chip — the current club (and team) name pinned next to the wordmark. Reads as
   "you are inside DEFAULT CLUB" without forcing the page to re-state it in the eyebrow.
   The separator (· then › for team) keeps the chain readable; both names are clickable
   back to their respective dashboards. */
.cm-shell__scope[b-aluo5o5mxh] {
    color: var(--accent-text);
    text-decoration: none;
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    transition: color 120ms ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 240px;
}

.cm-shell__scope:hover[b-aluo5o5mxh],
.cm-shell__scope:focus-visible[b-aluo5o5mxh] {
    /* Toward --fg, not white, so it darkens on light and brightens on dark. */
    color: color-mix(in srgb, var(--accent-text) 80%, var(--fg));
    text-decoration: none;
    outline: none;
}

/* Non-clickable context label (parents/members who don't manage the scoped club). Reads as
   "you're inside X" without implying a tappable link into an admin page. */
.cm-shell__scope--static[b-aluo5o5mxh] {
    color: var(--fg);
    cursor: default;
}

.cm-shell__scope-sep[b-aluo5o5mxh] {
    color: var(--fg-dim);
    font-size: 1.125rem;
    user-select: none;
}

/* Desktop only — see the wordmark note above; the scope chip follows the same rule. */
@media (min-width: 881px) {
    [data-sidebar-collapsed="true"] .cm-shell__scope[b-aluo5o5mxh],
    [data-sidebar-collapsed="true"] .cm-shell__scope-sep[b-aluo5o5mxh] {
        /* Collapsed-sidebar mode shrinks the wordmark; hide scope chip too to free
           header real estate for the search bar. */
        display: none;
    }
}

@media (max-width: 980px) {
    .cm-shell__scope[b-aluo5o5mxh] {
        max-width: 140px;
    }
}

/* Search */
.cm-shell__header-search[b-aluo5o5mxh] {
    position: relative;
    display: flex;
    align-items: center;
    justify-self: stretch;
}

.cm-shell__search-icon[b-aluo5o5mxh] {
    position: absolute;
    left: var(--space-3);
    color: var(--fg-dim);
    font-size: 1.125rem;
    pointer-events: none;
}

.cm-shell__search-input[b-aluo5o5mxh] {
    width: 100%;
    height: 36px;
    padding: 0 var(--space-3) 0 calc(var(--space-3) + 1.5rem);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    background: var(--bg);
    color: var(--fg);
    font-family: var(--type-body);
    font-size: var(--fs-caption);
    transition: border-color 120ms ease, background 120ms ease;
}

.cm-shell__search-input[b-aluo5o5mxh]::placeholder {
    color: var(--fg-dim);
}

.cm-shell__search-input:focus[b-aluo5o5mxh] {
    outline: none;
    border-color: var(--accent);
    background: var(--surface-raised);
}

/* Logout icon button — same shape as the theme toggle for visual symmetry. */
.cm-shell__logout[b-aluo5o5mxh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-md);
    color: var(--fg-muted);
    text-decoration: none;
    transition: color 120ms ease, background 120ms ease;
}

.cm-shell__logout:hover[b-aluo5o5mxh],
.cm-shell__logout:focus-visible[b-aluo5o5mxh] {
    color: var(--semantic-danger);
    background: color-mix(in srgb, var(--semantic-danger) 12%, transparent);
    outline: none;
    text-decoration: none;
}

.cm-shell__logout .material-icons[b-aluo5o5mxh] {
    font-size: 1.125rem;
}

/* ============================================================================
   Sidebar
   ============================================================================ */

.cm-shell__sidebar[b-aluo5o5mxh] {
    grid-area: sidebar;
    background: var(--surface);
    border-right: 1px solid var(--hairline);
    overflow: hidden;  /* inner nav handles its own scroll */
    transition: width 160ms ease;
}

/* Mobile-only drawer chrome — hidden on desktop, lit up in the responsive block below. */
.cm-shell__nav-close[b-aluo5o5mxh] {
    display: none;
}

.cm-shell__scrim[b-aluo5o5mxh] {
    display: none;
}

/* ============================================================================
   Body
   ============================================================================ */

.cm-shell__body[b-aluo5o5mxh] {
    grid-area: body;
    padding: var(--space-5);
    overflow-x: hidden;
    min-width: 0;  /* prevent grid blowout on long content */
}

/* ============================================================================
   Responsive — below 880px the sidebar overlays the body instead of pushing it.
   Toggle still controls visibility; the body sits underneath at full width.
   ============================================================================ */
@media (max-width: 880px) {
    /* Collapse the sidebar grid column to 0 in BOTH states — on mobile the sidebar is an
       off-canvas drawer (position:fixed below), never a grid column. Listing
       [data-sidebar-collapsed="true"] explicitly out-specifies the base collapsed rule so
       the body always reaches full width. */
    .cm-shell[b-aluo5o5mxh],
    .cm-shell[data-sidebar-collapsed="true"][b-aluo5o5mxh] {
        grid-template-columns: 0 1fr;
    }

    /* Off-canvas drawer: parked off the left edge by default (so it never pops open on
       load), sliding in when the menu is opened. Covers most of the screen for easy
       tapping; capped so it never goes full-bleed on a large phone/tablet. */
    .cm-shell__sidebar[b-aluo5o5mxh] {
        position: fixed;
        top: var(--header-height);
        left: 0;
        bottom: 0;
        width: min(86vw, 360px);
        z-index: 40;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 200ms ease;
        box-shadow: 4px 0 24px -8px rgba(0, 0, 0, 0.5);
    }

    .cm-shell[data-mobile-nav="open"] .cm-shell__sidebar[b-aluo5o5mxh] {
        transform: translateX(0);
    }

    /* Scrim: covers the body (below the header) when the drawer is open; tap to close. */
    .cm-shell__scrim[b-aluo5o5mxh] {
        position: fixed;
        inset: var(--header-height) 0 0 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 35;
    }

    .cm-shell[data-mobile-nav="open"] .cm-shell__scrim[b-aluo5o5mxh] {
        display: block;
    }

    /* In-drawer close button, top-right. */
    .cm-shell__nav-close[b-aluo5o5mxh] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin: var(--space-2) var(--space-2) 0;
        margin-left: auto;
        border: 1px solid var(--hairline);
        border-radius: var(--radius-md);
        background: var(--surface-raised);
        color: var(--fg);
        cursor: pointer;
    }

    .cm-shell__nav-close .material-icons[b-aluo5o5mxh] {
        font-size: 1.25rem;
    }

    /* The bottom tab bar replaces the header hamburger on phones. */
    .cm-shell__toggle[b-aluo5o5mxh] {
        display: none;
    }

    /* ...freeing the top-left slot for the back control (only rendered once there's history). */
    .cm-shell__back[b-aluo5o5mxh] {
        display: inline-flex;
    }

    /* "Back replaces logo": whenever the back control is present (a sub-page), hide the logo
       so there's no adjacent home link to mis-tap. On the entry/landing page no back control
       is rendered, so the logo shows as normal. Sibling combinator relies on .cm-shell__back
       preceding .cm-shell__logo in the markup. */
    .cm-shell__back ~ .cm-shell__logo[b-aluo5o5mxh] {
        display: none;
    }

    /* The Anton wordmark wraps to 3 lines at phone widths — show only the compact "CM" mark
       when the logo is visible (i.e. the landing page). */
    .cm-shell__logo-text[b-aluo5o5mxh] {
        display: none;
    }

    /* The scope breadcrumb collapses to a few px at this width and duplicates the page
       heading's context — drop it on mobile rather than let it crowd the bar. */
    .cm-shell__scope[b-aluo5o5mxh],
    .cm-shell__scope-sep[b-aluo5o5mxh] {
        display: none;
    }

    /* Tighter gutters on phones — the desktop 24px inset wastes width on a
       narrow screen (most visible on the full-bleed portal cards). Generous bottom
       padding so content clears the fixed bottom tab bar (≈54px tabs + 20px home-indicator
       pad = ~74px) plus a comfortable buffer, so the last controls never hug the footer. */
    .cm-shell__body[b-aluo5o5mxh] {
        padding: var(--space-3);
        padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px) + var(--space-6));
    }

    .cm-shell__header-search[b-aluo5o5mxh] {
        display: none;  /* search shrinks first on small screens */
    }

    /* The search column is hidden above, but the 3-track grid still reserves the
       middle track's 280px minimum — on a narrow phone that pushes the right-hand
       cluster (theme toggle, change-password, sign-out) off the edge. Collapse to
       two tracks so those controls — the only way to switch theme on mobile — stay
       on screen and tappable. */
    .cm-shell__header[b-aluo5o5mxh] {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--space-2);
    }
}
/* _content/Club.Manager.Web/Components/Layout/MobileNavBar.razor.rz.scp.css */
/* Mobile bottom navigation bar. Hidden on desktop; a fixed footer tab strip ≤880px.

   Visual language ported from the Claude Design "Tab Bar + More" handoff (mobile-nav.css,
   .gp-mnav.is-tabbar / .gp-mtab): flex tabs, ~54px tall with a baked-in bottom pad for the
   home indicator, 23px icons, uppercase JetBrains Mono micro-labels, active = accent colour
   with a short top rule. The handoff's broadcast tokens are translated to the app tokens
   (--panel→--surface, --rule-hi→--hairline-strong, --dim→--fg-dim, --muted→--fg-muted); the
   active text uses --accent-text (not --accent) so it stays legible on the light theme.

   Blazor CSS isolation: the tab items are <NavLink> (a child component), so its <a> does NOT
   carry this file's scope attribute. Selectors targeting the items go through `.cm-botnav ::deep`
   to lift the scope past the NavLink boundary (the <nav> itself is in this component's render
   context, so it doesn't need ::deep). The Menu <button> is a direct child but also matches the
   ::deep descendant selector — harmless. */

.cm-botnav[b-8jzwdu48v5] {
    display: none;
}

@media (max-width: 880px) {
    .cm-botnav[b-8jzwdu48v5] {
        display: flex;
        align-items: stretch;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 30;
        background: var(--surface);
        border-top: 1px solid var(--hairline-strong);
        /* Home-indicator clearance, baked into the bar like the mock's 20px. */
        padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    }

    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__item {
        flex: 1;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 0;
        min-height: 54px;
        padding: 10px 2px 8px;
        border: 0;
        background: transparent;
        color: var(--fg-dim);
        text-decoration: none;
        cursor: pointer;
        font: inherit;
        transition: color 120ms ease;
        -webkit-tap-highlight-color: transparent;
    }

    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__item:hover,
    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__item:focus-visible {
        color: var(--fg-muted);
        outline: none;
    }

    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__item--active {
        color: var(--accent-text);
    }

    /* Active tab gets a short accent rule along the top edge (mock's ::before). */
    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__item--active::before {
        content: "";
        position: absolute;
        top: 0;
        left: 22%;
        right: 22%;
        height: 2px;
        background: var(--accent);
    }

    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__icon {
        font-size: 23px;
        line-height: 1;
    }

    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__label {
        font-family: 'JetBrains Mono', monospace;
        font-size: 8.5px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        line-height: 1;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Attention badge — danger pill pinned over the top-right of the tab icon, with a bar-coloured
       border so it reads as a separate chip (the handoff's .gp-mtab-badge). */
    .cm-botnav[b-8jzwdu48v5]  .cm-botnav__badge {
        position: absolute;
        top: 6px;
        left: calc(50% + 5px);
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: var(--semantic-danger);
        border: 1.5px solid var(--surface);
        color: #fff;
        font-family: 'JetBrains Mono', monospace;
        font-size: 9px;
        font-weight: 700;
        line-height: 1;
    }
}
/* _content/Club.Manager.Web/Components/Layout/OrgSwitcher.razor.rz.scp.css */
/* Organization switcher — header chip + dropdown for the League Assigner console. Ported from the
   design's assigner `lh-lsw` onto MLH design tokens, so it tracks theme + accent. Mirrors the
   league switcher but shows an "ORGANIZATION" eyebrow above the org name. */

.osw[b-b224jyyez5] {
    position: relative;
    display: inline-flex;
}

.osw__btn[b-b224jyyez5] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 4px 9px 4px 6px;
    border-radius: 9px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
}

.osw__btn:hover[b-b224jyyez5] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
    border-color: var(--hairline);
}

.osw__mark[b-b224jyyez5] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 13px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.osw__meta[b-b224jyyez5] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
}

.osw__eyebrow[b-b224jyyez5] {
    font-size: 8.5px;
    letter-spacing: 0.14em;
    color: var(--fg-dim);
}

.osw__name[b-b224jyyez5] {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--fg);
    white-space: nowrap;
    max-width: 34vw;
    overflow: hidden;
    text-overflow: ellipsis;
}

.osw__chev[b-b224jyyez5] {
    font-size: 18px;
    color: var(--fg-muted);
}

.osw__scrim[b-b224jyyez5] {
    position: fixed;
    inset: 0;
    z-index: 60;
}

.osw__menu[b-b224jyyez5] {
    position: absolute;
    top: calc(100% + 9px);
    left: 0;
    z-index: 61;
    width: 330px;
    max-width: 92vw;
    background: var(--surface-raised);
    border: 1px solid var(--hairline-strong);
    border-radius: 14px;
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.24);
    overflow: hidden;
}

.osw__head[b-b224jyyez5] {
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--fg-muted);
    padding: 14px 16px 9px;
}

.osw__item[b-b224jyyez5] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: left;
    padding: 11px 16px;
    border: none;
    border-top: 1px solid var(--hairline);
    background: transparent;
    cursor: pointer;
}

.osw__item:hover[b-b224jyyez5] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
}

.osw__item--active[b-b224jyyez5] {
    background: var(--accent-soft);
}

.osw__item-mark[b-b224jyyez5] {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--accent);
    color: var(--accent-fg);
    font-size: 15px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.osw__item-body[b-b224jyyez5] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.osw__item-name[b-b224jyyez5] {
    font-size: 14px;
    font-weight: 600;
    color: var(--fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.osw__item-meta[b-b224jyyez5] {
    font-size: 10.5px;
    color: var(--fg-muted);
    margin-top: 2px;
}

.osw__check[b-b224jyyez5] {
    margin-left: auto;
    color: var(--accent-text);
    font-size: 18px;
    flex: none;
}

.osw__foot[b-b224jyyez5] {
    padding: 11px 12px;
    border-top: 1px solid var(--hairline);
}

.osw__new[b-b224jyyez5] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
    padding: 10px;
    border: 1px dashed var(--hairline-strong);
    border-radius: 9px;
    font-size: 13px;
    color: var(--fg);
    text-decoration: none;
}

.osw__new:hover[b-b224jyyez5] {
    background: color-mix(in oklab, var(--fg) 7%, transparent);
}

.osw__new .material-symbols-outlined[b-b224jyyez5] {
    font-size: 18px;
}
/* _content/Club.Manager.Web/Components/Layout/Sidebar.razor.rz.scp.css */
/* Sidebar — Editorial pattern (sections, padded items, filled-active, mono count tags)
   mapped onto the project's Broadcast tokens. The reference is concept B's left nav:
   small uppercase section labels, thin outlined icons, a filled-cream block on the
   active row with yellow accent on the icon. No left accent bar — the row itself
   carries the active state.

   IMPORTANT — Blazor CSS isolation gotcha:
   <NavLink> is a child component, so the <a> it renders does NOT get this file's
   scope attribute and would-be selectors like `.cm-sidebar__item[b-xxxx]` won't
   match it. Selectors that target the <a> (item, active state, hover) MUST go
   through `.cm-sidebar__nav ::deep` so the scope is lifted past the NavLink boundary.
   Elements written directly in Sidebar.razor (nav, section, section-label) don't
   need ::deep because they're in this component's own render context. */

.cm-sidebar__nav[b-ztmcgvlt4q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 18px 14px;
    height: 100%;
    overflow-y: auto;
}

/* Sections sit with breathing room rather than a hairline divider — the spacing and
   the small uppercase label do the grouping work. */
.cm-sidebar__section[b-ztmcgvlt4q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cm-sidebar__section + .cm-sidebar__section[b-ztmcgvlt4q] {
    margin-top: var(--space-3);
}

.cm-sidebar__section-label[b-ztmcgvlt4q] {
    margin: 0;
    padding: 10px 8px 6px;
    font-family: var(--type-body);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--fg-dim);
    font-weight: var(--weight-semibold);
}

.cm-sidebar__section:first-child .cm-sidebar__section-label[b-ztmcgvlt4q] {
    padding-top: 0;
}

/* The <a> below comes from NavLink — needs ::deep to escape this file's scope. */
.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    color: var(--fg-muted);
    text-decoration: none;
    border-radius: 6px;
    font-family: var(--type-body);
    font-size: 13px;
    font-weight: var(--weight-medium);
    white-space: nowrap;
    transition: background 120ms ease, color 120ms ease;
}

.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item:hover {
    color: var(--fg);
    background: var(--surface-raised);
    text-decoration: none;
}

/* Active row inverts the column: cream-on-near-black becomes near-black-on-cream.
   The icon picks up the brand accent so the active item reads as both "selected"
   and "branded" without an extra bar. NavLink applies this class dynamically, so
   it lands on the NavLink-rendered <a> — same scope-escape applies. */
.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active,
.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active:hover {
    background: var(--fg);
    color: var(--bg);
}

/* Icons + labels + tags are spans authored inside the NavLink markup in Sidebar.razor,
   so they ARE in this component's render scope. But the rules that select them via the
   parent <a>'s state (hover / active) need ::deep because the parent <a> isn't. */
.cm-sidebar__icon[b-ztmcgvlt4q] {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
    line-height: 1;
    opacity: 0.7;
}

.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item:hover .cm-sidebar__icon {
    opacity: 1;
}

.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active .cm-sidebar__icon,
.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active:hover .cm-sidebar__icon {
    opacity: 1;
    color: var(--accent-text);
}

.cm-sidebar__label[b-ztmcgvlt4q] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Numeric count next to the label — mono font, dim by default, slightly less dim
   on the inverted active row. */
.cm-sidebar__tag[b-ztmcgvlt4q] {
    margin-left: auto;
    font-family: var(--type-data);
    font-variant-numeric: tabular-nums;
    font-size: 10px;
    font-weight: var(--weight-medium);
    color: var(--fg-dim);
    letter-spacing: 0.02em;
}

.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active .cm-sidebar__tag {
    color: color-mix(in srgb, var(--bg) 60%, transparent);
}

/* Attention variant — a solid red pill for items that genuinely need the user (e.g. unsigned
   waivers in the Library). Stays red even when the row is active. */
.cm-sidebar__tag--alert[b-ztmcgvlt4q] {
    color: #fff;
    background: var(--semantic-danger, #d23b3b);
    border-radius: 999px;
    min-width: 18px;
    padding: 1px 6px;
    text-align: center;
    font-weight: var(--weight-bold, 700);
}

.cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item--active .cm-sidebar__tag--alert {
    color: #fff;
}

/* Collapsed (icon-only) state — driven by the parent layout's data attribute. Desktop
   only: below 880px the sidebar is a full-width off-canvas drawer (see MainLayout's
   responsive block), where the collapse state is meaningless and labels must always show.
   Without the min-width guard, opening the mobile drawer (which also flips the shared
   collapse flag) would strip it down to centred icons. */
@media (min-width: 881px) {
    :global([data-sidebar-collapsed="true"]) .cm-sidebar__section-label[b-ztmcgvlt4q],
    :global([data-sidebar-collapsed="true"]) .cm-sidebar__label[b-ztmcgvlt4q],
    :global([data-sidebar-collapsed="true"]) .cm-sidebar__tag[b-ztmcgvlt4q] {
        display: none;
    }

    :global([data-sidebar-collapsed="true"]) .cm-sidebar__nav[b-ztmcgvlt4q]  .cm-sidebar__item {
        justify-content: center;
        padding-left: var(--space-2);
        padding-right: var(--space-2);
    }
}
/* _content/Club.Manager.Web/Components/Layout/UserChip.razor.rz.scp.css */
.cm-user-chip[b-ww7qugwmfs] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-md);
    color: var(--fg);
    text-decoration: none;
    transition: background 120ms ease;
    max-width: 220px;
}

.cm-user-chip:hover[b-ww7qugwmfs],
.cm-user-chip:focus-visible[b-ww7qugwmfs] {
    background: var(--surface-raised);
    color: var(--fg);
    text-decoration: none;
    outline: none;
}

.cm-user-chip__avatar[b-ww7qugwmfs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--accent);
    color: var(--accent-fg);
    font-family: var(--type-body);
    font-weight: var(--weight-bold);
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.cm-user-chip__text[b-ww7qugwmfs] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

.cm-user-chip__name[b-ww7qugwmfs] {
    font-family: var(--type-body);
    font-size: var(--fs-caption);
    font-weight: var(--weight-semibold);
    color: var(--fg);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-user-chip__role[b-ww7qugwmfs] {
    font-family: var(--type-body);
    font-size: var(--fs-micro);
    font-weight: var(--weight-medium);
    color: var(--fg-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* On phones the header is tight — collapse the chip to just the avatar so the name/role
   text doesn't crowd the bar (it's still the tap target into the portal, and the name is
   one tap away there). Matches the 880px shell breakpoint. */
@media (max-width: 880px) {
    .cm-user-chip[b-ww7qugwmfs] {
        max-width: none;
        padding: var(--space-1);
    }

    .cm-user-chip__text[b-ww7qugwmfs] {
        display: none;
    }
}
/* _content/Club.Manager.Web/Components/Pages/Admin/AdminLeagues.razor.rz.scp.css */
.al-table[b-78ww6fd5lj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.al-table th[b-78ww6fd5lj] {
    text-align: left;
    padding: 0.4rem 0.6rem;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fg-dim);
    border-bottom: 1px solid var(--hairline-strong);
}

.al-table td[b-78ww6fd5lj] {
    padding: 0.6rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: top;
}

.al-name[b-78ww6fd5lj] {
    font-weight: var(--weight-semibold, 600);
}

.al-slug[b-78ww6fd5lj] {
    font-size: 0.78rem;
    color: var(--fg-dim);
    margin-top: 0.1rem;
}

.al-num[b-78ww6fd5lj] {
    text-align: right;
    width: 80px;
}

.al-status[b-78ww6fd5lj] {
    width: 110px;
}

.al-actions[b-78ww6fd5lj] {
    width: 150px;
    text-align: right;
    white-space: nowrap;
}

.al-owners[b-78ww6fd5lj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.3rem;
}

.al-chip[b-78ww6fd5lj] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--hairline-strong);
    background: var(--surface-raised);
    font-size: 0.8125rem;
}

.al-chip__x[b-78ww6fd5lj] {
    cursor: pointer;
    border: 0;
    background: transparent;
    color: var(--fg-dim);
    font-size: 1rem;
    line-height: 1;
    padding: 0;
}

.al-chip__x:hover[b-78ww6fd5lj] {
    color: var(--semantic-danger, var(--fg));
}

.al-addowner[b-78ww6fd5lj] {
    cursor: pointer;
    border: 1px dashed var(--hairline-strong);
    background: transparent;
    color: var(--accent-text);
    font-size: 0.8125rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
}

.al-addowner:hover[b-78ww6fd5lj] {
    border-color: var(--accent);
}

.al-noowner[b-78ww6fd5lj] {
    color: var(--fg-dim);
    font-style: italic;
    margin-right: 0.5rem;
}
/* _content/Club.Manager.Web/Components/Pages/Announcements/AnnouncementDetail.razor.rz.scp.css */
.cm-announcement__body[b-rrw2p9tyt3] {
    white-space: pre-wrap;
    font-size: var(--fs-body);
    line-height: 1.6;
    color: var(--fg);
}

.cm-reply[b-rrw2p9tyt3] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
}

.cm-reply__lead[b-rrw2p9tyt3] {
    flex-shrink: 0;
}

.cm-reply__body[b-rrw2p9tyt3] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.cm-reply__head[b-rrw2p9tyt3] {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
}

/* Pushes the reply's delete button to the far right so the author name + timestamp
   reads naturally on the left while the destructive action sits out of the way. */
.cm-reply__delete[b-rrw2p9tyt3] {
    margin-left: auto;
}

.cm-reply__text[b-rrw2p9tyt3] {
    white-space: pre-wrap;
    color: var(--fg);
    line-height: 1.55;
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/BlockEditorDialog.razor.rz.scp.css */
/* Two-column shell for the block editor dialog. Form column on the left scrolls
   independently; preview pane on the right is sticky so it stays in view while the form
   is long. Footer spans both columns. Collapses to a single stacked column under 980px so
   the editor is still usable on phones / narrow modals. */

.block-editor-grid[b-oz5a2s1x5b] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    gap: 1.25rem;
    align-items: start;
    width: 100%;
    min-height: 480px;
}

.block-editor-form[b-oz5a2s1x5b] {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.block-editor-preview[b-oz5a2s1x5b] {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 0;
    align-self: start;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.block-editor-preview__header[b-oz5a2s1x5b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0 0.25rem;
}

.block-editor-preview__label[b-oz5a2s1x5b] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
}

/* Inline zoom button group. Plain buttons (not Radzen) keep the markup light and avoid
   visual clashes with the form's Radzen controls. Active state mirrors a segmented control. */
.block-editor-preview__zoom[b-oz5a2s1x5b] {
    display: inline-flex;
    border: 1px solid var(--rz-base-300);
    border-radius: 6px;
    overflow: hidden;
}

.block-editor-preview__zoom-btn[b-oz5a2s1x5b] {
    appearance: none;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--rz-base-300);
    padding: 0.25rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--rz-text-secondary-color);
    cursor: pointer;
    line-height: 1.2;
}

.block-editor-preview__zoom-btn:first-child[b-oz5a2s1x5b] {
    border-left: 0;
}

.block-editor-preview__zoom-btn:hover[b-oz5a2s1x5b] {
    background: var(--rz-base-100);
    color: var(--rz-text-color);
}

.block-editor-preview__zoom-btn.is-active[b-oz5a2s1x5b] {
    background: var(--rz-primary);
    color: var(--rz-on-primary, #fff);
}

/* Wrapper that owns the CSS zoom value. Block content lives inside; the stage stays at 1x
   so its border + background chrome don't scale with the content. */
.block-editor-preview__zoomer[b-oz5a2s1x5b] {
    width: 100%;
}

/* Stage: where the rendered block lives. Boxed so the admin can tell where the preview
   starts and ends (vs. the surrounding dialog chrome), with overflow guarded so absurdly
   wide hero layouts don't blow out the dialog width. */
.block-editor-preview__stage[b-oz5a2s1x5b] {
    border: 1px solid var(--rz-base-300);
    border-radius: 8px;
    overflow: auto;
    background: var(--rz-base-50, #fff);
    max-height: 78vh;
}

.block-editor-footer[b-oz5a2s1x5b] {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--rz-base-300);
}

@media (max-width: 980px) {
    .block-editor-grid[b-oz5a2s1x5b] {
        grid-template-columns: 1fr;
    }

    .block-editor-form[b-oz5a2s1x5b],
    .block-editor-preview[b-oz5a2s1x5b] {
        grid-column: 1;
        position: static;
    }

    .block-editor-preview__stage[b-oz5a2s1x5b] {
        max-height: 60vh;
    }
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/ClubContacts.razor.rz.scp.css */
/* Toolbar: team filter on the left, bulk-contact actions on the right. Wraps on narrow
   viewports so the action buttons drop under the filter instead of overflowing. */
.ct-toolbar[b-xhevcxgu7r] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.ct-toolbar__filter[b-xhevcxgu7r] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ct-toolbar__actions[b-xhevcxgu7r] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* Contact cell: name with the relationship badge sitting beside it. */
.ct-contact[b-xhevcxgu7r] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ct-contact__name[b-xhevcxgu7r] {
    font-weight: 600;
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/ClubEvents.razor.rz.scp.css */
/* Cross-link banner pointing club admins from Events to the separate Tournaments page.
   Theme-aware via design tokens; all elements are rendered directly by ClubEvents.razor
   so scoped CSS attributes land correctly. */
.ev-tourney-hint[b-6218uzla5k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.625rem 0.875rem;
    margin-bottom: 1rem;
    background: var(--surface);
    border: 1px solid var(--hairline);
    border-radius: 8px;
}

.ev-tourney-hint__text[b-6218uzla5k] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--fg-muted);
    font-size: 0.875rem;
}

.ev-tourney-hint__icon[b-6218uzla5k] {
    font-size: 1.15rem;
    color: var(--accent-text);
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/ClubLocationDetail.razor.rz.scp.css */
.lc-area-row[b-ewq6fagqsu],
.lc-area-add[b-ewq6fagqsu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--hairline, var(--rz-border-color));
    border-radius: 8px;
    background: var(--surface, var(--rz-base-100));
}

.lc-area-add[b-ewq6fagqsu] {
    margin-top: 0.75rem;
    border-style: dashed;
}

.lc-area-row--hidden[b-ewq6fagqsu] {
    opacity: 0.6;
}

.lc-area-row__name[b-ewq6fagqsu] {
    font-weight: 600;
}

.lc-upload[b-ewq6fagqsu] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.lc-gallery[b-ewq6fagqsu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem;
}

.lc-gallery__item[b-ewq6fagqsu] {
    position: relative;
    border: 1px solid var(--hairline, var(--rz-border-color));
    border-radius: 8px;
    overflow: hidden;
    background: var(--surface, var(--rz-base-100));
}

.lc-gallery__item--primary[b-ewq6fagqsu] {
    border-color: var(--accent, var(--rz-primary));
    box-shadow: 0 0 0 1px var(--accent, var(--rz-primary));
}

/* Thumbnail is a button so it opens the lightbox on click/Enter. */
.lc-gallery__open[b-ewq6fagqsu] {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}

.lc-gallery__item img[b-ewq6fagqsu] {
    width: 100%;
    height: 130px;
    object-fit: cover;
    display: block;
    transition: transform 0.15s ease;
}

.lc-gallery__open:hover img[b-ewq6fagqsu] {
    transform: scale(1.03);
}

.lc-gallery__bar[b-ewq6fagqsu] {
    display: flex;
    justify-content: space-between;
    padding: 0.35rem;
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/ClubSiteEdit.razor.rz.scp.css */
/* Site editor: controls on the left, sticky browser-framed whole-site preview on the right.
   The preview itself is the real PublicSiteShell (a child component), styled by the global
   public-site + theme stylesheets — these rules only frame and scale it. */

.cse-layout[b-05t6xyshyf] {
    display: grid;
    /* Give the left controls a comfortable (not cramped) fixed-ish width — enough for a section
       card's heading + its row of action buttons — and let the rest go to the preview, which fills
       its column at a true desktop width via the adaptive zoom (set in JS on the body). */
    grid-template-columns: minmax(440px, 520px) minmax(0, 1fr);
    /* The single row fills the layout height (minmax 0 floor so it can be shorter than its content,
       which is what lets each column's overflow:auto actually scroll instead of growing the row). */
    grid-template-rows: minmax(0, 1fr);
    gap: 1.5rem;
    /* Both panes fill the layout's height (set in JS to the remaining viewport) so each can scroll
       on its own — scrolling the editor controls on the left leaves the preview pinned on the right.
       (A plain position:sticky preview doesn't work: the app shell body's overflow captures it but
       the window is the real scroller, so it never sticks.) */
    align-items: stretch;
    overflow: hidden;
}

.cse-main[b-05t6xyshyf] {
    min-width: 0; /* let the editor column shrink instead of forcing the grid wider */
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px; /* breathing room for the scrollbar */
}

.cse-preview-col[b-05t6xyshyf] {
    /* min-width:0 stops the grid item growing to the zoomed preview's min-content width and blowing
       the page out; height:100% fills the split so the preview stays put while the left scrolls. */
    min-width: 0;
    height: 100%;
}

.cse-browser[b-05t6xyshyf] {
    /* Fill the (now wide) preview column, but cap it so on an ultra-wide monitor the site doesn't
       render absurdly wide — past this the column just has a little breathing room to the right. */
    max-width: 1480px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid color-mix(in srgb, var(--rz-text-color) 18%, transparent);
    border-radius: 10px;
    overflow: hidden;
    background: var(--rz-base-background-color, #fff);
    box-shadow: 0 10px 30px -14px rgba(0, 0, 0, 0.35);
}

/* Fake browser chrome — three dots + the public URL — so the pane reads as "this is your site". */
.cse-browser__bar[b-05t6xyshyf] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    background: color-mix(in srgb, var(--rz-text-color) 6%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--rz-text-color) 14%, transparent);
}

.cse-browser__dot[b-05t6xyshyf] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--rz-text-color) 24%, transparent);
}

.cse-browser__url[b-05t6xyshyf] {
    flex: 1;
    margin-left: 6px;
    font-family: ui-monospace, "IBM Plex Mono", SFMono-Regular, Menlo, monospace;
    font-size: 0.72rem;
    color: var(--rz-text-secondary-color, #777);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cse-browser__open[b-05t6xyshyf] {
    display: inline-flex;
    align-items: center;
    color: var(--rz-text-secondary-color, #777);
    text-decoration: none;
}

.cse-browser__open:hover[b-05t6xyshyf] {
    color: var(--rz-text-color, #222);
}

.cse-browser__open .material-icons[b-05t6xyshyf] {
    font-size: 16px;
}

.cse-browser__body[b-05t6xyshyf] {
    /* Fills the browser frame (which fills the split height); the rendered site scrolls inside it. */
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    background: #fff;
}

/* Scale the full desktop public layout to fit the frame. --cse-preview-zoom is set in JS from the
   frame's width (site-preview-fit.js) so the preview fills whatever width the column has and renders
   the site at a real desktop width; falls back to a sensible fixed scale before the script runs.
   zoom (not transform) so the scrollable height collapses with it — same approach as the sister app. */
.cse-preview-render[b-05t6xyshyf] {
    zoom: var(--cse-preview-zoom, 0.55);
}

/* Shown inside the framed preview when the selected sub-page has no sections yet. */
.cse-preview-emptypage[b-05t6xyshyf] {
    margin: 3rem auto;
    max-width: 720px;
    padding: 2.5rem 2rem;
    text-align: center;
    border: 2px dashed color-mix(in srgb, var(--rz-text-color) 22%, transparent);
    border-radius: 12px;
    color: var(--rz-text-secondary-color, #888);
    font-size: 0.95rem;
}

.cse-preview-empty[b-05t6xyshyf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: 100%;
    padding: 2rem;
    text-align: center;
    color: var(--rz-text-secondary-color, #888);
    font-size: 0.85rem;
}

.cse-preview-empty .material-icons[b-05t6xyshyf] {
    font-size: 1.6rem;
    opacity: 0.6;
}

/* ===== Global template panel — CSS-only swatch cards ===== */
/* Always-visible grid above the tabs. Each card is a palette+typography specimen of one template
   (ported from the sister app's vm-tpl-* grid onto Broadcast/Radzen tokens), so an admin reads the
   look at a glance before switching. Switching is non-destructive — see the editor's SelectTemplate. */
.cse-tpl-grid[b-05t6xyshyf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.cse-tpl-card[b-05t6xyshyf] {
    text-align: left;
    font-family: inherit;
    color: var(--rz-text-color);
    background: var(--rz-base-background-color, #fff);
    border: 1px solid color-mix(in srgb, var(--rz-text-color) 16%, transparent);
    border-radius: 10px;
    padding: 0.6rem;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cse-tpl-card:hover[b-05t6xyshyf] {
    border-color: color-mix(in srgb, var(--rz-primary) 55%, transparent);
}

.cse-tpl-card.on[b-05t6xyshyf] {
    border-color: var(--rz-primary);
    box-shadow: 0 0 0 1px var(--rz-primary);
    background: color-mix(in srgb, var(--rz-primary) 7%, transparent);
}

/* The specimen tile: bg + heading-font "Aa" + a 4px accent stripe along the bottom. */
.cse-tpl-swatch[b-05t6xyshyf] {
    height: 72px;
    margin-bottom: 0.5rem;
    border-radius: 7px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 0.5rem 0.6rem;
    font-family: var(--type-display, "Anton"), sans-serif;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.01em;
}

.cse-tpl-swatch[b-05t6xyshyf]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
}

/* Broadcast palette per template — paper #F5F1EA · ink #0A0A0A · court-red #DC2626. */
.cse-tpl-swatch.tpl-default[b-05t6xyshyf] {
    background: #f5f1ea;
    color: #0a0a0a;
}
.cse-tpl-swatch.tpl-default[b-05t6xyshyf]::after { background: #dc2626; }

.cse-tpl-swatch.tpl-kinetic-sport[b-05t6xyshyf] {
    background: #0a0a0a;
    color: #f5f1ea;
}
.cse-tpl-swatch.tpl-kinetic-sport[b-05t6xyshyf]::after { background: #dc2626; }

.cse-tpl-swatch.tpl-spirit-poster[b-05t6xyshyf] {
    background: #dc2626;
    color: #f5f1ea;
    justify-content: center;
    align-items: center;
}
.cse-tpl-swatch.tpl-spirit-poster[b-05t6xyshyf]::after { background: #0a0a0a; }

.cse-tpl-name[b-05t6xyshyf] {
    font-weight: 600;
    font-size: 0.82rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.cse-tpl-check[b-05t6xyshyf] {
    color: var(--rz-primary);
    font-size: 0.95rem;
}

.cse-tpl-note[b-05t6xyshyf] {
    font-size: 0.7rem;
    color: var(--rz-text-secondary-color, #777);
    line-height: 1.4;
    margin-top: 0.2rem;
}

/* Stack on narrower screens — the editor controls stay primary, the preview drops below, and the
   whole page scrolls normally (no split panes). The JS clears the inline height below this width. */
@media (max-width: 1180px) {
    .cse-tpl-grid[b-05t6xyshyf] {
        grid-template-columns: repeat(2, 1fr);
    }

    .cse-layout[b-05t6xyshyf] {
        /* minmax(0,1fr), not 1fr — a plain 1fr keeps a min-content floor and the zoomed preview
           would push the column (and the page) wide. */
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        height: auto !important;
        overflow: visible;
    }

    .cse-main[b-05t6xyshyf] {
        overflow: visible;
    }

    .cse-preview-col[b-05t6xyshyf] {
        height: auto;
    }

    .cse-browser[b-05t6xyshyf] {
        height: auto;
    }

    .cse-browser__body[b-05t6xyshyf] {
        flex: none;
        height: min(72vh, 760px);
    }
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/DocumentRequestDialog.razor.rz.scp.css */
.drd-hint[b-5xekwh2n1d] {
    margin-top: -6px;
    font-size: 13px;
    color: var(--fg-muted);
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/TournamentDetail.razor.rz.scp.css */
/* Read-only tournament view. Uses the management design tokens (this page is not under the
   .mp-root broadcast scope), so colours track theme + accent automatically. */

.td-desc[b-micjez8tjo] {
    margin: var(--space-3) 0 0;
    color: var(--fg-muted);
    font-size: var(--fs-body);
    line-height: 1.5;
    white-space: pre-wrap;
}

/* Header action buttons (Directions / Back to event). Plain anchors so external + internal
   links behave normally; styled to read as pills like the rest of the admin surface. */
.td-btn[b-micjez8tjo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 0.85rem;
    border: 1px solid var(--hairline-strong);
    border-radius: var(--radius-md);
    background: var(--surface);
    color: var(--fg);
    text-decoration: none;
    font-size: var(--fs-caption);
    font-weight: var(--weight-semibold);
    transition: color 120ms ease, border-color 120ms ease, background 120ms ease;
}

.td-btn.ghost[b-micjez8tjo] { background: transparent; }

.td-btn:hover[b-micjez8tjo],
.td-btn:focus-visible[b-micjez8tjo] {
    border-color: var(--accent);
    color: var(--accent-text);
    outline: none;
}

/* The Refresh action is a <button> (it fires a server call), not an anchor — reset native styling. */
button.td-btn[b-micjez8tjo] { cursor: pointer; font-family: inherit; }
button.td-btn:disabled[b-micjez8tjo] {
    opacity: 0.65;
    cursor: default;
    border-color: var(--hairline);
    color: var(--fg-muted);
}
button.td-btn:disabled:hover[b-micjez8tjo] { border-color: var(--hairline); color: var(--fg-muted); }

/* "Synced from AES · updated 2 min ago" line under the header. */
.td-synced[b-micjez8tjo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: var(--space-3) 0 0;
    color: var(--fg-muted);
    font-size: var(--fs-caption);
}
.td-synced .material-icons[b-micjez8tjo] { color: var(--accent-text); }

@keyframes td-spin-b-micjez8tjo { to { transform: rotate(360deg); } }
.td-spin[b-micjez8tjo] { animation: td-spin-b-micjez8tjo 1s linear infinite; }

/* Schedule list — one tappable row per match, linking to that match's event page. */
.td-sched[b-micjez8tjo] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.td-row[b-micjez8tjo] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid var(--hairline);
    text-decoration: none;
    color: var(--fg);
}

.td-row:first-child[b-micjez8tjo] { border-top: 0; }

.td-row:hover[b-micjez8tjo] {
    background: color-mix(in srgb, var(--accent) 7%, transparent);
}

/* Work/ref-duty rows aren't clickable (no event to open). */
.td-row--static[b-micjez8tjo] { cursor: default; }
.td-row--static:hover[b-micjez8tjo] { background: transparent; }

.td-when[b-micjez8tjo] {
    flex: 0 0 auto;
    width: 124px;
    display: flex;
    flex-direction: column;
}

.td-when .d[b-micjez8tjo] { font-weight: var(--weight-semibold); font-size: 0.875rem; }
.td-when .t[b-micjez8tjo] { color: var(--fg-muted); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }

.td-main[b-micjez8tjo] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.td-matchup[b-micjez8tjo] { font-weight: var(--weight-semibold); }

.td-team[b-micjez8tjo],
.td-court[b-micjez8tjo] {
    font-size: 0.75rem;
    color: var(--fg-muted);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-pill);
    padding: 1px 8px;
    white-space: nowrap;
}

.td-result[b-micjez8tjo] { flex: 0 0 auto; }

.td-badge[b-micjez8tjo] {
    font-family: var(--type-data);
    font-size: 0.8125rem;
    font-weight: var(--weight-bold);
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
}

.td-badge.win[b-micjez8tjo] { color: var(--semantic-success); background: color-mix(in srgb, var(--semantic-success) 14%, transparent); }
.td-badge.loss[b-micjez8tjo] { color: var(--semantic-danger); background: color-mix(in srgb, var(--semantic-danger) 14%, transparent); }
.td-badge.tie[b-micjez8tjo] { color: var(--fg-muted); background: color-mix(in srgb, var(--fg-muted) 14%, transparent); }
.td-badge.work[b-micjez8tjo] { color: var(--accent-text); background: var(--accent-soft); text-transform: uppercase; font-size: 0.6875rem; letter-spacing: 0.06em; }
.td-badge.cancel[b-micjez8tjo] {
    color: var(--fg-muted);
    background: transparent;
    border: 1px solid var(--hairline);
    text-transform: uppercase;
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
}

.td-pending[b-micjez8tjo] { color: var(--fg-dim); }
.td-go[b-micjez8tjo] { flex: 0 0 auto; color: var(--fg-dim); }

.td-row.cancelled .td-matchup[b-micjez8tjo] { text-decoration: line-through; color: var(--fg-muted); }

/* Phone: stack the matchup beneath the date/result line; drop the chevron to save width. */
@media (max-width: 640px) {
    .td-row[b-micjez8tjo] { flex-wrap: wrap; }
    .td-when[b-micjez8tjo] { width: auto; }
    .td-result[b-micjez8tjo] { margin-left: auto; }
    .td-main[b-micjez8tjo] { order: 3; flex-basis: 100%; }
    .td-go[b-micjez8tjo] { display: none; }
}
/* _content/Club.Manager.Web/Components/Pages/Clubs/TournamentPath.razor.rz.scp.css */
/* Live "what's next" path view. Uses the management design tokens (theme + accent aware). */

.tp-note[b-kz1c6gjd2f] {
    color: var(--fg-muted);
    font-size: var(--fs-body);
    padding: var(--space-3) 0;
}

.tp-loading[b-kz1c6gjd2f] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.tp-spin[b-kz1c6gjd2f] {
    font-size: 1.1rem;
    animation: tp-spin-b-kz1c6gjd2f 1s linear infinite;
}

@keyframes tp-spin-b-kz1c6gjd2f {
    to { transform: rotate(360deg); }
}

.tp-grid[b-kz1c6gjd2f] {
    display: grid;
    gap: var(--space-5);
}

.tp-h[b-kz1c6gjd2f] {
    margin: 0 0 var(--space-2);
    font-size: var(--fs-caption);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--fg-muted);
    font-weight: var(--weight-semibold);
}

/* ── Next up / You referee cards ── */
.tp-cards[b-kz1c6gjd2f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-3);
}

.tp-card[b-kz1c6gjd2f] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--surface);
}

.tp-card--next[b-kz1c6gjd2f] {
    border-color: var(--accent);
    background: var(--accent-soft);
}

.tp-card-lab[b-kz1c6gjd2f] {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: var(--weight-bold);
    color: var(--fg-muted);
}

.tp-card--next .tp-card-lab[b-kz1c6gjd2f] {
    color: var(--accent-text);
}

.tp-card-main[b-kz1c6gjd2f] {
    font-size: var(--fs-subtitle, 1.0625rem);
    font-weight: var(--weight-semibold);
    line-height: 1.2;
}

.tp-card-meta[b-kz1c6gjd2f] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: var(--fs-caption);
    color: var(--fg-muted);
}

.tp-when[b-kz1c6gjd2f] { font-weight: var(--weight-semibold); color: var(--fg); }
.tp-dot[b-kz1c6gjd2f] { color: var(--fg-dim); }

.tp-stage[b-kz1c6gjd2f] {
    margin-left: auto;
    font-family: var(--type-data);
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--fg-dim);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-pill);
    padding: 1px 8px;
}

.tp-watch[b-kz1c6gjd2f] {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    font-size: var(--fs-caption);
    color: var(--accent-text);
    text-decoration: none;
}
.tp-watch:hover[b-kz1c6gjd2f] { text-decoration: underline; }
.tp-watch .material-icons[b-kz1c6gjd2f] { font-size: 1.1rem; }

.tp-muted[b-kz1c6gjd2f] { color: var(--fg-dim); }

/* ── Possibilities / waiting-on ── */
.tp-poss[b-kz1c6gjd2f] {
    display: grid;
    gap: var(--space-2);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    padding: var(--space-3);
}

.tp-poss-row[b-kz1c6gjd2f] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--fs-caption);
}

.tp-poss-ic[b-kz1c6gjd2f] { font-size: 16px; color: var(--fg-dim); flex: 0 0 auto; }
.tp-poss-text[b-kz1c6gjd2f] { flex: 1 1 auto; min-width: 0; }
.tp-poss-win[b-kz1c6gjd2f] { color: var(--semantic-success); font-weight: var(--weight-semibold); margin-left: 4px; }
.tp-poss-when[b-kz1c6gjd2f] { color: var(--fg-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ── Standings table ── */
.tp-table[b-kz1c6gjd2f] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.tp-tr[b-kz1c6gjd2f] {
    display: grid;
    grid-template-columns: 28px 1fr 56px 56px 56px 52px;
    align-items: center;
    gap: var(--space-2);
    padding: 8px var(--space-3);
    border-top: 1px solid var(--hairline);
}

.tp-tr:first-child[b-kz1c6gjd2f] { border-top: 0; }

.tp-thead[b-kz1c6gjd2f] {
    background: var(--surface-raised);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fg-dim);
}

.tp-ours[b-kz1c6gjd2f] {
    background: var(--accent-soft);
    font-weight: var(--weight-semibold);
}

.tp-rank[b-kz1c6gjd2f] { color: var(--fg-muted); font-variant-numeric: tabular-nums; }
.tp-team[b-kz1c6gjd2f] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tp-num[b-kz1c6gjd2f] { text-align: right; font-family: var(--type-data); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }

/* ── Results ── */
.tp-matches[b-kz1c6gjd2f] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.tp-m[b-kz1c6gjd2f] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: 8px var(--space-3);
    border-top: 1px solid var(--hairline);
}

.tp-m:first-child[b-kz1c6gjd2f] { border-top: 0; }
.tp-m--ours[b-kz1c6gjd2f] { background: color-mix(in srgb, var(--accent) 6%, transparent); }

.tp-m-when[b-kz1c6gjd2f] { flex: 0 0 auto; width: 96px; display: flex; flex-direction: column; }
.tp-m-time[b-kz1c6gjd2f] { font-size: 0.8125rem; font-weight: var(--weight-semibold); }
.tp-m-court[b-kz1c6gjd2f] { font-size: 0.6875rem; color: var(--fg-muted); }

.tp-m-teams[b-kz1c6gjd2f] { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tp-vs[b-kz1c6gjd2f] { color: var(--fg-dim); font-size: 0.75rem; }
.tp-won[b-kz1c6gjd2f] { font-weight: var(--weight-bold); color: var(--semantic-success); }

.tp-m-stat[b-kz1c6gjd2f] { flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-2); }
.tp-score[b-kz1c6gjd2f] { font-family: var(--type-data); font-size: 0.8125rem; font-variant-numeric: tabular-nums; }

.tp-badge[b-kz1c6gjd2f] {
    font-size: 0.625rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0.04em;
    padding: 2px 7px;
    border-radius: var(--radius-pill);
}
.tp-badge.win[b-kz1c6gjd2f] { color: #fff; background: var(--semantic-success); }
.tp-badge.loss[b-kz1c6gjd2f] { color: #fff; background: var(--semantic-danger); }

@media (max-width: 640px) {
    .tp-tr[b-kz1c6gjd2f] { grid-template-columns: 24px 1fr 48px 48px 46px; }
    .tp-tr .tp-num:last-child[b-kz1c6gjd2f] { display: none; } /* drop Pts on narrow screens */
    .tp-m[b-kz1c6gjd2f] { flex-wrap: wrap; }
    .tp-m-teams[b-kz1c6gjd2f] { order: 3; flex-basis: 100%; }
    .tp-stage[b-kz1c6gjd2f] { margin-left: 0; }
}
/* _content/Club.Manager.Web/Components/Pages/Events/EventDetail.razor.rz.scp.css */
/* Location/address row beneath the KPI strip. Needs real bottom spacing so the next
   section's Anton headline ("ANNOUNCEMENTS") doesn't crowd the address. All elements
   here are rendered directly by EventDetail.razor, so scoped attributes land. */
.ed-location[b-nkigqc6ctl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: var(--space-4);
    margin-bottom: var(--space-6);
}

.ed-location__icon[b-nkigqc6ctl] {
    font-size: 1.25rem;
    color: var(--fg-muted);
}

.ed-location__text[b-nkigqc6ctl] {
    font-size: 1rem;
    color: var(--fg);
}

.ed-location__directions[b-nkigqc6ctl] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-left: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--accent-text);
    text-decoration: none;
    border: 1px solid var(--hairline);
    transition: background 0.12s ease, border-color 0.12s ease;
}

.ed-location__directions:hover[b-nkigqc6ctl] {
    background: var(--surface);
    border-color: var(--hairline-strong);
}

.ed-location__directions-icon[b-nkigqc6ctl] {
    font-size: 1rem;
}
/* _content/Club.Manager.Web/Components/Pages/Events/EventGalleryDialog.razor.rz.scp.css */
/* Event gallery management dialog. Plain elements rendered directly by the component, so the
   Blazor scope attribute lands on them. Uses the global design tokens from design-tokens.css. */

.egd-empty[b-szggmf97bw] {
    padding: var(--space-4);
    text-align: center;
    color: var(--fg-dim);
    font-size: var(--fs-caption);
    border: 1px dashed var(--hairline);
    border-radius: var(--radius-md);
}

.egd-list[b-szggmf97bw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.egd-item[b-szggmf97bw] {
    display: flex;
    gap: 0.85rem;
    padding: 0.75rem;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.egd-thumb[b-szggmf97bw] {
    flex: 0 0 auto;
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 1px solid var(--hairline);
}

.egd-fields[b-szggmf97bw] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.egd-toggles[b-szggmf97bw] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: var(--fs-caption);
    color: var(--fg-muted);
}

.egd-actions[b-szggmf97bw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.egd-saved[b-szggmf97bw] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: var(--fs-caption);
    color: var(--semantic-success);
}
/* _content/Club.Manager.Web/Components/Pages/Events/EventPhotoDialog.razor.rz.scp.css */
/* Photo viewer dialog. Rendered outside .mp-root, so it uses the GLOBAL design tokens
   (--fg, --fg-muted, --accent, --surface, --hairline, --bg, --semantic-*) — not the .mp-root
   ev- aliases. Plain elements rendered directly by the component, so the scope attribute lands. */

.epd-loading[b-tt01kpoutg] { padding: var(--space-5); color: var(--fg-muted); text-align: center; }

.epd[b-tt01kpoutg] { display: flex; flex-direction: column; gap: var(--space-3); }

.epd-imgwrap[b-tt01kpoutg] { display: block; line-height: 0; }
.epd-img[b-tt01kpoutg] {
    width: 100%;
    max-height: 60vh;
    object-fit: contain;
    background: #000;
    border-radius: var(--radius-md);
    display: block;
}

.epd-meta[b-tt01kpoutg] {
    display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
    font-size: var(--fs-caption); color: var(--fg-muted);
}
.epd-full[b-tt01kpoutg] { color: var(--accent-text); text-decoration: none; white-space: nowrap; }
.epd-full:hover[b-tt01kpoutg] { text-decoration: underline; }

.epd-desc[b-tt01kpoutg] { font-size: var(--fs-body); color: var(--fg); white-space: pre-wrap; }

/* responses */
.epd-responses[b-tt01kpoutg] {
    display: flex; flex-direction: column; gap: var(--space-3);
    border-top: 1px solid var(--hairline); padding-top: var(--space-3);
}
.epd-resphead[b-tt01kpoutg] {
    font-family: var(--type-data); font-size: 10px; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--fg-dim);
}
.epd-resp[b-tt01kpoutg] { display: flex; gap: var(--space-3); }
.epd-resp__av[b-tt01kpoutg] {
    flex: 0 0 auto; width: 30px; height: 30px; border-radius: var(--radius-pill);
    display: flex; align-items: center; justify-content: center;
    background: var(--accent); color: var(--accent-fg);
    font-family: var(--type-data); font-weight: var(--weight-semibold); font-size: 11px;
}
.epd-resp__body[b-tt01kpoutg] { flex: 1 1 auto; min-width: 0; }
.epd-resp__head[b-tt01kpoutg] { display: flex; align-items: center; gap: var(--space-2); }
.epd-resp__head strong[b-tt01kpoutg] { font-size: 13.5px; color: var(--fg); }
.epd-resp__time[b-tt01kpoutg] { font-family: var(--type-data); font-size: 10.5px; color: var(--fg-muted); }
.epd-resp__text[b-tt01kpoutg] { font-size: var(--fs-body); color: var(--fg); white-space: pre-wrap; margin-top: 1px; }

.epd-compose[b-tt01kpoutg] { display: flex; gap: var(--space-2); align-items: flex-end; }
.epd-input[b-tt01kpoutg] {
    flex: 1 1 auto; resize: vertical; min-height: 38px;
    background: var(--bg); color: var(--fg);
    border: 1px solid var(--hairline); border-radius: var(--radius-sm); padding: 8px 10px;
    font-family: inherit; font-size: var(--fs-body);
}
.epd-input:focus[b-tt01kpoutg] { outline: none; border-color: var(--accent); }

.epd-foot[b-tt01kpoutg] { display: flex; justify-content: flex-end; }

.epd-btn[b-tt01kpoutg] {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.45rem 0.9rem; border-radius: var(--radius-md); cursor: pointer;
    border: 1px solid var(--accent); background: var(--accent); color: var(--accent-fg);
    font-weight: var(--weight-semibold); font-size: var(--fs-caption);
}
.epd-btn:disabled[b-tt01kpoutg] { opacity: 0.6; cursor: default; }
.epd-btn--light[b-tt01kpoutg] { background: transparent; color: var(--fg); border-color: var(--hairline); }

.epd-iconbtn[b-tt01kpoutg] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; padding: 0; background: transparent;
    border: 1px solid var(--hairline); border-radius: var(--radius-sm);
    color: var(--fg-muted); cursor: pointer;
}
.epd-iconbtn:hover[b-tt01kpoutg] { color: var(--semantic-danger); border-color: color-mix(in srgb, var(--semantic-danger) 45%, transparent); }
/* _content/Club.Manager.Web/Components/Pages/Fan.razor.rz.scp.css */
/* Fan feed — read-only schedule + results + stat leaders per followed team. Plain elements rendered
   directly by Fan.razor, so Blazor's scope attribute lands on them and these rules match. Tokens come
   from design-tokens.css (theme- and accent-aware). Mirrors Following.razor.css (fl-) with fn- prefix. */

.fn-grid[b-8y3t9ba71g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-5);
}

.fn-card[b-8y3t9ba71g] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-lg);
    background: var(--surface);
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.fn-card__head[b-8y3t9ba71g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fn-card__name[b-8y3t9ba71g] {
    font-size: 1.35rem;
    color: var(--fg);
}

.fn-block__title[b-8y3t9ba71g] {
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--hairline);
    margin-bottom: var(--space-3);
}

.fn-empty[b-8y3t9ba71g] {
    color: var(--fg-dim);
    font-size: var(--fs-caption);
    padding: var(--space-2) 0;
}

/* ── schedule ── */
.fn-sched[b-8y3t9ba71g],
.fn-results[b-8y3t9ba71g] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.fn-sched__row[b-8y3t9ba71g] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.fn-link[b-8y3t9ba71g] {
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-sm);
    transition: background 0.15s ease;
}
.fn-link:hover[b-8y3t9ba71g] {
    background: color-mix(in srgb, var(--accent) 8%, transparent);
}

.fn-date[b-8y3t9ba71g] {
    flex: 0 0 auto;
    width: 40px;
    text-align: center;
    line-height: 1.1;
    color: var(--fg-muted);
}

.fn-date__dow[b-8y3t9ba71g] { display: block; font-size: 0.625rem; letter-spacing: 0.06em; }
.fn-date__day[b-8y3t9ba71g] { display: block; font-size: 1.25rem; font-weight: var(--weight-semibold); color: var(--fg); }
.fn-date__mon[b-8y3t9ba71g] { display: block; font-size: 0.625rem; letter-spacing: 0.06em; }

.fn-sched__title[b-8y3t9ba71g] {
    font-size: var(--fs-body);
    color: var(--fg);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.fn-sched__sub[b-8y3t9ba71g] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
    margin-top: 2px;
}

.fn-tag[b-8y3t9ba71g] {
    font-family: var(--type-body);
    font-size: 0.5625rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0.08em;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background: var(--accent-soft);
    color: var(--fg);
}

/* ── results ── */
.fn-result[b-8y3t9ba71g] {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
}

.fn-badge[b-8y3t9ba71g] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--type-data);
    font-weight: var(--weight-bold);
    font-size: 0.8125rem;
}

.fn-badge--w[b-8y3t9ba71g] { background: color-mix(in srgb, var(--semantic-success) 22%, transparent); color: var(--semantic-success); }
.fn-badge--l[b-8y3t9ba71g] { background: color-mix(in srgb, var(--semantic-danger) 18%, transparent); color: var(--semantic-danger); }
.fn-badge--n[b-8y3t9ba71g] { background: var(--surface-raised); color: var(--fg-muted); }

.fn-result__body[b-8y3t9ba71g] { flex: 1 1 auto; min-width: 0; }

.fn-result__line[b-8y3t9ba71g] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    align-items: baseline;
}

.fn-result__opp[b-8y3t9ba71g] { font-size: var(--fs-body); color: var(--fg); font-weight: var(--weight-medium); }
.fn-result__score[b-8y3t9ba71g] { font-size: var(--fs-body); color: var(--fg); font-weight: var(--weight-semibold); }

.fn-result__sub[b-8y3t9ba71g] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
    margin-top: 2px;
}

/* ── stat leaders ── */
.fn-leaders[b-8y3t9ba71g] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.fn-leadgrp__stat[b-8y3t9ba71g] {
    margin-bottom: var(--space-2);
}

.fn-leadlist[b-8y3t9ba71g] {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: lead;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.fn-leadrow[b-8y3t9ba71g] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
    counter-increment: lead;
}

.fn-leadrow__name[b-8y3t9ba71g] {
    font-size: var(--fs-body);
    color: var(--fg);
}
.fn-leadrow__name[b-8y3t9ba71g]::before {
    content: counter(lead) ". ";
    color: var(--fg-dim);
    font-family: var(--type-data);
    margin-right: var(--space-1);
}

.fn-leadrow__total[b-8y3t9ba71g] {
    font-size: var(--fs-body);
    color: var(--fg);
    font-weight: var(--weight-semibold);
}
/* _content/Club.Manager.Web/Components/Pages/Following.razor.rz.scp.css */
/* Supporter feed — read-only schedule + results per followed athlete. Plain elements rendered
   directly by Following.razor, so Blazor's scope attribute lands on them and these rules match.
   Tokens come from design-tokens.css (theme- and accent-aware). */

.fl-grid[b-nyy6atkd2m] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-5);
}

.fl-card[b-nyy6atkd2m] {
    border: 1px solid var(--hairline);
    border-radius: var(--radius-lg);
    background: var(--surface);
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.fl-card__head[b-nyy6atkd2m] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.fl-avatar[b-nyy6atkd2m] {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    background: var(--accent);
    color: var(--accent-fg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--type-data);
    font-weight: var(--weight-semibold);
    font-size: 1rem;
}

.fl-card__name[b-nyy6atkd2m] {
    font-size: 1.35rem;
    color: var(--fg);
}

.fl-card__meta[b-nyy6atkd2m] {
    margin-top: 2px;
}

.fl-block__title[b-nyy6atkd2m] {
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--hairline);
    margin-bottom: var(--space-3);
}

.fl-empty[b-nyy6atkd2m] {
    color: var(--fg-dim);
    font-size: var(--fs-caption);
    padding: var(--space-2) 0;
}

/* ── schedule ── */
.fl-sched[b-nyy6atkd2m],
.fl-results[b-nyy6atkd2m] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.fl-sched__row[b-nyy6atkd2m] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* Schedule/result rows link to the event detail (gallery + scores). Keep them looking like rows,
   not blue links, with a subtle hover affordance. */
.fl-link[b-nyy6atkd2m] {
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-sm);
    transition: background 0.15s ease;
}
.fl-link:hover[b-nyy6atkd2m] {
    background: color-mix(in srgb, var(--accent) 8%, transparent);
}

.fl-date[b-nyy6atkd2m] {
    flex: 0 0 auto;
    width: 40px;
    text-align: center;
    line-height: 1.1;
    color: var(--fg-muted);
}

.fl-date__dow[b-nyy6atkd2m] { display: block; font-size: 0.625rem; letter-spacing: 0.06em; }
.fl-date__day[b-nyy6atkd2m] { display: block; font-size: 1.25rem; font-weight: var(--weight-semibold); color: var(--fg); }
.fl-date__mon[b-nyy6atkd2m] { display: block; font-size: 0.625rem; letter-spacing: 0.06em; }

.fl-sched__title[b-nyy6atkd2m] {
    font-size: var(--fs-body);
    color: var(--fg);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.fl-sched__sub[b-nyy6atkd2m] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
    margin-top: 2px;
}

.fl-tag[b-nyy6atkd2m] {
    font-family: var(--type-body);
    font-size: 0.5625rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0.08em;
    padding: 1px 5px;
    border-radius: var(--radius-sm);
    background: var(--accent-soft);
    color: var(--fg);
}

/* ── results ── */
.fl-result[b-nyy6atkd2m] {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
}

.fl-badge[b-nyy6atkd2m] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--type-data);
    font-weight: var(--weight-bold);
    font-size: 0.8125rem;
}

.fl-badge--w[b-nyy6atkd2m] { background: color-mix(in srgb, var(--semantic-success) 22%, transparent); color: var(--semantic-success); }
.fl-badge--l[b-nyy6atkd2m] { background: color-mix(in srgb, var(--semantic-danger) 18%, transparent); color: var(--semantic-danger); }
.fl-badge--t[b-nyy6atkd2m] { background: color-mix(in srgb, var(--fg-muted) 18%, transparent); color: var(--fg-muted); }

.fl-result__body[b-nyy6atkd2m] { flex: 1 1 auto; min-width: 0; }

.fl-result__line[b-nyy6atkd2m] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    align-items: baseline;
}

.fl-result__opp[b-nyy6atkd2m] { font-size: var(--fs-body); color: var(--fg); font-weight: var(--weight-medium); }
.fl-result__score[b-nyy6atkd2m] { font-size: var(--fs-body); color: var(--fg); font-weight: var(--weight-semibold); }

.fl-result__sub[b-nyy6atkd2m] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
    margin-top: 2px;
    display: flex;
    gap: var(--space-3);
}

.fl-sets[b-nyy6atkd2m] { color: var(--fg-dim); }

.fl-stats[b-nyy6atkd2m] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-2);
}

.fl-stat[b-nyy6atkd2m] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
}

.fl-stat strong[b-nyy6atkd2m] { color: var(--fg); margin-right: 2px; }
/* _content/Club.Manager.Web/Components/Pages/Landing.razor.rz.scp.css */
/* Sign-in modal — editorial paper card overlaid on a dimmed cream wash.
   Reuses landing.css custom properties (--paper, --ink, --accent, etc.) which
   are inherited from the .lm-root ancestor. All elements are authored directly
   in Landing.razor, so the scope attribute lands on them and no ::deep needed. */

/* The "Sign in" mast button — strip default <button> chrome so it visually
   matches the anchor links it sits next to. */
.lm-signin-trigger[b-aisd802shs] {
    background: transparent;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.lm-signin-trigger.lm-btn[b-aisd802shs] {
    /* When .lm-btn is also applied (footer Sign in), restore the button's
       intended padding/border the .lm-btn rules expect. */
    padding: 9px 14px;
    border: 1px solid currentColor;
}

/* Overlay covers viewport; dim the underlying page with a warm-ink wash so
   the cream paper modal sits above without the cold pure-black feel of a
   default backdrop. */
.lm-modal-overlay[b-aisd802shs] {
    position: fixed;
    inset: 0;
    background: rgba(26, 22, 16, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 24px;
    animation: lm-modal-overlay-in-b-aisd802shs 140ms ease-out;
}

@keyframes lm-modal-overlay-in-b-aisd802shs {
    from { opacity: 0; }
    to { opacity: 1; }
}

.lm-modal[b-aisd802shs] {
    background: var(--paper);
    color: var(--ink);
    border-top: 2px solid var(--ink);
    border-radius: 4px;
    width: 100%;
    max-width: 440px;
    padding: 32px 32px 28px;
    position: relative;
    box-shadow: 0 24px 60px rgba(26, 22, 16, 0.35);
    animation: lm-modal-in-b-aisd802shs 180ms ease-out;
}

@keyframes lm-modal-in-b-aisd802shs {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.lm-modal-close[b-aisd802shs] {
    position: absolute;
    top: 10px;
    right: 12px;
    background: transparent;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: var(--muted);
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.lm-modal-close:hover[b-aisd802shs] {
    color: var(--ink);
    background: var(--paper-2);
}

.lm-modal-eyebrow[b-aisd802shs] {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 500;
    margin-bottom: 8px;
}

.lm-modal-title[b-aisd802shs] {
    font-family: 'DM Serif Display', serif;
    font-size: 36px;
    line-height: 1;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}

.lm-modal-deck[b-aisd802shs] {
    font-family: 'Newsreader', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--muted);
    margin: 0 0 20px;
}

.lm-modal-deck a[b-aisd802shs] {
    color: var(--accent-text);
    text-decoration: none;
    font-weight: 600;
}

.lm-modal-deck a:hover[b-aisd802shs] {
    text-decoration: underline;
}

.lm-modal-error[b-aisd802shs] {
    background: rgba(168, 40, 31, 0.10);
    border: 1px solid rgba(168, 40, 31, 0.3);
    color: var(--danger, #a8281f);
    padding: 10px 12px;
    border-radius: 4px;
    font-size: 13px;
    margin-bottom: 16px;
}

.lm-modal-form[b-aisd802shs] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lm-field[b-aisd802shs] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lm-field-label[b-aisd802shs] {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 500;
}

.lm-field input[b-aisd802shs] {
    appearance: none;
    -webkit-appearance: none;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 4px;
    padding: 10px 12px;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    color: var(--ink);
    transition: border-color 140ms ease, background 140ms ease;
}

.lm-field input:focus[b-aisd802shs] {
    outline: none;
    border-color: var(--ink);
    background: var(--paper);
}

.lm-field input:hover[b-aisd802shs] {
    border-color: var(--rule-hi);
}

.lm-modal-submit[b-aisd802shs] {
    margin-top: 4px;
    width: 100%;
    justify-content: center;
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/EnterResultDialog.razor.rz.scp.css */
.erd-teams[b-5rv610lo8d] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.75rem;
}

.erd-side[b-5rv610lo8d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.erd-side:first-child[b-5rv610lo8d] {
    justify-content: flex-end;
}

.erd-name[b-5rv610lo8d] {
    font-weight: var(--weight-semibold, 600);
}

.erd-vs[b-5rv610lo8d] {
    color: var(--fg-dim);
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/GenerateBracketDialog.razor.rz.scp.css */
.gbd-order[b-sfof81mmrt] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    max-height: 320px;
    overflow-y: auto;
}

.gbd-order__row[b-sfof81mmrt] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--hairline, #e3e3e3);
    border-radius: 6px;
}

.gbd-order__seed[b-sfof81mmrt] {
    width: 1.6em;
    text-align: center;
    color: var(--fg-dim, #888);
}

.gbd-order__name[b-sfof81mmrt] {
    flex: 1;
    font-weight: 600;
}

.gbd-order__moves[b-sfof81mmrt] {
    display: flex;
    gap: 0.2rem;
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueEvents.razor.rz.scp.css */
.lev-list[b-vezmmchsnl] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.lev-item[b-vezmmchsnl] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.7rem 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.lev-item:last-child[b-vezmmchsnl] {
    border-bottom: 0;
}

.lev-item--past[b-vezmmchsnl] {
    opacity: 0.6;
}

.lev-item__icon[b-vezmmchsnl] {
    margin-top: 0.1rem;
    color: var(--accent-text);
    font-size: 1.4rem;
}

.lev-item__body[b-vezmmchsnl] {
    flex: 1;
    min-width: 0;
}

.lev-item__head[b-vezmmchsnl] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.lev-item__title[b-vezmmchsnl] {
    font-size: 1.05rem;
    line-height: 1.15;
}

.lev-item__type[b-vezmmchsnl] {
    color: var(--fg-muted);
    border: 1px solid var(--hairline-strong);
    border-radius: 999px;
    padding: 0.02rem 0.45rem;
}

.lev-item__when[b-vezmmchsnl] {
    margin: 0.2rem 0 0;
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.lev-item__loc[b-vezmmchsnl] {
    color: var(--fg-muted);
}

.lev-item__tz[b-vezmmchsnl] {
    color: var(--fg-dim);
    font-size: 0.78rem;
}

.lev-item__desc[b-vezmmchsnl] {
    margin: 0.3rem 0 0;
    font-size: 0.875rem;
    color: var(--fg-dim);
}

.lev-empty[b-vezmmchsnl] {
    margin: 0;
    color: var(--fg-dim);
    font-size: 0.875rem;
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueLocationDetail.razor.rz.scp.css */
.lld-list[b-cvwpg52kzb] {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.lld-row[b-cvwpg52kzb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.lld-row:last-child[b-cvwpg52kzb] {
    border-bottom: 0;
}

.lld-row__main[b-cvwpg52kzb] {
    flex: 1;
}

.lld-row__sub[b-cvwpg52kzb] {
    color: var(--fg-muted);
    font-size: 0.875rem;
}

.lld-empty[b-cvwpg52kzb] {
    margin: 0 0 0.75rem;
    color: var(--fg-dim);
    font-size: 0.875rem;
}

.lld-add[b-cvwpg52kzb] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueLocations.razor.rz.scp.css */
.llo-grid[b-wstt05q6up] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.llo-card[b-wstt05q6up] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.llo-card__head[b-wstt05q6up] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}

.llo-card__name[b-wstt05q6up] {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.1;
}

.llo-card__addr[b-wstt05q6up] {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: var(--fg-muted);
}

.llo-card__tags[b-wstt05q6up] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.llo-tag[b-wstt05q6up] {
    padding: 0.05rem 0.5rem;
    border: 1px solid var(--hairline-strong);
    border-radius: 999px;
    color: var(--fg-muted);
}

.llo-tag--off[b-wstt05q6up] {
    color: var(--semantic-warning, var(--fg-muted));
    border-color: currentColor;
}

.llo-card__meta[b-wstt05q6up] {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--fg-muted);
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueStandings.razor.rz.scp.css */
.lst-table[b-jqe6x8s5mx] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.lst-table th[b-jqe6x8s5mx] {
    text-align: right;
    padding: 0.35rem 0.5rem;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fg-dim);
    border-bottom: 1px solid var(--hairline-strong);
}

.lst-table td[b-jqe6x8s5mx] {
    text-align: right;
    padding: 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.lst-table tr:last-child td[b-jqe6x8s5mx] {
    border-bottom: 0;
}

.lst-rank[b-jqe6x8s5mx] {
    width: 36px;
    text-align: center !important;
    color: var(--fg-muted);
}

.lst-team[b-jqe6x8s5mx] {
    text-align: left !important;
    font-weight: var(--weight-semibold, 600);
}

.lst-pct[b-jqe6x8s5mx] {
    width: 64px;
    color: var(--accent-text);
    font-variant-numeric: tabular-nums;
}

.lst-table td.cm-data[b-jqe6x8s5mx] {
    font-variant-numeric: tabular-nums;
    width: 40px;
}

/* Points — the headline ranking number. */
.lst-pts[b-jqe6x8s5mx] {
    width: 44px;
    font-weight: var(--weight-bold, 700);
    color: var(--fg);
}

.lst-empty[b-jqe6x8s5mx] {
    margin: 0;
    color: var(--fg-dim);
    font-size: 0.875rem;
}

.lst-results[b-jqe6x8s5mx] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lst-result[b-jqe6x8s5mx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.lst-result:last-child[b-jqe6x8s5mx] {
    border-bottom: 0;
}

.lst-result__when[b-jqe6x8s5mx] {
    width: 60px;
    color: var(--fg-muted);
    font-size: 0.8125rem;
}

.lst-result__line[b-jqe6x8s5mx] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.lst-result__score[b-jqe6x8s5mx] {
    font-variant-numeric: tabular-nums;
    font-weight: var(--weight-semibold, 600);
    color: var(--fg-muted);
}

.lst-win[b-jqe6x8s5mx] {
    font-weight: var(--weight-semibold, 600);
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueTeams.razor.rz.scp.css */
.lt-grid[b-ukxn75q9z9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1rem;
}

.lt-card[b-ukxn75q9z9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lt-card__head[b-ukxn75q9z9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}

.lt-card__name[b-ukxn75q9z9] {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.1;
}

.lt-card__tags[b-ukxn75q9z9] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.35rem;
}

.lt-tag[b-ukxn75q9z9] {
    padding: 0.1rem 0.55rem;
    border: 1px solid var(--hairline-strong);
    border-radius: 999px;
    color: var(--fg-muted);
}

.lt-tag--pending[b-ukxn75q9z9] {
    color: var(--accent-text);
    border-color: var(--accent-text);
}

.lt-card__nocontact[b-ukxn75q9z9] {
    margin: 0;
    color: var(--fg-dim);
    font-size: 0.875rem;
}

.lt-contacts[b-ukxn75q9z9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lt-contact[b-ukxn75q9z9] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.5rem 0.6rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    border-radius: 6px;
}

.lt-contact__role[b-ukxn75q9z9] {
    color: var(--fg-dim);
}

.lt-contact__name[b-ukxn75q9z9] {
    font-weight: 600;
}

.lt-contact__links[b-ukxn75q9z9] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 0.15rem;
}

.lt-contact__links a[b-ukxn75q9z9] {
    color: var(--accent-text);
    text-decoration: none;
}

.lt-contact__links a:hover[b-ukxn75q9z9] {
    text-decoration: underline;
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueTournamentDetail.razor.rz.scp.css */
.ltd-desc[b-rbq47jmslv] {
    margin: 0 0 1rem;
    color: var(--fg-muted);
    max-width: 70ch;
}

.ltd-table[b-rbq47jmslv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.ltd-table th[b-rbq47jmslv] {
    text-align: left;
    padding: 0.35rem 0.5rem;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--fg-dim);
    border-bottom: 1px solid var(--hairline-strong);
}

.ltd-table td[b-rbq47jmslv] {
    padding: 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.ltd-table tr:last-child td[b-rbq47jmslv] {
    border-bottom: 0;
}

.ltd-team[b-rbq47jmslv] {
    font-weight: var(--weight-semibold, 600);
}

.ltd-fee[b-rbq47jmslv] {
    width: 200px;
}

.ltd-actions[b-rbq47jmslv] {
    width: 48px;
    text-align: right;
}

.ltd-pill[b-rbq47jmslv] {
    cursor: pointer;
    font: inherit;
    font-size: 0.8125rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--hairline-strong);
    background: transparent;
}

.ltd-pill--paid[b-rbq47jmslv] {
    color: var(--semantic-success, var(--accent-text));
    border-color: currentColor;
}

.ltd-pill--unpaid[b-rbq47jmslv] {
    color: var(--fg-muted);
}

.ltd-pill:hover[b-rbq47jmslv] {
    border-color: var(--fg);
}

/* Groups + bracket structure */
.ltd-structure[b-rbq47jmslv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width: 820px) {
    .ltd-structure[b-rbq47jmslv] {
        grid-template-columns: 1fr;
    }
}

.ltd-sub[b-rbq47jmslv] {
    margin: 0 0 0.6rem;
    color: var(--fg-dim);
}

.ltd-groups[b-rbq47jmslv] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ltd-group[b-rbq47jmslv] {
    border: 1px solid var(--hairline);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    background: var(--surface-raised);
}

.ltd-group__name[b-rbq47jmslv] {
    font-size: 1rem;
    margin-bottom: 0.3rem;
}

.ltd-group__teams[b-rbq47jmslv] {
    list-style: none;
    margin: 0 0 0.5rem;
    padding: 0;
}

.ltd-group__teams li[b-rbq47jmslv] {
    padding: 0.1rem 0;
}

.ltd-seed[b-rbq47jmslv] {
    display: inline-block;
    width: 1.4em;
    color: var(--fg-dim);
}

.ltd-group__matches[b-rbq47jmslv] {
    list-style: none;
    margin: 0;
    padding: 0.4rem 0 0;
    border-top: 1px dashed var(--hairline);
    font-size: 0.8125rem;
    color: var(--fg-muted);
}

.ltd-group__matches li[b-rbq47jmslv] {
    padding: 0.08rem 0;
}

.ltd-bracket[b-rbq47jmslv] {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.ltd-round[b-rbq47jmslv] {
    min-width: 180px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ltd-round__name[b-rbq47jmslv] {
    color: var(--fg-dim);
}

.ltd-bmatch[b-rbq47jmslv] {
    border: 1px solid var(--hairline);
    border-radius: 6px;
    padding: 0.4rem 0.5rem;
    background: var(--surface-raised);
    font-size: 0.875rem;
}

.ltd-bmatch__code[b-rbq47jmslv] {
    display: block;
    font-size: 0.65rem;
    color: var(--fg-dim);
    letter-spacing: 0.04em;
}

.ltd-vs[b-rbq47jmslv] {
    color: var(--fg-dim);
    padding: 0 0.15rem;
}

/* Champion banner */
.ltd-champion[b-rbq47jmslv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0 0 1rem;
    padding: 0.6rem 1rem;
    border: 1px solid var(--accent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.ltd-champion__icon[b-rbq47jmslv] {
    font-size: 1.4rem;
}

.ltd-champion__label[b-rbq47jmslv] {
    color: var(--fg-dim);
}

.ltd-champion__name[b-rbq47jmslv] {
    font-size: 1.25rem;
    color: var(--accent-text);
}

.ltd-hint[b-rbq47jmslv] {
    margin: 0 0 1rem;
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.ltd-hint--muted[b-rbq47jmslv] {
    margin: 0 0 0.6rem;
    color: var(--fg-dim);
}

/* Group standings */
.ltd-standings[b-rbq47jmslv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
    margin-bottom: 0.5rem;
}

.ltd-standings th[b-rbq47jmslv] {
    text-align: right;
    padding: 0.15rem 0.35rem;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--fg-dim);
    border-bottom: 1px solid var(--hairline-strong);
}

.ltd-standings td[b-rbq47jmslv] {
    text-align: right;
    padding: 0.2rem 0.35rem;
    border-bottom: 1px solid var(--hairline);
}

.ltd-standings tr:last-child td[b-rbq47jmslv] {
    border-bottom: 0;
}

.ltd-standings__rank[b-rbq47jmslv] {
    width: 1.6rem;
    text-align: center !important;
}

.ltd-standings__team[b-rbq47jmslv] {
    text-align: left !important;
    font-weight: var(--weight-semibold, 600);
}

/* A qualifying (advancing) position. */
.ltd-adv td[b-rbq47jmslv] {
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.ltd-adv .ltd-standings__rank[b-rbq47jmslv] {
    color: var(--accent-text);
    font-weight: var(--weight-bold, 700);
}

/* Group fixtures (clickable to enter a result) */
.ltd-fixtures[b-rbq47jmslv] {
    list-style: none;
    margin: 0;
    padding: 0.4rem 0 0;
    border-top: 1px dashed var(--hairline);
}

.ltd-fx[b-rbq47jmslv] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0.3rem;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.8125rem;
}

.ltd-fx:hover[b-rbq47jmslv] {
    background: color-mix(in srgb, var(--fg) 7%, transparent);
}

.ltd-fx__side[b-rbq47jmslv] {
    text-align: right;
    color: var(--fg-muted);
}

.ltd-fx__side--away[b-rbq47jmslv] {
    text-align: left;
}

.ltd-fx__score[b-rbq47jmslv] {
    min-width: 2.5rem;
    text-align: center;
    color: var(--fg-dim);
}

.ltd-fx--played .ltd-fx__score[b-rbq47jmslv] {
    color: var(--fg);
    font-weight: var(--weight-semibold, 600);
}

/* Bracket matches */
.ltd-bmatch--playable[b-rbq47jmslv] {
    cursor: pointer;
}

.ltd-bmatch--playable:hover[b-rbq47jmslv] {
    border-color: var(--fg);
}

.ltd-bmatch__sides[b-rbq47jmslv] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.15rem;
}

.ltd-bmatch__side[b-rbq47jmslv] {
    color: var(--fg-muted);
}

.ltd-bmatch__side:first-child[b-rbq47jmslv] {
    text-align: right;
}

.ltd-bmatch__score[b-rbq47jmslv] {
    min-width: 2.3rem;
    text-align: center;
    color: var(--fg-dim);
}

.ltd-bmatch--played .ltd-bmatch__score[b-rbq47jmslv] {
    color: var(--fg);
    font-weight: var(--weight-semibold, 600);
}

/* Winning side in any match. */
.ltd-win[b-rbq47jmslv] {
    color: var(--fg) !important;
    font-weight: var(--weight-bold, 700);
}
/* _content/Club.Manager.Web/Components/Pages/Leagues/LeagueTournaments.razor.rz.scp.css */
.lto-grid[b-i1sq96pmnz] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.lto-card[b-i1sq96pmnz] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.lto-card__head[b-i1sq96pmnz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}

.lto-card__name[b-i1sq96pmnz] {
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.1;
}

.lto-card__dates[b-i1sq96pmnz] {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: var(--fg-muted);
}

.lto-card__tags[b-i1sq96pmnz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lto-tag[b-i1sq96pmnz] {
    padding: 0.05rem 0.5rem;
    border: 1px solid var(--hairline-strong);
    border-radius: 999px;
    color: var(--fg-muted);
}

.lto-tag--off[b-i1sq96pmnz] {
    color: var(--semantic-warning, var(--fg-muted));
    border-color: currentColor;
}

.lto-card__meta[b-i1sq96pmnz] {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--fg-muted);
}
/* _content/Club.Manager.Web/Components/Pages/Matches/Scorecard.razor.rz.scp.css */
/* Scoped CSS for the live scorecard. Sized for mobile-first use (parent tapping on a
   phone in the stands); scales up cleanly on desktop. All sizing uses comfortable touch
   targets — minimum 44px for any tappable control, with the per-player stat steppers at
   56px so they're fast and safe to hit one-handed.

   Colours come from the app's theme-aware design tokens (--bg/--surface/--fg/--accent…
   in design-tokens.css), NOT Radzen's --rz-* variables — the latter weren't flipping with
   the [data-theme] toggle, which is why dark mode rendered light surfaces under light text. */

.cm-scorecard[b-mkcqkv1txl] {
    padding: 0.75rem;
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cm-scorecard__header[b-mkcqkv1txl] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cm-scorecard__back[b-mkcqkv1txl] {
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 999px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.cm-scorecard__title[b-mkcqkv1txl] {
    flex: 1;
}

.cm-scorecard__matchup[b-mkcqkv1txl] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--fg);
}

.cm-scorecard__meta[b-mkcqkv1txl] {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

/* --- Scoreboard --- */

/* Stacked so two side-by-side score columns can never bleed off a narrow screen.
   Each side is a single full-width row: [label] [− value +]. */
.cm-scorecard__scoreboard[b-mkcqkv1txl] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 0.75rem;
}

.cm-score-col[b-mkcqkv1txl] {
    display: grid;
    grid-template-columns: 3.25rem 1fr;
    align-items: center;
    gap: 0.5rem;
}

.cm-score-label[b-mkcqkv1txl] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--fg-muted);
}

.cm-score-controls[b-mkcqkv1txl] {
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    gap: 0.5rem;
}

.cm-score-btn[b-mkcqkv1txl] {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
    cursor: pointer;
    background: var(--accent);
    color: var(--accent-fg);
}

.cm-score-btn:disabled[b-mkcqkv1txl] {
    opacity: 0.35;
    cursor: not-allowed;
}

.cm-score-btn--minus[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--fg) 10%, transparent);
    color: var(--fg);
}

/* Editable score field (manual entry for after-the-fact scoring). */
.cm-score-value[b-mkcqkv1txl] {
    width: 100%;
    min-width: 0;
    text-align: center;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--fg);
    font-family: var(--type-data);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.cm-score-value:focus[b-mkcqkv1txl] {
    outline: none;
    border-bottom-color: var(--accent);
}

.cm-end-set-btn[b-mkcqkv1txl] {
    width: 100%;
    background: color-mix(in srgb, var(--semantic-warning) 20%, transparent);
    color: var(--fg);
    border: 1px solid color-mix(in srgb, var(--semantic-warning) 45%, transparent);
    border-radius: 8px;
    padding: 0.6rem 1rem;
    font-weight: 600;
    cursor: pointer;
    min-height: 44px;
}

.cm-end-set-btn:disabled[b-mkcqkv1txl] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Strip the spinner arrows from the editable score/stat number fields. */
.cm-score-value[b-mkcqkv1txl]::-webkit-outer-spin-button,
.cm-score-value[b-mkcqkv1txl]::-webkit-inner-spin-button,
.cm-stat-chip__value[b-mkcqkv1txl]::-webkit-outer-spin-button,
.cm-stat-chip__value[b-mkcqkv1txl]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cm-score-value[b-mkcqkv1txl],
.cm-stat-chip__value[b-mkcqkv1txl] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* --- Previous sets strip --- */

.cm-prev-sets[b-mkcqkv1txl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.cm-prev-sets__label[b-mkcqkv1txl] {
    color: var(--fg-muted);
    font-weight: 600;
}

.cm-prev-set[b-mkcqkv1txl] {
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: var(--surface-raised);
    color: var(--fg);
}

.cm-prev-set--won[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-success) 18%, transparent);
}

.cm-prev-set--lost[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-danger) 15%, transparent);
}

/* Concluded banner — shown when the match has a submitted final score. */
.cm-concluded-note[b-mkcqkv1txl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: color-mix(in srgb, var(--semantic-success) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--semantic-success) 40%, transparent);
    color: var(--fg);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    font-size: 0.9rem;
}

.cm-concluded-note .material-icons[b-mkcqkv1txl] {
    font-size: 1.2rem;
    color: var(--semantic-success);
}

/* --- Section headings --- */

.cm-section-heading[b-mkcqkv1txl] {
    margin: 0.5rem 0 0.25rem;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
}

/* --- Stat visibility picker --- */

.cm-stat-picker[b-mkcqkv1txl] {
    margin-bottom: 0.25rem;
}

.cm-stat-picker__toggle[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 8px;
    padding: 0.4rem 0.7rem;
    min-height: 40px;
    cursor: pointer;
    font: inherit;
}

.cm-stat-picker__toggle .material-icons[b-mkcqkv1txl] {
    font-size: 1.1rem;
}

.cm-stat-picker__chevron[b-mkcqkv1txl] {
    color: var(--fg-muted);
}

.cm-stat-picker__options[b-mkcqkv1txl] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
}

.cm-stat-toggle[b-mkcqkv1txl] {
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg-muted);
    border-radius: 999px;
    padding: 0.35rem 0.8rem;
    min-height: 40px;
    cursor: pointer;
    font-size: 0.85rem;
}

.cm-stat-toggle--on[b-mkcqkv1txl] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg);
    font-weight: 600;
}

/* --- Player-name display format --- */

.cm-name-format[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
}

.cm-name-format__icon[b-mkcqkv1txl] {
    font-size: 1.1rem;
    color: var(--fg-muted);
}

.cm-name-format__label[b-mkcqkv1txl] {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.cm-name-format__select[b-mkcqkv1txl] {
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 8px;
    padding: 0.4rem 0.6rem;
    min-height: 40px;
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
}

.cm-swap-hint[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-warning) 18%, transparent);
    border: 1px solid color-mix(in srgb, var(--semantic-warning) 40%, transparent);
    color: var(--fg);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
}

.cm-link-btn[b-mkcqkv1txl] {
    background: none;
    border: none;
    color: var(--accent-text);
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    font: inherit;
}

.cm-empty-hint[b-mkcqkv1txl] {
    font-size: 0.9rem;
    color: var(--fg-muted);
    padding: 0.75rem;
    background: var(--surface-raised);
    border-radius: 8px;
    text-align: center;
}

/* --- On-court player card --- */

.cm-on-court[b-mkcqkv1txl] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* --- Entry bar: heading + view switcher --- */

.cm-entry-bar[b-mkcqkv1txl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.cm-entry-bar__title[b-mkcqkv1txl] {
    margin: 0.25rem 0;
}

.cm-view-switch[b-mkcqkv1txl] {
    display: inline-flex;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    border-radius: 999px;
    padding: 2px;
}

.cm-view-switch__btn[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border: none;
    background: transparent;
    color: var(--fg-muted);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    min-height: 38px;
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
}

.cm-view-switch__btn .material-icons[b-mkcqkv1txl] {
    font-size: 1.05rem;
}

.cm-view-switch__btn--on[b-mkcqkv1txl] {
    background: var(--accent);
    color: var(--accent-fg);
    font-weight: 600;
}

/* --- Entry tools: ± mode + armed-stat hint --- */

.cm-entry-tools[b-mkcqkv1txl] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin: 0.1rem 0 0.4rem;
}

.cm-minus-toggle[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    min-height: 40px;
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
}

.cm-minus-toggle .material-icons[b-mkcqkv1txl] {
    font-size: 1.1rem;
}

.cm-minus-toggle--on[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-danger) 22%, transparent);
    border-color: color-mix(in srgb, var(--semantic-danger) 45%, transparent);
    font-weight: 600;
}

.cm-armed[b-mkcqkv1txl] {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

/* --- Focus view: player tabs --- */

.cm-player-tabs[b-mkcqkv1txl] {
    display: flex;
    gap: 0.4rem;
    overflow-x: auto;
    padding-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
}

.cm-player-tab[b-mkcqkv1txl] {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 10px;
    padding: 0.4rem 0.6rem;
    min-width: 56px;
    min-height: 48px;
    cursor: pointer;
    font: inherit;
}

.cm-player-tab--on[b-mkcqkv1txl] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg);
}

.cm-player-tab__jersey[b-mkcqkv1txl] {
    font-family: var(--type-data);
    font-weight: 700;
    font-size: 0.9rem;
}

.cm-player-tab__name[b-mkcqkv1txl] {
    font-size: 0.7rem;
    max-width: 6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Grid view: whole-team matrix --- */

.cm-grid-wrap[b-mkcqkv1txl] {
    overflow-x: auto;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
}

.cm-grid[b-mkcqkv1txl] {
    width: 100%;
    border-collapse: collapse;
}

.cm-grid thead th[b-mkcqkv1txl] {
    padding: 0.4rem 0.3rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--fg-muted);
    border-bottom: 1px solid var(--hairline);
    background: var(--surface-raised);
    white-space: nowrap;
}

.cm-grid__player-h[b-mkcqkv1txl] {
    text-align: left;
    padding-left: 0.6rem;
}

.cm-grid__player[b-mkcqkv1txl] {
    text-align: left;
    padding: 0.45rem 0.6rem;
    white-space: nowrap;
    font-weight: 600;
    color: var(--fg);
    position: sticky;
    left: 0;
    background: var(--surface);
    border-right: 1px solid var(--hairline);
}

.cm-grid tbody tr + tr th[b-mkcqkv1txl],
.cm-grid tbody tr + tr td[b-mkcqkv1txl] {
    border-top: 1px solid var(--hairline);
}

.cm-grid td[b-mkcqkv1txl] {
    padding: 0;
    border-left: 1px solid var(--hairline);
}

.cm-grid-cell[b-mkcqkv1txl] {
    width: 100%;
    min-width: 46px;
    min-height: 48px;
    border: none;
    background: color-mix(in srgb, var(--semantic-success) 14%, transparent);
    color: var(--fg);
    font-family: var(--type-data);
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
}

.cm-grid-cell--minus[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-danger) 12%, transparent);
}

.cm-grid-cell:disabled[b-mkcqkv1txl] {
    opacity: 0.3;
    cursor: not-allowed;
}

/* --- Quick view: stat buttons + player targets --- */

.cm-quick-stats[b-mkcqkv1txl] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
}

.cm-quick-stat[b-mkcqkv1txl] {
    flex: 1 1 auto;
    min-height: 48px;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 10px;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}

.cm-quick-stat--on[b-mkcqkv1txl] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg);
}

.cm-quick-players[b-mkcqkv1txl] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
}

.cm-quick-player[b-mkcqkv1txl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 56px;
    background: var(--surface);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 10px;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font: inherit;
}

.cm-quick-player:disabled[b-mkcqkv1txl] {
    opacity: 0.5;
    cursor: not-allowed;
}

.cm-quick-player__id[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
}

.cm-quick-player__val[b-mkcqkv1txl] {
    font-family: var(--type-data);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--accent-text);
}

/* --- Lineup & subs panel --- */

.cm-lineup[b-mkcqkv1txl] {
    margin-top: 0.25rem;
}

.cm-lineup__toggle[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 8px;
    padding: 0.4rem 0.7rem;
    min-height: 40px;
    cursor: pointer;
    font: inherit;
}

.cm-lineup__toggle .material-icons[b-mkcqkv1txl] {
    font-size: 1.1rem;
}

.cm-lineup__chevron[b-mkcqkv1txl] {
    color: var(--fg-muted);
}

.cm-lineup__group[b-mkcqkv1txl] {
    margin-top: 0.6rem;
}

.cm-lineup__group .cm-eyebrow[b-mkcqkv1txl] {
    display: block;
    margin-bottom: 0.3rem;
}

.cm-bench-chip--swapping[b-mkcqkv1txl] {
    border-color: var(--semantic-warning);
    background: color-mix(in srgb, var(--semantic-warning) 12%, transparent);
}

.cm-bench-chip__icon[b-mkcqkv1txl] {
    font-size: 1rem;
    color: var(--fg-muted);
}

.cm-player-card[b-mkcqkv1txl] {
    background: var(--surface);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 0.6rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.cm-player-card--swapping[b-mkcqkv1txl] {
    border-color: var(--semantic-warning);
    background: color-mix(in srgb, var(--semantic-warning) 8%, transparent);
}

.cm-player-card__head[b-mkcqkv1txl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cm-player-card__name[b-mkcqkv1txl] {
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--fg);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.cm-player-card__jersey[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--fg) 10%, transparent);
    color: var(--fg);
    border-radius: 6px;
    padding: 0.1rem 0.4rem;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.cm-sub-btn[b-mkcqkv1txl] {
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 8px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* --- Stat steppers inside on-court card ---
   One stat per row on phones so each −/+ is a full-width-friendly 56px target and the
   number is big enough to read at a glance. Goes two-up once there's room. */

.cm-stat-row[b-mkcqkv1txl] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

@media (min-width: 560px) {
    .cm-stat-row[b-mkcqkv1txl] {
        grid-template-columns: 1fr 1fr;
    }
}

.cm-stat-chip[b-mkcqkv1txl] {
    display: grid;
    grid-template-columns: 56px 1fr 56px;
    align-items: stretch;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    border-radius: 10px;
    min-height: 56px;
    overflow: hidden;
}

.cm-stat-chip__minus[b-mkcqkv1txl],
.cm-stat-chip__plus[b-mkcqkv1txl] {
    border: none;
    background: color-mix(in srgb, var(--fg) 8%, transparent);
    color: var(--fg);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.cm-stat-chip__plus[b-mkcqkv1txl] {
    background: color-mix(in srgb, var(--semantic-success) 28%, transparent);
}

.cm-stat-chip__minus:disabled[b-mkcqkv1txl],
.cm-stat-chip__plus:disabled[b-mkcqkv1txl] {
    opacity: 0.3;
    cursor: not-allowed;
}

.cm-stat-chip__body[b-mkcqkv1txl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.3rem;
}

.cm-stat-chip__value[b-mkcqkv1txl] {
    width: 100%;
    min-width: 0;
    text-align: center;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    font-family: var(--type-data);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--fg);
    font-variant-numeric: tabular-nums;
}

.cm-stat-chip__value:focus[b-mkcqkv1txl] {
    outline: none;
    border-bottom-color: var(--accent);
}

.cm-stat-chip__label[b-mkcqkv1txl] {
    font-size: 0.72rem;
    color: var(--fg-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* --- Bench --- */

.cm-bench-row[b-mkcqkv1txl] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.cm-bench-chip[b-mkcqkv1txl] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--surface-raised);
    border: 1px solid var(--hairline);
    color: var(--fg);
    border-radius: 999px;
    padding: 0.4rem 0.8rem;
    cursor: pointer;
    font-size: 0.9rem;
    min-height: 44px;
}

.cm-bench-chip:disabled[b-mkcqkv1txl] {
    opacity: 0.4;
    cursor: not-allowed;
}

.cm-bench-chip__jersey[b-mkcqkv1txl] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: var(--fg-muted);
}

/* --- Submit / finalise --- */

.cm-scorecard__submit[b-mkcqkv1txl] {
    margin-top: 0.5rem;
}

.cm-submit-btn[b-mkcqkv1txl] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: var(--accent);
    color: var(--accent-fg);
    border: none;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    min-height: 52px;
}

.cm-submit-btn:disabled[b-mkcqkv1txl] {
    opacity: 0.4;
    cursor: not-allowed;
}

.cm-submit-btn .material-icons[b-mkcqkv1txl] {
    font-size: 1.25rem;
}

.cm-scorecard__footer[b-mkcqkv1txl] {
    margin-top: 0.5rem;
}
/* _content/Club.Manager.Web/Components/Pages/MyAthletes.razor.rz.scp.css */
/* Top toolbar: prominent Schedule jump + a "Manage household" disclosure. One compact row so the
   household header and schedule stay near the top of the phone viewport. */
.ma-toolbar[b-12wq7j20pm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

/* Native <details> disclosure — no circuit/JS, robust on mobile. The summary is styled to read as
   a ghost pill; the panel drops the management actions below it. */
.ma-menu[b-12wq7j20pm] {
    position: relative;
}

.ma-menu__summary[b-12wq7j20pm] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    border: 1px solid var(--hairline-strong);
    border-radius: var(--radius-pill);
    background: var(--surface);
    color: var(--fg);
    font-size: var(--fs-caption);
    font-weight: var(--weight-medium);
    cursor: pointer;
    user-select: none;
    list-style: none;
    white-space: nowrap;
}

/* Strip the default disclosure triangle (we supply our own chevron). */
.ma-menu__summary[b-12wq7j20pm]::-webkit-details-marker {
    display: none;
}

.ma-menu__summary:hover[b-12wq7j20pm] {
    border-color: var(--accent);
}

.ma-menu__summary .material-icons[b-12wq7j20pm] {
    font-size: 1.1rem;
}

.ma-menu__chevron[b-12wq7j20pm] {
    transition: transform 0.15s ease;
}

.ma-menu[open] .ma-menu__chevron[b-12wq7j20pm] {
    transform: rotate(180deg);
}

/* Panel floats over content (absolute) at every width so opening it never reflows the toolbar
   row — it overlays the content just below the summary, right-aligned. */
.ma-menu__panel[b-12wq7j20pm] {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 20;
    min-width: 14rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    margin-top: 0.5rem;
    padding: 0.6rem;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    background: var(--surface-raised);
    box-shadow: var(--shadow-md, 0 8px 24px rgba(0, 0, 0, 0.18));
}

/* Supporters management block on /my-athletes. Plain elements rendered directly by the page, so
   the scope attribute lands and these rules match. Tokens from design-tokens.css. */

.ma-supporters[b-12wq7j20pm] {
    margin-top: var(--space-6);
    border-top: 1px solid var(--hairline);
    padding-top: var(--space-5);
}

.ma-supporters__title[b-12wq7j20pm] {
    margin-bottom: var(--space-3);
}

.ma-supporters__empty[b-12wq7j20pm] {
    color: var(--fg-dim);
    font-size: var(--fs-caption);
    max-width: 60ch;
}

.ma-supporters__list[b-12wq7j20pm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.ma-supporter[b-12wq7j20pm] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.ma-supporter__id[b-12wq7j20pm] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ma-supporter__name[b-12wq7j20pm] {
    font-size: var(--fs-body);
    color: var(--fg);
    font-weight: var(--weight-medium);
}

.ma-supporter__email[b-12wq7j20pm] {
    font-size: var(--fs-caption);
    color: var(--fg-muted);
}

.ma-supporter__badge[b-12wq7j20pm] {
    flex: 0 0 auto;
    font-size: var(--fs-micro);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--semantic-warning) 18%, transparent);
    color: var(--semantic-warning);
}

/* Count chip on the Assignments section heading — draws the eye to "you have N duties". */
.ma-assign-count[b-12wq7j20pm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    margin-left: 0.4rem;
    border-radius: var(--radius-pill);
    background: var(--accent);
    color: var(--accent-fg);
    font-size: var(--fs-micro);
    font-weight: var(--weight-bold);
    vertical-align: middle;
}

/* Linked-event line under a family assignment. */
.ma-assign-event[b-12wq7j20pm] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 2px;
    font-size: var(--fs-caption);
    color: var(--accent-text);
    text-decoration: none;
    width: fit-content;
}

.ma-assign-event .material-icons[b-12wq7j20pm] {
    font-size: 0.95rem;
}

/* Due line under a family assignment. */
.ma-assign-due[b-12wq7j20pm] {
    margin-top: 2px;
    font-size: var(--fs-caption);
    color: var(--semantic-warning);
    font-weight: var(--weight-semibold);
}

/* Trailing action cluster (Mark done / I'll do it / Undo). */
.ma-assign-actions[b-12wq7j20pm] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* "Done ✓" / "Signed up ✓" confirmation text. */
.ma-assign-done[b-12wq7j20pm] {
    font-size: var(--fs-caption);
    font-weight: var(--weight-semibold);
    color: var(--semantic-success);
}
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialAvailability.razor.rz.scp.css */
.av-help[b-t3xshdouet] {
    margin: 0 0 0.85rem;
    color: var(--fg-muted);
}

/* Weekly pattern grid: a label column + one column per time band. */
.av-grid[b-t3xshdouet] {
    display: grid;
    grid-template-columns: 4.5rem repeat(3, minmax(5rem, 7rem));
    gap: 0.4rem;
    align-items: center;
    max-width: 28rem;
}

.av-grid__head[b-t3xshdouet] {
    font-family: var(--type-data);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    text-align: center;
    padding-bottom: 0.2rem;
}

.av-grid__day[b-t3xshdouet] {
    font-size: 0.85rem;
    color: var(--fg);
}

.av-cell[b-t3xshdouet] {
    height: 2.25rem;
    border: 1px solid var(--hairline-strong);
    border-radius: 8px;
    background: var(--surface);
    color: var(--fg-dim);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.av-cell:hover[b-t3xshdouet] {
    border-color: var(--accent);
}

.av-cell .material-symbols-outlined[b-t3xshdouet] {
    font-size: 1.1rem;
}

.av-cell--on[b-t3xshdouet] {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg);
}

.av-limits[b-t3xshdouet] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem;
    margin-top: 1.5rem;
}

.av-add[b-t3xshdouet] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

.av-table[b-t3xshdouet] {
    width: 100%;
    border-collapse: collapse;
    max-width: 44rem;
}

.av-table th[b-t3xshdouet] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.av-table td[b-t3xshdouet] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.av-actions[b-t3xshdouet] { text-align: right; white-space: nowrap; }
.av-reason[b-t3xshdouet] { color: var(--fg-muted); font-size: 0.85rem; }

.av-scope[b-t3xshdouet] {
    font-family: var(--type-data);
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
}
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialEarnings.razor.rz.scp.css */
.oea-table[b-u36hjj4jdw] { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.oea-table th[b-u36hjj4jdw] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}
.oea-table td[b-u36hjj4jdw] { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--hairline); vertical-align: middle; }
.oea-num[b-u36hjj4jdw] { text-align: right; white-space: nowrap; }
.oea-v[b-u36hjj4jdw] { color: var(--fg-dim); font-size: 0.8rem; }
.oea-sub[b-u36hjj4jdw] { font-size: 0.78rem; color: var(--fg-muted); }
.oea-pos[b-u36hjj4jdw] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
}
.oea-status[b-u36hjj4jdw] { font-family: var(--type-data); font-size: 0.72rem; font-weight: 600; }
.oea-status--paid[b-u36hjj4jdw] { color: var(--semantic-success); }
.oea-status--owed[b-u36hjj4jdw] { color: var(--semantic-warning); }

.oea-bank[b-u36hjj4jdw] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--hairline);
    border-radius: 12px;
}
.oea-bank--ready[b-u36hjj4jdw] { border-color: color-mix(in oklab, var(--semantic-success) 45%, var(--hairline)); }
.oea-bank--pending[b-u36hjj4jdw] { border-color: color-mix(in oklab, var(--semantic-warning) 45%, var(--hairline)); }
.oea-bank-icon[b-u36hjj4jdw] {
    font-size: 2rem;
    color: var(--fg-muted);
    flex: none;
}
.oea-bank--ready .oea-bank-icon[b-u36hjj4jdw] { color: var(--semantic-success); }
.oea-bank--pending .oea-bank-icon[b-u36hjj4jdw] { color: var(--semantic-warning); }
.oea-bank-body[b-u36hjj4jdw] { flex: 1; min-width: 0; }
.oea-bank-title[b-u36hjj4jdw] { font-size: 1.02rem; }
.oea-bank-text[b-u36hjj4jdw] { margin: 0.15rem 0 0; font-size: 0.86rem; color: var(--fg-muted); }
.oea-bank-cta[b-u36hjj4jdw] {
    flex: none;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-fg);
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
    white-space: nowrap;
}
.oea-bank-cta:hover[b-u36hjj4jdw] { filter: brightness(1.05); }
.oea-bank-cta--ghost[b-u36hjj4jdw] {
    background: transparent;
    color: var(--fg);
    border: 1px solid var(--hairline-strong);
}
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialOpenAssignments.razor.rz.scp.css */
.ooa-table[b-pueklogzyi] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.ooa-table th[b-pueklogzyi] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.ooa-table td[b-pueklogzyi] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.ooa-num[b-pueklogzyi] { text-align: right; white-space: nowrap; }
.ooa-actions[b-pueklogzyi] { text-align: right; white-space: nowrap; }

.ooa-time[b-pueklogzyi] { font-size: 0.78rem; color: var(--fg-muted); }
.ooa-v[b-pueklogzyi] { color: var(--fg-dim); font-size: 0.8rem; }
.ooa-sub[b-pueklogzyi] { font-size: 0.78rem; color: var(--fg-muted); }

.ooa-pos[b-pueklogzyi] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
    margin-right: 0.3rem;
}

.ooa-bid[b-pueklogzyi] {
    font-family: var(--type-data);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--semantic-success);
    margin-right: 0.5rem;
}
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialPortal.razor.rz.scp.css */
.op-orgs[b-amo5dwqyan] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.op-org[b-amo5dwqyan] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid var(--hairline);
    border-radius: 8px;
    background: var(--surface-raised);
    font-size: 0.9rem;
    font-weight: 600;
}

.op-org .material-symbols-outlined[b-amo5dwqyan] {
    font-size: 18px;
    color: var(--accent-text);
}
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialReportForm.razor.rz.scp.css */
.orf-score[b-2u3vfvnuih] {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
}
.orf-score-team[b-2u3vfvnuih] { display: flex; flex-direction: column; gap: 0.4rem; }
.orf-score-name[b-2u3vfvnuih] { font-size: 1rem; }
.orf-score-dash[b-2u3vfvnuih] { font-size: 1.4rem; color: var(--fg-dim); padding-bottom: 0.4rem; }

.orf-misc[b-2u3vfvnuih] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--hairline);
}
.orf-misc:last-child[b-2u3vfvnuih] { border-bottom: none; }

.orf-card[b-2u3vfvnuih] {
    width: 14px;
    height: 20px;
    border-radius: 3px;
    flex: none;
}
.orf-misc--caution .orf-card[b-2u3vfvnuih] { background: #f5c518; }
.orf-misc--sendoff .orf-card[b-2u3vfvnuih] { background: var(--semantic-danger); }

.orf-custom[b-2u3vfvnuih] { display: flex; flex-direction: column; gap: 0.85rem; max-width: 640px; }
.orf-field[b-2u3vfvnuih] { display: flex; flex-direction: column; gap: 0.3rem; }
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialReports.razor.rz.scp.css */
.orl-table[b-7cmazda954] { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.orl-table th[b-7cmazda954] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}
.orl-table td[b-7cmazda954] { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--hairline); vertical-align: middle; }
.orl-actions[b-7cmazda954] { text-align: right; white-space: nowrap; }
.orl-time[b-7cmazda954] { font-size: 0.78rem; color: var(--fg-muted); }
.orl-v[b-7cmazda954] { color: var(--fg-dim); font-size: 0.8rem; }

.orl-status[b-7cmazda954] { font-family: var(--type-data); font-size: 0.72rem; font-weight: 600; }
.orl-status--approved[b-7cmazda954] { color: var(--semantic-success); }
.orl-status--submitted[b-7cmazda954] { color: var(--semantic-warning); }
.orl-status--none[b-7cmazda954] { color: var(--fg-dim); }
/* _content/Club.Manager.Web/Components/Pages/Official/OfficialSchedule.razor.rz.scp.css */
.osch-table[b-ovmym6kxb1] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.osch-table th[b-ovmym6kxb1] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.osch-table td[b-ovmym6kxb1] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.osch-num[b-ovmym6kxb1] { text-align: right; white-space: nowrap; }
.osch-actions[b-ovmym6kxb1] { text-align: right; white-space: nowrap; }
.osch-past[b-ovmym6kxb1] { opacity: 0.6; }

.osch-time[b-ovmym6kxb1] { font-size: 0.78rem; color: var(--fg-muted); }
.osch-v[b-ovmym6kxb1] { color: var(--fg-dim); font-size: 0.8rem; }
.osch-sub[b-ovmym6kxb1] { font-size: 0.78rem; color: var(--fg-muted); }

.osch-pos[b-ovmym6kxb1] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
    margin-right: 0.3rem;
}

.osch-status[b-ovmym6kxb1] { font-family: var(--type-data); font-size: 0.72rem; font-weight: 600; }
.osch-status--assigned[b-ovmym6kxb1] { color: var(--semantic-warning); }
.osch-status--accepted[b-ovmym6kxb1] { color: var(--semantic-success); }
.osch-status--declined[b-ovmym6kxb1] { color: var(--semantic-danger); }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficialsRoster.razor.rz.scp.css */
.ofr-table[b-h2hjh54ney] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.ofr-table th[b-h2hjh54ney] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.ofr-table td[b-h2hjh54ney] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.ofr-center[b-h2hjh54ney] { text-align: center; }
.ofr-actions[b-h2hjh54ney] { text-align: right; white-space: nowrap; }

.ofr-name[b-h2hjh54ney] { font-size: 1rem; }

.ofr-contact[b-h2hjh54ney] { font-size: 0.85rem; }
.ofr-contact--sub[b-h2hjh54ney] { color: var(--fg-muted); font-size: 0.78rem; }

.ofr-badge[b-h2hjh54ney] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.15rem 0.5rem;
    border-radius: 5px;
    white-space: nowrap;
}
.ofr-badge--national[b-h2hjh54ney] { background: color-mix(in oklab, var(--semantic-info) 18%, var(--surface)); color: var(--semantic-info); }
.ofr-badge--regional[b-h2hjh54ney] { background: var(--accent-soft); color: var(--accent-text); }
.ofr-badge--grassroots[b-h2hjh54ney] { background: color-mix(in oklab, var(--semantic-success) 16%, var(--surface)); color: var(--semantic-success); }
.ofr-badge--unrated[b-h2hjh54ney] { background: color-mix(in oklab, var(--fg) 8%, transparent); color: var(--fg-muted); }

.ofr-login[b-h2hjh54ney] {
    font-family: var(--type-data);
    font-size: 0.72rem;
    font-weight: 600;
}
.ofr-login--yes[b-h2hjh54ney] { color: var(--semantic-success); }
.ofr-login--no[b-h2hjh54ney] { color: var(--fg-dim); }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingBids.razor.rz.scp.css */
.obd-slot[b-dnwjzz3xa3] { margin-bottom: 1rem; }

.obd-head[b-dnwjzz3xa3] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
}

.obd-pos[b-dnwjzz3xa3] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 5px;
    background: var(--accent-soft);
    color: var(--accent-text);
    margin-right: 0.6rem;
}

.obd-fixture[b-dnwjzz3xa3] { font-size: 1.05rem; text-decoration: none; color: var(--fg); }
.obd-fixture:hover[b-dnwjzz3xa3] { color: var(--accent-text); }
.obd-meta[b-dnwjzz3xa3] { font-size: 0.82rem; color: var(--fg-muted); }
.obd-nobids[b-dnwjzz3xa3] { color: var(--fg-muted); margin: 0; }

.obd-bidders[b-dnwjzz3xa3] { display: flex; flex-direction: column; gap: 0.4rem; }

.obd-bidder[b-dnwjzz3xa3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--hairline);
    border-radius: 9px;
}

.obd-bidder-info[b-dnwjzz3xa3] { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.obd-bidder-name[b-dnwjzz3xa3] { font-size: 0.95rem; }

.ofr-badge[b-dnwjzz3xa3] {
    font-family: var(--type-data);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.1rem 0.45rem;
    border-radius: 5px;
}
.obd-badge--national[b-dnwjzz3xa3] { background: color-mix(in oklab, var(--semantic-info) 18%, var(--surface)); color: var(--semantic-info); }
.obd-badge--regional[b-dnwjzz3xa3] { background: var(--accent-soft); color: var(--accent-text); }
.obd-badge--grassroots[b-dnwjzz3xa3] { background: color-mix(in oklab, var(--semantic-success) 16%, var(--surface)); color: var(--semantic-success); }
.obd-badge--unrated[b-dnwjzz3xa3] { background: color-mix(in oklab, var(--fg) 8%, transparent); color: var(--fg-muted); }

.obd-bestfit[b-dnwjzz3xa3] {
    font-family: var(--type-data);
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.1rem 0.45rem;
    border-radius: 5px;
    background: var(--accent);
    color: var(--accent-fg);
}

.obd-avail[b-dnwjzz3xa3] {
    font-family: var(--type-data);
    font-size: 0.66rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.1rem 0.45rem;
    border-radius: 5px;
    border: 1px solid currentColor;
}
.obd-avail--available[b-dnwjzz3xa3] { color: var(--semantic-success); }
.obd-avail--blackedout[b-dnwjzz3xa3] { color: var(--semantic-danger); }
.obd-avail--notinpattern[b-dnwjzz3xa3] { color: var(--fg-muted); }

.obd-dist[b-dnwjzz3xa3] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--fg-muted);
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}
.obd-dist[b-dnwjzz3xa3]::before {
    content: "place";
    font-family: "Material Symbols Outlined";
    font-size: 0.85rem;
}

.obd-note[b-dnwjzz3xa3] { font-size: 0.85rem; color: var(--fg-muted); font-style: italic; }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingCrewBoard.razor.rz.scp.css */
.ocb-slots[b-4iapulaihw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.ocb-slot[b-4iapulaihw] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: var(--surface-raised);
}

.ocb-slot-pos[b-4iapulaihw] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--accent-soft);
    color: var(--accent-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex: none;
}

.ocb-slot-body[b-4iapulaihw] { flex: 1; min-width: 0; }
.ocb-slot-name[b-4iapulaihw] { font-size: 0.95rem; font-weight: 600; }
.ocb-slot-status[b-4iapulaihw] { font-size: 0.75rem; color: var(--fg-muted); margin-top: 0.1rem; }

.ocb-slot-fee[b-4iapulaihw] { font-size: 1rem; font-weight: 600; white-space: nowrap; }

.ocb-slot--filled[b-4iapulaihw] {
    border-color: var(--hairline-strong);
}
.ocb-slot--filled .ocb-slot-pos[b-4iapulaihw] {
    background: var(--accent);
    color: var(--accent-fg);
}

.ocb-slot-actions[b-4iapulaihw] {
    display: flex;
    gap: 0.25rem;
    white-space: nowrap;
}

.ocb-status[b-4iapulaihw] {
    font-weight: 600;
}
.ocb-status--assigned[b-4iapulaihw] { color: var(--semantic-warning); }
.ocb-status--accepted[b-4iapulaihw] { color: var(--semantic-success); }
.ocb-status--declined[b-4iapulaihw] { color: var(--semantic-danger); }
.ocb-status--open[b-4iapulaihw] { color: var(--fg-muted); }

.ocb-note[b-4iapulaihw] {
    margin-top: 0.85rem;
    font-size: 0.8rem;
    color: var(--fg-muted);
}
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingMatches.razor.rz.scp.css */
.omt-table[b-pxc97np0g1] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.omt-table th[b-pxc97np0g1] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.omt-table td[b-pxc97np0g1] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.omt-center[b-pxc97np0g1] { text-align: center; }
.omt-actions[b-pxc97np0g1] { text-align: right; white-space: nowrap; }

.omt-past[b-pxc97np0g1] { opacity: 0.6; }
.omt-cancelled[b-pxc97np0g1] { opacity: 0.5; }
.omt-cancelled .omt-fixture[b-pxc97np0g1] { text-decoration: line-through; }

.omt-kick[b-pxc97np0g1] { font-size: 0.9rem; }
.omt-time[b-pxc97np0g1] { font-size: 0.78rem; color: var(--fg-muted); }

.omt-fixture[b-pxc97np0g1] {
    display: inline-flex;
    gap: 0.4rem;
    align-items: baseline;
    font-size: 1rem;
    text-decoration: none;
    color: var(--fg);
}
.omt-fixture:hover[b-pxc97np0g1] { color: var(--accent-text); }
.omt-v[b-pxc97np0g1] { color: var(--fg-dim); font-size: 0.8rem; }
.omt-sub[b-pxc97np0g1] { font-size: 0.78rem; color: var(--fg-muted); }

.omt-chip[b-pxc97np0g1] {
    font-family: var(--type-data);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: color-mix(in oklab, var(--fg) 9%, transparent);
    color: var(--fg-muted);
    margin-right: 0.4rem;
}
.omt-age[b-pxc97np0g1] { font-weight: 600; }

.omt-status[b-pxc97np0g1] {
    font-family: var(--type-data);
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}
.omt-status--open[b-pxc97np0g1] { color: var(--semantic-warning); }
.omt-status--full[b-pxc97np0g1] { color: var(--semantic-success); }
.omt-status--cancelled[b-pxc97np0g1] { color: var(--fg-dim); }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingPayouts.razor.rz.scp.css */
.opy-fund[b-l5f1ay51yi] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--hairline);
    border-radius: 12px;
}
.opy-fund--ready[b-l5f1ay51yi] { border-color: color-mix(in oklab, var(--semantic-success) 45%, var(--hairline)); }
.opy-fund--pending[b-l5f1ay51yi] { border-color: color-mix(in oklab, var(--semantic-warning) 45%, var(--hairline)); }
.opy-fund-icon[b-l5f1ay51yi] { font-size: 2rem; color: var(--fg-muted); flex: none; }
.opy-fund--ready .opy-fund-icon[b-l5f1ay51yi] { color: var(--semantic-success); }
.opy-fund--pending .opy-fund-icon[b-l5f1ay51yi] { color: var(--semantic-warning); }
.opy-fund-body[b-l5f1ay51yi] { flex: 1; min-width: 0; }
.opy-fund-title[b-l5f1ay51yi] { font-size: 1.02rem; }
.opy-fund-text[b-l5f1ay51yi] { margin: 0.15rem 0 0; font-size: 0.86rem; color: var(--fg-muted); }
.opy-fund-cta[b-l5f1ay51yi] {
    flex: none;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-fg);
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
    white-space: nowrap;
}
.opy-fund-cta:hover[b-l5f1ay51yi] { filter: brightness(1.05); }
.opy-fund-inline[b-l5f1ay51yi] { flex: none; margin: 0; }
.opy-fund-link[b-l5f1ay51yi] {
    background: none;
    border: none;
    color: var(--fg-muted);
    font-size: 0.82rem;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}
.opy-fund-link:hover[b-l5f1ay51yi] { color: var(--fg); }

.opy-game[b-l5f1ay51yi] {
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}
.opy-game-head[b-l5f1ay51yi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}
.opy-fixture[b-l5f1ay51yi] { font-size: 1.02rem; margin-right: 0.6rem; }
.opy-meta[b-l5f1ay51yi] { font-size: 0.8rem; color: var(--fg-muted); }

.opy-row[b-l5f1ay51yi] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.4rem 0;
    border-top: 1px solid var(--hairline);
}
.opy-pos[b-l5f1ay51yi] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
}
.opy-name[b-l5f1ay51yi] { flex: 1; font-size: 0.95rem; }
.opy-fee[b-l5f1ay51yi] { font-size: 0.95rem; font-weight: 600; }
.opy-nobank[b-l5f1ay51yi] {
    font-family: var(--type-data);
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--semantic-warning);
    padding: 0.1rem 0.4rem;
    border: 1px solid color-mix(in oklab, var(--semantic-warning) 40%, var(--hairline));
    border-radius: 5px;
}
.opy-feenote[b-l5f1ay51yi] {
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    color: var(--fg-muted);
}

.ofr-badge[b-l5f1ay51yi] {
    font-family: var(--type-data);
    font-size: 0.66rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.1rem 0.4rem;
    border-radius: 5px;
}
.opy-badge--national[b-l5f1ay51yi] { background: color-mix(in oklab, var(--semantic-info) 18%, var(--surface)); color: var(--semantic-info); }
.opy-badge--regional[b-l5f1ay51yi] { background: var(--accent-soft); color: var(--accent-text); }
.opy-badge--grassroots[b-l5f1ay51yi] { background: color-mix(in oklab, var(--semantic-success) 16%, var(--surface)); color: var(--semantic-success); }
.opy-badge--unrated[b-l5f1ay51yi] { background: color-mix(in oklab, var(--fg) 8%, transparent); color: var(--fg-muted); }

.opy-ledger[b-l5f1ay51yi] { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.opy-ledger th[b-l5f1ay51yi] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}
.opy-ledger td[b-l5f1ay51yi] { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--hairline); }
.opy-num[b-l5f1ay51yi] { text-align: right; white-space: nowrap; }
.opy-method[b-l5f1ay51yi] { font-family: var(--type-data); font-size: 0.75rem; color: var(--fg-muted); }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingReportReview.razor.rz.scp.css */
.orr-misc-list[b-grd0abws97] { display: flex; flex-direction: column; gap: 0.4rem; }
.orr-misc[b-grd0abws97] { display: flex; align-items: center; gap: 0.7rem; }
.orr-card[b-grd0abws97] { width: 14px; height: 20px; border-radius: 3px; flex: none; }
.orr-card--caution[b-grd0abws97] { background: #f5c518; }
.orr-card--sendoff[b-grd0abws97] { background: var(--semantic-danger); }
.orr-misc-body[b-grd0abws97] { flex: 1; min-width: 0; }
.orr-who[b-grd0abws97] { font-size: 0.92rem; font-weight: 600; }
.orr-reason[b-grd0abws97] { font-size: 0.82rem; color: var(--fg-muted); }
.orr-code[b-grd0abws97] {
    font-family: var(--type-data);
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--accent-text);
    margin-right: 0.25rem;
}
.orr-min[b-grd0abws97] { font-size: 0.85rem; color: var(--fg-muted); }

.orr-crew[b-grd0abws97] { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.orr-crew-item[b-grd0abws97] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--hairline);
    border-radius: 8px;
    font-size: 0.9rem;
}
.orr-pos[b-grd0abws97] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
}

.orr-fields[b-grd0abws97] { display: flex; flex-direction: column; gap: 0.5rem; max-width: 640px; }
.orr-field[b-grd0abws97] { display: flex; justify-content: space-between; gap: 1rem; padding: 0.4rem 0; border-bottom: 1px solid var(--hairline); }
.orr-field-label[b-grd0abws97] { color: var(--fg-muted); }
.orr-field-value[b-grd0abws97] { font-weight: 600; text-align: right; white-space: pre-wrap; }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OfficiatingReports.razor.rz.scp.css */
.orp-table[b-ka7sxahzkc] { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.orp-table th[b-ka7sxahzkc] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}
.orp-table td[b-ka7sxahzkc] { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--hairline); vertical-align: middle; }
.orp-center[b-ka7sxahzkc] { text-align: center; }
.orp-actions[b-ka7sxahzkc] { text-align: right; white-space: nowrap; }
.orp-approved[b-ka7sxahzkc] { opacity: 0.7; }

.orp-fixture[b-ka7sxahzkc] { font-size: 1rem; text-decoration: none; color: var(--fg); }
.orp-fixture:hover[b-ka7sxahzkc] { color: var(--accent-text); }
.orp-sub[b-ka7sxahzkc] { font-size: 0.78rem; color: var(--fg-muted); }

.orp-status[b-ka7sxahzkc] { font-family: var(--type-data); font-size: 0.72rem; font-weight: 600; }
.orp-status--approved[b-ka7sxahzkc] { color: var(--semantic-success); }
.orp-status--submitted[b-ka7sxahzkc] { color: var(--semantic-warning); }
/* _content/Club.Manager.Web/Components/Pages/Organizations/OrgAgeGroupDialog.razor.rz.scp.css */
.oagd-table[b-jurb6pz9vu] {
    width: 100%;
    border-collapse: collapse;
}

.oagd-table th[b-jurb6pz9vu] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.3rem 0.5rem;
    border-bottom: 1px solid var(--hairline);
}

.oagd-table td[b-jurb6pz9vu] {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.oagd-num[b-jurb6pz9vu] {
    text-align: right;
}

.oagd-pos[b-jurb6pz9vu] {
    font-family: var(--type-data);
    font-size: 0.75rem;
    font-weight: 600;
    margin-right: 0.5rem;
}

.oagd-pos-name[b-jurb6pz9vu] {
    color: var(--fg-muted);
    font-size: 0.85rem;
}
/* _content/Club.Manager.Web/Components/Pages/Organizations/OrgStructure.razor.rz.scp.css */
.ostr-table[b-2xqt4rktcp] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.ostr-table th[b-2xqt4rktcp] {
    text-align: left;
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
}

.ostr-table td[b-2xqt4rktcp] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--hairline);
    vertical-align: middle;
}

.ostr-num[b-2xqt4rktcp] {
    text-align: right;
    white-space: nowrap;
}

.ostr-actions[b-2xqt4rktcp] {
    text-align: right;
    white-space: nowrap;
}

.ostr-inactive[b-2xqt4rktcp] {
    opacity: 0.55;
}

.ostr-ag-name[b-2xqt4rktcp] {
    font-size: 1rem;
    margin-right: 0.5rem;
}

.ostr-chip[b-2xqt4rktcp] {
    font-family: var(--type-data);
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: color-mix(in oklab, var(--fg) 10%, transparent);
    color: var(--fg-muted);
}

.ostr-rate[b-2xqt4rktcp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-right: 0.85rem;
}

.ostr-pos[b-2xqt4rktcp] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-text);
}

.ostr-fee[b-2xqt4rktcp] {
    font-size: 0.85rem;
    color: var(--fg);
}
/* _content/Club.Manager.Web/Components/Pages/Organizations/ReportTemplateEditor.razor.rz.scp.css */
.rte-fields[b-8pmsft05px] { display: flex; flex-direction: column; gap: 0.85rem; }

.rte-field[b-8pmsft05px] {
    border: 1px solid var(--hairline);
    border-radius: 10px;
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rte-grid[b-8pmsft05px] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.rte-grid > .rz-form-field[b-8pmsft05px] { flex: 1; min-width: 180px; }

.rte-required[b-8pmsft05px] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.rte-actions[b-8pmsft05px] { display: flex; gap: 0.3rem; margin-left: auto; }
/* _content/Club.Manager.Web/Components/Pages/Portal/DocumentActionDialog.razor.rz.scp.css */
.gla-dialog[b-ks1bt1wqd8] { display: flex; flex-direction: column; gap: 14px; }

.gla-doc[b-ks1bt1wqd8] { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--hairline); border-radius: 12px; background: var(--surface-raised); }
.gla-doc__ic[b-ks1bt1wqd8] { flex: none; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent-text, var(--accent)); }
.gla-doc__nm[b-ks1bt1wqd8] { font-weight: 700; color: var(--fg); }
.gla-doc__mt[b-ks1bt1wqd8] { font-size: 12px; color: var(--fg-dim); margin-top: 2px; }
.gla-desc[b-ks1bt1wqd8] { font-size: 13px; color: var(--fg-muted); margin: 0; line-height: 1.45; }
.gla-readdoc[b-ks1bt1wqd8] { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 8px 13px; border: 1px solid var(--hairline); border-radius: 8px; color: var(--accent-text, var(--accent)); text-decoration: none; font-weight: 600; font-size: 13px; }
.gla-readdoc:hover[b-ks1bt1wqd8] { background: var(--surface-raised); }
.gla-readdoc .material-symbols-outlined[b-ks1bt1wqd8] { font-size: 17px; }

.gla-field[b-ks1bt1wqd8] { font-family: var(--type-data, monospace); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--fg-dim); }

/* upload */
.gla-drop[b-ks1bt1wqd8] { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px; border: 1.5px dashed var(--hairline-strong); border-radius: 12px; cursor: pointer; text-align: center; position: relative; }
.gla-drop .material-symbols-outlined[b-ks1bt1wqd8] { font-size: 26px; color: var(--fg-muted); }
.gla-drop__t1[b-ks1bt1wqd8] { font-weight: 600; color: var(--fg); }
.gla-drop__t2[b-ks1bt1wqd8] { font-size: 12px; color: var(--fg-dim); }
.gla-drop[b-ks1bt1wqd8]  input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }
.gla-attached[b-ks1bt1wqd8] { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--hairline); border-radius: 10px; }
.gla-attached__nm[b-ks1bt1wqd8] { flex: 1; min-width: 0; font-weight: 600; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gla-attached__ok[b-ks1bt1wqd8] { color: var(--semantic-success, #1f8a4e); }

/* signature */
.gla-signtabs[b-ks1bt1wqd8] { display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; background: var(--surface-raised); }
.gla-signtab[b-ks1bt1wqd8] { padding: 6px 18px; border: none; border-radius: 7px; background: none; color: var(--fg-muted); font: inherit; font-weight: 600; cursor: pointer; }
.gla-signtab--active[b-ks1bt1wqd8] { background: var(--surface); color: var(--fg); box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.gla-pad[b-ks1bt1wqd8] { position: relative; height: 160px; border: 1px solid var(--hairline-strong); border-radius: 12px; background: var(--surface); overflow: hidden; color: var(--accent-text, var(--accent)); }
.gla-pad__canvas[b-ks1bt1wqd8] { width: 100%; height: 100%; touch-action: none; display: block; }
.gla-pad__base[b-ks1bt1wqd8] { position: absolute; left: 18px; right: 18px; bottom: 42px; border-bottom: 1.5px solid var(--hairline-strong); }
.gla-pad__hint[b-ks1bt1wqd8] { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; font-size: 12px; color: var(--fg-dim); pointer-events: none; }
.gla-clear[b-ks1bt1wqd8] { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; background: none; border: none; color: var(--fg-muted); font: inherit; font-size: 13px; cursor: pointer; padding: 0; }
.gla-clear .material-symbols-outlined[b-ks1bt1wqd8] { font-size: 16px; }
.gla-typed[b-ks1bt1wqd8] { width: 100%; padding: 14px 16px; border: 1px solid var(--hairline-strong); border-radius: 12px; background: var(--surface); font-size: 22px; font-family: 'Segoe Script', cursive; color: var(--accent-text, var(--accent)); }

/* consent */
.gla-consent[b-ks1bt1wqd8] { display: flex; align-items: flex-start; gap: 10px; text-align: left; padding: 12px; border: 1px solid var(--hairline); border-radius: 10px; background: none; cursor: pointer; }
.gla-consent--on[b-ks1bt1wqd8] { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.gla-consent__box[b-ks1bt1wqd8] { flex: none; width: 22px; height: 22px; border-radius: 6px; border: 1.5px solid var(--hairline-strong); display: grid; place-items: center; color: var(--accent-fg); background: var(--surface); }
.gla-consent--on .gla-consent__box[b-ks1bt1wqd8] { background: var(--accent); border-color: var(--accent); }
.gla-consent__box .material-symbols-outlined[b-ks1bt1wqd8] { font-size: 16px; }
.gla-consent__tx[b-ks1bt1wqd8] { font-size: 13px; color: var(--fg-muted); line-height: 1.4; }

.gla-cta[b-ks1bt1wqd8] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
/* _content/Club.Manager.Web/Components/Pages/Portal/GuardianLibrary.razor.rz.scp.css */
.gl-head[b-li2wwtnmi2] { margin-bottom: 18px; }
.gl-title[b-li2wwtnmi2] { font-family: var(--type-display, inherit); font-size: 40px; line-height: 1; margin: 4px 0 8px; color: var(--fg); }
.gl-sub[b-li2wwtnmi2] { color: var(--fg-muted); max-width: 70ch; margin: 0 0 4px; }

/* tabs */
.gl-tabs[b-li2wwtnmi2] { display: flex; gap: 8px; border-bottom: 1px solid var(--hairline); margin: 8px 0 20px; flex-wrap: wrap; }
.gl-tab[b-li2wwtnmi2] {
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px;
    background: none; border: none; border-bottom: 2px solid transparent;
    color: var(--fg-muted); font: inherit; font-weight: 600; cursor: pointer; margin-bottom: -1px;
}
.gl-tab .material-symbols-outlined[b-li2wwtnmi2] { font-size: 19px; }
.gl-tab--active[b-li2wwtnmi2] { color: var(--fg); border-bottom-color: var(--accent-text, var(--accent)); }
.gl-tab__n[b-li2wwtnmi2] { font-family: var(--type-data, monospace); font-size: 12px; background: var(--surface-raised); border-radius: 999px; padding: 1px 8px; }

/* needs-you bar */
.gl-needbar[b-li2wwtnmi2] {
    display: flex; align-items: center; gap: 14px; padding: 16px 18px;
    border: 1px solid var(--hairline); border-radius: 14px; background: var(--surface); margin-bottom: 16px;
}
.gl-needbar__n[b-li2wwtnmi2] {
    flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center;
    background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--accent-text, var(--accent));
    font-family: var(--type-data, monospace); font-size: 20px; font-weight: 700;
}
.gl-needbar__tx[b-li2wwtnmi2] { color: var(--fg-muted); }
.gl-needbar__tx b[b-li2wwtnmi2] { color: var(--fg); }

.gl-shead[b-li2wwtnmi2] { display: flex; align-items: baseline; gap: 12px; margin: 24px 0 12px; }
.gl-shead h3[b-li2wwtnmi2] { margin: 0; font-size: 16px; }
.gl-shead .meta[b-li2wwtnmi2] { font-family: var(--type-data, monospace); font-size: 12px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.04em; }

/* action cards */
.gl-acard[b-li2wwtnmi2] { border: 1px solid var(--hairline); border-radius: 14px; background: var(--surface); padding: 16px; margin-bottom: 12px; }
.gl-acard--urgent[b-li2wwtnmi2] { border-color: color-mix(in srgb, var(--semantic-warning, #c79100) 50%, var(--hairline)); }
.gl-acard--done[b-li2wwtnmi2] { opacity: 0.72; }
.gl-acard__hd[b-li2wwtnmi2] { display: flex; align-items: flex-start; gap: 12px; }
.gl-kic[b-li2wwtnmi2] { flex: none; width: 44px; height: 44px; border-radius: 11px; display: grid; place-items: center; background: color-mix(in srgb, var(--tone, #2f6fd6) 16%, transparent); color: var(--tone, #2f6fd6); }
.gl-kic--esign[b-li2wwtnmi2] { --tone: #2f6fd6; }
.gl-kic--upload[b-li2wwtnmi2] { --tone: #e2522b; }
.gl-kic--acknowledge[b-li2wwtnmi2] { --tone: #1f8a4e; }
.gl-acard__main[b-li2wwtnmi2] { flex: 1; min-width: 0; }
.gl-acard__kind[b-li2wwtnmi2] { font-family: var(--type-data, monospace); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--fg-dim); }
.gl-acard__title[b-li2wwtnmi2] { font-weight: 700; font-size: 17px; color: var(--fg); }
.gl-acard__desc[b-li2wwtnmi2] { font-size: 13px; color: var(--fg-muted); margin-top: 3px; line-height: 1.4; }
.gl-due[b-li2wwtnmi2] { flex: none; display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: var(--fg-muted); white-space: nowrap; }
.gl-due .material-symbols-outlined[b-li2wwtnmi2] { font-size: 16px; }
.gl-due--urgent[b-li2wwtnmi2] { color: var(--semantic-warning, #c79100); font-weight: 600; }

.gl-childrow[b-li2wwtnmi2] { display: flex; align-items: center; gap: 12px; padding: 12px 0 0; margin-top: 12px; border-top: 1px solid var(--hairline); }
.gl-cav[b-li2wwtnmi2] { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-raised); font-family: var(--type-data, monospace); font-weight: 700; font-size: 13px; color: var(--fg-muted); }
.gl-childrow__main[b-li2wwtnmi2] { flex: 1; min-width: 0; }
.gl-cname[b-li2wwtnmi2] { font-weight: 600; color: var(--fg); }
.gl-childrow__r[b-li2wwtnmi2] { display: flex; align-items: center; gap: 12px; }
.gl-cdone[b-li2wwtnmi2] { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--semantic-success, #1f8a4e); font-weight: 600; }
.gl-cdone .material-symbols-outlined[b-li2wwtnmi2] { font-size: 16px; }

/* status pills */
.gl-statpill[b-li2wwtnmi2] { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.gl-statpill .d[b-li2wwtnmi2] { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.gl-statpill--ok[b-li2wwtnmi2] { background: rgba(31,138,78,0.14); color: #1f8a4e; }
.gl-statpill--info[b-li2wwtnmi2] { background: rgba(47,111,214,0.14); color: #2f6fd6; }
.gl-statpill--warn[b-li2wwtnmi2] { background: rgba(199,145,0,0.16); color: #c79100; }
.gl-statpill--danger[b-li2wwtnmi2] { background: rgba(210,59,59,0.14); color: #d23b3b; }

/* folders */
.gl-back[b-li2wwtnmi2] { display: inline-flex; align-items: center; gap: 4px; background: none; border: none; color: var(--fg-muted); font: inherit; font-weight: 600; cursor: pointer; padding: 4px 0; margin-bottom: 8px; }
.gl-back .material-symbols-outlined[b-li2wwtnmi2] { font-size: 18px; }
.gl-folders[b-li2wwtnmi2] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.gl-folder[b-li2wwtnmi2] { --tone: #2f6fd6; text-align: left; background: var(--surface); border: 1px solid var(--hairline); border-radius: 14px; padding: 16px; cursor: pointer; display: flex; flex-direction: column; gap: 10px; }
.gl-folder:hover[b-li2wwtnmi2] { border-color: var(--hairline-strong); }
.gl-folder__ic[b-li2wwtnmi2] { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: color-mix(in srgb, var(--tone) 16%, transparent); color: var(--tone); }
.gl-folder__nm[b-li2wwtnmi2] { font-weight: 700; font-size: 16px; color: var(--fg); }
.gl-tone--blue[b-li2wwtnmi2] { --tone: #2f6fd6; }
.gl-tone--orange[b-li2wwtnmi2] { --tone: #e2522b; }
.gl-tone--gold[b-li2wwtnmi2] { --tone: #c79100; }
.gl-tone--green[b-li2wwtnmi2] { --tone: #1f8a4e; }
.gl-tone--red[b-li2wwtnmi2] { --tone: #d23b3b; }
.gl-tone--violet[b-li2wwtnmi2] { --tone: #6b54c6; }

/* files */
.gl-files[b-li2wwtnmi2] { display: flex; flex-direction: column; gap: 8px; }
.gl-file[b-li2wwtnmi2] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--hairline); border-radius: 10px; background: var(--surface); }
.gl-file__type[b-li2wwtnmi2] { flex: none; width: 44px; text-align: center; padding: 5px 0; border-radius: 7px; font-family: var(--type-data, monospace); font-size: 10px; font-weight: 700; background: var(--surface-raised); color: var(--fg-muted); }
.gl-file__main[b-li2wwtnmi2] { flex: 1; min-width: 0; }
.gl-file__nm[b-li2wwtnmi2] { font-weight: 600; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gl-file__sub[b-li2wwtnmi2] { font-size: 12px; color: var(--fg-dim); margin-top: 2px; }
.gl-file__ok[b-li2wwtnmi2] { color: var(--semantic-success, #1f8a4e); }
.gl-file__act[b-li2wwtnmi2] { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: var(--fg-muted); text-decoration: none; }
.gl-file__act:hover[b-li2wwtnmi2] { background: var(--surface-raised); color: var(--fg); }
.gl-file__act .material-symbols-outlined[b-li2wwtnmi2] { font-size: 19px; }

/* uploads tab */
.gl-uploadrow[b-li2wwtnmi2] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.gl-uploadbtn[b-li2wwtnmi2] { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px; background: var(--accent); color: var(--accent-fg); font-weight: 600; cursor: pointer; position: relative; overflow: hidden; }
.gl-uploadbtn .material-symbols-outlined[b-li2wwtnmi2] { font-size: 18px; }
.gl-uploadbtn[b-li2wwtnmi2]  input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }
/* _content/Club.Manager.Web/Components/Pages/Portal/HouseholdAlerts.razor.rz.scp.css */
/* "First page" attention strip on the guardian/athlete portals. Two compact cards (sign-ups +
   tournaments). Theme- and accent-aware via design-tokens.css. */

.ha-wrap[b-ah0d7kh7a1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin: 0 0 1.5rem;
}

.ha-card[b-ah0d7kh7a1] {
    background: var(--surface);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 0.85rem 1rem 0.5rem;
}

/* The sign-up card is the one parents kept missing — give it the accent treatment so it reads as
   "action needed" the moment the portal loads. */
.ha-card--signup[b-ah0d7kh7a1] {
    border-color: color-mix(in oklab, var(--accent) 55%, var(--hairline));
    background: color-mix(in oklab, var(--accent) 7%, var(--surface));
}

/* Waivers/documents that need a signature — the strongest "act now" signal, so it gets the
   danger treatment and a red icon (mirrors the red Library badge in the sidebar). */
.ha-card--alert[b-ah0d7kh7a1] {
    border-color: color-mix(in oklab, var(--semantic-danger, #d23b3b) 55%, var(--hairline));
    background: color-mix(in oklab, var(--semantic-danger, #d23b3b) 7%, var(--surface));
}

.ha-card--alert .ha-ic[b-ah0d7kh7a1] { color: var(--semantic-danger, #d23b3b); }

.ha-head[b-ah0d7kh7a1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.ha-ic[b-ah0d7kh7a1] {
    font-size: 1.15rem;
    color: var(--accent-text);
}

.ha-title[b-ah0d7kh7a1] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fg);
    font-weight: 600;
    flex: 1;
}

.ha-all[b-ah0d7kh7a1] {
    font-family: var(--type-data);
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent-text);
    text-decoration: none;
}

.ha-all:hover[b-ah0d7kh7a1] { text-decoration: underline; }

.ha-row[b-ah0d7kh7a1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0;
    border-top: 1px solid color-mix(in oklab, var(--hairline) 60%, transparent);
    text-decoration: none;
    color: inherit;
}

.ha-row:first-of-type[b-ah0d7kh7a1] { border-top: 0; }

.ha-row-main[b-ah0d7kh7a1] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.ha-row-title[b-ah0d7kh7a1] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--fg);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ha-row-meta[b-ah0d7kh7a1] {
    font-size: 0.8rem;
    color: var(--fg-muted);
}

.ha-go[b-ah0d7kh7a1] {
    flex: none;
    font-size: 1.2rem;
    color: var(--fg-dim);
}

.ha-row:hover .ha-go[b-ah0d7kh7a1] { color: var(--accent-text); }

.ha-more[b-ah0d7kh7a1] {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0.3rem 0;
    font-family: var(--type-data);
    font-size: 0.78rem;
    color: var(--accent-text);
    text-decoration: none;
}

.ha-more:hover[b-ah0d7kh7a1] { text-decoration: underline; }
/* _content/Club.Manager.Web/Components/Pages/Public/PublicClubAnnouncementDetail.razor.rz.scp.css */
.public-announcement[b-f63j32niav] {
    max-width: 760px;
}

.public-announcement__eyebrow[b-f63j32niav] {
    margin: 0 0 0.5rem 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--public-accent, var(--rz-primary));
}

.public-announcement__title[b-f63j32niav] {
    margin: 0 0 0.75rem 0;
    font-size: 2rem;
    line-height: 1.2;
    color: var(--rz-text-color);
}

.public-announcement__meta[b-f63j32niav] {
    margin: 0 0 1.5rem 0;
    color: var(--rz-text-secondary-color);
    font-size: 0.95rem;
}

.public-announcement__body[b-f63j32niav] {
    white-space: pre-wrap;
    color: var(--rz-text-color);
    line-height: 1.7;
    font-size: 1.0625rem;
}

.public-announcement__cta[b-f63j32niav] {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--rz-base-300);
}

.public-announcement__cta-link[b-f63j32niav] {
    display: inline-block;
    padding: 0.65rem 1.25rem;
    border-radius: 999px;
    background: var(--public-accent, var(--rz-primary));
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: opacity 120ms ease;
}

.public-announcement__cta-link:hover[b-f63j32niav],
.public-announcement__cta-link:focus-visible[b-f63j32niav] {
    opacity: 0.85;
    color: #ffffff;
    text-decoration: none;
}
/* _content/Club.Manager.Web/Components/Shared/AttentionList.razor.rz.scp.css */
.cm-attention-list[b-wxztvmhje5] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
/* _content/Club.Manager.Web/Components/Shared/AttentionRow.razor.rz.scp.css */
.cm-attention-row[b-ed7ow9otqm] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--hairline);
}

.cm-attention-row:last-child[b-ed7ow9otqm] {
    border-bottom: 0;
}

.cm-attention-row__count[b-ed7ow9otqm] {
    font-size: 1.75rem;
    line-height: 1;
    color: var(--accent-text);
    min-width: 2.5ch;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.cm-attention-row--warning .cm-attention-row__count[b-ed7ow9otqm] { color: var(--semantic-warning); }
.cm-attention-row--danger  .cm-attention-row__count[b-ed7ow9otqm] { color: var(--semantic-danger); }
.cm-attention-row--success .cm-attention-row__count[b-ed7ow9otqm] { color: var(--semantic-success); }

.cm-attention-row__body[b-ed7ow9otqm] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.cm-attention-row__title[b-ed7ow9otqm] {
    margin: 0;
    color: var(--fg);
    font-weight: var(--weight-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-attention-row__subtitle[b-ed7ow9otqm] {
    margin: 0;
    color: var(--fg-muted);
    font-size: var(--fs-caption);
}

.cm-attention-row__cta[b-ed7ow9otqm] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    flex-shrink: 0;
}

.cm-attention-row__meta[b-ed7ow9otqm] {
    color: var(--fg-muted);
}

/* Stub flag — light right-side stripe to signal placeholder data. */
.cm-attention-row[data-stub="true"][b-ed7ow9otqm]::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: repeating-linear-gradient(
        45deg,
        var(--fg-dim) 0 4px,
        transparent 4px 8px
    );
    opacity: 0.4;
}

.cm-attention-row[data-stub="true"][b-ed7ow9otqm] {
    position: relative;
}
/* _content/Club.Manager.Web/Components/Shared/BrandPaletteEditor.razor.rz.scp.css */
/* Brand-palette preset chips — shared by the branding page and the public-site editor. */

.bp-presets[b-xsabw0ned5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.bp-preset[b-xsabw0ned5] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rz-base-300);
    border-radius: 10px;
    background: var(--rz-base-background-color, #fff);
    cursor: pointer;
    font: inherit;
    color: var(--rz-text-color);
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.bp-preset:hover[b-xsabw0ned5] {
    border-color: color-mix(in srgb, var(--rz-text-color) 40%, transparent);
}

.bp-preset--on[b-xsabw0ned5] {
    border-color: var(--rz-primary, #3b82f6);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rz-primary, #3b82f6) 35%, transparent);
    cursor: default;
}

.bp-preset__swatches[b-xsabw0ned5] {
    display: inline-flex;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--rz-base-300);
}

.bp-preset__swatches span[b-xsabw0ned5] {
    width: 22px;
    height: 22px;
    display: block;
}

.bp-preset__name[b-xsabw0ned5] {
    font-size: 0.85rem;
    font-weight: 600;
}
/* _content/Club.Manager.Web/Components/Shared/BreadcrumbTrail.razor.rz.scp.css */
.cm-breadcrumb[b-xfkfytsofi] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    font-family: var(--type-body);
    font-size: var(--fs-micro);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fg-muted);
}

.cm-breadcrumb__link[b-xfkfytsofi] {
    color: var(--fg-muted);
    text-decoration: none;
    transition: color 120ms ease;
}

.cm-breadcrumb__link:hover[b-xfkfytsofi],
.cm-breadcrumb__link:focus-visible[b-xfkfytsofi] {
    color: var(--accent-text);
    text-decoration: none;
    outline: none;
}

.cm-breadcrumb__current[b-xfkfytsofi] {
    color: var(--fg);
}

.cm-breadcrumb__sep[b-xfkfytsofi] {
    color: var(--fg-dim);
    font-weight: var(--weight-regular);
    user-select: none;
}
/* _content/Club.Manager.Web/Components/Shared/EmptyState.razor.rz.scp.css */
.cm-empty-state[b-8rg0w531dw] {
    margin: var(--space-6) auto;
    max-width: 520px;
    padding: var(--space-6) var(--space-5);
    border: 1px dashed var(--hairline-strong);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--accent) 4%, transparent);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

.cm-empty-state__icon[b-8rg0w531dw] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent-text);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-2);
}

.cm-empty-state__icon .material-icons[b-8rg0w531dw] {
    font-size: 1.75rem;
}

.cm-empty-state__title[b-8rg0w531dw] {
    margin: 0;
    font-size: 1.5rem;
    color: var(--fg);
}

.cm-empty-state__body[b-8rg0w531dw] {
    margin: 0;
    color: var(--fg-muted);
    font-size: var(--fs-body);
    line-height: 1.55;
    max-width: 42ch;
}

.cm-empty-state__action[b-8rg0w531dw] {
    margin-top: var(--space-3);
}

.cm-empty-state__extra[b-8rg0w531dw] {
    margin-top: var(--space-3);
    width: 100%;
}
/* _content/Club.Manager.Web/Components/Shared/EventAttendanceSection.razor.rz.scp.css */
.cm-attendance[b-ksfx06913k] {
    display: flex;
    flex-direction: column;
}

.cm-attendance__row[b-ksfx06913k] {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--hairline);
}

.cm-attendance__row:last-child[b-ksfx06913k] {
    border-bottom: 0;
}

.cm-attendance__name[b-ksfx06913k] {
    font-family: var(--type-body);
    font-weight: var(--weight-semibold);
    color: var(--fg);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-attendance__when[b-ksfx06913k] {
    color: var(--fg-muted);
    font-size: var(--fs-caption);
    white-space: nowrap;
}
/* _content/Club.Manager.Web/Components/Shared/EventRsvpSection.razor.rz.scp.css */
.cm-rsvp__self[b-def3invb2i] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    margin-bottom: var(--space-3);
    background: var(--surface-raised);
    border-radius: var(--radius-md);
    border: 1px solid var(--hairline);
}

.cm-rsvp__self-label[b-def3invb2i] {
    font-family: var(--type-body);
    font-weight: var(--weight-semibold);
    color: var(--fg);
}

.cm-rsvp__self-when[b-def3invb2i] {
    color: var(--fg-muted);
    font-size: var(--fs-caption);
}

.cm-rsvp__summary[b-def3invb2i] {
    margin-bottom: var(--space-2);
}

.cm-rsvp__missing-head[b-def3invb2i] {
    margin-top: var(--space-4);
    padding-top: var(--space-2);
    border-top: 1px solid var(--hairline);
    margin-bottom: var(--space-2);
}

.cm-rsvp__grid[b-def3invb2i] {
    display: flex;
    flex-direction: column;
}

.cm-rsvp__row[b-def3invb2i] {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--hairline);
}

.cm-rsvp__row:last-child[b-def3invb2i] {
    border-bottom: 0;
}

.cm-rsvp__name[b-def3invb2i] {
    font-family: var(--type-body);
    font-weight: var(--weight-medium);
    color: var(--fg);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-rsvp__when[b-def3invb2i] {
    color: var(--fg-muted);
    font-size: var(--fs-caption);
    white-space: nowrap;
}

.cm-rsvp__badge[b-def3invb2i] {
    display: inline-flex;
    align-items: center;
    padding: 2px var(--space-2);
    border-radius: var(--radius-pill);
    font-size: var(--fs-micro);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cm-rsvp__badge--yes[b-def3invb2i] {
    background: color-mix(in srgb, var(--semantic-success) 18%, transparent);
    color: var(--semantic-success);
}

.cm-rsvp__badge--no[b-def3invb2i] {
    background: color-mix(in srgb, var(--semantic-danger) 18%, transparent);
    color: var(--semantic-danger);
}

.cm-rsvp__badge--maybe[b-def3invb2i] {
    background: color-mix(in srgb, var(--semantic-warning) 18%, transparent);
    color: var(--semantic-warning);
}

.cm-rsvp__badge--missing[b-def3invb2i] {
    background: color-mix(in srgb, var(--fg-dim) 18%, transparent);
    color: var(--fg-muted);
}

.cm-rsvp__row--missing .cm-rsvp__name[b-def3invb2i] {
    color: var(--fg-muted);
}
/* _content/Club.Manager.Web/Components/Shared/FeedList.razor.rz.scp.css */
.cm-feed[b-y0skrpcasu] {
    display: flex;
    flex-direction: column;
}

.cm-feed__list[b-y0skrpcasu] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.cm-feed__empty[b-y0skrpcasu] {
    margin: 0;
    padding: var(--space-3) 0;
    color: var(--fg-muted);
    font-size: var(--fs-caption);
    font-style: italic;
}

.cm-feed__footer[b-y0skrpcasu] {
    margin-top: var(--space-3);
    padding-top: var(--space-2);
    border-top: 1px solid var(--hairline);
}
/* _content/Club.Manager.Web/Components/Shared/FeedRow.razor.rz.scp.css */
.cm-feed-row[b-jkvli0e774] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--hairline);
    min-width: 0;
}

.cm-feed-row:last-child[b-jkvli0e774] {
    border-bottom: 0;
}

.cm-feed-row__lead[b-jkvli0e774] {
    flex-shrink: 0;
    color: var(--fg-muted);
    display: inline-flex;
    align-items: center;
}

.cm-feed-row__body[b-jkvli0e774] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-feed-row__trailing[b-jkvli0e774] {
    flex-shrink: 0;
    color: var(--fg-muted);
    font-family: var(--type-data);
    font-size: var(--fs-caption);
    white-space: nowrap;
}

/* Inline link variant for feed-row bodies. Body content stays in --fg / --fg-muted so the
   row reads as one block; hover underlines the anchor without recolouring everything. */
.cm-feed-row__link[b-jkvli0e774] {
    color: inherit;
    text-decoration: none;
}

.cm-feed-row__link:hover[b-jkvli0e774],
.cm-feed-row__link:focus-visible[b-jkvli0e774] {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: var(--accent);
    text-underline-offset: 3px;
    outline: none;
}

.cm-feed-row[data-stub="true"][b-jkvli0e774] {
    position: relative;
}

.cm-feed-row[data-stub="true"][b-jkvli0e774]::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: repeating-linear-gradient(
        45deg,
        var(--fg-dim) 0 4px,
        transparent 4px 8px
    );
    opacity: 0.4;
}
/* _content/Club.Manager.Web/Components/Shared/KpiCell.razor.rz.scp.css */
.cm-kpi[b-h46x33ly8n] {
    padding: var(--space-4) var(--space-4);
    border-left: 1px solid var(--hairline);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}

.cm-kpi:first-child[b-h46x33ly8n] {
    border-left: 0;
    padding-left: 0;
}

.cm-kpi__label[b-h46x33ly8n] {
    margin: 0;
    color: var(--fg-muted);
}

.cm-kpi__value[b-h46x33ly8n] {
    font-size: 2rem;
    font-weight: var(--weight-semibold);
    color: var(--fg);
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Prose value (e.g. a formatted date) — body font, a touch smaller than the 2rem mono
   numeric since the string is longer and reads better without the monospace weight. */
.cm-kpi__value--prose[b-h46x33ly8n] {
    font-family: var(--type-body);
    font-size: 1.5rem;
}

.cm-kpi__value--accent[b-h46x33ly8n] { color: var(--accent-text); }
.cm-kpi__value--danger[b-h46x33ly8n] { color: var(--semantic-danger); }
.cm-kpi__value--warning[b-h46x33ly8n] { color: var(--semantic-warning); }
.cm-kpi__value--success[b-h46x33ly8n] { color: var(--semantic-success); }

.cm-kpi__substat[b-h46x33ly8n] {
    margin: 0;
    color: var(--fg-muted);
    font-family: var(--type-data);
    font-size: var(--fs-caption);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Stub data marker — subtle stripe in the corner so designers can see what's wired
   and what's placeholder. Hidden in print and at smallest viewports. */
.cm-kpi--stub[b-h46x33ly8n]::after {
    content: "STUB";
    position: absolute;
    top: 2px;
    right: 4px;
    font-size: 0.625rem;
    color: var(--fg-dim);
    letter-spacing: 0.1em;
    opacity: 0.5;
}

.cm-kpi--stub[b-h46x33ly8n] {
    position: relative;
}

@media print {
    .cm-kpi--stub[b-h46x33ly8n]::after { display: none; }
}
/* _content/Club.Manager.Web/Components/Shared/KpiStrip.razor.rz.scp.css */
.cm-kpi-strip[b-44752dhgqk] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0;
    margin: var(--space-5) 0;
    border-top: 1px solid var(--hairline);
    border-bottom: var(--rule-thickness-bold) solid var(--hairline-strong);
}
/* _content/Club.Manager.Web/Components/Shared/LocalTime.razor.rz.scp.css */
/* Small info-icon affordance for the event time zone. Scoped to LocalTime so it only
   targets the ⓘ this component renders (ShowZoneInfo). Sizes the Material Icons glyph
   down from its 24px default to sit inline with the time text, and dims it so it reads
   as a quiet hint rather than an action. */
.local-time__tzicon[b-hr2wfgtpb7] {
    font-size: 0.95em;
    line-height: 1;
    vertical-align: -0.15em;
    margin-left: 0.2em;
    opacity: 0.5;
    cursor: help;
    user-select: none;
}

.local-time__tzicon:hover[b-hr2wfgtpb7],
.local-time__tzicon:focus-visible[b-hr2wfgtpb7] {
    opacity: 0.85;
    outline: none;
}
/* _content/Club.Manager.Web/Components/Shared/LocationDisplay.razor.rz.scp.css */
.locdisp[b-erpqwq1xte] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

/* Row mode: fill the parent row so the Directions button can sit at the far right. */
.locdisp--row[b-erpqwq1xte] {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}

/* Persistent Directions button, pushed to the end of the row. Wraps under on very narrow
   viewports rather than overflowing, so it stays reachable on mobile. */
.locdisp__dir-btn[b-erpqwq1xte] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-weight: 600;
    white-space: nowrap;
    color: var(--accent-text, var(--rz-primary));
    text-decoration: none;
}

.locdisp__dir-btn:hover[b-erpqwq1xte] {
    text-decoration: underline;
}

.locdisp__dir-btn .material-icons[b-erpqwq1xte] {
    font-size: 16px;
}

.locdisp__name[b-erpqwq1xte] {
    font-weight: 600;
}

.locdisp__area[b-erpqwq1xte] {
    color: var(--fg-muted, var(--rz-text-secondary-color));
}

.locdisp__empty[b-erpqwq1xte] {
    color: var(--fg-dim, var(--rz-text-disabled-color));
}

/* Info icon + popover. The popover is revealed on hover OR keyboard focus of the wrapper, so it
   works without JS in any render mode. */
.locdisp__wrap[b-erpqwq1xte] {
    position: relative;
    display: inline-flex;
}

.locdisp__info[b-erpqwq1xte] {
    font-family: 'Material Icons';
    font-size: 1.05rem;
    line-height: 1;
    color: var(--accent-text, var(--rz-primary));
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.locdisp__pop[b-erpqwq1xte] {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    min-width: 200px;
    max-width: 280px;
    display: none;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem;
    background: var(--surface-raised, var(--rz-base-background-color));
    border: 1px solid var(--hairline, var(--rz-border-color));
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    text-align: left;
}

/* Reveal on hover of the icon/wrapper, or when anything inside has focus (keyboard users). */
.locdisp__wrap:hover .locdisp__pop[b-erpqwq1xte],
.locdisp__wrap:focus-within .locdisp__pop[b-erpqwq1xte] {
    display: flex;
}

.locdisp__pop-title[b-erpqwq1xte] {
    font-weight: 700;
}

.locdisp__pop-area[b-erpqwq1xte] {
    font-size: 0.8rem;
    color: var(--fg-muted, var(--rz-text-secondary-color));
}

.locdisp__pop-img[b-erpqwq1xte] {
    width: 100%;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
}

.locdisp__pop-addr[b-erpqwq1xte] {
    font-size: 0.85rem;
    color: var(--fg-muted, var(--rz-text-secondary-color));
}

.locdisp__pop-dir[b-erpqwq1xte] {
    font-weight: 600;
    color: var(--accent-text, var(--rz-primary));
    text-decoration: none;
}

.locdisp__pop-dir:hover[b-erpqwq1xte] {
    text-decoration: underline;
}

.locdisp__dir-inline[b-erpqwq1xte] {
    font-size: 0.85rem;
}
/* _content/Club.Manager.Web/Components/Shared/LocationPicker.razor.rz.scp.css */
.locpick[b-y8br20qdfv] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.locpick__remember-cta[b-y8br20qdfv] {
    align-self: flex-start;
}

/* Inline "remember this location" / "add court" mini-form. */
.locpick__remember[b-y8br20qdfv] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.75rem;
    border: 1px dashed var(--hairline-strong, var(--rz-border-color));
    border-radius: 8px;
    background: var(--surface, var(--rz-base-100));
}

.locpick__actions[b-y8br20qdfv] {
    display: flex;
    gap: 0.5rem;
}
/* _content/Club.Manager.Web/Components/Shared/MailLink.razor.rz.scp.css */
/* Compact light icon button to match the small Radzen actions it sits beside. */
.cm-maillink[b-jboilwltzb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid var(--hairline, var(--rz-border-color));
    color: var(--fg-muted, var(--rz-text-color));
    text-decoration: none;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.cm-maillink:hover[b-jboilwltzb] {
    background: var(--surface, var(--rz-base-100));
    color: var(--accent-text, var(--rz-primary));
}

.cm-maillink .material-icons[b-jboilwltzb] {
    font-size: 16px;
}
/* _content/Club.Manager.Web/Components/Shared/PageIdentity.razor.rz.scp.css */
.cm-page-identity[b-cpzqxm7as1] {
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
    border-bottom: var(--rule-thickness-bold) solid var(--hairline-strong);
}

.cm-page-identity__breadcrumbs[b-cpzqxm7as1] {
    margin-bottom: var(--space-2);
}

.cm-page-identity__eyebrow[b-cpzqxm7as1] {
    margin: 0 0 var(--space-2) 0;
    color: var(--fg-muted);
}

.cm-page-identity__main[b-cpzqxm7as1] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-5);
    flex-wrap: wrap;
}

.cm-page-identity__title-block[b-cpzqxm7as1] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-4);
    min-width: 0;
}

.cm-page-identity__title[b-cpzqxm7as1] {
    margin: 0;
    font-size: var(--fs-display-1);
    color: var(--fg);
    line-height: 0.9;
}

/* FocusOnNavigate (Routes.razor) sets keyboard focus on the page H1 after every
   navigation so screen readers announce the new page. The default browser focus ring
   shows up as an unwanted rectangle around the title since the H1 isn't actually
   interactive. Suppress the visible outline only on the non-keyboard path —
   :focus-visible keeps a keyboard user's tab order legible. */
.cm-page-identity__title:focus[b-cpzqxm7as1] {
    outline: none;
}

.cm-page-identity__title:focus-visible[b-cpzqxm7as1] {
    outline: 2px solid var(--accent);
    outline-offset: 4px;
    border-radius: 2px;
}

/* Status pill — keyed by variant. Default is the accent colour; the named variants
   override so "Inactive" can read muted and "Warning" can use the semantic warning
   token. */
.cm-page-identity__status[b-cpzqxm7as1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-pill);
    background: var(--accent-soft);
    color: var(--accent-text);
    font-family: var(--type-body);
    font-size: var(--fs-micro);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cm-page-identity__status-dot[b-cpzqxm7as1] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 30%, transparent);
}

.cm-page-identity__status--inactive[b-cpzqxm7as1] {
    background: color-mix(in srgb, var(--fg-dim) 18%, transparent);
    color: var(--fg-muted);
}

.cm-page-identity__status--warning[b-cpzqxm7as1] {
    background: color-mix(in srgb, var(--semantic-warning) 18%, transparent);
    color: var(--semantic-warning);
}

.cm-page-identity__status--danger[b-cpzqxm7as1] {
    background: color-mix(in srgb, var(--semantic-danger) 18%, transparent);
    color: var(--semantic-danger);
}

.cm-page-identity__subtitle[b-cpzqxm7as1] {
    margin: var(--space-2) 0 0 0;
    flex-basis: 100%;
    color: var(--fg-muted);
    font-size: var(--fs-body);
}

.cm-page-identity__actions[b-cpzqxm7as1] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

/* Tighten the display headline on small screens — 72px doesn't fit on mobile. */
@media (max-width: 720px) {
    .cm-page-identity__title[b-cpzqxm7as1] {
        font-size: 2.5rem;
    }
}
/* _content/Club.Manager.Web/Components/Shared/PageLoading.razor.rz.scp.css */
.cm-page-loading[b-5nhhmvt76d] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-6) var(--space-4);
    color: var(--fg-muted);
    font-family: var(--type-body);
    font-size: var(--fs-caption);
}

.cm-page-loading__dot[b-5nhhmvt76d] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    animation: cm-pulse-b-5nhhmvt76d 1.1s ease-in-out infinite;
}

.cm-page-loading__dot:nth-child(2)[b-5nhhmvt76d] { animation-delay: 0.18s; }
.cm-page-loading__dot:nth-child(3)[b-5nhhmvt76d] { animation-delay: 0.36s; }

.cm-page-loading__text[b-5nhhmvt76d] {
    margin-left: var(--space-2);
}

@keyframes cm-pulse-b-5nhhmvt76d {
    0%, 80%, 100% { opacity: 0.25; transform: scale(0.85); }
    40% { opacity: 1; transform: scale(1.1); }
}
/* _content/Club.Manager.Web/Components/Shared/PhotoUploadButton.razor.rz.scp.css */
/* Shared upload control — same look the event gallery established (design-tokens.css). */
.pub[b-i9nlhlph5v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.pub__btn[b-i9nlhlph5v] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--accent);
    border-radius: var(--radius-md);
    background: var(--accent-soft);
    color: var(--fg);
    font-size: var(--fs-caption);
    font-weight: var(--weight-semibold);
    cursor: pointer;
}

/* Hide the native file input; the styled label is the click target. */
.pub__btn[b-i9nlhlph5v]  input[type="file"] {
    display: none;
}

.pub__hint[b-i9nlhlph5v] {
    font-size: var(--fs-caption);
    color: var(--fg-dim);
}
/* _content/Club.Manager.Web/Components/Shared/PhotoViewerDialog.razor.rz.scp.css */
.pvd[b-ef773x1ljg] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.pvd__imgwrap[b-ef773x1ljg] {
    display: block;
    line-height: 0;
    background: var(--surface, var(--rz-base-100));
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
}

.pvd__img[b-ef773x1ljg] {
    display: block;
    width: 100%;
    max-height: 70vh;
    object-fit: contain;
    background: #000;
}

.pvd__caption[b-ef773x1ljg] {
    font-size: var(--fs-caption);
    color: var(--fg-muted, var(--rz-text-secondary-color));
}

.pvd__foot[b-ef773x1ljg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.pvd__full[b-ef773x1ljg] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--accent-text, var(--rz-primary));
}

.pvd__full:hover[b-ef773x1ljg] {
    text-decoration: underline;
}
/* _content/Club.Manager.Web/Components/Shared/PillButton.razor.rz.scp.css */
/* Base pill — shared by all variants. Letter-spacing + uppercase reads as a
   sport-broadcast control; the eyebrow micro-text size matches the section
   labels so the visual cadence stays consistent. */
.cm-pill[b-stisei9ljz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0 var(--space-4);
    height: 36px;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    background: transparent;
    color: var(--fg);
    cursor: pointer;
    font-family: var(--type-body);
    font-size: var(--fs-caption);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color 120ms ease, background 120ms ease, border-color 120ms ease;
    user-select: none;
}

.cm-pill:focus-visible[b-stisei9ljz] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.cm-pill[disabled][b-stisei9ljz] {
    opacity: 0.5;
    cursor: not-allowed;
}

.cm-pill__icon[b-stisei9ljz] {
    font-size: 1rem;
    line-height: 1;
}

.cm-pill__text[b-stisei9ljz] {
    line-height: 1;
}

/* Filled — accent CTA. Used sparingly (one per page identity row, typically). */
.cm-pill--filled[b-stisei9ljz] {
    background: var(--accent);
    color: var(--accent-fg);
    border-color: var(--accent);
}

.cm-pill--filled:hover[b-stisei9ljz],
.cm-pill--filled:focus-visible[b-stisei9ljz] {
    background: color-mix(in srgb, var(--accent) 88%, white);
    color: var(--accent-fg);
    text-decoration: none;
}

/* Outlined — secondary actions. Reads as a tab/segment when stacked horizontally. */
.cm-pill--outlined[b-stisei9ljz] {
    background: transparent;
    color: var(--fg);
    border-color: var(--hairline-strong);
}

.cm-pill--outlined:hover[b-stisei9ljz],
.cm-pill--outlined:focus-visible[b-stisei9ljz] {
    color: var(--accent-text);
    border-color: var(--accent);
    background: var(--accent-soft);
    text-decoration: none;
}

/* Danger — destructive actions (delete, revoke). Same outlined shape as the default
   secondary action so it doesn't dominate the row, but tinted red so the meaning is
   unambiguous on hover. */
.cm-pill--danger[b-stisei9ljz] {
    background: transparent;
    color: var(--semantic-danger);
    border-color: color-mix(in srgb, var(--semantic-danger) 50%, transparent);
}

.cm-pill--danger:hover[b-stisei9ljz],
.cm-pill--danger:focus-visible[b-stisei9ljz] {
    color: white;
    background: var(--semantic-danger);
    border-color: var(--semantic-danger);
    text-decoration: none;
}

/* Ghost — text-only, no border. Used for inline "View queue ›" trailing links. */
.cm-pill--ghost[b-stisei9ljz] {
    background: transparent;
    color: var(--fg-muted);
    border-color: transparent;
    padding: 0 var(--space-2);
    height: auto;
    letter-spacing: 0.04em;
}

.cm-pill--ghost:hover[b-stisei9ljz],
.cm-pill--ghost:focus-visible[b-stisei9ljz] {
    color: var(--accent-text);
    background: transparent;
    text-decoration: none;
}

/* Small size — matches header-row action density. */
.cm-pill--small[b-stisei9ljz] {
    height: 28px;
    padding: 0 var(--space-3);
    font-size: var(--fs-micro);
}

.cm-pill--small .cm-pill__icon[b-stisei9ljz] {
    font-size: 0.875rem;
}
/* _content/Club.Manager.Web/Components/Shared/ScopeBadge.razor.rz.scp.css */
.scope-badge[b-uvxmq5wd20] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    font-family: var(--type-data, monospace);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid var(--hairline);
    color: var(--fg-muted);
    background: var(--surface);
    white-space: nowrap;
}

.scope-badge__dot[b-uvxmq5wd20] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex: none;
}

.scope-badge--club[b-uvxmq5wd20] { color: #2f6fd6; }
.scope-badge--team[b-uvxmq5wd20] { color: #e2522b; }
.scope-badge--league[b-uvxmq5wd20] { color: #1f8a4e; }
.scope-badge--family[b-uvxmq5wd20] { color: #6b54c6; }
/* _content/Club.Manager.Web/Components/Shared/SectionHeader.razor.rz.scp.css */
.cm-section-header[b-grpt4bcmyf] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-4);
    margin: 0 0 var(--space-4) 0;
    padding: 0 0 var(--space-2) 0;
    border-bottom: var(--rule-thickness-bold) solid var(--hairline-strong);
    flex-wrap: wrap;
}

.cm-section-header__title[b-grpt4bcmyf] {
    margin: 0;
    font-size: 1.5rem;
    color: var(--fg);
}

.cm-section-header__aside[b-grpt4bcmyf] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-4);
}

.cm-section-header__meta[b-grpt4bcmyf] {
    color: var(--fg-muted);
}

.cm-section-header__trailing[b-grpt4bcmyf] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}
/* _content/Club.Manager.Web/Components/Shared/TeamCard.razor.rz.scp.css */
.cm-team-card[b-kl3f8kmqow] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4);
    border-left: 1px solid var(--hairline);
    text-decoration: none;
    color: var(--fg);
    transition: background 120ms ease;
}

.cm-team-card:first-child[b-kl3f8kmqow] {
    border-left: 0;
    padding-left: 0;
}

.cm-team-card:hover[b-kl3f8kmqow],
.cm-team-card:focus-visible[b-kl3f8kmqow] {
    background: var(--accent-soft);
    color: var(--fg);
    outline: none;
    text-decoration: none;
}

.cm-team-card__head[b-kl3f8kmqow] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.cm-team-card__sport[b-kl3f8kmqow] {
    color: var(--fg-muted);
}

.cm-team-card__roster[b-kl3f8kmqow] {
    color: var(--accent-text);
    font-weight: var(--weight-semibold);
    font-size: var(--fs-caption);
}

.cm-team-card__name[b-kl3f8kmqow] {
    margin: 0;
    font-size: 1.5rem;
    color: var(--fg);
    line-height: 1;
}

.cm-team-card__subtitle[b-kl3f8kmqow] {
    margin: 0;
    color: var(--fg-muted);
    font-size: var(--fs-caption);
}
/* _content/Club.Manager.Web/Components/Shared/TeamsStrip.razor.rz.scp.css */
.cm-teams-strip[b-1jgfxze2ga] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0;
    border-top: 1px solid var(--hairline);
    border-bottom: var(--rule-thickness-bold) solid var(--hairline-strong);
}
/* _content/Club.Manager.Web/Components/Shared/ThemeToggle.razor.rz.scp.css */
.cm-theme-toggle[b-1i3ys01nej] {
    display: inline-flex;
    margin: 0;
}

.cm-theme-toggle__btn[b-1i3ys01nej] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--fg-muted);
    cursor: pointer;
    transition: color 120ms ease, background 120ms ease, border-color 120ms ease;
}

.cm-theme-toggle__btn:hover[b-1i3ys01nej],
.cm-theme-toggle__btn:focus-visible[b-1i3ys01nej] {
    color: var(--accent-text);
    background: var(--accent-soft);
    border-color: var(--accent-dim);
    outline: none;
}

.cm-theme-toggle__btn .material-icons[b-1i3ys01nej] {
    font-size: 1.25rem;
    line-height: 1;
}
/* _content/Club.Manager.Web/Components/Shared/WeekStrip.razor.rz.scp.css */
.cm-week[b-4td7d7208d] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    border-top: 1px solid var(--hairline);
}

.cm-week__day[b-4td7d7208d] {
    border-right: 1px solid var(--hairline);
    padding: var(--space-3) var(--space-2);
    min-height: 160px;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.cm-week__day:last-child[b-4td7d7208d] {
    border-right: 0;
}

.cm-week__day--today[b-4td7d7208d] {
    background: var(--accent-soft);
}

.cm-week__day-head[b-4td7d7208d] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.cm-week__day-name[b-4td7d7208d] {
    color: var(--fg-muted);
}

.cm-week__day--today .cm-week__day-name[b-4td7d7208d] {
    color: var(--accent-text);
}

.cm-week__day-num[b-4td7d7208d] {
    font-size: 1.25rem;
    font-weight: var(--weight-semibold);
    color: var(--fg);
}

.cm-week__chips[b-4td7d7208d] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.cm-week__chip[b-4td7d7208d] {
    padding: var(--space-1) var(--space-2);
    border-left: 3px solid var(--accent);
    background: var(--surface-raised);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: var(--fs-micro);
    line-height: 1.25;
    color: var(--fg);
}

.cm-week__chip-time[b-4td7d7208d] {
    display: block;
    color: var(--fg-muted);
    font-size: var(--fs-micro);
}

.cm-week__chip-title[b-4td7d7208d] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Per-tone colour rail. Mirrors the calendar colours in TeamDashboard's scheduler so
   the same event reads the same way on both surfaces. */
.cm-week__chip--practice[b-4td7d7208d] { border-left-color: var(--semantic-info); }
.cm-week__chip--game[b-4td7d7208d]     { border-left-color: var(--semantic-danger); }
.cm-week__chip--tryout[b-4td7d7208d]   { border-left-color: var(--semantic-warning); }
.cm-week__chip--camp[b-4td7d7208d]     { border-left-color: var(--semantic-success); }

.cm-week__chip-empty[b-4td7d7208d] {
    color: var(--fg-dim);
    font-size: var(--fs-micro);
    text-align: center;
}
