/* /Components/Assistant/AssistantPanel.razor.rz.scp.css */
.assistant-panel[b-k1sayecc5k] {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1400; /* under modals (1500) and toasts (2000) */
    width: min(460px, 100vw);
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--surface-1);
    border-left: 1px solid var(--line);
    box-shadow: -8px 0 30px rgba(0, 0, 0, .12);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .2s ease, visibility 0s linear .2s;
}

.assistant-panel.open[b-k1sayecc5k] {
    transform: none;
    visibility: visible;
    transition: transform .2s ease;
}

.panel-head[b-k1sayecc5k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--line);
}

.panel-head h2[b-k1sayecc5k] {
    margin: 0;
    font-size: 1.1rem;
}

.chat[b-k1sayecc5k] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.transcript[b-k1sayecc5k] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.intro[b-k1sayecc5k] {
    color: var(--ink);
    padding: .5rem 0;
}

.intro p[b-k1sayecc5k] {
    margin: .25rem 0 .6rem;
}

.msg[b-k1sayecc5k] {
    display: flex;
    flex-direction: column;
    max-width: 92%;
}

.msg-user[b-k1sayecc5k] {
    align-self: flex-end;
    align-items: flex-end;
}

.msg-assistant[b-k1sayecc5k] {
    align-self: flex-start;
}

.bubble[b-k1sayecc5k] {
    padding: .6rem .85rem;
    border-radius: var(--radius);
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.msg-user .bubble[b-k1sayecc5k] {
    background: var(--accent);
    color: var(--accent-ink);
    border-bottom-right-radius: var(--radius-sm);
    white-space: pre-wrap;
}

.msg-assistant .bubble[b-k1sayecc5k] {
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-bottom-left-radius: var(--radius-sm);
}

/* Markup rendered from the assistant's text (ChatText). */
.msg-assistant .bubble[b-k1sayecc5k]  p,
.msg-assistant .bubble[b-k1sayecc5k]  ul,
.msg-assistant .bubble[b-k1sayecc5k]  ol {
    margin: 0 0 .5rem;
}

.msg-assistant .bubble[b-k1sayecc5k]  > :last-child {
    margin-bottom: 0;
}

.msg-assistant .bubble[b-k1sayecc5k]  ul,
.msg-assistant .bubble[b-k1sayecc5k]  ol {
    padding-left: 1.2rem;
}

.msg-assistant .bubble[b-k1sayecc5k]  h4 {
    font-size: .95rem;
    margin: .4rem 0 .3rem;
}

.sent-files[b-k1sayecc5k],
.file-chips[b-k1sayecc5k] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: 0;
    margin: .35rem 0 0;
}

.chip[b-k1sayecc5k] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    max-width: 100%;
    font-size: .8rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: var(--surface-2);
    border: 1px solid var(--line);
    color: var(--ink-2);
}

.chip > span:first-child[b-k1sayecc5k] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chip-x[b-k1sayecc5k] {
    border: 0;
    background: none;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1;
    padding: 0 .1rem;
}

.chip-x:hover[b-k1sayecc5k] {
    color: var(--ink);
}

.activity[b-k1sayecc5k] {
    font-size: .82rem;
    color: var(--muted);
    padding-left: .2rem;
}

.activity.is-error[b-k1sayecc5k] {
    color: var(--warning-ink);
}

.notice[b-k1sayecc5k] {
    font-size: .88rem;
    padding: .5rem .75rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--line);
    border-left-width: 3px;
    background: var(--surface-2);
}

.notice-warning[b-k1sayecc5k] {
    border-left-color: var(--warning);
}

.notice-error[b-k1sayecc5k] {
    border-left-color: var(--critical);
    color: var(--critical-ink);
}

.working[b-k1sayecc5k] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .88rem;
    color: var(--ink-2);
}

.composer[b-k1sayecc5k] {
    border-top: 1px solid var(--line);
    padding: .75rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background: var(--surface-1);
}

.composer textarea[b-k1sayecc5k] {
    resize: vertical;
}

.composer-bar[b-k1sayecc5k] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.attach[b-k1sayecc5k] {
    cursor: pointer;
    margin: 0;
}

.composer-bar[b-k1sayecc5k]  input[type=file]:focus-visible + .attach {
    box-shadow: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--accent);
}

.attach.disabled[b-k1sayecc5k] {
    pointer-events: none;
    opacity: .5;
}

.privacy[b-k1sayecc5k] {
    line-height: 1.35;
}

.usage[b-k1sayecc5k] {
    margin: 0;
    padding: 0 1rem .6rem;
}

@media print {
    .assistant-panel[b-k1sayecc5k] { display: none; }
}

@media (max-width: 560px) {
    .transcript[b-k1sayecc5k] {
        padding: .75rem;
    }

    .msg[b-k1sayecc5k] {
        max-width: 100%;
    }

    .composer-bar .btn-primary[b-k1sayecc5k] {
        flex: 1 1 auto;
    }
}

/* Web pages an answer cites. */
.sources[b-k1sayecc5k] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .75rem;
    padding: 0;
    margin: .3rem 0 0 .2rem;
    font-size: .78rem;
}

.sources li[b-k1sayecc5k]::before {
    content: "↗ ";
    color: var(--muted);
}

.sources a[b-k1sayecc5k] {
    color: var(--ink-2);
}
/* /Components/Assistant/ProposalCard.razor.rz.scp.css */
.proposal[b-mv8itlbsiy] {
    border-left: 3px solid var(--accent);
}

.proposal.is-approved[b-mv8itlbsiy] {
    border-left-color: var(--good);
}

.proposal.is-declined[b-mv8itlbsiy] {
    border-left-color: var(--line-strong);
}

.proposal.is-failed[b-mv8itlbsiy] {
    border-left-color: var(--critical);
}

.proposal h3[b-mv8itlbsiy] {
    font-size: 1rem;
}

.proposal-tools[b-mv8itlbsiy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .4rem 1rem;
    border-bottom: 1px solid var(--line);
    background: var(--surface-2);
}

.rows-wrap[b-mv8itlbsiy] {
    max-height: 420px;
}

.rows td[b-mv8itlbsiy] {
    vertical-align: top;
}

.rows .lead[b-mv8itlbsiy] {
    font-weight: 600;
    min-width: 150px;
}

.rows .status[b-mv8itlbsiy] {
    min-width: 170px;
}

.rows .status .small[b-mv8itlbsiy] {
    margin-top: .2rem;
    line-height: 1.3;
}

.note[b-mv8itlbsiy] {
    color: var(--warning-ink);
}

tr.row-off td[b-mv8itlbsiy] {
    opacity: .55;
}

.actions[b-mv8itlbsiy] {
    justify-content: flex-end;
}

.created[b-mv8itlbsiy],
.skipped[b-mv8itlbsiy] {
    margin: .25rem 0 0;
    padding-left: 1.1rem;
}

.skipped[b-mv8itlbsiy] {
    color: var(--ink-2);
}

@media (max-width: 560px) {
    .actions .btn[b-mv8itlbsiy] {
        flex: 1 1 auto;
    }
}
/* /Components/Directory/OfficialEditor.razor.rz.scp.css */
.form-grid[b-latotexvk9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1rem;
}

.span-2[b-latotexvk9] {
    grid-column: span 2;
}

.form-check-row[b-latotexvk9] {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    padding-top: 1.4rem;
    font-size: .9rem;
}

.form-check-row label[b-latotexvk9] {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
}

.dup-hint[b-latotexvk9] {
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-left: 3px solid var(--warning);
    border-radius: var(--radius-sm);
    padding: .5rem .7rem;
    font-size: .88rem;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

@media (max-width: 600px) {
    .form-grid[b-latotexvk9] { grid-template-columns: 1fr; }
    .span-2[b-latotexvk9] { grid-column: auto; }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-kqbwq25pey] {
    position: relative;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem 1rem 3rem;
    background: var(--page);
    isolation: isolate;
}

/* Lane 8's starting block over the water (see the credit). */
.auth-bg[b-kqbwq25pey] {
    position: fixed;
    inset: 0;
    z-index: -2;
    background: url("img/login-lane8.jpg") center / cover no-repeat;
}

/* Keeps the card readable and follows the theme: the page colour over the photo, light in light mode, deep in dark. */
.auth-tint[b-kqbwq25pey] {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: linear-gradient(color-mix(in srgb, var(--page) 35%, transparent), color-mix(in srgb, var(--page) 55%, transparent));
}

.auth-card[b-kqbwq25pey] {
    position: relative;
    width: min(400px, 100%);
    background: color-mix(in srgb, var(--surface-1) 92%, transparent);
    backdrop-filter: blur(6px);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1.5rem;
}

.auth-brand[b-kqbwq25pey] {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1.25rem;
}

.auth-mark[b-kqbwq25pey] {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--accent);
    color: var(--accent-ink);
}

.auth-name[b-kqbwq25pey] {
    display: block;
    font-weight: 700;
    letter-spacing: -.01em;
}

.auth-sub[b-kqbwq25pey] {
    display: block;
    font-size: .75rem;
    color: var(--muted);
}

/* Photo credit: a small camera icon in the corner; the credit shows while it's hovered or focused (tap on touch),
   and stays while the pointer moves onto it so its links can be clicked. */
.auth-credit[b-kqbwq25pey] {
    position: absolute;
    right: .6rem;
    bottom: .6rem;
}

