/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin-layout[b-b5ar3sajhw] {
    display: flex;
    min-height: 100vh;
    background: var(--brand-surface-alt, #F4F7FA);
}

.admin-sidebar[b-b5ar3sajhw] {
    width: var(--sidebar-width);
    background-color: var(--sidebar-bg, #1D3260);
    /* Depth is layered *over* the base colour rather than baked into a two-stop
       gradient, because an organization can set its own SecondaryColor here. Translucent
       white and black work on any hue; a hardcoded navy-to-navy ramp would fight a
       tenant's palette. Top-left highlight, bottom shading. */
    background-image:
        radial-gradient(130% 60% at 0% 0%, rgba(255, 255, 255, .10), transparent 62%),
        linear-gradient(180deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, 0) 30%, rgba(0, 0, 0, .24) 100%);
    color: var(--sidebar-text, white);
    display: flex;
    flex-direction: column;
    position: fixed;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1000;
    box-shadow: 2px 0 14px rgba(29, 50, 96, .22);
    transition: width .2s ease;
}

/* A hairline of the action colour where the sidebar meets the content, so the two
   panels read as deliberate rather than merely adjacent. */
.admin-sidebar[b-b5ar3sajhw]::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 1px;
    background: linear-gradient(180deg, var(--nav-accent, #4169E1), rgba(255, 255, 255, .06) 45%, transparent);
    pointer-events: none;
}

.sidebar-header[b-b5ar3sajhw] {
    padding: 1.25rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
}

/* Brand lockup: organization mark + product wordmark */
.sidebar-brand[b-b5ar3sajhw] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    margin-bottom: 0.75rem;
}

.sidebar-brand:hover[b-b5ar3sajhw] {
    text-decoration: none;
}

.sidebar-brand-mark[b-b5ar3sajhw] {
    height: 42px;
    width: 42px;
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35));
}

.sidebar-brand-text[b-b5ar3sajhw] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sidebar-brand-name[b-b5ar3sajhw] {
    font-family: var(--font-display, sans-serif);
    font-size: 1.35rem;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
}