.credit-icon[b-kqbwq25pey] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: color-mix(in srgb, var(--surface-1) 75%, transparent);
    color: var(--ink-2);
    opacity: .7;
    transition: opacity .15s ease;
}

.credit-icon:hover[b-kqbwq25pey],
.credit-icon:focus-visible[b-kqbwq25pey] { opacity: 1; color: var(--ink); }

.credit-text[b-kqbwq25pey] {
    position: absolute;
    right: 0;
    bottom: calc(100% + 6px);
    width: max-content;
    max-width: min(320px, calc(100vw - 2rem));
    margin: 0;
    padding: .4rem .6rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-1);
    box-shadow: var(--shadow);
    font-size: .72rem;
    color: var(--ink-2);
    visibility: hidden;
    opacity: 0;
    transition: opacity .15s ease, visibility .15s;
}

/* An invisible bridge over the gap, so moving up from the icon doesn't close it. */
.credit-text[b-kqbwq25pey]::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -8px;
    width: 100%;
    height: 8px;
}

.auth-credit:hover .credit-text[b-kqbwq25pey],
.auth-credit:focus-within .credit-text[b-kqbwq25pey] {
    visibility: visible;
    opacity: 1;
}

.credit-text a[b-kqbwq25pey] {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-9gqlxkovtr] {
    display: flex;
    min-height: 100vh;
}

.app-nav[b-9gqlxkovtr] {
    width: 240px;
    flex: none;
    background: var(--nav-bg);
    color: var(--nav-ink);
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}

.app-main[b-9gqlxkovtr] {
    flex: 1;
    min-width: 0;
}

.app-content[b-9gqlxkovtr] {
    padding: 1.4rem 1.75rem 3rem;
}

.mobile-bar[b-9gqlxkovtr],
.nav-scrim[b-9gqlxkovtr] { display: none; }

/* Narrow windows and phones: a top bar with Menu; the sidebar becomes a drawer over the page. */
@media (max-width: 860px) {
    .app-shell[b-9gqlxkovtr] { flex-direction: column; }

    .mobile-bar[b-9gqlxkovtr] {
        position: sticky;
        top: 0;
        z-index: 1200;
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .5rem 1rem;
        background: var(--nav-bg);
        color: var(--nav-ink);
    }

    .mobile-menu[b-9gqlxkovtr] {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        min-height: 40px;
        padding: 0 .75rem;
        border: 1px solid color-mix(in srgb, var(--nav-ink) 30%, transparent);
        border-radius: 8px;
        background: none;
        color: inherit;
        font-weight: 600;
    }

    .mobile-title[b-9gqlxkovtr] {
        color: inherit;
        font-weight: 700;
        text-decoration: none;
    }

    .app-nav[b-9gqlxkovtr] {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1450;
        width: min(300px, 85vw);
        height: 100vh;
        height: 100dvh;
        transform: translateX(-100%);
        visibility: hidden;
        transition: transform .2s ease, visibility .2s;
        box-shadow: 8px 0 30px rgba(0, 0, 0, .25);
    }

    .nav-open .app-nav[b-9gqlxkovtr] { transform: none; visibility: visible; }

    .nav-open .nav-scrim[b-9gqlxkovtr] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1440;
        background: rgba(5, 15, 25, .45);
    }

    .app-content[b-9gqlxkovtr] { padding: 1rem 1rem 5rem; }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
    .app-nav[b-9gqlxkovtr] { transition: none; }
}

@media print {
    .app-content[b-9gqlxkovtr] { padding: 0; max-width: none; }
}

#blazor-error-ui[b-9gqlxkovtr] {
    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-9gqlxkovtr] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Assistant panel: on wide screens the page makes room beside it, so changes it makes are visible as they land;
   on narrower ones it overlays the page. Width matches .assistant-panel in AssistantPanel.razor.css. */
.app-main[b-9gqlxkovtr] {
    transition: margin-right .2s ease;
}

@media (min-width: 1100px) {
    .app-shell.assistant-open .app-main[b-9gqlxkovtr] {
        margin-right: 460px;
    }
}

.assistant-launcher[b-9gqlxkovtr] {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1300;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .6rem 1rem;
    border: 0;
    border-radius: 999px;
    background: var(--accent);
    color: var(--accent-ink);
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

.assistant-launcher:hover[b-9gqlxkovtr] {
    filter: brightness(1.08);
}

.assistant-launcher:focus-visible[b-9gqlxkovtr] {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

@media print {
    .app-shell.assistant-open .app-main[b-9gqlxkovtr] { margin-right: 0; }
}

/* Phones: the launcher shrinks to its icon so it covers less of the page. */
@media (max-width: 760px) {
    .assistant-launcher[b-9gqlxkovtr] { right: .9rem; bottom: .9rem; }
    .launcher-label[b-9gqlxkovtr] { display: none; }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.brand[b-di2hx6g9v9] {
    padding: 1rem 1rem .75rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.brand-link[b-di2hx6g9v9] {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--nav-ink-strong);
    text-decoration: none;
}

.brand-mark[b-di2hx6g9v9] {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: #2a78d6;
    color: #fff;
}

.brand-name[b-di2hx6g9v9] {
    display: block;
    font-weight: 700;
    letter-spacing: -.01em;
}

.brand-sub[b-di2hx6g9v9] {
    display: block;
    font-size: .72rem;
    color: var(--nav-ink);
    opacity: .8;
}

.nav-sections[b-di2hx6g9v9] {
    padding: .5rem .5rem 1.5rem;
}

.nav-group[b-di2hx6g9v9] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: .5rem 0;
}

.nav-group + .nav-group[b-di2hx6g9v9] {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

[b-di2hx6g9v9] .nav-item-x {
    display: block;
    color: var(--nav-ink);
    text-decoration: none;
    padding: .42rem .75rem;
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 500;
}

[b-di2hx6g9v9] .nav-item-x:hover {
    background: rgba(255, 255, 255, .06);
    color: var(--nav-ink-strong);
}

[b-di2hx6g9v9] .nav-item-x.active {
    background: var(--nav-active);
    color: var(--nav-ink-strong);
    box-shadow: inset 3px 0 0 #3987e5;
}

.nav-meet[b-di2hx6g9v9] {
    display: flex;
    flex-direction: column;
    padding: .4rem .75rem .6rem;
}

.nav-meet-label[b-di2hx6g9v9] {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .7;
}

.nav-meet-name[b-di2hx6g9v9] {
    color: var(--nav-ink-strong);
    font-weight: 650;
    font-size: .92rem;
    line-height: 1.25;
    margin-top: .15rem;
}

.nav-meet-date[b-di2hx6g9v9] {
    font-size: .78rem;
    opacity: .8;
}

.nav-user[b-di2hx6g9v9] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    margin: 0 .5rem 1rem;
    padding: .6rem .75rem 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    font-size: .82rem;
}

.nav-user-row[b-di2hx6g9v9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
}

.nav-user-name[b-di2hx6g9v9] {
    color: var(--nav-ink-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-user form[b-di2hx6g9v9] {
    margin: 0;
}

.nav-signout[b-di2hx6g9v9] {
    background: none;
    border: 0;
    padding: .2rem .4rem;
    border-radius: 6px;
    color: var(--nav-ink);
    font-size: .8rem;
    white-space: nowrap;
}

.nav-signout:hover[b-di2hx6g9v9] {
    background: rgba(255, 255, 255, .06);
    color: var(--nav-ink-strong);
}

/* Phones get the pages that work on a phone; the planning pages stay on a larger screen. */
.nav-desk-note[b-di2hx6g9v9] { display: none; }

@media (max-width: 760px) {
    .nav-sections[b-di2hx6g9v9]  .desktop-only { display: none; }

    .nav-desk-note[b-di2hx6g9v9] {
        display: block;
        margin: .4rem .75rem 0;
        font-size: .75rem;
        color: color-mix(in srgb, var(--nav-ink) 70%, transparent);
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-k06sz6yig7],
.components-reconnect-repeated-attempt-visible[b-k06sz6yig7],
.components-reconnect-failed-visible[b-k06sz6yig7],
.components-pause-visible[b-k06sz6yig7],
.components-resume-failed-visible[b-k06sz6yig7],
.components-rejoining-animation[b-k06sz6yig7] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-retrying[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-failed[b-k06sz6yig7],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-k06sz6yig7] {
    display: block;
}


#components-reconnect-modal[b-k06sz6yig7] {
    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-k06sz6yig7 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-k06sz6yig7 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-k06sz6yig7 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-k06sz6yig7]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-k06sz6yig7 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-k06sz6yig7 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-k06sz6yig7 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-k06sz6yig7 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-k06sz6yig7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-k06sz6yig7] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-k06sz6yig7] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-k06sz6yig7] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-k06sz6yig7] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-k06sz6yig7] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-k06sz6yig7] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-k06sz6yig7 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-k06sz6yig7] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-k06sz6yig7 {
    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/ThemeSwitch.razor.rz.scp.css */
/* Sits in the dark side menu, so it uses the nav colours whatever the page theme is. */
.theme-switch[b-4z1h9m4sgj] {
    display: inline-flex;
    padding: 2px;
    gap: 2px;
    border-radius: 7px;
    background: rgba(255, 255, 255, .06);
}

.theme-switch button[b-4z1h9m4sgj] {
    border: 0;
    background: none;
    color: var(--nav-ink);
    font-size: .76rem;
    line-height: 1;
    padding: .3rem .5rem;
    border-radius: 5px;
}

.theme-switch button:hover[b-4z1h9m4sgj] {
    color: var(--nav-ink-strong);
}

.theme-switch button.on[b-4z1h9m4sgj] {
    background: var(--nav-active);
    color: var(--nav-ink-strong);
}
/* /Components/Pages/Account/Login.razor.rz.scp.css */
.auth-title[b-1gz1xh3z1b] {
    font-size: 1.3rem;
    margin: 0 0 1rem;
}

.auth-msg[b-1gz1xh3z1b] {
    font-size: .88rem;
    padding: .55rem .75rem;
    border-radius: var(--radius-sm);
    background: var(--accent-wash);
    color: var(--ink-2);
    border-left: 3px solid var(--accent);
}

.auth-msg-error[b-1gz1xh3z1b] {
    background: var(--surface-2);
    color: var(--critical-ink);
    border-left-color: var(--critical);
}

.auth-form[b-1gz1xh3z1b] {
    gap: .8rem;
}

.auth-or[b-1gz1xh3z1b] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1rem 0;
    color: var(--muted);
    font-size: .8rem;
}

.auth-or[b-1gz1xh3z1b]::before, .auth-or[b-1gz1xh3z1b]::after {
    content: "";
    flex: 1;
    border-top: 1px solid var(--line);
}

.google-btn[b-1gz1xh3z1b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
}
/* /Components/Pages/Admin/SampleDataCard.razor.rz.scp.css */
.sample-card[b-tcbknidy9d] { margin-top: 1rem; }
.sample-card h2[b-tcbknidy9d] { display: flex; align-items: center; gap: .5rem; }
.sample-body[b-tcbknidy9d] { padding: .9rem 1.1rem 1.1rem; }
/* /Components/Pages/Admin/Users.razor.rz.scp.css */
.form-grid[b-yfnknjwj9d] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1rem;
}

.span-2[b-yfnknjwj9d] {
    grid-column: span 2;
}
/* /Components/Pages/Directory/Accounts.razor.rz.scp.css */
.filters[b-mvzoxqrpij] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--line);
}

.search[b-mvzoxqrpij] {
    flex: 1 1 220px;
    max-width: 380px;
}

.count[b-mvzoxqrpij] {
    margin-left: auto;
    font-size: .85rem;
}

.form-grid[b-mvzoxqrpij] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1rem;
}

@media (max-width: 700px) {
    .form-grid[b-mvzoxqrpij] { grid-template-columns: 1fr; }
}

.members td[b-mvzoxqrpij] {
    padding: .25rem .3rem;
}

.chip-x[b-mvzoxqrpij] {
    background: none;
    border: 0;
    color: var(--muted);
    padding: 0 0 0 .2rem;
    line-height: 1;
}

.chip-x:hover[b-mvzoxqrpij] {
    color: var(--critical-ink);
}

.picker[b-mvzoxqrpij] {
    list-style: none;
    margin: .35rem 0 0;
    padding: .25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    max-height: 220px;
    overflow: auto;
    background: var(--surface-1);
}

.picker li[b-mvzoxqrpij] {
    padding: .1rem .2rem;
}
/* /Components/Pages/Directory/Clubs.razor.rz.scp.css */
.form-grid[b-18wg2mmrpa] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1rem;
}

.span-2[b-18wg2mmrpa] {
    grid-column: span 2;
}

/* Room between the count and the buttons, and the buttons pinned to the right edge. */
.col-officials[b-18wg2mmrpa] {
    width: 7rem;
    padding-right: 2.5rem !important;
}

.col-officials a[b-18wg2mmrpa] {
    font-weight: 600;
    text-decoration: none;
}

.col-officials a:hover[b-18wg2mmrpa] {
    text-decoration: underline;
}

.col-actions[b-18wg2mmrpa] {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

.col-actions .btn + .btn[b-18wg2mmrpa] {
    margin-left: .25rem;
}

@media (max-width: 760px) {
    .col-officials[b-18wg2mmrpa] {
        width: auto;
        padding-right: .5rem !important;
    }

    .col-actions .btn + .btn[b-18wg2mmrpa] { margin-left: 0; }

    .form-grid[b-18wg2mmrpa] { grid-template-columns: 1fr; }
    .span-2[b-18wg2mmrpa] { grid-column: auto; }
}
/* /Components/Pages/Directory/OfficialDetail.razor.rz.scp.css */
.tiles[b-jmx4dl8n05] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin-bottom: 1rem;
}

.detail-grid[b-jmx4dl8n05] {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    align-items: start;
}

/* Grid items don't shrink below their content by default; let wide tables scroll inside their card instead. */
.detail-grid > *[b-jmx4dl8n05] { min-width: 0; }

@media (max-width: 960px) {
    .detail-grid[b-jmx4dl8n05] { grid-template-columns: 1fr; }
}

.profile[b-jmx4dl8n05] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem 1rem;
    margin: 0;
    font-size: .9rem;
}

.profile dt[b-jmx4dl8n05] {
    color: var(--muted);
    font-weight: 550;
}

.profile dd[b-jmx4dl8n05] {
    margin: 0;
    overflow-wrap: anywhere;
}

.plain[b-jmx4dl8n05] {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: .9rem;
}

.plain li[b-jmx4dl8n05] {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .3rem 0;
    border-bottom: 1px solid var(--line);
}

.plain li:last-child[b-jmx4dl8n05] {
    border-bottom: 0;
}
/* /Components/Pages/Directory/Officials.razor.rz.scp.css */
.filters[b-h4ab9mdbst] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--line);
}

.filters .form-select[b-h4ab9mdbst] {
    width: auto;
}

.search[b-h4ab9mdbst] {
    flex: 1 1 220px;
    max-width: 340px;
}

.count[b-h4ab9mdbst] {
    margin-left: auto;
    font-size: .85rem;
}

tr.inactive td[b-h4ab9mdbst] {
    color: var(--muted);
}

/* Phones: search on its own line, the filters two to a row. */
@media (max-width: 760px) {
    .filters[b-h4ab9mdbst] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .search[b-h4ab9mdbst] {
        grid-column: 1 / -1;
        max-width: none;
    }

    .filters .form-select[b-h4ab9mdbst] { width: 100%; }

    .count[b-h4ab9mdbst] { grid-column: 1 / -1; margin-left: 0; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.group-title[b-oogwsuvlbw] {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--muted);
    margin: 1.2rem 0 .6rem;
}

.meet-grid[b-oogwsuvlbw] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.meet-card[b-oogwsuvlbw] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1rem 1.1rem 1.1rem;
    text-decoration: none;
    color: var(--ink);
    transition: border-color .12s ease, transform .12s ease;
}

.meet-card:hover[b-oogwsuvlbw] {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.meet-card h3[b-oogwsuvlbw] {
    font-size: 1.08rem;
    margin: .2rem 0 0;
}

.meet-card-top[b-oogwsuvlbw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.meet-facts[b-oogwsuvlbw] {
    display: flex;
    gap: 1.25rem;
    margin: .5rem 0 .4rem;
}

.meet-facts dt[b-oogwsuvlbw] {
    font-size: .72rem;
    color: var(--muted);
    font-weight: 500;
}

.meet-facts dd[b-oogwsuvlbw] {
    margin: 0;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Meets/CheckIn.razor.rz.scp.css */
.checkin-top[b-wlhlar9fxu] {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(180px, 1fr) auto;
    gap: .6rem;
    align-items: center;
    margin-bottom: .9rem;
}

@media (max-width: 700px) {
    .checkin-top[b-wlhlar9fxu] { grid-template-columns: 1fr; }
}

.seg-toggle[b-wlhlar9fxu] {
    display: inline-flex;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    overflow: hidden;
}

.seg-toggle button[b-wlhlar9fxu] {
    border: 0;
    background: var(--surface-1);
    color: var(--ink-2);
    padding: .45rem .8rem;
    font-weight: 550;
}

.seg-toggle button + button[b-wlhlar9fxu] { border-left: 1px solid var(--line-strong); }
.seg-toggle button.on[b-wlhlar9fxu] { background: var(--accent); color: var(--accent-ink); }

.progress-card[b-wlhlar9fxu] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: center;
    padding: .9rem 1.1rem;
    margin-bottom: .9rem;
}

.progress-value[b-wlhlar9fxu] {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.progress-value span[b-wlhlar9fxu] {
    font-size: .95rem;
    font-weight: 500;
    color: var(--ink-2);
}

.checkin-list[b-wlhlar9fxu] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 900px;
}

.checkin-list li[b-wlhlar9fxu] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .65rem .8rem;
    background: var(--surface-1);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.checkin-list li.in[b-wlhlar9fxu] { background: color-mix(in srgb, var(--good) 8%, var(--surface-1)); }

.who[b-wlhlar9fxu] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.name[b-wlhlar9fxu] { font-weight: 650; font-size: 1.02rem; }
.aff[b-wlhlar9fxu] { font-size: .8rem; color: var(--muted); }
.jobs[b-wlhlar9fxu] { font-size: .85rem; color: var(--ink-2); }
.note[b-wlhlar9fxu] { font-size: .8rem; font-style: italic; color: var(--muted); }

.checkin-btn[b-wlhlar9fxu] {
    flex: none;
    min-width: 116px;
    min-height: 48px;
    border-radius: 10px;
    border: 2px solid var(--accent);
    background: var(--surface-1);
    color: var(--accent);
    font-weight: 700;
    font-size: 1rem;
}

.checkin-btn.on[b-wlhlar9fxu] {
    background: var(--good);
    border-color: var(--good);
    color: #fff;
}

.empty-row[b-wlhlar9fxu] { justify-content: center; }

.open-seats[b-wlhlar9fxu] {
    margin-top: 1rem;
    padding: .75rem 1rem;
    max-width: 900px;
}

.open-seats summary[b-wlhlar9fxu] { cursor: pointer; font-weight: 600; }

.open-grid[b-wlhlar9fxu] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .6rem;
}
/* /Components/Pages/Meets/ClubService.razor.rz.scp.css */
.explain[b-iem19tbcam] {
    max-width: 75ch;
}

.toolbar[b-iem19tbcam] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem 1.5rem;
    padding: .7rem 1rem;
    margin-bottom: 1rem;
}