.sidebar-brand-name .accent[b-b5ar3sajhw] {
    /* Set in Branding & Theme (Wordmark Accent); light blue by default. */
    color: var(--nav-wordmark-accent, #8EC5FF);
}

.sidebar-brand-org[b-b5ar3sajhw] {
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 0.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.25;
}


.admin-main[b-b5ar3sajhw] {
    flex: 1;
    margin-left: var(--sidebar-width);
    display: flex;
    flex-direction: column;
    width: calc(100% - var(--sidebar-width));
    background: var(--brand-surface-alt, #F4F7FA);
    transition: margin-left .2s ease, width .2s ease;
}

.admin-toolbar[b-b5ar3sajhw] {
    background: white;
    border-bottom: 1px solid var(--brand-border, #DFE4EA);
    padding: 0.75rem 0;
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 1px 3px rgba(29, 50, 96, .08);
}

.admin-content[b-b5ar3sajhw] {
    padding: 2rem 0;
    flex: 1;
    background: var(--brand-surface-alt, #F4F7FA);
}

/* Horizontal gutter for the whole admin pane.

   Bootstrap's .container-fluid only gives half a gutter (.75rem) each side, which left
   cards and tables running flush into the sidebar on one edge and the window on the
   other. The toolbar and the content share the value from one place: they use separate
   .container-fluid wrappers, and padding only the content would misalign the page
   heading from the account menu directly above it. */
.admin-main[b-b5ar3sajhw] {
    --admin-gutter: 2rem;
}

.admin-toolbar > .container-fluid[b-b5ar3sajhw],
.admin-content > .container-fluid[b-b5ar3sajhw] {
    padding-left: var(--admin-gutter);
    padding-right: var(--admin-gutter);
}

@media (max-width: 991px) {
    .admin-main[b-b5ar3sajhw] {
        --admin-gutter: 1.25rem;
    }
}

@media (max-width: 575px) {
    .admin-main[b-b5ar3sajhw] {
        --admin-gutter: 1rem;
    }
}

/* The drawer checkbox is a control, not a visible one. Kept in the DOM (not
   display:none) so :checked still works, but out of the layout and out of the
   accessibility tree — its <label> in the toolbar is the affordance. */
.admin-drawer-state[b-b5ar3sajhw] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.sidebar-toggle[b-b5ar3sajhw] {
    color: var(--eha-navy, #1D3260);
    padding: 0;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 991px) {
    .admin-sidebar[b-b5ar3sajhw] {
        /* Always full width in the drawer: a 76px rail makes no sense as an overlay. */
        width: 260px;
        transform: translateX(-100%);
        transition: transform .28s ease;
    }

    .admin-drawer-state:checked ~ .admin-layout .admin-sidebar[b-b5ar3sajhw] {
        transform: translateX(0);
    }

    .admin-main[b-b5ar3sajhw] {
        margin-left: 0;
        width: 100%;
    }
}

/* Scrollbar styling for sidebar */
.admin-sidebar[b-b5ar3sajhw]::-webkit-scrollbar {
    width: 6px;
}

.admin-sidebar[b-b5ar3sajhw]::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
}

.admin-sidebar[b-b5ar3sajhw]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.admin-sidebar[b-b5ar3sajhw]::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
}

/* The organization switcher is styled for the dark sidebar (text-light /
   btn-outline-light). In the white toolbar those turn invisible, so restate
   them in navy. */
.toolbar-org-switcher[b-b5ar3sajhw]  .text-light {
    color: var(--eha-navy, #1D3260) !important;
    font-weight: 600;
    font-size: 0.875rem;
}

.toolbar-org-switcher[b-b5ar3sajhw]  .btn-outline-light {
    color: var(--eha-navy, #1D3260);
    border-color: var(--brand-border, #DFE4EA);
    font-weight: 600;
}

.toolbar-org-switcher[b-b5ar3sajhw]  .btn-outline-light:hover,
.toolbar-org-switcher[b-b5ar3sajhw]  .btn-outline-light:active,
.toolbar-org-switcher[b-b5ar3sajhw]  .show > .btn-outline-light.dropdown-toggle {
    color: #fff;
    background-color: var(--eha-navy, #1D3260);
    border-color: var(--eha-navy, #1D3260);
}

.toolbar-org-switcher[b-b5ar3sajhw]  .spinner-border {
    color: var(--eha-navy, #1D3260) !important;
}
/* /Components/Layout/AdminNavMenu.razor.rz.scp.css */
/* Admin sidebar navigation.

   The rule this replaced was `.nav-section .nav-link { padding-left: 2.5rem }`, which
   matched a section's own header button as well as its children. That indented Reports
   and Settings as though they belonged to Teams, and left their children at the same
   depth as the header, so an expanded section read as a flat list. Headers are now
   top-level and only `.nav-sublist` children are indented.

   Rules reach through ::deep because most links are NavLink components, and a scoped
   stylesheet only stamps elements written in this file: without it the NavLinks got
   plain Bootstrap (15px, no active marker) while the hand-written "All …" anchors
   got these rules, and the two sat side by side at different sizes. */

.admin-nav-menu[b-m0uh4qem64] {
    padding: .5rem 0 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* --- shared link shape ---------------------------------------------------- */

.admin-nav-menu[b-m0uh4qem64]  .nav-link {
    font-family: var(--font-body, sans-serif);
    color: #fff !important;
    /* 3px of the left inset is the active marker, so padding accounts for it and text
       does not shift by 3px when a link becomes active. */
    padding: .375rem 1rem .375rem calc(1rem - 3px);
    font-size: .8125rem;
    border-radius: 0;
    border-left: 3px solid transparent;
    display: flex;
    align-items: center;
    gap: .625rem;
    transition: background-color .18s ease, border-color .18s ease, opacity .18s ease;
    text-decoration: none;
    font-weight: 500;
    opacity: .82;
    white-space: nowrap;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-link:hover {
    color: #fff !important;
    background-color: var(--sidebar-hover, rgba(255, 255, 255, .1));
    opacity: 1;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-link.active {
    background-color: rgba(255, 255, 255, .13);
    border-left-color: var(--nav-accent);
    font-weight: 600;
    opacity: 1;
}

/* Fixed icon column so labels line up whatever the glyph width. */
.admin-nav-menu[b-m0uh4qem64]  .nav-link > i:first-child {
    font-size: .9375rem;
    width: 1.375rem;
    flex: 0 0 1.375rem;
    text-align: center;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- collapsible section headers ------------------------------------------ */

.admin-nav-menu[b-m0uh4qem64]  .collapsible {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    border-left: 3px solid transparent;
    cursor: pointer;
    font-size: .8125rem;
}

.admin-nav-menu[b-m0uh4qem64]  .collapsible.is-open {
    background-color: rgba(255, 255, 255, .07);
    opacity: 1;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-caret {
    font-size: .7rem;
    opacity: .7;
    flex: 0 0 auto;
    transition: opacity .18s ease;
}

.admin-nav-menu[b-m0uh4qem64]  .collapsible:hover .nav-caret {
    opacity: 1;
}

/* --- submenus -------------------------------------------------------------- */

/* The guide rail is what makes the nesting readable; indentation alone at this scale
   is easy to miss, which is why the section headers looked like siblings of their own
   children before. */
.admin-nav-menu[b-m0uh4qem64]  .nav-sublist {
    position: relative;
    margin: .125rem 0 .375rem;
    padding-left: 2.125rem;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-sublist::before {
    content: "";
    position: absolute;
    left: 1.5rem;
    top: .25rem;
    bottom: .25rem;
    width: 1px;
    background: rgba(255, 255, 255, .22);
}

.admin-nav-menu[b-m0uh4qem64]  .nav-sublist .nav-link {
    font-size: .78125rem;
    font-weight: 400;
    padding: .3125rem .75rem .3125rem calc(.75rem - 3px);
    gap: .625rem;
    opacity: .74;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-sublist .nav-link > i:first-child {
    font-size: .875rem;
    width: 1.125rem;
    flex: 0 0 1.125rem;
}

.admin-nav-menu[b-m0uh4qem64]  .nav-sublist .nav-link.active {
    opacity: 1;
}

/* --- group labels ---------------------------------------------------------- */

.admin-nav-menu[b-m0uh4qem64]  .nav-group-label {
    list-style: none;
    margin: .875rem 0 .125rem;
    padding: 0 1rem;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    /* .55 alpha on the sidebar navy is ~4.6:1 — a label, but still a readable one. */
    color: rgba(255, 255, 255, .55);
}

/* --- structure ------------------------------------------------------------- */

.admin-nav-menu[b-m0uh4qem64]  .nav-item,
.admin-nav-menu[b-m0uh4qem64]  .nav-section {
    list-style: none;
}

/* --- rail toggle ----------------------------------------------------------- */

.nav-rail-toggle[b-m0uh4qem64] {
    align-self: flex-end;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 .5rem .25rem;
    padding: .375rem .625rem;
    background: none;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--radius-sm, 6px);
    color: rgba(255, 255, 255, .78);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.nav-rail-toggle:hover[b-m0uh4qem64] {
    background-color: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .34);
    color: #fff;
}

.nav-rail-toggle i[b-m0uh4qem64] {
    font-size: .8125rem;
}

/* --- collapsed (rail) mode -------------------------------------------------
   Labels, carets and group headings go; icons centre in the rail. Submenus are not
   rendered at all in this mode (the component checks `collapsed`), so there is no
   hidden-but-focusable content to trap a keyboard user. */

.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-label,
.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-caret {
    display: none;
}

.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-group-label {
    /* Kept in the accessibility tree but given no height, so the grouping still reads
       to a screen reader while the rail stays narrow. */
    height: 0;
    margin: .5rem 0;
    padding: 0;
    overflow: hidden;
}

.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-link {
    justify-content: center;
    gap: 0;
    padding: .5rem 0;
    border-left-width: 0;
    border-right: 3px solid transparent;
}

.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-link.active {
    border-right-color: var(--nav-accent);
}

.admin-nav-menu.is-collapsed[b-m0uh4qem64]  .nav-rail-toggle {
    align-self: center;
    margin-inline: 0;
    padding: .375rem .5rem;
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-layout[b-lkoslmnlfc] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--brand-surface-alt, #F4F7FA);
}

.auth-header[b-lkoslmnlfc] {
    background-color: white;
    border-bottom: 1px solid var(--brand-border, #DFE4EA);
    border-top: 4px solid var(--eha-green, #048752);
    padding: 1rem 0;
}

.auth-brand[b-lkoslmnlfc] {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-family: var(--font-display, sans-serif);
    font-size: 1.5rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
    text-decoration: none;
    transition: color 0.2s;
}

.auth-brand:hover[b-lkoslmnlfc] {
    color: var(--primary-color, var(--brand-primary, #048752));
}

.auth-brand img[b-lkoslmnlfc] {
    height: 44px;
    width: 44px;
    object-fit: contain;
}

.auth-brand .accent[b-lkoslmnlfc] {
    color: var(--brand-primary, #048752);
}

.auth-header .container[b-lkoslmnlfc] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.auth-tagline[b-lkoslmnlfc] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brand-muted, #5D6B80);
    padding-left: 1rem;
    border-left: 1px solid var(--brand-border, #DFE4EA);
}

@media (max-width: 575px) {
    .auth-tagline[b-lkoslmnlfc] { display: none; }
}

.auth-main[b-lkoslmnlfc] {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 2rem 0;
}

/* Pushed to the right of the header so it doesn't crowd the wordmark. */
.auth-back[b-lkoslmnlfc] {
    margin-left: auto;
}
/* /Components/Layout/CoachLayout.razor.rz.scp.css */
/* Coach portal shell. Deliberately a top bar rather than the admin sidebar: coaches
   have two destinations, not twenty, and most will open this on a phone at the rink. */

.coach-layout[b-48vs21dsx5] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--brand-surface-alt, #F4F7FA);
}

.coach-header[b-48vs21dsx5] {
    background: #fff;
    border-top: 4px solid var(--eha-green, #048752);
    border-bottom: 1px solid var(--brand-border, #DFE4EA);
    box-shadow: 0 1px 3px rgba(29, 50, 96, .08);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.coach-header[b-48vs21dsx5]  .container {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.coach-brand[b-48vs21dsx5] {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    text-decoration: none;
    flex: 0 0 auto;
}

.coach-brand:hover[b-48vs21dsx5] {
    text-decoration: none;
}

.coach-brand img[b-48vs21dsx5] {
    height: 44px;
    width: 44px;
    object-fit: contain;
}

.coach-brand-text[b-48vs21dsx5] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.coach-brand-name[b-48vs21dsx5] {
    font-family: var(--font-display, sans-serif);
    font-size: 1.35rem;
    line-height: 1;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
}

.coach-brand-name .accent[b-48vs21dsx5] {
    color: var(--brand-primary, #048752);
}

.coach-brand-org[b-48vs21dsx5] {
    font-size: .6875rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--brand-muted, #5D6B80);
    margin-top: .2rem;
}

.coach-nav[b-48vs21dsx5] {
    display: flex;
    align-items: center;
    gap: .25rem;
    margin-left: auto;
}

.coach-nav[b-48vs21dsx5]  .coach-nav-link {
    display: inline-flex;
    align-items: center;
    padding: .5rem .9rem;
    border-radius: var(--radius, 10px);
    font-weight: 600;
    font-size: .8125rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease;
    white-space: nowrap;
}

.coach-nav[b-48vs21dsx5]  .coach-nav-link:hover {
    background-color: var(--eha-silver-soft, #EDEFF2);
    text-decoration: none;
}

.coach-nav[b-48vs21dsx5]  .coach-nav-link.active {
    background-color: var(--eha-green-soft, #E6F4EE);
    color: var(--eha-green-dark, #036B41);
}

.coach-account[b-48vs21dsx5] {
    flex: 0 0 auto;
}

.coach-main[b-48vs21dsx5] {
    flex: 1;
    padding: 2rem 0 3rem;
}

@media (max-width: 767px) {
    .coach-header[b-48vs21dsx5]  .container {
        flex-wrap: wrap;
        gap: .75rem;
    }

    /* A tab bar on phones: every link in view at once, icon over label, rather than a
       row wider than the screen that has to be scrolled sideways. */
    .coach-nav[b-48vs21dsx5] {
        order: 3;
        width: 100%;
        margin-left: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: .25rem;
    }

    .coach-nav[b-48vs21dsx5]  .coach-nav-link {
        flex-direction: column;
        justify-content: center;
        gap: .2rem;
        padding: .4rem .2rem;
        font-size: .625rem;
        letter-spacing: .02em;
        line-height: 1.15;
        text-align: center;
        white-space: normal;
    }

    .coach-nav[b-48vs21dsx5]  .coach-nav-link .bi {
        margin: 0 !important;
        font-size: 1.15rem;
    }

    .coach-account[b-48vs21dsx5] {
        margin-left: auto;
        min-width: 0;
    }

    /* The account button shows the sign-in name, often a long email address. */
    .coach-account > .btn[b-48vs21dsx5] {
        max-width: 11rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .coach-brand-org[b-48vs21dsx5] {
        display: none;
    }
}

/* Printing a coach page (the game-day lineup chart is the reason this exists) gives the
   paper to the page content: no nav bar, no grey page background, no top padding. */
@media print {
    .coach-header[b-48vs21dsx5] {
        display: none;
    }

    .coach-layout[b-48vs21dsx5] {
        min-height: 0;
        background: #fff;
    }

    .coach-main[b-48vs21dsx5] {
        padding: 0;
    }

    /* Bootstrap sizes .container to the print width as if it were a screen, which caps
       it at 540px on Letter paper and leaves the right side of the page empty. */
    .coach-main .container[b-48vs21dsx5] {
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-enhv4s8a2s] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-enhv4s8a2s] {
    flex: 1;
}

.sidebar[b-enhv4s8a2s] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-enhv4s8a2s] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-enhv4s8a2s]  a, .top-row[b-enhv4s8a2s]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-enhv4s8a2s]  a:hover, .top-row[b-enhv4s8a2s]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-enhv4s8a2s]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-enhv4s8a2s] {
        justify-content: space-between;
    }

    .top-row[b-enhv4s8a2s]  a, .top-row[b-enhv4s8a2s]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-enhv4s8a2s] {
        flex-direction: row;
    }

    .sidebar[b-enhv4s8a2s] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-enhv4s8a2s] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-enhv4s8a2s]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-enhv4s8a2s], article[b-enhv4s8a2s] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-enhv4s8a2s] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-enhv4s8a2s] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-tuv0aju5pf] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-tuv0aju5pf] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-tuv0aju5pf] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-tuv0aju5pf] {
    font-size: 1.1rem;
}

.bi[b-tuv0aju5pf] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-tuv0aju5pf] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-tuv0aju5pf] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-tuv0aju5pf] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-tuv0aju5pf] {
        padding-bottom: 1rem;
    }

    .nav-item[b-tuv0aju5pf]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-tuv0aju5pf]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-tuv0aju5pf]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-tuv0aju5pf] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-tuv0aju5pf] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-tuv0aju5pf] {
        display: none;
    }

    .nav-scrollable[b-tuv0aju5pf] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-layout[b-267ai5nhcj] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.public-header[b-267ai5nhcj] {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: white;
}

.public-main[b-267ai5nhcj] {
    flex: 1;
}

.public-footer[b-267ai5nhcj] {
    margin-top: auto;
}

.navbar-brand[b-267ai5nhcj] {
    font-size: 1.5rem;
}

@media (max-width: 768px) {
    .navbar-nav[b-267ai5nhcj] {
        padding-top: 1rem;
    }

    .nav-item[b-267ai5nhcj] {
        padding: 0.25rem 0;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-udql86v2ni],
.components-reconnect-repeated-attempt-visible[b-udql86v2ni],
.components-reconnect-failed-visible[b-udql86v2ni],
.components-pause-visible[b-udql86v2ni],
.components-resume-failed-visible[b-udql86v2ni],
.components-rejoining-animation[b-udql86v2ni] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-retrying[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-failed[b-udql86v2ni],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-udql86v2ni] {
    display: block;
}


#components-reconnect-modal[b-udql86v2ni] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-udql86v2ni 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-udql86v2ni 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-udql86v2ni 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-udql86v2ni]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-udql86v2ni 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-udql86v2ni {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-udql86v2ni {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-udql86v2ni {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-udql86v2ni] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-udql86v2ni] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-udql86v2ni] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-udql86v2ni] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-udql86v2ni] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-udql86v2ni] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-udql86v2ni] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-udql86v2ni 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-udql86v2ni] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-udql86v2ni {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/SharedPageLayout.razor.rz.scp.css */
.shared-page-layout[b-r60uzurpsq] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--brand-surface-alt, #F4F7FA);
}

.shared-page-main[b-r60uzurpsq] {
    flex: 1;
}

.shared-page-footer[b-r60uzurpsq] {
    border-top: 1px solid var(--brand-border, #DFE4EA);
    background: #fff;
    padding: 1.5rem 0;
    text-align: center;
    font-size: .8125rem;
    color: var(--brand-muted, #5D6B80);
}

.shared-page-powered[b-r60uzurpsq] {
    display: inline-flex;
    align-items: baseline;
    gap: .35rem;
    margin-bottom: .35rem;
    color: var(--brand-muted, #5D6B80);
    text-decoration: none;
}

.shared-page-powered:hover[b-r60uzurpsq] {
    color: var(--eha-navy, #1D3260);
}

.shared-page-powered-name[b-r60uzurpsq] {
    font-family: var(--font-display, sans-serif);
    font-size: 1.1rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
}

.shared-page-powered-name .accent[b-r60uzurpsq] {
    color: var(--brand-primary, #048752);
}
/* /Components/Pages/Admin/ChangeLog.razor.rz.scp.css */
.change-log-filters[b-m93qgrdoun] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: 1.25rem;
}

.change-log-count[b-m93qgrdoun] {
    margin-left: .35rem;
    font-variant-numeric: tabular-nums;
    opacity: .75;
}

.change-log-day + .change-log-day[b-m93qgrdoun] {
    margin-top: 1.5rem;
}

/* A day heading: small label text, not a display heading. */
.change-log-date[b-m93qgrdoun] {
    font-family: var(--font-body);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brand-muted, #5D6B80);
    margin: 0 0 .5rem;
}

.change-log-list[b-m93qgrdoun] {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius, 10px);
}

.change-log-entry[b-m93qgrdoun] {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .7rem 1rem;
}

.change-log-entry + .change-log-entry[b-m93qgrdoun] {
    border-top: 1px solid var(--brand-border, #DFE4EA);
}

.change-log-icon[b-m93qgrdoun] {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    background: var(--eha-silver-soft, #EDEFF2);
    color: var(--eha-navy, #1D3260);
}

.change-log-icon.cat-roster[b-m93qgrdoun] {
    background: var(--eha-green-soft, #E6F4EE);
    color: var(--eha-green-dark, #036B41);
}

.change-log-icon.cat-coachingstaff[b-m93qgrdoun] {
    background: #E8EEF8;
    color: var(--eha-navy, #1D3260);
}

.change-log-icon.cat-import[b-m93qgrdoun] {
    background: #FFF4DA;
    color: #6B4A00;
}

.change-log-body[b-m93qgrdoun] {
    flex: 1;
    min-width: 0;
}

.change-log-summary[b-m93qgrdoun] {
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.change-log-meta[b-m93qgrdoun] {
    font-size: .78rem;
    color: var(--brand-muted, #5D6B80);
}

.change-log-entry.is-undone .change-log-summary[b-m93qgrdoun] {
    color: var(--brand-muted, #5D6B80);
    text-decoration: line-through;
}

.change-log-action[b-m93qgrdoun] {
    flex: 0 0 auto;
}

.change-log-final[b-m93qgrdoun] {
    font-size: .78rem;
    color: var(--brand-muted, #5D6B80);
    white-space: nowrap;
}

.change-log-confirm[b-m93qgrdoun] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}

.change-log-empty[b-m93qgrdoun] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--brand-muted, #5D6B80);
    background: #fff;
    border: 1px dashed var(--brand-border, #DFE4EA);
    border-radius: var(--radius, 10px);
}

.change-log-empty .bi[b-m93qgrdoun] {
    font-size: 2rem;
    display: block;
    margin-bottom: .5rem;
}

@media (max-width: 575.98px) {
    .change-log-entry[b-m93qgrdoun] {
        flex-wrap: wrap;
    }

    .change-log-action[b-m93qgrdoun] {
        width: 100%;
        padding-left: 2.85rem;
    }
}
/* /Components/Pages/Admin/CoachManagement/Requirements.razor.rz.scp.css */
.req-col[b-dsdpi4r8f0] {
    width: 1%;
    white-space: nowrap;
}

/* One square button per requirement; the icon carries the state. */
.req-btn[b-dsdpi4r8f0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.35rem;
    border: 0;
    border-radius: 0.375rem;
    background: transparent;
    font-size: 1.25rem;
    line-height: 1;
}

    .req-btn:hover:not(:disabled)[b-dsdpi4r8f0] {
        background: var(--bs-tertiary-bg);
    }

    .req-btn:focus-visible[b-dsdpi4r8f0] {
        outline: 2px solid var(--bs-primary);
        outline-offset: 1px;
    }

.req-needed[b-dsdpi4r8f0] {
    color: var(--bs-secondary-color);
}

.req-complete[b-dsdpi4r8f0] {
    color: var(--bs-success);
}

.req-na[b-dsdpi4r8f0] {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.req-legend .req-btn[b-dsdpi4r8f0] {
    min-width: 0;
    height: auto;
    padding: 0 0.15rem;
    font-size: 1rem;
    vertical-align: -0.1em;
}

    .req-legend .req-btn.req-na[b-dsdpi4r8f0] {
        font-size: 0.7rem;
    }

.req-row-complete > td[b-dsdpi4r8f0] {
    background-color: var(--bs-success-bg-subtle);
}
/* /Components/Pages/Admin/Teams/Index.razor.rz.scp.css */
/* Team cards: name and actions on one line, counts as a single line of text, then the
   coaching staff. A plain border rather than a shadow, lifting on hover. */
.team-card[b-ycxz7nxuz3] {
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius, 10px);
    box-shadow: none;
    transition: box-shadow .15s ease, border-color .15s ease;
}

.team-card:hover[b-ycxz7nxuz3] {
    border-color: var(--eha-silver, #D1D3D4);
    box-shadow: 0 4px 14px rgba(29, 50, 96, .08);
}

.team-card .card-body[b-ycxz7nxuz3] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding: 1rem 1.1rem;
}

.team-card-head[b-ycxz7nxuz3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.team-card-name[b-ycxz7nxuz3] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    min-width: 0;
    overflow-wrap: anywhere;
}

.team-card-name a[b-ycxz7nxuz3] {
    color: var(--eha-navy, #1D3260);
    text-decoration: none;
}

.team-card-name a:hover[b-ycxz7nxuz3] {
    color: var(--brand-primary, #048752);
}

.team-card-actions[b-ycxz7nxuz3] {
    display: flex;
    gap: .35rem;
    flex-shrink: 0;
}

.team-card-counts[b-ycxz7nxuz3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem 1rem;
    font-size: .8125rem;
    color: var(--brand-muted, #5D6B80);
}

.team-card-counts .bi[b-ycxz7nxuz3] {
    margin-right: .3rem;
}

.team-card-counts strong[b-ycxz7nxuz3] {
    color: var(--eha-navy, #1D3260);
    margin-right: .2rem;
    font-variant-numeric: tabular-nums;
}

.team-card-staff[b-ycxz7nxuz3] {
    list-style: none;
    margin: 0;
    padding: .6rem 0 0;
    border-top: 1px solid var(--brand-border, #DFE4EA);
    display: grid;
    gap: .2rem;
    font-size: .8125rem;
}

.team-card-staff li[b-ycxz7nxuz3] {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
}

/* A button (it opens the coach's profile) dressed as a link. */
.team-card-coach[b-ycxz7nxuz3] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    text-align: left;
    color: var(--brand-primary, #048752);
    cursor: pointer;
}

.team-card-coach:hover[b-ycxz7nxuz3] {
    text-decoration: underline;
}

.team-card-coach:focus-visible[b-ycxz7nxuz3] {
    outline: 2px solid var(--brand-primary, #048752);
    outline-offset: 2px;
    border-radius: 2px;
}

.team-card-role[b-ycxz7nxuz3] {
    color: var(--brand-muted, #5D6B80);
    text-align: right;
    flex-shrink: 0;
}

.team-card-more[b-ycxz7nxuz3] {
    color: var(--brand-muted, #5D6B80);
}

.team-card-empty[b-ycxz7nxuz3] {
    margin: 0;
    padding-top: .6rem;
    border-top: 1px solid var(--brand-border, #DFE4EA);
    font-size: .8125rem;
    color: var(--brand-muted, #5D6B80);
}
/* /Components/Pages/Coach/GameLineupEdit.razor.rz.scp.css */
/* Game-day lineup chart. The sheet is drawn to be the printout: navy header band,
   green section bars and big jersey numbers, the way a program's line chart reads.
   Everything that only helps editing (toolbar, available list, remove buttons, empty
   spot labels) is screen-only. */

/* Alternates for the same game, as tabs, with the button that adds another. */
.lineup-tabs[b-7cdidlskno] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
}

.lineup-tabs .nav[b-7cdidlskno] {
    gap: .25rem;
}

.lineup-controls[b-7cdidlskno] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .75rem;
}

.lineup-controls > div:not(.lineup-actions)[b-7cdidlskno] {
    flex: 1 1 12rem;
    max-width: 18rem;
}

.lineup-actions[b-7cdidlskno] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-left: auto;
}

.lineup-counts[b-7cdidlskno] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    list-style: none;
    padding: 0;
    margin: .9rem 0 .6rem;
}

.lineup-counts li[b-7cdidlskno] {
    font-size: .8rem;
    padding: .2rem .65rem;
    border-radius: var(--radius-pill, 999px);
    background: var(--eha-silver-soft, #EDEFF2);
    color: var(--brand-ink, #0E1A33);
    font-variant-numeric: tabular-nums;
}

.lineup-counts li.is-full[b-7cdidlskno] {
    background: var(--eha-green-soft, #E6F4EE);
    color: var(--eha-green-dark, #036B41);
}

.lineup-hint[b-7cdidlskno] {
    font-size: .85rem;
    color: var(--brand-muted, #5D6B80);
    margin-bottom: 1rem;
}

/* --- Workspace: chart beside the available list ------------------------------ */

.lineup-workspace[b-7cdidlskno] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17rem;
    gap: 1.5rem;
    align-items: start;
}

.lineup-sheet[b-7cdidlskno] {
    min-width: 0;
    background: var(--brand-surface, #fff);
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius-lg, 15px);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    padding-bottom: 1.25rem;
}

.sheet-header[b-7cdidlskno] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.5rem;
    background: var(--eha-navy, #1D3260);
    color: #fff;
}

.sheet-logo[b-7cdidlskno] {
    width: 3.75rem;
    height: 3.75rem;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: .2rem;
    flex: 0 0 auto;
}

.sheet-title[b-7cdidlskno] {
    min-width: 0;
}

.sheet-org[b-7cdidlskno] {
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .85;
}

.sheet-team[b-7cdidlskno] {
    font-family: var(--font-display);
    font-size: 2.3rem;
    line-height: 1;
    letter-spacing: .02em;
}

.sheet-game[b-7cdidlskno] {
    margin-left: auto;
    text-align: right;
}

/* A district opponent's logo sits on the right, beside the game details. */
.sheet-opponent-logo[b-7cdidlskno] {
    margin-left: auto;
}

.sheet-opponent-logo + .sheet-game[b-7cdidlskno] {
    margin-left: 0;
}

.sheet-opponent[b-7cdidlskno] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    line-height: 1.1;
    letter-spacing: .03em;
}

.sheet-date[b-7cdidlskno] {
    font-size: .85rem;
    opacity: .85;
}

.sheet-label[b-7cdidlskno] {
    display: inline-block;
    margin-top: .3rem;
    padding: .1rem .6rem;
    border-radius: var(--radius-pill, 999px);
    background: var(--eha-green, #048752);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sheet-section[b-7cdidlskno] {
    padding: 1rem 1.5rem 0;
}

.sheet-bar[b-7cdidlskno] {
    margin: 0 0 .4rem;
    padding: .25rem .75rem;
    background: var(--eha-green, #048752);
    color: #fff;
    border-radius: var(--radius-sm, 6px);
    font-family: var(--font-display);
    font-size: 1.35rem;
    letter-spacing: .05em;
    line-height: 1.2;
}

/* --- Rows: a label column, then one column per spot -------------------------- */

.sheet-row[b-7cdidlskno] {
    display: grid;
    grid-template-columns: 5.25rem repeat(var(--cols, 3), minmax(0, 1fr));
    gap: .5rem;
    align-items: stretch;
    margin-bottom: .45rem;
}

.sheet-heads[b-7cdidlskno] {
    margin-bottom: .25rem;
}

.col-head[b-7cdidlskno] {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
    padding-left: .6rem;
}

.line-tag[b-7cdidlskno] {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: var(--radius-sm, 6px);
    background: var(--eha-navy, #1D3260);
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.slot[b-7cdidlskno] {
    display: flex;
    min-width: 0;
    min-height: 3.4rem;
    border-radius: var(--radius-sm, 6px);
    cursor: pointer;
}

.slot.is-empty[b-7cdidlskno] {
    align-items: center;
    justify-content: center;
    border: 1.5px dashed var(--eha-silver, #D1D3D4);
    background: var(--brand-surface-alt, #F4F7FA);
}

.slot-empty[b-7cdidlskno] {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--brand-muted, #5D6B80);
}

.slot > .pcard-wrap[b-7cdidlskno] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
}

/* While a player is picked up, every spot shows it can take them. */
.is-placing .slot:hover[b-7cdidlskno],
.is-placing .scratch-zone:hover[b-7cdidlskno] {
    outline: 2px solid var(--eha-green, #048752);
    outline-offset: 1px;
}

/* --- Player chip ------------------------------------------------------------- */

.pcard-wrap > div:not(.pcard)[b-7cdidlskno] {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.pcard[b-7cdidlskno] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .35rem .55rem .35rem .4rem;
    background: var(--brand-surface, #fff);
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius-sm, 6px);
    cursor: grab;
    user-select: none;
}

.pcard:hover[b-7cdidlskno] {
    border-color: var(--eha-silver-dark, #BDB8BC);
}

.pcard.is-selected[b-7cdidlskno] {
    border-color: var(--eha-green, #048752);
    box-shadow: 0 0 0 2px var(--eha-green, #048752);
}

.pcard.is-off-roster[b-7cdidlskno] {
    background: var(--brand-surface-alt, #F4F7FA);
}

.pcard-num[b-7cdidlskno] {
    font-family: var(--font-display);
    font-size: 2rem;
    line-height: 1;
    text-align: right;
    color: var(--eha-green-dark, #036B41);
    font-variant-numeric: tabular-nums;
}

.pcard-name[b-7cdidlskno] {
    min-width: 0;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.pcard-first[b-7cdidlskno] {
    display: block;
    font-size: .8rem;
    color: var(--brand-muted, #5D6B80);
}

.pcard-last[b-7cdidlskno] {
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--brand-ink, #0E1A33);
}

.pcard-note[b-7cdidlskno] {
    display: block;
    font-size: .7rem;
    font-style: italic;
    color: var(--brand-muted, #5D6B80);
}

/* Shooting hand. Left is filled and right is outlined, so the two stay distinct on a
   black-and-white printout and not only by letter. */
.hand[b-7cdidlskno] {
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1.5px solid var(--eha-navy, #1D3260);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1;
    padding: 0;
}

.hand-left[b-7cdidlskno] {
    background: var(--eha-navy, #1D3260);
    color: #fff;
}

.hand-right[b-7cdidlskno] {
    background: #fff;
    color: var(--eha-navy, #1D3260);
}

.hand-unknown[b-7cdidlskno] {
    background: transparent;
    border-style: dashed;
    border-color: var(--eha-silver-dark, #BDB8BC);
    color: var(--brand-muted, #5D6B80);
}

.pcard-remove:focus-visible[b-7cdidlskno] {
    outline: 2px solid var(--eha-green, #048752);
    outline-offset: 2px;
}

.pcard-remove[b-7cdidlskno] {
    position: absolute;
    top: -.5rem;
    right: -.5rem;
    width: 1.3rem;
    height: 1.3rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--brand-border, #DFE4EA);
    background: var(--brand-surface, #fff);
    color: var(--brand-muted, #5D6B80);
    font-size: .9rem;
    line-height: 1;
    opacity: 0;
    transition: opacity .12s;
}

.pcard:hover .pcard-remove[b-7cdidlskno],
.pcard:focus-within .pcard-remove[b-7cdidlskno] {
    opacity: 1;
}

@media (hover: none) {
    .pcard-remove[b-7cdidlskno] {
        opacity: 1;
    }
}

/* --- Not dressed ------------------------------------------------------------- */

.scratch-zone[b-7cdidlskno] {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: .5rem;
    min-height: 3.4rem;
    padding: .5rem;
    border: 1.5px dashed var(--eha-silver, #D1D3D4);
    border-radius: var(--radius-sm, 6px);
    background: var(--brand-surface-alt, #F4F7FA);
    cursor: pointer;
}

.scratch-item[b-7cdidlskno] {
    flex: 0 1 15rem;
    min-width: 0;
    display: flex;
}

.scratch-item > .pcard-wrap[b-7cdidlskno] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
}

.zone-hint[b-7cdidlskno] {
    align-self: center;
    font-size: .85rem;
    color: var(--brand-muted, #5D6B80);
    margin: 0;
}

/* --- Notes ------------------------------------------------------------------ */

.notes-input[b-7cdidlskno] {
    resize: vertical;
}

.notes-list[b-7cdidlskno] {
    margin: .25rem 0 0;
    padding-left: 1.4rem;
    font-size: 1.05rem;
    line-height: 1.5;
}

.notes-list li[b-7cdidlskno]::marker {
    color: var(--eha-green, #048752);
}

/* --- Available players ------------------------------------------------------- */

.lineup-bench[b-7cdidlskno] {
    position: sticky;
    top: 5.5rem;
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    padding: 1rem;
    background: var(--brand-surface, #fff);
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius-lg, 15px);
    cursor: pointer;
}

.bench-head[b-7cdidlskno] {
    font-weight: 700;
    margin-bottom: .75rem;
}

.bench-group[b-7cdidlskno] {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    margin-bottom: 1rem;
}

.bench-group-label[b-7cdidlskno] {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--brand-muted, #5D6B80);
}

.bench-group .pcard-wrap[b-7cdidlskno] {
    display: flex;
}

/* --- Narrow screens: available list above the chart, so a picked-up player and the
   spot they're going to are both in reach without a long scroll. ---------------- */

@media (max-width: 991.98px) {
    .lineup-workspace[b-7cdidlskno] {
        grid-template-columns: minmax(0, 1fr);
    }

    .lineup-bench[b-7cdidlskno] {
        order: -1;
        position: static;
        max-height: 40vh;
    }
}

@media (max-width: 575.98px) {
    .sheet-header[b-7cdidlskno] {
        flex-wrap: wrap;
        padding: 1rem;
    }

    .sheet-game[b-7cdidlskno] {
        margin-left: 0;
        text-align: left;
        width: 100%;
    }

    .sheet-section[b-7cdidlskno] {
        padding: .75rem .75rem 0;
    }

    .sheet-row[b-7cdidlskno] {
        grid-template-columns: 3.25rem repeat(var(--cols, 3), minmax(0, 1fr));
        gap: .3rem;
    }

    .pcard[b-7cdidlskno] {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .3rem;
    }

    .pcard-num[b-7cdidlskno] {
        grid-column: 1 / -1;
        text-align: left;
        font-size: 1.5rem;
    }
}

/* --- Print: the sheet alone, one page ---------------------------------------- */

@media print {
    .lineup-workspace[b-7cdidlskno] {
        display: block;
    }

    /* The Line / Pair / Goalies tags help while arranging; on paper the section bars and
       the row order say the same thing, so the spots take the full width instead. */
    .line-tag[b-7cdidlskno],
    .line-tag-spacer[b-7cdidlskno] {
        display: none;
    }

    .sheet-row[b-7cdidlskno] {
        grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
    }

    .lineup-sheet[b-7cdidlskno] {
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding-bottom: 0;
    }

    .lineup-sheet[b-7cdidlskno],
    .lineup-sheet *[b-7cdidlskno] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .sheet-header[b-7cdidlskno] {
        border-radius: 10px;
    }

    .sheet-section[b-7cdidlskno] {
        padding: .6rem 0 0;
        break-inside: avoid;
    }

    .sheet-row[b-7cdidlskno] {
        break-inside: avoid;
        margin-bottom: .3rem;
    }

    /* A line nobody is in (a short bench, three lines not four) is left off the paper. */
    .is-empty-line[b-7cdidlskno],
    .is-empty-section[b-7cdidlskno] {
        display: none;
    }

    .slot.is-empty[b-7cdidlskno] {
        background: none;
    }

    .slot-empty[b-7cdidlskno],
    .pcard-remove[b-7cdidlskno],
    .hand-unknown[b-7cdidlskno] {
        display: none;
    }

    /* On paper the cards sit straight on the page; the border only helps while dragging. */
    .pcard[b-7cdidlskno] {
        cursor: auto;
        border-color: transparent;
        background: none;
    }

    .pcard.is-selected[b-7cdidlskno] {
        border-color: transparent;
        box-shadow: none;
    }

    .pcard-note[b-7cdidlskno] {
        display: none;
    }

    .scratch-zone[b-7cdidlskno] {
        background: none;
        border-style: solid;
        border-color: var(--brand-border, #DFE4EA);
    }
}
/* /Components/Pages/Coach/Videos.razor.rz.scp.css */
/* A player opened from the list stays a comfortable size instead of filling the row. */
.video-list-player[b-9ezv8y68cm] {
    max-width: 640px;
    margin-left: calc(2rem + 1rem); /* line up under the title, past the play button */
}

@media (max-width: 575.98px) {
    .video-list-player[b-9ezv8y68cm] {
        margin-left: 0;
    }
}
/* /Components/Pages/Public/CoachVideoPagePublic.razor.rz.scp.css */
/* List view: each row is a <details>. Hide the browser's own triangle; the round play
   button stands in for it and turns into a close button while the row is open. */
.public-video-list summary[b-jzjzjyddsi] {
    cursor: pointer;
    list-style: none;
}

.public-video-list summary[b-jzjzjyddsi]::-webkit-details-marker {
    display: none;
}

.public-video-play[b-jzjzjyddsi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid var(--bs-border-color);
    color: var(--bs-secondary-color);
}

.public-video-list details[open] .public-video-play[b-jzjzjyddsi] {
    background-color: var(--bs-secondary-bg);
}

.public-video-play .when-open[b-jzjzjyddsi],
.public-video-list details[open] .public-video-play .when-closed[b-jzjzjyddsi] {
    display: none;
}

.public-video-list details[open] .public-video-play .when-open[b-jzjzjyddsi] {
    display: inline;
}

.public-video-list summary:focus-visible[b-jzjzjyddsi] {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* An opened player stays a comfortable size, lined up under the title. */
.public-video-player[b-jzjzjyddsi] {
    max-width: 640px;
    margin-left: 3rem;
}

@media (max-width: 575.98px) {
    .public-video-player[b-jzjzjyddsi] {
        margin-left: 0;
    }
}
/* Header: the product lockup, then the club's logo a size smaller. */
.public-share-header[b-jzjzjyddsi] {
    background: #fff;
    border-top: 4px solid var(--eha-green, #048752);
    border-bottom: 1px solid var(--brand-border, #DFE4EA);
}

.public-share-header .container[b-jzjzjyddsi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.public-share-brand[b-jzjzjyddsi] {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
}

.public-share-brand img[b-jzjzjyddsi] {
    height: 44px;
    width: 44px;
    object-fit: contain;
}

.public-share-wordmark[b-jzjzjyddsi] {
    font-family: var(--font-display, sans-serif);
    font-size: 1.4rem;
    line-height: 1;
    padding-top: .15em; /* Bebas sits high in its box */
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--eha-navy, #1D3260);
}

.public-share-wordmark .accent[b-jzjzjyddsi] {
    color: var(--brand-primary, #048752);
}

.public-share-org-logo[b-jzjzjyddsi] {
    height: 32px;
    max-width: 8rem;
    object-fit: contain;
}
/* /Components/Pages/Public/PublicDocument.razor.rz.scp.css */
.public-document-hero[b-uw7plijn9f] {
    padding: 5rem 0 8rem;
}

.public-document-hero h1[b-uw7plijn9f] {
    font-size: 3rem;
    margin-bottom: .75rem;
}

.public-document-hero p[b-uw7plijn9f] {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, .82);
    margin-bottom: 0;
}

.public-document-section[b-uw7plijn9f] {
    padding-top: 3rem;
}

.public-document[b-uw7plijn9f] {
    background: #fff;
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: 12px;
    padding: 2.5rem;
    color: var(--brand-text, #2B3445);
    line-height: 1.7;
}

.public-document-updated[b-uw7plijn9f] {
    font-size: .875rem;
    color: var(--brand-muted, #5D6B80);
    margin-bottom: 2rem;
}

/* The page's own markup is child content, so it needs ::deep to be reached. */
.public-document[b-uw7plijn9f]  h2 {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 2.25rem 0 .75rem;
}

.public-document[b-uw7plijn9f]  h2:first-of-type {
    margin-top: 0;
}

.public-document[b-uw7plijn9f]  h3 {
    font-family: var(--font-body);
    font-size: 1.0625rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.3;
    margin: 1.5rem 0 .5rem;
}

.public-document[b-uw7plijn9f]  ul {
    padding-left: 1.25rem;
}

.public-document[b-uw7plijn9f]  li {
    margin-bottom: .35rem;
}

.public-document[b-uw7plijn9f]  .public-document-toc {
    background: var(--brand-surface-alt, #F4F7FA);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
}

.public-document[b-uw7plijn9f]  .public-document-toc ul {
    margin-bottom: 0;
    columns: 2;
}

@media (max-width: 575px) {
    .public-document[b-uw7plijn9f] {
        padding: 1.5rem 1.25rem;
    }

    .public-document-hero h1[b-uw7plijn9f] {
        font-size: 2.25rem;
    }

    .public-document[b-uw7plijn9f]  .public-document-toc ul {
        columns: 1;
    }
}
/* /Components/Shared/CoachPageSettingsEditor.razor.rz.scp.css */
.share-list[b-og8o6na893] {
    max-height: 18rem;
    overflow-y: auto;
}

.share-row[b-og8o6na893] {
    cursor: pointer;
    margin: 0;
}

.share-row:last-child[b-og8o6na893] {
    border-bottom: 0 !important;
}

.share-row:hover[b-og8o6na893] {
    background-color: var(--eha-silver-soft, #EDEFF2);
}
/* /Components/Shared/CoachPagesMenu.razor.rz.scp.css */
/* Selected items match the coach portal's top nav: soft green, not Bootstrap's blue.
   Bootstrap compiles the pill colour from its own $primary, so set its variables. */
.coach-pages-menu .card-body[b-gz77egukff] {
    padding: .5rem .75rem;
}

.coach-pages-menu .nav-pills[b-gz77egukff] {
    --bs-nav-pills-link-active-bg: var(--eha-green-soft, #E6F4EE);
    --bs-nav-pills-link-active-color: var(--eha-green-dark, #036B41);
    --bs-nav-link-padding-y: .3rem;
    --bs-nav-link-padding-x: .7rem;
    --bs-nav-link-font-size: .875rem;
    --bs-nav-link-color: var(--bs-body-color);
    --bs-nav-link-hover-color: var(--bs-body-color);
}

.coach-pages-menu .nav-link.active[b-gz77egukff] {
    font-weight: 600;
}

.coach-pages-menu .nav-link:not(.active):hover[b-gz77egukff] {
    background-color: var(--eha-silver-soft, #EDEFF2);
}

/* "My videos:" ahead of its two lists. */
.coach-pages-menu-label[b-gz77egukff] {
    padding: 0 .25rem 0 .35rem;
    color: var(--bs-secondary-color);
    font-size: .8125rem;
    font-weight: 600;
}

/* The dropdown button when one of its pages is the one shown. */
.coach-pages-menu-shared-active[b-gz77egukff] {
    background-color: var(--eha-green-soft, #E6F4EE);
    border-color: var(--eha-green-soft, #E6F4EE);
    color: var(--eha-green-dark, #036B41);
}

/* Many coaches can share a page; scroll rather than run off the screen. */
.coach-pages-menu-dropdown[b-gz77egukff] {
    min-width: 16rem;
    max-height: 60vh;
    max-width: min(24rem, 90vw);
    overflow-y: auto;
}

.coach-pages-menu-dropdown .dropdown-item.active[b-gz77egukff] {
    background-color: var(--eha-green-soft, #E6F4EE);
    color: var(--eha-green-dark, #036B41);
    font-weight: 600;
}
/* /Components/Shared/DemoBanner.razor.rz.scp.css */
.demo-banner[b-xfm5cjr3cp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.5rem 1rem;
    background: #1D3260;
    color: #ffffff;
    font-size: 0.95rem;
}

.demo-banner-actions[b-xfm5cjr3cp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.demo-banner-actions form[b-xfm5cjr3cp] {
    margin: 0;
}

.demo-tour[b-xfm5cjr3cp] {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050;
    width: min(24rem, calc(100vw - 2rem));
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #d1d3d4;
    border-left: 4px solid #048752;
    border-radius: 0.5rem;
}

.demo-tour-count[b-xfm5cjr3cp] {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #048752;
}

.demo-tour-title[b-xfm5cjr3cp] {
    margin: 0.25rem 0 0.5rem;
    font-size: 1.15rem;
}

.demo-tour-body[b-xfm5cjr3cp] {
    margin-bottom: 0.75rem;
    color: #374151;
}

.demo-tour-actions[b-xfm5cjr3cp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.demo-tour-return[b-xfm5cjr3cp] {
    display: inline-block;
    margin-top: 0.5rem;
}
/* /Components/Shared/LevelFilter.razor.rz.scp.css */
.level-filter[b-bt8yp0cuga] {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}

.level-chip[b-bt8yp0cuga] {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .3125rem .6875rem;
    background: #fff;
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius-pill, 999px);
    color: var(--eha-navy, #1D3260);
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.level-chip:hover[b-bt8yp0cuga] {
    border-color: var(--brand-primary, #048752);
    background: var(--eha-green-soft, #E6F4EE);
}

.level-chip.is-active[b-bt8yp0cuga] {
    background: var(--brand-primary, #048752);
    border-color: var(--brand-primary, #048752);
    color: #fff;
}

/* The count rides inside the chip so it dims with it rather than competing. */
.level-chip-count[b-bt8yp0cuga] {
    font-size: .6875rem;
    font-weight: 700;
    opacity: .62;
}

.level-chip.is-active .level-chip-count[b-bt8yp0cuga] {
    opacity: .85;
}
/* /Components/Shared/ResourceFilterBar.razor.rz.scp.css */
/* The placeholder is a hint, so it clears as soon as the box is clicked rather than
   waiting for the first keystroke. */
.resource-search:focus[b-mah9cp5uhu]::placeholder {
    color: transparent;
}
/* /Components/Shared/ResourceOrderEditor.razor.rz.scp.css */
.video-order-row[b-tzs2rv5ctx] {
    cursor: grab;
    user-select: none;
}

.video-order-row:active[b-tzs2rv5ctx] {
    cursor: grabbing;
}

/* The numbered marker sits before the row; keep it aligned with the title. */
.video-order-list > li[b-tzs2rv5ctx] {
    display: flex;
    align-items: center;
}

.video-order-list > li[b-tzs2rv5ctx]::before {
    padding-left: 0.75rem;
}

.video-order-list > li > .video-order-row[b-tzs2rv5ctx] {
    flex: 1;
    min-width: 0;
}

.video-order-list > li.is-dragging[b-tzs2rv5ctx] {
    opacity: 0.5;
}

.video-order-list > li.is-drop-before[b-tzs2rv5ctx] {
    box-shadow: inset 0 3px 0 var(--bs-primary);
}

.video-order-list > li.is-drop-after[b-tzs2rv5ctx] {
    box-shadow: inset 0 -3px 0 var(--bs-primary);
}
/* /Components/Shared/TeamBadges.razor.rz.scp.css */
/* Sized to sit inside a dense table row without setting the row height — the same
   concern as the row action buttons documented under "Lists and density". */

.team-badges[b-qpxvvvkehi] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
}

.team-badge[b-qpxvvvkehi] {
    display: inline-block;
    padding: .0625rem .4375rem;
    background: var(--eha-green-soft, #E6F4EE);
    border: 1px solid transparent;
    border-radius: var(--radius-sm, 6px);
    color: var(--brand-primary-hover, #036B41);
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
}

.team-badge:hover[b-qpxvvvkehi] {
    border-color: var(--brand-primary, #048752);
    background: #fff;
    color: var(--brand-primary-hover, #036B41);
    text-decoration: none;
}

/* A coach's role on that team, after the name: set apart but still part of the badge. */
.team-badge-role[b-qpxvvvkehi] {
    margin-left: .25rem;
    padding-left: .3rem;
    border-left: 1px solid currentColor;
    font-weight: 700;
    opacity: .8;
}
/* /Components/Shared/TeamPicker.razor.rz.scp.css */
/* Team buttons, sized so a whole age group — about eight teams — fits without scrolling
   inside a modal. The chips themselves are LevelFilter's; this only spaces them. */

.team-picker-filters[b-tm5z8qo78h] {
    margin-bottom: 1rem;
    padding-bottom: .875rem;
    border-bottom: 1px solid var(--brand-border, #DFE4EA);
}

.team-picker-group-label[b-tm5z8qo78h] {
    margin: .875rem 0 .375rem;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brand-muted, #6b7078);
}

.team-picker-group-label:first-child[b-tm5z8qo78h] {
    margin-top: 0;
}

.team-picker-teams[b-tm5z8qo78h] {
    display: grid;
    /* Fixed columns rather than flex-wrap so team names of different lengths still line
       up; collapses to one column when the modal is narrow. */
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: .5rem;
}

.team-picker-teams + .team-picker-group-label[b-tm5z8qo78h] {
    margin-top: 1rem;
}

.team-picker-team[b-tm5z8qo78h] {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .625rem .75rem;
    background: #fff;
    border: 1px solid var(--brand-border, #DFE4EA);
    border-radius: var(--radius-sm, 6px);
    color: var(--eha-navy, #1D3260);
    font-size: .875rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.team-picker-team:hover:not(:disabled)[b-tm5z8qo78h] {
    border-color: var(--brand-primary, #048752);
    background: var(--eha-green-soft, #E6F4EE);
    box-shadow: 0 1px 4px rgba(29, 50, 96, .1);
}

.team-picker-team:disabled[b-tm5z8qo78h] {
    opacity: .55;
    cursor: default;
}

.team-picker-team i[b-tm5z8qo78h] {
    color: var(--brand-primary, #048752);
    font-size: .9375rem;
    flex: 0 0 auto;
}

.team-picker-team span[b-tm5z8qo78h] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-picker-hint[b-tm5z8qo78h] {
    margin: .875rem 0 0;
    font-size: .8125rem;
    color: var(--brand-muted, #6b7078);
}
/* /Components/Shared/VideoPlayer.razor.rz.scp.css */
/* 16:9 responsive frame. aspect-ratio rather than the padding-top hack — every
   browser that runs .NET 10 Blazor supports it. */
.video-embed[b-ixktcsz1u2] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: var(--radius, 10px);
    overflow: hidden;
}

.video-embed iframe[b-ixktcsz1u2] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