.toolbar-group[b-iem19tbcam] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
}

.segmented[b-iem19tbcam] {
    display: inline-flex;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.seg-btn[b-iem19tbcam] {
    background: var(--surface-1);
    color: var(--ink-2);
    border: 0;
    padding: .3rem .75rem;
    font-size: .85rem;
    font-weight: 550;
}

.seg-btn + .seg-btn[b-iem19tbcam] {
    border-left: 1px solid var(--line-strong);
}

.seg-btn.on[b-iem19tbcam] {
    background: var(--accent);
    color: var(--accent-ink);
}

.policy[b-iem19tbcam] {
    margin-bottom: 1rem;
}

.policy-grid[b-iem19tbcam] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    align-items: end;
}

.policy-actions[b-iem19tbcam] {
    display: flex;
    gap: .5rem;
}

.tiles[b-iem19tbcam] {
    margin-bottom: 1rem;
}

.grid-2[b-iem19tbcam] {
    margin-bottom: 1rem;
}

.filter[b-iem19tbcam] {
    width: auto;
}

.search[b-iem19tbcam] {
    max-width: 240px;
}

.acct[b-iem19tbcam] {
    font-weight: 600;
}

.small[b-iem19tbcam] {
    font-size: .8rem;
}

.adj[b-iem19tbcam] {
    width: 5.2rem;
    text-align: right;
    margin-left: auto;
}

.neg[b-iem19tbcam] {
    color: var(--critical-ink);
    font-weight: 650;
}

.pos[b-iem19tbcam] {
    color: var(--good-ink);
}

.row-short td:first-child[b-iem19tbcam] {
    box-shadow: inset 3px 0 0 var(--critical);
}

.notices[b-iem19tbcam] {
    min-width: 150px;
}

.notices .pill[b-iem19tbcam] {
    margin: 0 .2rem .2rem 0;
}

.center[b-iem19tbcam] {
    text-align: center;
}

.swims-select[b-iem19tbcam] {
    min-width: 118px;
}
/* /Components/Pages/Meets/MeetOverview.razor.rz.scp.css */
.staff-row[b-rjtvqq0fr9] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.75rem;
    margin: -.4rem 0 1.1rem;
}

.staff[b-rjtvqq0fr9] {
    display: flex;
    flex-direction: column;
    font-size: .9rem;
}

.tiles[b-rjtvqq0fr9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.overview-grid[b-rjtvqq0fr9] {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
    gap: 1rem;
}

@media (max-width: 1100px) {
    .overview-grid[b-rjtvqq0fr9] { grid-template-columns: 1fr; }
}

.steps[b-rjtvqq0fr9] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.steps li[b-rjtvqq0fr9] {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
}

.step-mark[b-rjtvqq0fr9] {
    flex: none;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 50%;
    border: 2px solid var(--line-strong);
    display: grid;
    place-items: center;
    font-size: .72rem;
    font-weight: 800;
    margin-top: .1rem;
}

.steps li.done .step-mark[b-rjtvqq0fr9] {
    background: var(--good);
    border-color: var(--good);
    color: #fff;
}

.steps li.done a[b-rjtvqq0fr9] { color: var(--ink-2); }
/* /Components/Pages/Meets/MeetSetup.razor.rz.scp.css */
.setup-grid[b-qhby7xd0kg] {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
    align-items: start;
}

@media (max-width: 1000px) {
    .setup-grid[b-qhby7xd0kg] { grid-template-columns: 1fr; }
}

.form-grid[b-qhby7xd0kg] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1rem;
}

.span-2[b-qhby7xd0kg] {
    grid-column: span 2;
}

.hint[b-qhby7xd0kg] {
    margin: 0;
    font-size: .85rem;
    color: var(--warning-ink);
}

.check[b-qhby7xd0kg] {
    display: flex;
    gap: .5rem;
    align-items: center;
    font-size: .9rem;
}

.staff[b-qhby7xd0kg] {
    list-style: none;
    padding: 0;
    margin: 0 0 .75rem;
}

.staff li[b-qhby7xd0kg] {
    display: grid;
    grid-template-columns: 9.5rem 1fr auto;
    align-items: center;
    gap: .5rem;
    padding: .25rem 0;
    border-bottom: 1px solid var(--line);
    font-size: .9rem;
}

.staff-add[b-qhby7xd0kg] {
    display: grid;
    grid-template-columns: 11rem 1fr auto;
    gap: .4rem;
}

.tiny[b-qhby7xd0kg] {
    font-size: .78rem;
    margin: .4rem 0 0;
}

.sessions td[b-qhby7xd0kg] {
    padding: .3rem .35rem;
}

.sessions input[type=time][b-qhby7xd0kg], .sessions input[type=date][b-qhby7xd0kg] {
    min-width: 7.5rem;
}

.sessions .seq[b-qhby7xd0kg] {
    width: 4.5rem;
}

.sessions td:nth-child(2) input[b-qhby7xd0kg] {
    min-width: 11rem;
}
/* /Components/Pages/Meets/NewMeet.razor.rz.scp.css */
.new-meet[b-cn3kf6lijt] {
    max-width: 760px;
}

.form-grid[b-cn3kf6lijt] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1rem;
}

.span-2[b-cn3kf6lijt] {
    grid-column: span 2;
}

.check[b-cn3kf6lijt] {
    display: flex;
    gap: .5rem;
    align-items: center;
    font-size: .9rem;
}

.actions[b-cn3kf6lijt] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: 1.25rem;
}

@media (max-width: 600px) {
    .form-grid[b-cn3kf6lijt] { grid-template-columns: 1fr; }
    .span-2[b-cn3kf6lijt] { grid-column: auto; }
}
/* /Components/Pages/Meets/PrintSheets.razor.rz.scp.css */
.print-toolbar[b-eimnjggeej] {
    display: flex;
    gap: .9rem;
    align-items: center;
    padding: .7rem 1rem;
    background: var(--surface-1);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 5;
}

.print-toolbar select[b-eimnjggeej] { width: auto; }

.sheet[b-eimnjggeej] {
    background: #fff;
    color: #111;
    width: 8.5in;
    min-height: 11in;
    margin: 1rem auto;
    padding: .5in .55in;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
    font-size: 10.5pt;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color-scheme: light;
}

.sheet-head h1[b-eimnjggeej] {
    font-size: 15pt;
    margin: 0;
}

.sheet-sub[b-eimnjggeej] { font-size: 10pt; color: #444; }

.staff-grid[b-eimnjggeej] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 20px;
    padding: 6px 0;
    border-top: 1.5px solid #111;
    border-bottom: 1px solid #999;
}

.staff[b-eimnjggeej] { display: flex; gap: 8px; }
.lbl[b-eimnjggeej] { font-weight: 700; min-width: 110px; }

.two-col[b-eimnjggeej] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 22px;
    align-items: start;
}

.block[b-eimnjggeej] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 6px;
    break-inside: avoid;
}

.block th[b-eimnjggeej] {
    text-align: left;
    font-size: 9.5pt;
    text-transform: uppercase;
    letter-spacing: .03em;
    border-bottom: 1.5px solid #111;
    padding: 2px 0;
}

.block td[b-eimnjggeej] {
    border-bottom: 1px solid #ccc;
    padding: 3px 2px;
    vertical-align: top;
}

.spot[b-eimnjggeej] { width: 88px; color: #444; white-space: nowrap; }
.note[b-eimnjggeej] { font-style: italic; color: #444; }
.in[b-eimnjggeej] { width: 30px; text-align: center; }

.box[b-eimnjggeej] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1.2px solid #333;
    font-size: 9pt;
    font-weight: 700;
    line-height: 14px;
}

.sheet-foot[b-eimnjggeej] {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    font-size: 8.5pt;
    color: #666;
    border-top: 1px solid #ccc;
    padding-top: 4px;
}

@media print {
    .sheet[b-eimnjggeej] {
        margin: 0;
        box-shadow: none;
        width: auto;
        min-height: auto;
        padding: 0;
        page-break-after: always;
        break-after: page;
    }

    .sheet:last-of-type[b-eimnjggeej] { page-break-after: auto; break-after: auto; }
}

@page {
    size: letter;
    margin: .45in;
}
/* /Components/Pages/Meets/Reports.razor.rz.scp.css */
.report-tabs[b-ew7j7umcbl] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    border-bottom: 1px solid var(--line);
    margin-bottom: 1rem;
}

.report-tab[b-ew7j7umcbl] {
    padding: .5rem .85rem;
    color: var(--ink-2);
    text-decoration: none;
    font-weight: 550;
    font-size: .9rem;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.report-tab:hover[b-ew7j7umcbl] {
    color: var(--ink);
    background: var(--surface-2);
    border-radius: 6px 6px 0 0;
}

.report-tab.active[b-ew7j7umcbl] {
    color: var(--ink);
    border-bottom-color: var(--accent);
}

.chip[b-ew7j7umcbl] {
    cursor: pointer;
}

.chip-on[b-ew7j7umcbl] {
    background: var(--accent-wash);
    border-color: var(--accent);
    color: var(--ink);
}

.hero-card[b-ew7j7umcbl] {
    padding: 1.2rem 1.4rem;
}

.hero-label[b-ew7j7umcbl] {
    font-size: .9rem;
    color: var(--ink-2);
    font-weight: 550;
}

.hero-value[b-ew7j7umcbl] {
    font-size: 3.4rem;
    font-weight: 650;
    letter-spacing: -.03em;
    line-height: 1.05;
    margin: .2rem 0 .35rem;
}

.rate-col[b-ew7j7umcbl] {
    min-width: 160px;
}

.rate[b-ew7j7umcbl] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.rate > :first-child[b-ew7j7umcbl] {
    flex: 1;
}

.sub-row td[b-ew7j7umcbl] {
    font-size: .82rem;
    color: var(--ink-2);
    background: var(--surface-2);
}

.block-head td[b-ew7j7umcbl] {
    font-weight: 650;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--muted);
    background: var(--surface-1);
    padding-top: .8rem;
}

.subtotal td[b-ew7j7umcbl] {
    font-weight: 600;
    color: var(--ink-2);
    border-bottom: 1px solid var(--line-strong);
}

.search[b-ew7j7umcbl] {
    max-width: 260px;
}

.sort-btn[b-ew7j7umcbl] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

.sort-btn:hover[b-ew7j7umcbl] {
    color: var(--ink);
}

.small[b-ew7j7umcbl] {
    font-size: .8rem;
}
/* /Components/Pages/Meets/Requirements.razor.rz.scp.css */
.toggle[b-h7l5g8n14o] {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    font-size: .88rem;
    color: var(--ink-2);
    margin-right: .5rem;
}

.totals[b-h7l5g8n14o] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin-bottom: 1rem;
}

.grid th[b-h7l5g8n14o], .grid td[b-h7l5g8n14o] {
    white-space: nowrap;
}

.pos-col[b-h7l5g8n14o] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: var(--surface-1);
    min-width: 13rem;
}

thead .pos-col[b-h7l5g8n14o] {
    background: var(--surface-2);
    z-index: 3;
}

.cell-col[b-h7l5g8n14o] {
    text-align: center;
    min-width: 5.2rem;
}

.th-sub[b-h7l5g8n14o] {
    font-size: .68rem;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: var(--muted);
}

.btn-xs[b-h7l5g8n14o] {
    font-size: .68rem;
    padding: .05rem .35rem;
    margin-top: .2rem;
    text-transform: none;
    letter-spacing: 0;
}

.count[b-h7l5g8n14o] {
    width: 4.2rem;
    margin: 0 auto;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.count.zero[b-h7l5g8n14o] {
    color: var(--muted);
}

.filled[b-h7l5g8n14o] {
    font-size: .7rem;
    color: var(--muted);
    font-variant-numeric: tabular-nums;
    margin-top: .1rem;
}

.filled.short[b-h7l5g8n14o] {
    color: var(--warning-ink);
}

.group-row td[b-h7l5g8n14o] {
    background: var(--surface-2);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 650;
    color: var(--ink-2);
    position: static;
}

.num-c[b-h7l5g8n14o] {
    font-variant-numeric: tabular-nums;
}

tfoot .pos-col[b-h7l5g8n14o], tfoot td:first-child[b-h7l5g8n14o] {
    position: sticky;
    left: 0;
    background: var(--surface-2);
}

.footnote[b-h7l5g8n14o] {
    font-size: .8rem;
    color: var(--muted);
    margin: 0;
    padding: .6rem 1rem .8rem;
}
/* /Components/Pages/Meets/Roster.razor.rz.scp.css */
.session-tabs[b-jm4mief926] {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-bottom: .9rem;
}

.session-tab[b-jm4mief926] {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: .45rem .75rem;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: var(--surface-1);
    text-decoration: none;
    color: var(--ink);
    min-width: 108px;
}

.session-tab:hover[b-jm4mief926] { border-color: var(--line-strong); }

.session-tab.active[b-jm4mief926] {
    border-color: var(--accent);
    box-shadow: inset 0 -3px 0 var(--accent);
}

.tab-name[b-jm4mief926] { font-weight: 650; font-size: .88rem; white-space: nowrap; }
.tab-meta[b-jm4mief926] { font-size: .74rem; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tab-done[b-jm4mief926] { position: absolute; top: 4px; right: 7px; color: var(--good-ink); font-weight: 700; font-size: .78rem; }

.toolbar[b-jm4mief926] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem .9rem;
    margin-bottom: .9rem;
}

.toolbar[b-jm4mief926]  .meter { width: 120px; }
.toolbar-spacer[b-jm4mief926] { flex: 1; }
.fill-summary[b-jm4mief926] { font-size: .88rem; }

.seg-toggle[b-jm4mief926] {
    display: inline-flex;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    overflow: hidden;
}

.seg-toggle button[b-jm4mief926] {
    border: 0;
    background: var(--surface-1);
    color: var(--ink-2);
    padding: .3rem .75rem;
    font-size: .85rem;
    font-weight: 550;
}

.seg-toggle button + button[b-jm4mief926] { border-left: 1px solid var(--line-strong); }
.seg-toggle button.on[b-jm4mief926] { background: var(--accent); color: var(--accent-ink); }

.dropdown-x[b-jm4mief926] { position: relative; }

.dropdown-menu-x[b-jm4mief926] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 50;
    min-width: 260px;
    background: var(--surface-1);
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
    padding: 4px;
    display: flex;
    flex-direction: column;
}

.dropdown-menu-x button[b-jm4mief926] {
    border: 0;
    background: none;
    text-align: left;
    padding: .45rem .6rem;
    border-radius: 6px;
    color: var(--ink);
    font-size: .88rem;
}

.dropdown-menu-x button:hover[b-jm4mief926] { background: var(--surface-2); }
.dropdown-menu-x button.danger[b-jm4mief926] { color: var(--critical-ink); }

.roster-layout[b-jm4mief926] {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr) 260px;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 1750px) {
    .roster-layout[b-jm4mief926] { grid-template-columns: 240px minmax(0, 1fr); }
    .issues-panel[b-jm4mief926] { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
    .roster-layout[b-jm4mief926] { grid-template-columns: 1fr; }
}

.people[b-jm4mief926], .issues-panel[b-jm4mief926] {
    padding: .75rem;
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.people.drop-hover[b-jm4mief926] { box-shadow: 0 0 0 2px var(--critical); }

.people-head[b-jm4mief926] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.people-head h2[b-jm4mief926] { font-size: 1rem; margin: 0; }

.people-mode[b-jm4mief926] { display: flex; }
.people-mode button[b-jm4mief926] { flex: 1; padding: .25rem .4rem; font-size: .78rem; }

.selected-hint[b-jm4mief926] {
    font-size: .8rem;
    background: var(--accent-wash);
    border: 1px solid var(--accent-soft);
    border-radius: 6px;
    padding: .4rem .5rem;
}

.people-list[b-jm4mief926] {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.person[b-jm4mief926] {
    display: flex;
    align-items: stretch;
    gap: .5rem;
    padding: .35rem .45rem .35rem 0;
    border-radius: 7px;
    border: 1px solid var(--line);
    background: var(--surface-1);
    cursor: grab;
    user-select: none;
}

.person:hover[b-jm4mief926] { border-color: var(--line-strong); background: var(--surface-2); }
.person.selected[b-jm4mief926] { box-shadow: 0 0 0 2px var(--accent); }
.person.placed[b-jm4mief926] { opacity: .72; }

.person-stripe[b-jm4mief926] {
    width: 4px;
    border-radius: 0 3px 3px 0;
    background: var(--cat, var(--line-strong));
    flex: none;
}

.person-main[b-jm4mief926] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.person-name[b-jm4mief926] { font-size: .84rem; font-weight: 600; }
.person-note[b-jm4mief926] { color: var(--accent); margin-left: .2rem; cursor: help; }
.person-aff[b-jm4mief926] { font-size: .72rem; color: var(--muted); }
.person-pair[b-jm4mief926] { display: block; font-size: .72rem; color: var(--ink-2); }
.person-wants[b-jm4mief926] { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 2px; }

.want[b-jm4mief926] {
    font-size: .64rem;
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--surface-2);
    color: var(--ink-2);
    border: 1px solid var(--line);
}

.want.not-signed[b-jm4mief926] { color: var(--warning-ink); border-color: var(--warning); }

.person-seats[b-jm4mief926] {
    font-size: .68rem;
    color: var(--ink-2);
    align-self: center;
    text-align: right;
    max-width: 70px;
}

.drop-hint[b-jm4mief926] { font-size: .72rem; color: var(--muted); margin: 0; text-align: center; }

.board[b-jm4mief926] { min-width: 0; }
.session-title[b-jm4mief926] { font-size: 1.05rem; margin: 0; }
.session-times[b-jm4mief926] { font-size: .82rem; margin: .1rem 0 .75rem; }

.issue-list[b-jm4mief926] {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: .8rem;
}

.issue-list li[b-jm4mief926] {
    padding: .3rem .45rem;
    border-radius: 6px;
    border-left: 3px solid var(--line-strong);
    background: var(--surface-2);
}

.issue-list li.issue-error[b-jm4mief926] { border-left-color: var(--critical); }
.issue-list li.issue-warning[b-jm4mief926] { border-left-color: var(--warning); }
.issue-list li.issue-info[b-jm4mief926] { color: var(--ink-2); }
.issue-list .btn-link[b-jm4mief926] { font-size: .8rem; color: var(--ink); text-decoration: none; }
.issue-list .btn-link:hover[b-jm4mief926] { text-decoration: underline; }

/* ---------- Horizontal pool: the people list is a panel that opens on the right ---------- */

/* More specific than the width breakpoints above, so it applies at every width. */
.roster-layout.horizontal[b-jm4mief926] { grid-template-columns: minmax(0, 1fr); }
.roster-layout.horizontal.people-open[b-jm4mief926] { grid-template-columns: minmax(0, 1fr) 280px; }
.roster-layout.horizontal .board[b-jm4mief926] { grid-column: 1; grid-row: 1; }
.roster-layout.horizontal .people[b-jm4mief926] {
    grid-column: 2;
    grid-row: 1;
    animation: people-in-b-jm4mief926 .16s ease-out;
}
.roster-layout.horizontal .issues-panel[b-jm4mief926] { grid-column: 1 / -1; }

@media (max-width: 860px) {
    .roster-layout.horizontal.people-open[b-jm4mief926] { grid-template-columns: 1fr; }
    .roster-layout.horizontal .people[b-jm4mief926] { grid-column: 1; grid-row: auto; }
}

@keyframes people-in-b-jm4mief926 {
    from { transform: translateX(16px); opacity: 0; }
    to { transform: none; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .roster-layout.horizontal .people[b-jm4mief926] { animation: none; }
}

.people-head[b-jm4mief926] { gap: .5rem; }
.people-head h2[b-jm4mief926] { margin-right: auto; }

.btn-close-x[b-jm4mief926] {
    border: 0;
    background: none;
    color: var(--ink-2);
    font-size: 1.25rem;
    line-height: 1;
    padding: 0 .2rem;
    border-radius: 4px;
}

.btn-close-x:hover[b-jm4mief926] { background: var(--surface-2); color: var(--ink); }

.people-count[b-jm4mief926] {
    display: inline-block;
    min-width: 1.4em;
    margin-left: .2rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: color-mix(in srgb, currentColor 15%, transparent);
    font-size: .78em;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Meets/SeniorRoster.razor.rz.scp.css */
.staff-row[b-0h1sijc9na] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.5rem;
    margin: -.4rem 0 1rem;
    font-size: .9rem;
}

.senior th[b-0h1sijc9na] {
    vertical-align: bottom;
    text-transform: none;
    letter-spacing: 0;
    font-size: .8rem;
}

.session-head[b-0h1sijc9na] { font-weight: 700; color: var(--ink); }
.session-times[b-0h1sijc9na] { font-weight: 500; font-size: .74rem; }

.senior tbody th.pos[b-0h1sijc9na] {
    position: static;
    background: none;
    border-bottom: 1px solid var(--line);
    font-size: .84rem;
    color: var(--ink);
    white-space: nowrap;
}

.senior tr.group-start td[b-0h1sijc9na], .senior tr.group-start th[b-0h1sijc9na] {
    border-top: 1px solid var(--line-strong);
}

.spot[b-0h1sijc9na] { white-space: nowrap; font-size: .8rem; }
.na[b-0h1sijc9na] { color: var(--muted); text-align: center; }

.cell[b-0h1sijc9na] {
    position: relative;
    width: 100%;
    min-width: 150px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: .3rem .45rem;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    text-align: left;
    color: inherit;
}

.cell:hover[b-0h1sijc9na] { border-color: var(--line-strong); background: var(--surface-1); }
.cell.open[b-0h1sijc9na] { border: 1px dashed var(--line-strong); }
.cell.has-issue[b-0h1sijc9na] { border-color: var(--warning); }
.cell-name[b-0h1sijc9na] { font-weight: 600; font-size: .85rem; }
.cell-aff[b-0h1sijc9na] { font-size: .72rem; color: var(--muted); }
.cell-open[b-0h1sijc9na] { color: var(--muted); font-style: italic; font-size: .82rem; }
.cell-flag[b-0h1sijc9na] { position: absolute; top: 2px; right: 5px; font-size: .75rem; }

@media print {
    .cell[b-0h1sijc9na] { min-width: 0; border: 0 !important; }
    .cell-flag[b-0h1sijc9na] { display: none; }
}
/* /Components/Pages/Meets/SignupImport.razor.rz.scp.css */
.steps[b-k21er04iib] {
    list-style: none;
    display: flex;
    gap: .5rem;
    padding: 0;
    margin: 0 0 1rem;
    counter-reset: step;
    font-size: .85rem;
}

.steps li[b-k21er04iib] {
    counter-increment: step;
    display: flex;
    align-items: center;
    gap: .4rem;
    color: var(--muted);
    padding: .3rem .7rem .3rem .35rem;
    border-radius: 999px;
    background: var(--surface-2);
    border: 1px solid var(--line);
}

.steps li[b-k21er04iib]::before {
    content: counter(step);
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: var(--surface-1);
    border: 1px solid var(--line-strong);
    font-weight: 650;
    font-size: .75rem;
}

.steps li.current[b-k21er04iib] {
    color: var(--ink);
    font-weight: 600;
    border-color: var(--accent);
}

.steps li.current[b-k21er04iib]::before {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-ink);
}

.steps li.done[b-k21er04iib]::before {
    content: "✓";
    color: var(--good-ink);
}

.input-grid[b-k21er04iib] {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
    gap: 1rem;
    align-items: start;
}

@media (max-width: 960px) {
    .input-grid[b-k21er04iib] { grid-template-columns: 1fr; }
}

.format[b-k21er04iib] {
    width: auto;
}

.mono[b-k21er04iib] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: .8rem;
}

.help h3[b-k21er04iib] {
    font-size: .88rem;
    margin: .2rem 0 .35rem;
}

.help p[b-k21er04iib] {
    color: var(--ink-2);
}

.help pre[b-k21er04iib] {
    background: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: .5rem .6rem;
    font-size: .74rem;
    white-space: pre;
    overflow-x: auto;
}

.tiles[b-k21er04iib] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.toolbar[b-k21er04iib] {
    flex-wrap: wrap;
}

.preview-wrap[b-k21er04iib] {
    max-height: calc(100vh - 330px);
}

.preview td[b-k21er04iib] {
    vertical-align: top;
}

.preview .form-select[b-k21er04iib] {
    min-width: 150px;
}

.src[b-k21er04iib] {
    min-width: 220px;
}

.src-name[b-k21er04iib] {
    font-weight: 600;
}

.note[b-k21er04iib] {
    color: var(--warning-ink);
}

.who[b-k21er04iib] {
    min-width: 260px;
}

.who-name[b-k21er04iib] {
    font-weight: 550;
    margin-right: .35rem;
}

.who-select[b-k21er04iib] {
    max-width: 260px;
}

.club-select[b-k21er04iib] {
    max-width: 120px;
    min-width: 0 !important;
}

.status[b-k21er04iib] {
    min-width: 140px;
}

.status .pill[b-k21er04iib] {
    white-space: normal;
    line-height: 1.25;
}

tr.row-dup td[b-k21er04iib] {
    color: var(--muted);
    background: var(--surface-2);
}

tr.row-off td[b-k21er04iib] {
    opacity: .6;
}

tr.row-problem td:first-child[b-k21er04iib] {
    box-shadow: inset 3px 0 0 var(--critical);
}

.done h2[b-k21er04iib] {
    margin-top: 0;
}
/* /Components/Pages/Meets/Signups.razor.rz.scp.css */
.toolbar[b-p8cblbh8tv] {
    flex-wrap: wrap;
}

.search[b-p8cblbh8tv] {
    width: 220px;
}

.toolbar .form-select[b-p8cblbh8tv] {
    width: auto;
}

.matrix-wrap[b-p8cblbh8tv] {
    max-height: calc(100vh - 240px);
}

.matrix[b-p8cblbh8tv] {
    font-size: .85rem;
}

.matrix th.col-session[b-p8cblbh8tv] {
    text-align: center;
    min-width: 96px;
}

.session-date[b-p8cblbh8tv] {
    display: block;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--muted);
}

/* sticky first column so names stay visible while scrolling across sessions */
.matrix .col-name[b-p8cblbh8tv] {
    position: sticky;
    left: 0;
    background: var(--surface-1);
    min-width: 210px;
    z-index: 1;
}

.matrix th.col-name[b-p8cblbh8tv] {
    z-index: 2;
    background: var(--surface-2);
}

.matrix tfoot .col-name[b-p8cblbh8tv] {
    background: var(--surface-2);
}

.matrix tbody tr:hover .col-name[b-p8cblbh8tv] {
    background: var(--accent-wash);
}

.name[b-p8cblbh8tv] {
    display: block;
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
    margin-bottom: .15rem;
}

.name:hover[b-p8cblbh8tv] {
    text-decoration: underline;
}

.cell[b-p8cblbh8tv] {
    padding: 2px;
    text-align: center;
}

.cell-btn[b-p8cblbh8tv] {
    width: 100%;
    min-height: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px dashed transparent;
    border-radius: var(--radius-sm);
    padding: 3px;
    color: var(--ink-2);
    cursor: pointer;
}

.cell-btn:hover[b-p8cblbh8tv],
.cell-btn:focus-visible[b-p8cblbh8tv] {
    border-color: var(--line-strong);
    background: var(--surface-1);
    outline: none;
}

.cell.has .cell-btn[b-p8cblbh8tv] {
    background: var(--accent-wash);
}

.cell-add[b-p8cblbh8tv] {
    color: var(--line-strong);
    font-weight: 600;
}

.cell-btn:hover .cell-add[b-p8cblbh8tv] {
    color: var(--accent);
}

.pos-pill[b-p8cblbh8tv] {
    font-size: .7rem;
    padding: .18rem .4rem;
    background: var(--surface-1);
}

.note-mark[b-p8cblbh8tv] {
    color: var(--warning-ink);
    font-size: .85rem;
}

.foot-cell[b-p8cblbh8tv] {
    min-width: 80px;
    font-size: .78rem;
}

.foot-cell .num[b-p8cblbh8tv] {
    text-align: center;
    margin-bottom: 3px;
}

.row-actions[b-p8cblbh8tv] {
    white-space: nowrap;
}

.pos-grid[b-p8cblbh8tv],
.session-picks[b-p8cblbh8tv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .3rem .75rem;
}

.pos-option[b-p8cblbh8tv] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .3rem .4rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.pos-option:hover[b-p8cblbh8tv] {
    background: var(--surface-2);
}

.pos-option.any[b-p8cblbh8tv] {
    grid-column: 1 / -1;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    padding-bottom: .5rem;
    margin-bottom: .2rem;
}

.pick-list[b-p8cblbh8tv] {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 340px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

.pick-btn[b-p8cblbh8tv] {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--line);
    padding: .45rem .7rem;
    text-align: left;
    color: var(--ink);
}

.pick-btn:hover[b-p8cblbh8tv],
.pick-btn:focus-visible[b-p8cblbh8tv] {
    background: var(--accent-wash);
    outline: none;
}

.pair-mark[b-p8cblbh8tv] {
    display: block;
    font-size: .74rem;
    color: var(--ink-2);
    margin-bottom: .15rem;
}

.pair-list[b-p8cblbh8tv] {
    list-style: none;
    padding: 0;
    margin: 0 0 .75rem;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.pair-list li[b-p8cblbh8tv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .35rem .6rem;
}

.pair-list li + li[b-p8cblbh8tv] { border-top: 1px solid var(--line); }

.pair-add[b-p8cblbh8tv] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    gap: .5rem;
}

@media (max-width: 600px) {
    .pair-add[b-p8cblbh8tv] { grid-template-columns: 1fr; }
}

/* ---------- phones: a card per official instead of the grid ---------- */
.signup-cards[b-p8cblbh8tv] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.signup-card[b-p8cblbh8tv] {
    padding: .75rem 1rem;
    border-top: 1px solid var(--line);
}

.signup-card-head .name[b-p8cblbh8tv] { display: inline; margin-right: .35rem; }

.signup-card-sessions[b-p8cblbh8tv] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: .5rem;
}

.session-chip[b-p8cblbh8tv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 44px;
    padding: .35rem .55rem;
    border: 1px dashed var(--line-strong);
    border-radius: 8px;
    background: none;
    color: var(--ink-2);
    text-align: left;
    font-size: .8rem;
}

.session-chip.has[b-p8cblbh8tv] {
    border-style: solid;
    border-color: var(--accent-soft);
    background: var(--accent-wash);
    color: var(--ink);
}

.chip-session[b-p8cblbh8tv] { font-weight: 650; font-size: .74rem; color: var(--ink-2); }
.chip-jobs[b-p8cblbh8tv] { overflow-wrap: anywhere; }

.signup-card-actions[b-p8cblbh8tv] {
    display: flex;
    gap: .25rem;
    margin-top: .4rem;
}

@media (max-width: 760px) {
    .toolbar[b-p8cblbh8tv] { align-items: stretch; }
    .toolbar .row-gap[b-p8cblbh8tv] { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .search[b-p8cblbh8tv] { grid-column: 1 / -1; width: 100%; }
    .toolbar .form-select[b-p8cblbh8tv] { width: 100%; }
}
/* /Components/Roster/PoolDeck.razor.rz.scp.css */
.deck-wrap[b-h7f5eiznlx] {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    overflow-x: auto;
    padding-bottom: .25rem;
}

.deck[b-h7f5eiznlx] {
    display: grid;
    grid-template-columns: 100px repeat(var(--lanes), minmax(78px, 1fr)) 100px;
    grid-auto-rows: auto;
    gap: 6px;
    min-width: calc(200px + var(--lanes) * 84px);
    background: var(--deck);
    border: 1px solid var(--deck-edge);
    border-radius: 14px;
    padding: 10px;
}

.deck-side-label[b-h7f5eiznlx] {
    align-self: center;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 700;
    color: var(--muted);
    text-align: right;
    padding-right: 6px;
    line-height: 1.25;
}

.deck-cell[b-h7f5eiznlx] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.deck-cell.turn[b-h7f5eiznlx] { padding-bottom: 2px; }

.deck-cell.side[b-h7f5eiznlx] {
    justify-content: center;
    padding: 4px 0;
}

.side-label[b-h7f5eiznlx] {
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 700;
    color: var(--muted);
    text-align: center;
}

.water[b-h7f5eiznlx] {
    display: grid;
    grid-template-columns: repeat(var(--lanes), 1fr);
    min-height: 200px;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    border: 3px solid var(--deck-edge);
    background: linear-gradient(180deg, var(--water-deep), var(--water) 18%, var(--water) 82%, var(--water-deep));
}

.lane[b-h7f5eiznlx] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}

/* lane ropes: dotted floats between lanes */
.lane + .lane[b-h7f5eiznlx]::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: repeating-linear-gradient(180deg, var(--rope) 0 6px, var(--rope-dot) 6px 12px);
    opacity: .85;
}

/* black line on the pool floor, T at each wall */
.lane[b-h7f5eiznlx]::after {
    content: "";
    position: absolute;
    top: 14%;
    bottom: 14%;
    left: 50%;
    width: 6px;
    transform: translateX(-50%);
    background: color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: 3px;
}

.lane-flag[b-h7f5eiznlx] {
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    border-top: 1px dashed color-mix(in srgb, var(--ink) 25%, transparent);
}

.lane-number[b-h7f5eiznlx] {
    position: relative;
    z-index: 1;
    font-size: 1.6rem;
    font-weight: 800;
    color: color-mix(in srgb, var(--ink) 30%, transparent);
    margin-bottom: 14px;
}

.block[b-h7f5eiznlx] {
    width: 56%;
    height: 10px;
    background: var(--deck-edge);
    border-radius: 3px 3px 0 0;
    position: relative;
    z-index: 1;
}

.water-length[b-h7f5eiznlx] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    font-size: .7rem;
    color: color-mix(in srgb, var(--ink) 45%, transparent);
    letter-spacing: .1em;
}

.start-strip[b-h7f5eiznlx] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: stretch;
    background: var(--deck);
    border: 1px solid var(--deck-edge);
    border-radius: 10px;
    padding: 8px 10px;
}

.start-strip[b-h7f5eiznlx]  .chip { width: 168px; }

.strip-label[b-h7f5eiznlx] {
    align-self: center;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 700;
    color: var(--muted);
    width: 92px;
}

.deck-areas[b-h7f5eiznlx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .75rem;
}

.area[b-h7f5eiznlx] {
    background: var(--surface-1);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .6rem .7rem .75rem;
}

.area h3[b-h7f5eiznlx] {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-2);
    margin: 0 0 .5rem;
}

.area-grid[b-h7f5eiznlx] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 6px;
}

/* ---------- Horizontal: start end on the left, lanes running across, ref side on top ---------- */

.deck.horizontal[b-h7f5eiznlx] {
    /* chief timers | timers | lane ITs | water | turn end */
    grid-template-columns: var(--ct-col) 150px 150px minmax(220px, 1fr) 160px;
    grid-template-rows: auto auto repeat(var(--lanes), minmax(46px, auto)) auto auto;
    min-width: 860px;
}

.deck-head[b-h7f5eiznlx] {
    align-self: end;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 700;
    color: var(--muted);
    padding: 0 2px 2px;
    line-height: 1.25;
}

.deck.horizontal .lane-cell[b-h7f5eiznlx] { justify-content: center; }

.deck.horizontal .deck-cell.ct[b-h7f5eiznlx] { justify-content: center; }

/* Stroke judges along the long sides of the pool. */
.deck-cell.hside[b-h7f5eiznlx] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 2px 0;
}

.deck-cell.hside[b-h7f5eiznlx]  .chip { width: 168px; }

.water.horizontal[b-h7f5eiznlx] {
    grid-template-columns: none;
    grid-template-rows: repeat(var(--lanes), 1fr);
    min-height: 0;
    background: linear-gradient(90deg, var(--water-deep), var(--water) 12%, var(--water) 88%, var(--water-deep));
}

.water.horizontal .lane[b-h7f5eiznlx] {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

/* Lane ropes run across, between lanes. */
.water.horizontal .lane + .lane[b-h7f5eiznlx]::before {
    left: 0;
    right: 0;
    top: -2px;
    bottom: auto;
    width: auto;
    height: 4px;
    background: repeating-linear-gradient(90deg, var(--rope) 0 6px, var(--rope-dot) 6px 12px);
}

/* Black line along the lane. */
.water.horizontal .lane[b-h7f5eiznlx]::after {
    top: 50%;
    bottom: auto;
    left: 10%;
    right: 10%;
    width: auto;
    height: 6px;
    transform: translateY(-50%);
}

/* Backstroke flags near the turn end. */
.water.horizontal .lane-flag[b-h7f5eiznlx] {
    top: 0;
    bottom: 0;
    left: auto;
    right: 22px;
    border-top: none;
    border-left: 1px dashed color-mix(in srgb, var(--ink) 25%, transparent);
}

.water.horizontal .lane-number[b-h7f5eiznlx] {
    font-size: 1.2rem;
    margin: 0 0 0 12px;
}

/* Starting blocks on the left wall. */
.water.horizontal .block[b-h7f5eiznlx] {
    width: 10px;
    height: 56%;
    border-radius: 0 3px 3px 0;
}

.water.horizontal .water-length[b-h7f5eiznlx] {
    top: auto;
    bottom: 4px;
    right: 34px;
    transform: none;
}

/* Chief timers and spares stacked in the middle of the start-end column. */
.deck-cell.ct-stack[b-h7f5eiznlx] { justify-content: center; }

.stack-label[b-h7f5eiznlx] {
    margin-top: 6px;
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 700;
    color: var(--muted);
}

/* Horizontal bottom row: referees and starters at the left (the start-end corner, by the blocks), stroke judges
   centred in whatever width is left under the pool. Wraps on a narrow window rather than overlapping. */
.bottom-row[b-h7f5eiznlx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 1.25rem;
    padding-top: 4px;
}

.hgroup[b-h7f5eiznlx] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.hgroup.opp-group[b-h7f5eiznlx] { margin: 0 auto; }

.hgroup[b-h7f5eiznlx]  .chip { width: 160px; }

/* Horizontal: the warm-up crew above the pool. */
.strip-sub[b-h7f5eiznlx] {
    display: block;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    font-size: .7rem;
}
/* /Components/Roster/SlotChip.razor.rz.scp.css */
.chip[b-41e3eq5kfu] {

    position: relative;
    display: flex;
    align-items: stretch;
    background: var(--surface-1);
    border: 1px solid var(--line-strong);
    border-left: 4px solid var(--cat, var(--line-strong));
    border-radius: 7px;
    min-width: 0;
    transition: box-shadow .12s ease, transform .12s ease;
}

.chip.open[b-41e3eq5kfu] {
    border-style: dashed;
    border-left-style: dashed;
    background: color-mix(in srgb, var(--surface-1) 70%, transparent);
}

.chip.filled:hover[b-41e3eq5kfu] { box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }
.chip.selected[b-41e3eq5kfu] { box-shadow: 0 0 0 2px var(--accent); }
.chip.eligible.open[b-41e3eq5kfu] { border-color: var(--accent); background: var(--accent-wash); }
.chip.drop-hover[b-41e3eq5kfu] { box-shadow: 0 0 0 2px var(--accent); transform: scale(1.02); }

.chip-btn[b-41e3eq5kfu] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    padding: .3rem .45rem;
    background: none;
    border: 0;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.chip.filled .chip-btn[b-41e3eq5kfu] { cursor: grab; }

.chip-pos[b-41e3eq5kfu] {
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--muted);
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.chip-name[b-41e3eq5kfu] {
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.15;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.chip-open[b-41e3eq5kfu] { color: var(--muted); font-weight: 500; font-style: italic; }

.chip-aff[b-41e3eq5kfu], .chip-note[b-41e3eq5kfu] {
    font-size: .68rem;
    color: var(--ink-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.chip-note[b-41e3eq5kfu] { font-style: italic; color: var(--muted); }

.chip.compact .chip-btn[b-41e3eq5kfu] { flex-direction: row; align-items: baseline; gap: .4rem; }
.chip.compact .chip-aff[b-41e3eq5kfu], .chip.compact .chip-note[b-41e3eq5kfu] { display: none; }

.chip-issue[b-41e3eq5kfu] {
    position: absolute;
    top: -7px;
    right: -6px;
    font-size: .7rem;
    line-height: 1;
    background: var(--surface-1);
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    padding: 2px 3px;
    cursor: help;
}

.chip-issue-error[b-41e3eq5kfu] { border-color: var(--critical); }
.chip-issue-warning[b-41e3eq5kfu] { border-color: var(--warning); }
.chip-issue-info[b-41e3eq5kfu] { opacity: .75; }

.chip-check[b-41e3eq5kfu] {
    flex: none;
    width: 30px;
    border: 0;
    border-left: 1px solid var(--line);
    background: var(--surface-2);
    color: var(--muted);
    border-radius: 0 6px 6px 0;
    font-weight: 700;
    cursor: pointer;
}

.chip-check.on[b-41e3eq5kfu] { background: var(--good); color: #fff; }

.chip-in[b-41e3eq5kfu] {
    position: absolute;
    bottom: 2px;
    right: 4px;
    font-size: .68rem;
    color: var(--good-ink);
    font-weight: 700;
}
/* /Components/Roster/SlotDialog.razor.rz.scp.css */
.dialog-grid[b-4bg7cxqk5o] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 1.25rem;
}

@media (max-width: 760px) {
    .dialog-grid[b-4bg7cxqk5o] { grid-template-columns: 1fr; }
}

.current[b-4bg7cxqk5o] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem;
    align-items: flex-start;
    margin-top: .5rem;
    padding: .75rem;
    background: var(--surface-2);
    border-radius: 8px;
}

.current-name[b-4bg7cxqk5o] {
    font-size: 1.1rem;
    font-weight: 650;
}

.issues[b-4bg7cxqk5o] {
    list-style: none;
    padding: 0;
    margin: .75rem 0 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .86rem;
}

.issues li[b-4bg7cxqk5o] {
    padding: .35rem .55rem;
    border-radius: 6px;
    background: var(--surface-2);
    border-left: 3px solid var(--line-strong);
}

.issues .issue-error[b-4bg7cxqk5o] { border-left-color: var(--critical); }
.issues .issue-warning[b-4bg7cxqk5o] { border-left-color: var(--warning); }

.signup-note[b-4bg7cxqk5o] {
    margin: .6rem 0 0;
    font-size: .86rem;
    color: var(--ink-2);
    font-style: italic;
}

.candidates[b-4bg7cxqk5o] {
    list-style: none;
    padding: 0;
    margin: .6rem 0 0;
    max-height: 52vh;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.candidates li[b-4bg7cxqk5o] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .45rem .6rem;
    border-bottom: 1px solid var(--line);
}

.candidates li:last-child[b-4bg7cxqk5o] { border-bottom: 0; }
.candidates li.ineligible[b-4bg7cxqk5o] { background: var(--surface-2); }
.candidates li.ineligible .cand-name[b-4bg7cxqk5o] { color: var(--ink-2); }

.cand-main[b-4bg7cxqk5o] { flex: 1; min-width: 0; }
.cand-name[b-4bg7cxqk5o] { font-weight: 600; }
.cand-aff[b-4bg7cxqk5o] { font-size: .78rem; color: var(--muted); margin-left: .35rem; }
.cand-reasons[b-4bg7cxqk5o] { font-size: .75rem; color: var(--muted); }

.dialog-grid.read-only[b-4bg7cxqk5o] {
    grid-template-columns: 1fr;
}
/* /Components/Roster/SlotGroups.razor.rz.scp.css */
.groups[b-fhrup9qnvu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .75rem;
}

.group[b-fhrup9qnvu] {
    background: var(--surface-1);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: .6rem .7rem .75rem;
}

.group header[b-fhrup9qnvu] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: .5rem;
}

.group h3[b-fhrup9qnvu] {
    font-size: .85rem;
    margin: 0;
}

.group-grid[b-fhrup9qnvu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 6px;
}
/* /Components/Shared/Meter.razor.rz.scp.css */
.meter[b-eadyvxi611] {
    height: 10px;
    border-radius: 999px;
    background: var(--seq-100);
    overflow: hidden;
    min-width: 60px;
}

.meter-compact[b-eadyvxi611] {
    height: 6px;
}

.meter-fill[b-eadyvxi611] {
    height: 100%;
    background: var(--seq-450);
    border-radius: 999px;
    transition: width .25s ease;
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.page-header[b-yux7nrlhyc] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.page-header h1[b-yux7nrlhyc] {
    margin: .1rem 0 0;
}

.page-sub[b-yux7nrlhyc] {
    margin: .25rem 0 0;
    color: var(--ink-2);
    max-width: 70ch;
}

.page-header-actions[b-yux7nrlhyc] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}
/* /Components/Shared/StatTile.razor.rz.scp.css */
.stat-tile[b-cobicq5h6p] {
    padding: .9rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.stat-label[b-cobicq5h6p] {
    font-size: .82rem;
    color: var(--ink-2);
    font-weight: 550;
}

.stat-value[b-cobicq5h6p] {
    font-size: 1.75rem;
    font-weight: 650;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.stat-detail[b-cobicq5h6p] {
    font-size: .8rem;
    color: var(--muted);
}
