/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-twn6j2ky9t] {
    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-twn6j2ky9t] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-hd5mmqiywa],
.components-reconnect-repeated-attempt-visible[b-hd5mmqiywa],
.components-reconnect-failed-visible[b-hd5mmqiywa],
.components-pause-visible[b-hd5mmqiywa],
.components-resume-failed-visible[b-hd5mmqiywa],
.components-rejoining-animation[b-hd5mmqiywa] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-retrying[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-failed[b-hd5mmqiywa],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-hd5mmqiywa] {
    display: block;
}

/* GLDIQ-192 stopgap: re-skinned from the stock plain-white/browser-blue template styling to match
   the app's own brand (navy/gold, Barlow) - this modal renders on every page (wired up globally in
   App.razor), including pages that don't load goldeniq.css (Login.razor, etc.), so it deliberately
   uses the same literal hex values goldeniq.css's own :root declares rather than var(--giq-*) -
   those custom properties aren't guaranteed to be in scope here. The goal isn't to hide that a
   reconnect happened (that would be actively misleading), just to make it read as "the app is
   quietly recovering" instead of a raw, jarring browser-default error dialog. */
#components-reconnect-modal[b-hd5mmqiywa] {
    /* !important: MudBlazor.min.css ships its own hardcoded rule targeting this exact same
       #components-reconnect-modal id (its own accommodation for the stock Blazor reconnect modal,
       presumably to keep it above MudBlazor's own overlays) - "background-color: var(--mud-palette-background) !important;".
       Since this app's MudThemeProvider was never wired up (see CLAUDE.md), that custom property is
       undefined and resolves to transparent, and !important always wins over specificity regardless
       of how specific this selector is. Caught only by inspecting document.styleSheets directly for
       every rule actually matching this element, not by reading this file's own CSS in isolation. */
    background-color: #0A3161 !important;
    color: #FFFFFF;
    font-family: "Barlow", sans-serif;
    width: 22rem;
    max-width: calc(100vw - 2rem);
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    outline: none;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(10, 49, 97, .35);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-hd5mmqiywa 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-hd5mmqiywa 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-hd5mmqiywa 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-hd5mmqiywa]::backdrop {
    background-color: rgba(10, 49, 97, 0.45);
    animation: components-reconnect-modal-fadeInOpacity-b-hd5mmqiywa 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-hd5mmqiywa {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-hd5mmqiywa {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-hd5mmqiywa {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-hd5mmqiywa] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-hd5mmqiywa] {
    margin: 0;
    text-align: center;
    font-size: 15px;
    line-height: 1.5;
}

#components-reconnect-modal button[b-hd5mmqiywa] {
    border: 0;
    background-color: #F5B921;
    color: #0A3161;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    padding: 8px 28px;
    border-radius: 6px;
    cursor: pointer;
}

    #components-reconnect-modal button:hover[b-hd5mmqiywa] {
        background-color: #FFC940;
    }

    #components-reconnect-modal button:active[b-hd5mmqiywa] {
        background-color: #E0A812;
    }

.components-rejoining-animation[b-hd5mmqiywa] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-hd5mmqiywa] {
        position: absolute;
        border: 3px solid #F5B921;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-hd5mmqiywa 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-hd5mmqiywa] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-hd5mmqiywa {
    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/Pages/AccountSettings.razor.rz.scp.css */
/* Account settings - scoped. Shared classes (giq-*) live in wwwroot/css/goldeniq.css. Trimmed from
   the design folder's original AccountSettings.razor.css: dropped rules for sections that aren't
   backed by anything real (notifications, danger zone, photo-upload buttons) - see AccountSettings.razor. */

.as-main[b-p8tnx6p348] {
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.as-grid[b-p8tnx6p348] {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 22px;
    align-items: start;
}

/* ---- section nav ---- */
.as-sectionnav[b-p8tnx6p348] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    position: sticky;
    top: calc(var(--giq-header-h, 64px) + 24px);
}

.as-navitem[b-p8tnx6p348] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-align: left;
    cursor: pointer;
    border: none;
    border-radius: 8px;
    padding: 12px 14px;
    background: transparent;
    color: #4a463d;
}

.as-navitem:hover[b-p8tnx6p348] { background: #f6f2e8; }
.as-navitem.on[b-p8tnx6p348],
.as-navitem.on:hover[b-p8tnx6p348] { background: #0a3161; color: #F5B921; }

/* ---- cards ---- */
.as-panels[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.as-card[b-p8tnx6p348] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.as-cardhead[b-p8tnx6p348] {
    padding: 22px 24px 18px;
    border-bottom: 1px solid #f0e7cf;
}

.as-cardhead-split[b-p8tnx6p348] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.as-cardtitle[b-p8tnx6p348] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: #0a3161;
    line-height: 1;
}

.as-cardbody[b-p8tnx6p348] { padding: 24px; }

.as-stack[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.as-pw[b-p8tnx6p348] { max-width: 460px; }
.as-field-narrow[b-p8tnx6p348] { max-width: 320px; }
.as-self-start[b-p8tnx6p348] { align-self: flex-start; }

.as-cols-2[b-p8tnx6p348] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.as-btnrow[b-p8tnx6p348] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.as-actions[b-p8tnx6p348] { padding-top: 4px; }

/* ---- photo ---- */
.as-photo[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.as-photocopy[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.as-avatar[b-p8tnx6p348] {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #0a3161;
    color: #F5B921;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 34px;
    flex-shrink: 0;
}

.as-avatar-img[b-p8tnx6p348] {
    object-fit: cover;
}

.as-note[b-p8tnx6p348] {
    font-size: 15px;
    line-height: 1.5;
    color: #4a463d;
    max-width: 420px;
    text-wrap: pretty;
}

.as-hint[b-p8tnx6p348] { font-size: 14px; color: #8a8272; }

/* ---- avatar cropper ---- */
.as-cropper[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.as-cropcanvas[b-p8tnx6p348] {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 2px solid #e2dac6;
    cursor: grab;
    touch-action: none;
    flex-shrink: 0;
}

.as-cropcanvas:active[b-p8tnx6p348] { cursor: grabbing; }

.as-cropcontrols[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 220px;
}

.as-zoom[b-p8tnx6p348] {
    width: 100%;
    accent-color: #F5B921;
}

/* ---- handedness chips ---- */
.as-handedness[b-p8tnx6p348] { max-width: 520px; }

.as-handgroup[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.as-chip[b-p8tnx6p348] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    border-radius: 20px;
    padding: 9px 18px;
    border: 2px solid #e2dac6;
    background: transparent;
    color: #4a463d;
}

.as-chip:hover[b-p8tnx6p348] { border-color: #0a3161; }
.as-chip.on[b-p8tnx6p348],
.as-chip.on:hover[b-p8tnx6p348] { border-color: #0a3161; background: #0a3161; color: #F5B921; }

/* ---- coach-owned positions (read only) ---- */
.as-readonly[b-p8tnx6p348] {
    background: #F6F2E8;
    border: 1px dashed #d9cba4;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.as-poschips[b-p8tnx6p348] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.as-poschip[b-p8tnx6p348] {
    border-radius: 5px;
    font-weight: 600;
    font-size: 13px;
    padding: 5px 9px;
    background: #fffdf7;
    border: 1px solid #e2dac6;
    color: #4a463d;
}

.as-poschip.primary[b-p8tnx6p348] { background: var(--giq-blue); border-color: var(--giq-blue); color: var(--giq-gold); }

/* ---- rows ---- */
.as-rows[b-p8tnx6p348] {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
}

.as-rows > * + *[b-p8tnx6p348] { border-top: 1px solid #f5eeda; }

.as-row[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
}

.as-row-divided[b-p8tnx6p348] {
    padding: 15px 24px;
    border-top: 1px solid #f5eeda;
}

.as-rowmain[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    gap: 13px;
}

.as-rowtext[b-p8tnx6p348] {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.as-rowtitle[b-p8tnx6p348] { font-weight: 600; font-size: 16px; color: #101014; }

.as-mark[b-p8tnx6p348] {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    background: #0a3161;
    color: #F5B921;
    text-transform: uppercase;
}

.as-badge[b-p8tnx6p348] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    border-radius: 4px;
    padding: 5px 9px;
    flex-shrink: 0;
}

.as-badge.gold[b-p8tnx6p348] { background: #F5B921; color: #0a3161; }
.as-badge.navy[b-p8tnx6p348] { background: #0a3161; color: #F5B921; }

/* ---- email + password ---- */
.as-emailrow[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.as-email[b-p8tnx6p348] { font-size: 17px; font-weight: 600; color: #101014; }

.as-meter[b-p8tnx6p348] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 3px;
}

.as-metertrack[b-p8tnx6p348] {
    flex: 1;
    height: 5px;
    border-radius: 3px;
    background: #f0e7cf;
}

.as-meterfill[b-p8tnx6p348] {
    height: 5px;
    border-radius: 3px;
    transition: width .18s ease, background .18s ease;
}

.as-meterlabel[b-p8tnx6p348] {
    font-weight: 600;
    font-size: 13px;
    min-width: 66px;
    text-align: right;
}

/* ---- account facts ---- */
.as-factrow[b-p8tnx6p348] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
}

.as-factlabel[b-p8tnx6p348] { font-size: 15px; color: #6b665a; }
.as-factvalue[b-p8tnx6p348] { font-size: 15px; font-weight: 600; color: #101014; text-align: right; }

/* ---- sessions (sign-in and security) ---- */
.as-danger-link[b-p8tnx6p348] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #b3452f;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.as-danger-link:hover[b-p8tnx6p348] { text-decoration: underline; }

.as-danger-btn[b-p8tnx6p348] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #b3452f;
    background: transparent;
    border: 2px solid #e8cfc7;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
    white-space: nowrap;
}

.as-danger-btn:hover[b-p8tnx6p348] { border-color: #b3452f; }

@media (max-width: 900px) {
    .as-grid[b-p8tnx6p348] { grid-template-columns: 1fr; }
    .as-sectionnav[b-p8tnx6p348] { position: static; flex-direction: row; flex-wrap: wrap; }
    .as-cols-2[b-p8tnx6p348] { grid-template-columns: 1fr; }
}
/* /Components/Pages/AdminCoaches.razor.rz.scp.css */
/* All-coaches admin page. Builds on the shared wwwroot/css/goldeniq.css chrome - this file only holds
   what's specific to this page. Row/table classes are named ac-* (not giq-othead/giq-otrow) since this
   table's column shape differs from AdminDashboard's organizations table and CSS isolation means the
   names wouldn't collide with that page's own rules anyway - kept distinct for clarity in this file. */

.ac-crumbs[b-6nqqz3ih5n] { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--giq-ink-4); margin-bottom: 6px; }
.ac-crumbs a[b-6nqqz3ih5n] { color: var(--giq-blue); text-decoration: none; font-weight: 600; }
.ac-crumbs a:hover[b-6nqqz3ih5n] { text-decoration: underline; }
.ac-sep[b-6nqqz3ih5n] { color: var(--giq-line); }


/* ---------- not-enabled top-nav treatment (mirrors AdminDashboard.razor.css's own copy) ----------
   Missing entirely here (same page-scoped-CSS gotcha as .giq-orghead/.giq-tablefoot above) - without
   it the top nav's "Teams SOON"/"People SOON"/etc. items ran the label and the SOON/OFF tag together
   with no spacing or muted color, reading as one unstyled word instead of a label + a badge. */
/* .giq-orghead/.giq-tablefoot are reused-by-name from AdminDashboard.razor's own organizations table,
   but Blazor CSS isolation is per-component - without a copy of these rules here they rendered with
   zero padding (a plain block, not even the flex layout), same duplication AdminDashboard/TeamManagement
   already each accept for their own page-specific grids. Padding is deliberately more generous than
   AdminDashboard's own copy (20px 22px 16px / 16px 22px) per Seth's request for extra breathing room
   on this page's header and footer specifically. */
.giq-orghead[b-6nqqz3ih5n] {
    padding: 28px 26px 22px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.giq-tablefoot[b-6nqqz3ih5n] {
    padding: 22px 26px; display: flex; align-items: center; justify-content: space-between;
    gap: 16px; border-top: 1px solid var(--giq-line-soft);
}

.ac-thead[b-6nqqz3ih5n], .ac-row[b-6nqqz3ih5n] {
    display: grid;
    grid-template-columns: 2fr 1.8fr 1.1fr 2.2fr 1.6fr;
    align-items: center;
    gap: 12px;
}
.ac-originfilter[b-6nqqz3ih5n] { padding: 14px 22px; border-top: 1px solid var(--giq-line-soft); }
.ac-thead[b-6nqqz3ih5n] {
    padding: 12px 22px; background: var(--giq-bone);
    font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--giq-gold-ink);
}
.ac-row[b-6nqqz3ih5n] { padding: 14px 22px; border-top: 1px solid var(--giq-line-soft); background: #FFFFFF; }
.ac-row.alt[b-6nqqz3ih5n] { background: var(--giq-card); }

.ac-cell[b-6nqqz3ih5n] { font-size: 14px; color: var(--giq-ink-2); }

.ac-teams[b-6nqqz3ih5n] { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-noteam[b-6nqqz3ih5n] { font-size: 13px; color: #B0A891; font-style: italic; }

.ac-teamchip[b-6nqqz3ih5n] {
    display: inline-flex; flex-direction: column; line-height: 1.25;
    padding: 5px 10px; border-radius: 8px;
    background: var(--giq-bone); border: 1px solid var(--giq-line);
    text-decoration: none;
}
.ac-teamchip:hover[b-6nqqz3ih5n] { border-color: var(--giq-blue); background: var(--giq-card); }
.ac-teamchip .org[b-6nqqz3ih5n] { font-weight: 600; font-size: 12px; color: var(--giq-blue); }
.ac-teamchip .team[b-6nqqz3ih5n] { font-size: 11px; color: var(--giq-ink-4); }

.ac-empty[b-6nqqz3ih5n] { padding: 24px 22px; font-size: 15px; color: var(--giq-ink-4); }

@media (max-width: 1100px) {
    .ac-thead[b-6nqqz3ih5n] { display: none; }
    .ac-row[b-6nqqz3ih5n] { grid-template-columns: 1fr; row-gap: 8px; }
}

/* Which client the coach signed up through (Coach.Origin). GoldenIQ = solid navy, GoldenSM = outlined,
   so the two read as distinct at a glance without depending on GoldenSM's brand colors. */
.ac-origin[b-6nqqz3ih5n] {
    font-size: 10px; font-weight: 700; letter-spacing: .12em; padding: 3px 8px; border-radius: 4px;
    background: var(--giq-blue); color: var(--giq-gold); white-space: nowrap;
}
.ac-origin.gsm[b-6nqqz3ih5n] { background: transparent; color: var(--giq-blue); border: 1px solid var(--giq-blue); }

/* ---------- suspend/delete status + actions (GLDIQ-142) ----------
   .giq-pstatus is reused-by-name from Organization.razor's player status badge - CSS isolation means
   it needs its own copy here too, same duplication already accepted across this page family. */
.giq-pstatus[b-6nqqz3ih5n] {
    justify-self: start; font-weight: 600; font-size: 11px; letter-spacing: .1em;
    border-radius: 4px; padding: 3px 8px; background: var(--giq-gold); color: var(--giq-blue);
}
.giq-pstatus.suspended[b-6nqqz3ih5n] { background: #B3452F; color: #FFFFFF; }

.ac-deletewarn[b-6nqqz3ih5n] { padding: 12px 22px; background: #FBEAE6; border-top: 1px solid #F0C9C0; color: #8A2A18; font-size: 14px; line-height: 1.45; }
.ac-actions[b-6nqqz3ih5n] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
/* /Components/Pages/AdminDashboard.razor.rz.scp.css */
/* System admin overview: org table, stat widgets, and the disabled-billing treatment.
   Builds on the shared wwwroot/css/goldeniq.css chrome - this file only holds what's specific
   to this page. */

/* ---------- master admin designator ---------- */
/* Previously inverted (gold bg / navy text) to read as "a step up" from the plain role badge, but
   against this page's own gold header bar an all-gold pill nearly disappears - confirmed by Seth,
   should just match SYSTEM ADMIN's navy-bg/gold-text formatting instead (no CSS override needed -
   it already inherits that from the shared .giq-rolebadge rule in goldeniq.css). */


/* ---------- disabled / not-enabled treatment ---------- */
.giq-offtag.block[b-ohpbgmyx2k] {
    align-self: flex-start; font-size: 10px; letter-spacing: .14em;
    background: #ECE5D5; color: #8A8272; padding: 4px 7px;
}

.giq-tile.off[b-ohpbgmyx2k] { background: #F3EFE3; border: 1px dashed #D9CBA4; }
.giq-tile.off .giq-tile-label[b-ohpbgmyx2k] { color: #A09884; }
.giq-tile.off .giq-tile-num[b-ohpbgmyx2k] { color: #B8B0A0; }

.giq-offblock[b-ohpbgmyx2k] {
    margin-top: 8px; padding-top: 12px; border-top: 1px dashed #D9CBA4;
    display: flex; flex-direction: column; gap: 6px;
    font-size: 13px; line-height: 1.45; color: #8A8272; text-wrap: pretty;
}

.giq-orglink[b-ohpbgmyx2k] { text-decoration: none; cursor: pointer; }
.giq-orglink:hover[b-ohpbgmyx2k] { color: var(--giq-blue-hover); text-decoration: underline; }

/* ---------- organizations table ---------- */
.giq-orghead[b-ohpbgmyx2k] {
    padding: 20px 22px 16px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}

.giq-othead[b-ohpbgmyx2k], .giq-otrow[b-ohpbgmyx2k] {
    display: grid;
    grid-template-columns: 2.2fr 1fr .9fr 1.1fr 1.3fr 40px;
    align-items: center;
}
.giq-othead[b-ohpbgmyx2k] {
    padding: 12px 22px; background: var(--giq-bone);
    font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--giq-gold-ink);
}
.giq-othead span.off[b-ohpbgmyx2k] { color: #B0A891; }
.giq-otrow[b-ohpbgmyx2k] { padding: 14px 22px; border-top: 1px solid var(--giq-line-soft); background: #FFFFFF; }
.giq-otrow.alt[b-ohpbgmyx2k] { background: var(--giq-card); }

.giq-orgmark[b-ohpbgmyx2k] {
    width: 38px; height: 38px; border-radius: 9px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 15px;
    background: var(--giq-blue); color: var(--giq-gold);
}

.giq-planpill[b-ohpbgmyx2k] {
    justify-self: start; font-weight: 600; font-size: 12px; letter-spacing: .06em;
    border-radius: 4px; padding: 4px 9px;
    background: var(--giq-bone); color: var(--giq-ink-2); border: 1px solid var(--giq-line);
}
.giq-planpill.off[b-ohpbgmyx2k] {
    font-weight: 700; padding: 4px 12px;
    background: #F3EFE3; color: #B0A891; border: 1px dashed #D9CBA4;
}

.giq-orgstatus[b-ohpbgmyx2k] {
    justify-self: start; font-weight: 600; font-size: 11px; letter-spacing: .1em;
    border-radius: 4px; padding: 5px 9px;
}
.giq-orgstatus.active[b-ohpbgmyx2k] { background: var(--giq-gold); color: var(--giq-blue); }
.giq-orgstatus.dormant[b-ohpbgmyx2k] { background: #ECE5D5; color: var(--giq-gold-ink); border: 1px solid #D9CBA4; }

/* ---------- stat widgets ---------- */
.giq-navyhead[b-ohpbgmyx2k] {
    padding: 22px 22px 16px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
}
.giq-statrow[b-ohpbgmyx2k] {
    display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
    padding: 13px 22px; border-top: 1px solid var(--giq-line-soft);
}
.giq-statrow.dark[b-ohpbgmyx2k] { border-top-color: var(--giq-blue-line); }

/* .giq-statrow is a plain div everywhere else on this page (Assistant Coaches active/inactive,
   Players widget) - Coaches is the one row linking through to AdminCoaches.razor, so only this
   modifier resets the <a> defaults and adds a hover affordance without touching the shared rule. */
.giq-statrow-link[b-ohpbgmyx2k] { text-decoration: none; cursor: pointer; }
.giq-statrow-link:hover .giq-lb-name[b-ohpbgmyx2k] { color: var(--giq-gold); }
.giq-statrow-link:hover .giq-statnum[b-ohpbgmyx2k] { color: var(--giq-gold-hover); }

.giq-statnum[b-ohpbgmyx2k] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 24px;
    color: var(--giq-blue-pale);
}
.giq-statnum.gold[b-ohpbgmyx2k] { color: var(--giq-gold); }
.giq-statnum.warn[b-ohpbgmyx2k] { color: #E0A713; }
.giq-statnum.light[b-ohpbgmyx2k] { color: var(--giq-ink-2); }
.giq-statnum.light.gold[b-ohpbgmyx2k] { color: var(--giq-blue); }
.giq-statnum.light.warn[b-ohpbgmyx2k] { color: var(--giq-gold-ink); }

.giq-rowmenu[b-ohpbgmyx2k] {
    font-family: Barlow, sans-serif; font-weight: 700; font-size: 18px; color: var(--giq-ink-4);
    background: transparent; border: none; cursor: pointer; line-height: 1;
}
.giq-rowmenu:hover[b-ohpbgmyx2k] { color: var(--giq-blue); }

.giq-tablefoot[b-ohpbgmyx2k] {
    padding: 16px 22px; display: flex; align-items: center; justify-content: space-between;
    gap: 16px; border-top: 1px solid #F0E7CF;
}

@media (max-width: 1100px) {
    .giq-othead[b-ohpbgmyx2k] { display: none; }
    .giq-otrow[b-ohpbgmyx2k] { grid-template-columns: 1fr auto; row-gap: 10px; }
}
/* /Components/Pages/AdminInvite.razor.rz.scp.css */
/* System admin invite acceptance — same split shell as Login/SignUpCoach/PlayerInvite, trimmed of
   the team/roster/chip-picker rules PlayerInvite.razor.css has that don't apply here (no positions,
   no bats/throws, no minor/guardian toggle, no roster-count stat). */

.giq-invitepage[b-ubdnryhs2t] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    font-family: Barlow, Helvetica, sans-serif;
    color: #101014;
    background: #F5B921;
}

/* ---- left: invite context ---- */
.giq-brand[b-ubdnryhs2t] {
    padding: 56px 64px;
    display: flex; flex-direction: column; justify-content: space-between; gap: 44px;
}
.giq-lockup[b-ubdnryhs2t] { display: flex; align-items: center; gap: 18px; }
.giq-wordmark[b-ubdnryhs2t] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-ubdnryhs2t] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 44px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-ubdnryhs2t] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-ubdnryhs2t] { font-weight: 600; font-size: 11px; letter-spacing: .28em; color: #0A3161; margin-top: 11px; }

.giq-pitch[b-ubdnryhs2t] { display: flex; flex-direction: column; gap: 26px; max-width: 520px; }
.giq-pitch h1[b-ubdnryhs2t] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 66px; line-height: .94; letter-spacing: -.02em; color: #0A3161; text-wrap: balance;
}

.giq-invitebadge[b-ubdnryhs2t] {
    display: inline-flex; align-self: flex-start; align-items: center; gap: 9px;
    background: #0A3161; border-radius: 20px; padding: 8px 16px;
    font-weight: 600; font-size: 13px; letter-spacing: .14em; color: #F5B921;
}
.giq-invitebadge i[b-ubdnryhs2t] { width: 8px; height: 8px; border-radius: 50%; background: #F5B921; }

.giq-coachcard[b-ubdnryhs2t] {
    background: #FFFDF7; border-radius: 12px; padding: 22px;
    display: flex; flex-direction: column; gap: 18px;
}
.giq-coach[b-ubdnryhs2t] { display: flex; align-items: center; gap: 14px; }
.giq-coach-av[b-ubdnryhs2t] {
    width: 52px; height: 52px; border-radius: 50%; background: #0A3161; color: #F5B921;
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex-shrink: 0;
}
.giq-coach > div[b-ubdnryhs2t] { display: flex; flex-direction: column; line-height: 1.3; }
.giq-coach .n[b-ubdnryhs2t] { font-weight: 700; font-size: 18px; color: #101014; }
.giq-coach .r[b-ubdnryhs2t] { font-size: 14px; color: #6B665A; }
.giq-hr[b-ubdnryhs2t] { height: 1px; background: #F0E7CF; }

.giq-fineprint[b-ubdnryhs2t] { margin: 0; font-size: 15px; line-height: 1.55; color: #4A3C14; text-wrap: pretty; }

.giq-foot[b-ubdnryhs2t] { display: flex; gap: 26px; font-size: 13px; color: #7A5C10; }
.giq-foot a[b-ubdnryhs2t] { color: #0A3161; text-decoration: none; }
.giq-foot a:hover[b-ubdnryhs2t] { color: #7A5C10; text-decoration: underline; }

/* ---- right: accept form ---- */
.giq-form[b-ubdnryhs2t] { background: #0A3161; padding: 48px 64px; display: flex; align-items: center; justify-content: center; }
.giq-card[b-ubdnryhs2t] { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 22px; }
.giq-card header[b-ubdnryhs2t] { display: flex; flex-direction: column; gap: 8px; }
.giq-card h2[b-ubdnryhs2t] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1; color: #F5B921;
}
.giq-card header p[b-ubdnryhs2t] { margin: 0; font-size: 15px; color: #9DB4D2; }

.giq-error[b-ubdnryhs2t] {
    background: rgba(229, 115, 115, .15);
    border: 1px solid #E57373;
    color: #FFB4AB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin: 0;
}

.giq-two[b-ubdnryhs2t] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.giq-field[b-ubdnryhs2t] { display: flex; flex-direction: column; gap: 7px; }
.giq-field.hidden[b-ubdnryhs2t] { display: none; }
.giq-label[b-ubdnryhs2t] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #9DB4D2; }
.giq-hint[b-ubdnryhs2t] { color: #6F8BB0; letter-spacing: 0; font-weight: 400; text-transform: none; }

.giq-input[b-ubdnryhs2t] {
    font-family: Barlow, sans-serif; font-size: 16px; color: #101014;
    background: #F6F2E8; border: 2px solid #F6F2E8; border-radius: 6px;
    padding: 13px 15px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-input:focus[b-ubdnryhs2t] { border-color: #F5B921; }
.giq-input[b-ubdnryhs2t]::placeholder { color: #A8A293; }
.giq-input.locked[b-ubdnryhs2t] { background: #E6E0D0; border-color: #E6E0D0; color: #5D5749; }

.giq-strength[b-ubdnryhs2t] { display: flex; align-items: center; gap: 10px; margin-top: 3px; }
.giq-strength-track[b-ubdnryhs2t] { flex: 1; height: 5px; border-radius: 3px; background: #1D4677; }
.giq-strength-fill[b-ubdnryhs2t] { height: 5px; border-radius: 3px; transition: width .18s ease; }
.giq-strength-label[b-ubdnryhs2t] { font-weight: 600; font-size: 13px; min-width: 66px; text-align: right; }

.giq-terms[b-ubdnryhs2t] { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.5; color: #CFDCEC; cursor: pointer; }
.giq-terms input[b-ubdnryhs2t] { width: 18px; height: 18px; accent-color: #F5B921; cursor: pointer; margin-top: 2px; flex-shrink: 0; }

.giq-primary[b-ubdnryhs2t] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 23px; letter-spacing: .06em;
    color: #0A3161; background: #F5B921; border: none; border-radius: 6px; padding: 16px; width: 100%; cursor: pointer;
    text-align: center; text-decoration: none; display: block; box-sizing: border-box;
}
.giq-primary:hover:not(:disabled)[b-ubdnryhs2t] { background: #FFCA3D; }
.giq-primary:disabled[b-ubdnryhs2t] { opacity: .5; cursor: default; }

.giq-decline[b-ubdnryhs2t] { margin: 0; font-size: 14px; color: #6F8BB0; text-align: center; }
.giq-declinebtn[b-ubdnryhs2t] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px; color: #9DB4D2;
    background: transparent; border: none; cursor: pointer; padding: 0;
}
.giq-declinebtn:hover[b-ubdnryhs2t] { color: #F5B921; text-decoration: underline; }

/* ---- loading skeleton (Shared/Skel.razor) - copied from goldeniq.css's own .giq-skel rule since this
   page deliberately doesn't link goldeniq.css globally (same reasoning as every other invite/login page
   in this app: goldeniq.css's own global rules aren't scoped to this page's design and would leak in) ---- */
@keyframes giq-shimmer-b-ubdnryhs2t {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.giq-skel[b-ubdnryhs2t] {
    display: inline-block;
    border-radius: 4px;
    background: linear-gradient(90deg, #E2DAC6 25%, #F0E7CF 37%, #E2DAC6 63%);
    background-size: 400% 100%;
    animation: giq-shimmer-b-ubdnryhs2t 1.4s ease infinite;
    vertical-align: middle;
}
.giq-skel.circle[b-ubdnryhs2t] { border-radius: 50%; }

/* ---- error / declined state ---- */
.giq-invitepage-error[b-ubdnryhs2t] { display: flex; align-items: center; justify-content: center; padding: 32px; }
.giq-errorcard[b-ubdnryhs2t] {
    background: #FFFDF7; border-radius: 14px; padding: 40px; max-width: 480px;
    display: flex; flex-direction: column; gap: 18px; text-align: center; align-items: center;
}
.giq-errorcard h1[b-ubdnryhs2t] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 36px; color: #0A3161;
}
.giq-errorcard p[b-ubdnryhs2t] { margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; }
.giq-errorlink[b-ubdnryhs2t] { max-width: 280px; }

@media (max-width: 900px) {
    .giq-invitepage[b-ubdnryhs2t] { grid-template-columns: 1fr; }
    .giq-brand[b-ubdnryhs2t] { padding: 40px 28px; gap: 32px; }
    .giq-pitch h1[b-ubdnryhs2t] { font-size: 46px; }
    .giq-form[b-ubdnryhs2t] { padding: 40px 28px; }
    .giq-two[b-ubdnryhs2t] { grid-template-columns: 1fr; }
}
/* /Components/Pages/AdminSystemAdmins.razor.rz.scp.css */
/* System Administrators admin page (GLDIQ-142). Builds on the shared wwwroot/css/goldeniq.css chrome -
   this file only holds what's specific to this page. Most of these rules are reused-by-name copies from
   AdminCoaches.razor.css's own copy (CSS isolation is per-component, so this page needs its own
   definitions too) - same duplication already accepted across this page family. */

.ac-crumbs[b-1li3pivyl4] { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--giq-ink-4); margin-bottom: 6px; }
.ac-crumbs a[b-1li3pivyl4] { color: var(--giq-blue); text-decoration: none; font-weight: 600; }
.ac-crumbs a:hover[b-1li3pivyl4] { text-decoration: underline; }
.ac-sep[b-1li3pivyl4] { color: var(--giq-line); }

/* ---------- not-enabled top-nav treatment ---------- */
.giq-orghead[b-1li3pivyl4] {
    padding: 28px 26px 22px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.giq-tablefoot[b-1li3pivyl4] {
    padding: 22px 26px; display: flex; align-items: center; justify-content: space-between;
    gap: 16px; border-top: 1px solid var(--giq-line-soft);
}

.ac-thead[b-1li3pivyl4], .ac-row[b-1li3pivyl4] {
    display: grid;
    grid-template-columns: 2fr 1.8fr 1.1fr 1fr 1.6fr;
    align-items: center;
    gap: 12px;
}
.ac-thead[b-1li3pivyl4] {
    padding: 12px 22px; background: var(--giq-bone);
    font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--giq-gold-ink);
}
.ac-row[b-1li3pivyl4] { padding: 14px 22px; border-top: 1px solid var(--giq-line-soft); background: #FFFFFF; }
.ac-row.alt[b-1li3pivyl4] { background: var(--giq-card); }

.ac-cell[b-1li3pivyl4] { font-size: 14px; color: var(--giq-ink-2); }

.ac-empty[b-1li3pivyl4] { padding: 24px 22px; font-size: 15px; color: var(--giq-ink-4); }

.giq-pstatus[b-1li3pivyl4] {
    justify-self: start; font-weight: 600; font-size: 11px; letter-spacing: .1em;
    border-radius: 4px; padding: 3px 8px; background: var(--giq-gold); color: var(--giq-blue);
}
.giq-pstatus.suspended[b-1li3pivyl4] { background: #B3452F; color: #FFFFFF; }

.ac-actions[b-1li3pivyl4] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }

@media (max-width: 1100px) {
    .ac-thead[b-1li3pivyl4] { display: none; }
    .ac-row[b-1li3pivyl4] { grid-template-columns: 1fr; row-gap: 8px; }
}
/* /Components/Pages/AssistantCoachAccess.razor.rz.scp.css */
/* AssistantCoach invite panel + permission editor - adapted verbatim from the design folder's
   blazor/Pages/AssistantCoachAccess.razor.css (none of these classes exist in the shared goldeniq.css). */

.giq-invite[b-go7s6uad3w] {
    background: var(--giq-blue); border-radius: 12px; padding: 26px;
    display: flex; flex-direction: column; gap: 20px;
}

.giq-preset[b-go7s6uad3w] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left;
    cursor: pointer; font-family: Barlow, sans-serif; border-radius: 8px; padding: 12px 16px;
    border: 2px solid var(--giq-blue-border); background: transparent; color: var(--giq-blue-pale);
}
.giq-preset.on[b-go7s6uad3w] { border-color: var(--giq-gold); background: var(--giq-gold); color: var(--giq-blue); }
.giq-preset .n[b-go7s6uad3w] { font-weight: 700; font-size: 15px; }
.giq-preset .s[b-go7s6uad3w] { font-size: 13px; opacity: .8; }

.giq-access[b-go7s6uad3w] { display: grid; grid-template-columns: 340px 1fr; gap: 22px; align-items: start; }

.giq-mrow[b-go7s6uad3w] {
    display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center;
    width: 100%; text-align: left; font-family: Barlow, sans-serif; cursor: pointer;
    border: none; border-top: 1px solid var(--giq-line-soft); padding: 13px 20px;
    background: transparent; color: var(--giq-ink);
}
.giq-mrow:hover[b-go7s6uad3w] { background: #FFFBEF; }
.giq-mrow.on[b-go7s6uad3w] { background: #FDF4DD; }
.giq-mrow .giq-avatar[b-go7s6uad3w] {
    width: 38px; height: 38px; border-radius: 50%; background: var(--giq-blue); color: var(--giq-gold);
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px;
}
.giq-mrow .giq-avatar.muted[b-go7s6uad3w] { background: #E6E0D0; color: var(--giq-ink-4); }
.giq-mrow .who[b-go7s6uad3w] { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.giq-mrow .who .n[b-go7s6uad3w] { font-weight: 600; font-size: 16px; }
.giq-mrow .who .e[b-go7s6uad3w] {
    font-size: 13px; color: var(--giq-ink-4);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px;
}

.giq-access-head[b-go7s6uad3w] {
    padding: 24px; display: flex; align-items: center; justify-content: space-between;
    gap: 20px; flex-wrap: wrap; border-bottom: 1px solid #F0E7CF;
}
.giq-access-head .giq-avatar.lg[b-go7s6uad3w] {
    width: 56px; height: 56px; border-radius: 50%; background: var(--giq-blue); color: var(--giq-gold);
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px;
}

.giq-presetbar[b-go7s6uad3w] {
    padding: 18px 24px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: var(--giq-bone); border-bottom: 1px solid #F0E7CF;
}

.giq-modhead[b-go7s6uad3w] {
    display: flex; align-items: flex-start; gap: 16px; justify-content: space-between;
    padding: 20px 24px; background: #FDFBF3;
}
.giq-modhead.on[b-go7s6uad3w] { background: var(--giq-card); }

.giq-tablefoot[b-go7s6uad3w] {
    padding: 20px 24px; display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap;
}

@media (max-width: 1100px) {
    .giq-access[b-go7s6uad3w] { grid-template-columns: 1fr; }
}
/* /Components/Pages/AssistantCoachDashboard.razor.rz.scp.css */
/* AssistantCoach dashboard - reuses goldeniq.css's .giq-person/.giq-avatar/.giq-tile/.giq-card classes for
   everything else (same convention TeamManagement.razor.css documents); this file only adds the one
   thing that shared stylesheet doesn't already define - spacing between stacked roster rows. */

.giq-rosterlist[b-uvrv1maouw] { display: flex; flex-direction: column; gap: 14px; }

/* /Components/Pages/AssistantCoachInviteAccept.razor.rz.scp.css */
/* AssistantCoach invite acceptance - same split shell as AdminInvite.razor.css, plus a small "you'll have
   access to" module-chip block AdminInvite has no need for. */

.giq-invitepage[b-ja3euk5fs5] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    font-family: Barlow, Helvetica, sans-serif;
    color: #101014;
    background: #F5B921;
}

/* ---- left: invite context ---- */
.giq-brand[b-ja3euk5fs5] {
    padding: 56px 64px;
    display: flex; flex-direction: column; justify-content: space-between; gap: 44px;
}
.giq-lockup[b-ja3euk5fs5] { display: flex; align-items: center; gap: 18px; }
.giq-wordmark[b-ja3euk5fs5] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-ja3euk5fs5] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 44px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-ja3euk5fs5] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-ja3euk5fs5] { font-weight: 600; font-size: 11px; letter-spacing: .28em; color: #0A3161; margin-top: 11px; }

.giq-pitch[b-ja3euk5fs5] { display: flex; flex-direction: column; gap: 26px; max-width: 520px; }
.giq-pitch h1[b-ja3euk5fs5] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 60px; line-height: .96; letter-spacing: -.02em; color: #0A3161; text-wrap: balance;
}

.giq-invitebadge[b-ja3euk5fs5] {
    display: inline-flex; align-self: flex-start; align-items: center; gap: 9px;
    background: #0A3161; border-radius: 20px; padding: 8px 16px;
    font-weight: 600; font-size: 13px; letter-spacing: .14em; color: #F5B921;
}
.giq-invitebadge i[b-ja3euk5fs5] { width: 8px; height: 8px; border-radius: 50%; background: #F5B921; }

.giq-coachcard[b-ja3euk5fs5] {
    background: #FFFDF7; border-radius: 12px; padding: 22px;
    display: flex; flex-direction: column; gap: 18px;
}
.giq-coach[b-ja3euk5fs5] { display: flex; align-items: center; gap: 14px; }
.giq-coach-av[b-ja3euk5fs5] {
    width: 52px; height: 52px; border-radius: 50%; background: #0A3161; color: #F5B921;
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex-shrink: 0;
}
.giq-coach > div[b-ja3euk5fs5] { display: flex; flex-direction: column; line-height: 1.3; }
.giq-coach .n[b-ja3euk5fs5] { font-weight: 700; font-size: 18px; color: #101014; }
.giq-coach .r[b-ja3euk5fs5] { font-size: 14px; color: #6B665A; }
.giq-hr[b-ja3euk5fs5] { height: 1px; background: #F0E7CF; }

.giq-grants[b-ja3euk5fs5] { display: flex; flex-direction: column; gap: 10px; }
.giq-grantslabel[b-ja3euk5fs5] { font-weight: 600; font-size: 12px; letter-spacing: .14em; color: #8A6D1F; }
.giq-grantschips[b-ja3euk5fs5] { display: flex; flex-wrap: wrap; gap: 8px; }
.giq-grantschip[b-ja3euk5fs5] {
    font-weight: 600; font-size: 13px; color: #0A3161; background: #F6F2E8;
    border: 1px solid #E2DAC6; border-radius: 16px; padding: 6px 12px;
}

.giq-fineprint[b-ja3euk5fs5] { margin: 0; font-size: 15px; line-height: 1.55; color: #4A3C14; text-wrap: pretty; }

.giq-foot[b-ja3euk5fs5] { display: flex; gap: 26px; font-size: 13px; color: #7A5C10; }
.giq-foot a[b-ja3euk5fs5] { color: #0A3161; text-decoration: none; }
.giq-foot a:hover[b-ja3euk5fs5] { color: #7A5C10; text-decoration: underline; }

/* ---- right: accept form ---- */
.giq-form[b-ja3euk5fs5] { background: #0A3161; padding: 48px 64px; display: flex; align-items: center; justify-content: center; }
.giq-card[b-ja3euk5fs5] { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 22px; }
.giq-card header[b-ja3euk5fs5] { display: flex; flex-direction: column; gap: 8px; }
.giq-card h2[b-ja3euk5fs5] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1; color: #F5B921;
}
.giq-card header p[b-ja3euk5fs5] { margin: 0; font-size: 15px; color: #9DB4D2; }

.giq-error[b-ja3euk5fs5] {
    background: rgba(229, 115, 115, .15);
    border: 1px solid #E57373;
    color: #FFB4AB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin: 0;
}

.giq-two[b-ja3euk5fs5] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.giq-field[b-ja3euk5fs5] { display: flex; flex-direction: column; gap: 7px; }
.giq-label[b-ja3euk5fs5] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #9DB4D2; }
.giq-hint[b-ja3euk5fs5] { color: #6F8BB0; letter-spacing: 0; font-weight: 400; text-transform: none; }

.giq-input[b-ja3euk5fs5] {
    font-family: Barlow, sans-serif; font-size: 16px; color: #101014;
    background: #F6F2E8; border: 2px solid #F6F2E8; border-radius: 6px;
    padding: 13px 15px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-input:focus[b-ja3euk5fs5] { border-color: #F5B921; }
.giq-input[b-ja3euk5fs5]::placeholder { color: #A8A293; }
.giq-input.locked[b-ja3euk5fs5] { background: #E6E0D0; border-color: #E6E0D0; color: #5D5749; }

.giq-strength[b-ja3euk5fs5] { display: flex; align-items: center; gap: 10px; margin-top: 3px; }
.giq-strength-track[b-ja3euk5fs5] { flex: 1; height: 5px; border-radius: 3px; background: #1D4677; }
.giq-strength-fill[b-ja3euk5fs5] { height: 5px; border-radius: 3px; transition: width .18s ease; }
.giq-strength-label[b-ja3euk5fs5] { font-weight: 600; font-size: 13px; min-width: 66px; text-align: right; }

.giq-terms[b-ja3euk5fs5] { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.5; color: #CFDCEC; cursor: pointer; }
.giq-terms input[b-ja3euk5fs5] { width: 18px; height: 18px; accent-color: #F5B921; cursor: pointer; margin-top: 2px; flex-shrink: 0; }

.giq-primary[b-ja3euk5fs5] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 23px; letter-spacing: .06em;
    color: #0A3161; background: #F5B921; border: none; border-radius: 6px; padding: 16px; width: 100%; cursor: pointer;
    text-align: center; text-decoration: none; display: block; box-sizing: border-box;
}
.giq-primary:hover:not(:disabled)[b-ja3euk5fs5] { background: #FFCA3D; }
.giq-primary:disabled[b-ja3euk5fs5] { opacity: .5; cursor: default; }

.giq-decline[b-ja3euk5fs5] { margin: 0; font-size: 14px; color: #6F8BB0; text-align: center; }
.giq-declinebtn[b-ja3euk5fs5] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px; color: #9DB4D2;
    background: transparent; border: none; cursor: pointer; padding: 0;
}
.giq-declinebtn:hover[b-ja3euk5fs5] { color: #F5B921; text-decoration: underline; }

/* ---- loading skeleton (Shared/Skel.razor) - copied from goldeniq.css's own .giq-skel rule since this
   page deliberately doesn't link goldeniq.css globally (same reasoning as every other invite/login page
   in this app: goldeniq.css's own global rules aren't scoped to this page's design and would leak in) ---- */
@keyframes giq-shimmer-b-ja3euk5fs5 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.giq-skel[b-ja3euk5fs5] {
    display: inline-block;
    border-radius: 4px;
    background: linear-gradient(90deg, #E2DAC6 25%, #F0E7CF 37%, #E2DAC6 63%);
    background-size: 400% 100%;
    animation: giq-shimmer-b-ja3euk5fs5 1.4s ease infinite;
    vertical-align: middle;
}
.giq-skel.circle[b-ja3euk5fs5] { border-radius: 50%; }

/* ---- error / declined state ---- */
.giq-invitepage-error[b-ja3euk5fs5] { display: flex; align-items: center; justify-content: center; padding: 32px; }
.giq-errorcard[b-ja3euk5fs5] {
    background: #FFFDF7; border-radius: 14px; padding: 40px; max-width: 480px;
    display: flex; flex-direction: column; gap: 18px; text-align: center; align-items: center;
}
.giq-errorcard h1[b-ja3euk5fs5] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 36px; color: #0A3161;
}
.giq-errorcard p[b-ja3euk5fs5] { margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; }

@media (max-width: 900px) {
    .giq-invitepage[b-ja3euk5fs5] { grid-template-columns: 1fr; }
    .giq-brand[b-ja3euk5fs5] { padding: 40px 28px; gap: 32px; }
    .giq-pitch h1[b-ja3euk5fs5] { font-size: 44px; }
    .giq-form[b-ja3euk5fs5] { padding: 40px 28px; }
    .giq-two[b-ja3euk5fs5] { grid-template-columns: 1fr; }
}
/* /Components/Pages/CoachApprovals.razor.rz.scp.css */
/* Coach approvals admin page. Builds on the shared wwwroot/css/goldeniq.css chrome plus the same
   ac-* helper classes AdminCoaches.razor.css established (crumbs/cell/empty state) - copied here
   rather than shared, since Blazor CSS isolation is per-component (same duplication AdminCoaches
   itself already accepts for AdminDashboard's own .giq-orghead/.giq-tablefoot). */

.ac-crumbs[b-j85gnprfbd] { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--giq-ink-4); margin-bottom: 6px; }
.ac-crumbs a[b-j85gnprfbd] { color: var(--giq-blue); text-decoration: none; font-weight: 600; }
.ac-crumbs a:hover[b-j85gnprfbd] { text-decoration: underline; }
.ac-sep[b-j85gnprfbd] { color: var(--giq-line); }

.giq-orghead[b-j85gnprfbd] {
    padding: 28px 26px 22px;
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}

.ac-cell[b-j85gnprfbd] { font-size: 14px; color: var(--giq-ink-2); }
.ac-empty[b-j85gnprfbd] { padding: 24px 22px; font-size: 15px; color: var(--giq-ink-4); }

.ca-thead[b-j85gnprfbd], .ca-row[b-j85gnprfbd] {
    display: grid;
    grid-template-columns: 1.8fr 2fr 1.2fr 1.2fr 1.1fr 1.8fr;
    align-items: center;
    gap: 12px;
}
.ca-thead[b-j85gnprfbd] {
    padding: 12px 22px; background: var(--giq-bone);
    font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--giq-gold-ink);
}
.ca-row[b-j85gnprfbd] { padding: 14px 22px; border-top: 1px solid var(--giq-line-soft); background: #FFFFFF; }
.ca-row.alt[b-j85gnprfbd] { background: var(--giq-card); }

.ca-actions[b-j85gnprfbd] { display: flex; gap: 8px; justify-content: flex-end; }

.ca-toast[b-j85gnprfbd] {
    margin-bottom: 16px; padding: 12px 18px; border-radius: 8px;
    background: #F6F2E8; border: 1px solid var(--giq-line); color: var(--giq-blue);
    font-size: 14px; font-weight: 600;
}

@media (max-width: 1100px) {
    .ca-thead[b-j85gnprfbd] { display: none; }
    .ca-row[b-j85gnprfbd] { grid-template-columns: 1fr; row-gap: 8px; }
    .ca-actions[b-j85gnprfbd] { justify-content: flex-start; }
}

/* Which client the coach signed up through (Coach.Origin). GoldenIQ = solid navy, GoldenSM = outlined,
   so the two read as distinct at a glance without depending on GoldenSM's brand colors. */
.ac-origin[b-j85gnprfbd] {
    font-size: 10px; font-weight: 700; letter-spacing: .12em; padding: 3px 8px; border-radius: 4px;
    background: var(--giq-blue); color: var(--giq-gold); white-space: nowrap;
}
.ac-origin.gsm[b-j85gnprfbd] { background: transparent; color: var(--giq-blue); border: 1px solid var(--giq-blue); }
/* /Components/Pages/DailyIQBuilder.razor.rz.scp.css */
/* Daily IQ Builder (GLDIQ-269/271) - scoped. Shares the same visual language (navy/gold, Barlow,
   .giq-card-style tan cards) already used by LessonEditor.razor/PositionPathBuilder.razor's own
   scoped CSS - each page keeps an independently-defined copy under its own prefix rather than a
   shared global stylesheet, same "genuinely shared visual language, independently defined per page"
   pattern this codebase already uses for giq-poschip/giq-nav-off/etc. */

.dq-actionbar[b-5w6jnaeeb9] {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fffdf7;
    border-bottom: 1px solid #e2dac6;
}

.dq-actionbarinner[b-5w6jnaeeb9] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.dq-headtext[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dq-crumbs[b-5w6jnaeeb9] { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #8a6d1f; }
.dq-crumbnow-lead[b-5w6jnaeeb9] { font-weight: 600; color: #0a3161; }
.dq-sep[b-5w6jnaeeb9] { color: #c9bda0; }
.dq-crumbnow[b-5w6jnaeeb9] { color: #6b665a; }

.dq-headrow[b-5w6jnaeeb9] { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }

.dq-h1[b-5w6jnaeeb9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    color: #0a3161;
}

.dq-h2[b-5w6jnaeeb9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    color: #0a3161;
}

.dq-actions[b-5w6jnaeeb9] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dq-saveerror[b-5w6jnaeeb9] { font-size: 13px; font-weight: 600; color: #b3452f; }

.dq-main[b-5w6jnaeeb9] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 32px 48px;
    display: grid;
    grid-template-columns: 340px 1fr 300px;
    gap: 24px;
    align-items: start;
}

.dq-rail[b-5w6jnaeeb9] { position: sticky; top: 96px; }
.dq-content[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 20px; }
.dq-checklistrail[b-5w6jnaeeb9] { position: sticky; top: 96px; }

.dq-checkrow[b-5w6jnaeeb9] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid #f5eeda;
}

.dq-checkmark[b-5w6jnaeeb9] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    background: #f0e7cf;
    color: #8a8272;
}

.dq-checkmark.ok[b-5w6jnaeeb9] { background: #0a3161; color: #F5B921; }
.dq-checklabel[b-5w6jnaeeb9] { font-size: 14px; line-height: 1.4; color: #4a463d; text-wrap: pretty; }

.dq-card[b-5w6jnaeeb9] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.dq-pad[b-5w6jnaeeb9] { padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; }

.dq-cardhead[b-5w6jnaeeb9] { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.dq-eyebrow[b-5w6jnaeeb9] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8a6d1f; }
.dq-eyebrow.light[b-5w6jnaeeb9] { color: #F5B921; }
.dq-sub[b-5w6jnaeeb9] { font-size: 13px; color: #8a8272; }
.dq-small[b-5w6jnaeeb9] { font-size: 12px; color: #8a8272; }

/* ---- tags/badges ---- */
.dq-tag[b-5w6jnaeeb9] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .08em;
    border-radius: 4px;
    padding: 5px 9px;
    white-space: nowrap;
}

.dq-tag.ok[b-5w6jnaeeb9] { background: #0a3161; color: #F5B921; }
.dq-tag.warn[b-5w6jnaeeb9] { background: #fdf4dd; border: 1px solid #e8d9ae; color: #8a6d1f; }
.dq-tag.quiet[b-5w6jnaeeb9] { background: #ece5d5; color: #8a8272; }

.dq-tierbadge[b-5w6jnaeeb9] {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .04em;
    border-radius: 4px;
    padding: 4px 8px;
    white-space: nowrap;
}

.dq-tierbadge.blue[b-5w6jnaeeb9] { background: #e2eefc; color: #1b4d8c; }
.dq-tierbadge.gold[b-5w6jnaeeb9] { background: #F5B921; color: #0a3161; }
.dq-tierbadge.blugold[b-5w6jnaeeb9] { background: #0a3161; color: #F5B921; }

/* ---- buttons ---- */
.dq-btn-primary[b-5w6jnaeeb9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    cursor: pointer;
}

.dq-btn-primary:hover:not(:disabled)[b-5w6jnaeeb9] { background: #ffca3d; }
.dq-btn-primary:disabled[b-5w6jnaeeb9] { opacity: .45; cursor: default; }
.dq-btn-primary.danger[b-5w6jnaeeb9] { background: #b3452f; color: #ffffff; }

.dq-btn-ghost[b-5w6jnaeeb9] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 9px 15px;
    cursor: pointer;
}

.dq-btn-ghost:hover:not(:disabled)[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-btn-ghost:disabled[b-5w6jnaeeb9] { opacity: .45; cursor: default; }

.dq-btn-dangerghost[b-5w6jnaeeb9] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #b3452f;
    background: transparent;
    border: 2px solid #e8cfc7;
    border-radius: 6px;
    padding: 9px 15px;
    cursor: pointer;
}

.dq-btn-dangerghost:hover:not(:disabled)[b-5w6jnaeeb9] { border-color: #b3452f; }
.dq-btn-dangerghost:disabled[b-5w6jnaeeb9] { opacity: .45; cursor: default; }

.dq-btn-dashed[b-5w6jnaeeb9] {
    width: 100%;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: 2px dashed #d9cba4;
    border-radius: 6px;
    padding: 10px 14px;
    cursor: pointer;
}

.dq-btn-dashed.inline[b-5w6jnaeeb9] { width: auto; align-self: flex-start; font-size: 13px; padding: 8px 14px; }
.dq-btn-dashed:hover:not(:disabled)[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-btn-dashed:disabled[b-5w6jnaeeb9] { opacity: .45; cursor: default; }

.dq-x[b-5w6jnaeeb9] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #b3452f;
    background: transparent;
    border: none;
    padding: 0 2px;
    cursor: pointer;
    flex-shrink: 0;
}

.dq-x:disabled[b-5w6jnaeeb9] { opacity: .35; cursor: default; }

/* ---- quiz library rail ---- */
.dq-railhead[b-5w6jnaeeb9] {
    padding: 14px 16px 10px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.dq-railfilters[b-5w6jnaeeb9] {
    padding: 0 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #f0e7cf;
}

.dq-input[b-5w6jnaeeb9],
.dq-textarea[b-5w6jnaeeb9],
.dq-select[b-5w6jnaeeb9] {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    color: #101014;
    background: #fffdf7;
    border: 1px solid #d9cba4;
    border-radius: 6px;
    padding: 9px 11px;
    width: 100%;
}

.dq-textarea[b-5w6jnaeeb9] { line-height: 1.5; resize: vertical; }
.dq-input:focus[b-5w6jnaeeb9], .dq-textarea:focus[b-5w6jnaeeb9], .dq-select:focus[b-5w6jnaeeb9] { border-color: #F5B921; outline: none; }
.dq-input.correct[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-input[b-5w6jnaeeb9]::placeholder, .dq-textarea[b-5w6jnaeeb9]::placeholder { color: #a8a293; }

.dq-pillrow[b-5w6jnaeeb9] { display: flex; gap: 5px; flex-wrap: wrap; }

.dq-pill[b-5w6jnaeeb9] {
    flex: 0 0 auto;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    border-radius: 6px;
    padding: 7px 10px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #4a463d;
}

.dq-pill:hover[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-pill.on[b-5w6jnaeeb9] { border-color: #0a3161; background: #0a3161; color: #F5B921; }

.dq-navitem[b-5w6jnaeeb9] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border: none;
    border-top: 1px solid #f5eeda;
    padding: 12px 16px;
    background: transparent;
    color: #101014;
}

.dq-navitem.on[b-5w6jnaeeb9] { background: #0a3161; }
.dq-navitem.on .dq-navprompt[b-5w6jnaeeb9], .dq-navitem.on .dq-navmeta[b-5w6jnaeeb9], .dq-navitem.on .dq-navtargeting[b-5w6jnaeeb9] { color: #ffffff; }

.dq-navtop[b-5w6jnaeeb9] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dq-navtargeting[b-5w6jnaeeb9] { font-size: 11px; color: #8a8272; font-weight: 600; }
.dq-navprompt[b-5w6jnaeeb9] { font-size: 14px; font-weight: 600; line-height: 1.35; text-wrap: pretty; }
.dq-navmeta[b-5w6jnaeeb9] { font-size: 12px; color: #8a8272; }

.dq-railempty[b-5w6jnaeeb9] { padding: 16px; font-size: 13px; color: #8a8272; text-align: center; }
.dq-railfoot[b-5w6jnaeeb9] { padding: 14px 16px; border-top: 1px solid #f0e7cf; }

/* ---- form fields ---- */
.dq-field[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 7px; }
.dq-fieldhead[b-5w6jnaeeb9] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dq-label[b-5w6jnaeeb9] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8a6d1f; }

/* ---- answers ---- */
.dq-optionrow[b-5w6jnaeeb9] { display: flex; align-items: center; gap: 10px; }

.dq-checkbtn[b-5w6jnaeeb9] {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 2px solid #d9cba4;
    background: #fffdf7;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    color: #8a6d1f;
    cursor: pointer;
}

.dq-checkbtn.on[b-5w6jnaeeb9] { border-color: #0a3161; background: #0a3161; color: #F5B921; }
.dq-correcttag[b-5w6jnaeeb9] { font-size: 11px; font-weight: 700; letter-spacing: .06em; color: #2e7d32; white-space: nowrap; }

.dq-answermode[b-5w6jnaeeb9] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid #f0e7cf;
}

/* ---- split grid (ranking / who sees it) ---- */
.dq-splitgrid[b-5w6jnaeeb9] { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.dq-tierlist[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 6px; }

.dq-tier[b-5w6jnaeeb9] {
    display: flex;
    align-items: center;
    gap: 11px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border: 2px solid #e2dac6;
    border-radius: 8px;
    padding: 10px 13px;
    background: #ffffff;
    color: #101014;
}

.dq-tier:hover[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-tier.on[b-5w6jnaeeb9] { border-color: #0a3161; background: #0a3161; color: #F5B921; }

.dq-tierdot[b-5w6jnaeeb9] {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #d9cba4;
}

.dq-tier.on .dq-tierdot[b-5w6jnaeeb9] { border-color: #F5B921; background: #F5B921; }
.dq-tiertext[b-5w6jnaeeb9] { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.25; }
.dq-tiertext strong[b-5w6jnaeeb9] { font-weight: 600; font-size: 14px; }
.dq-tiertext span[b-5w6jnaeeb9] { font-size: 12px; opacity: .72; }

.dq-targettoggle[b-5w6jnaeeb9] { display: flex; gap: 8px; }

.dq-targetopt[b-5w6jnaeeb9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border: 2px solid #e2dac6;
    border-radius: 8px;
    padding: 10px 13px;
    background: #ffffff;
    color: #101014;
}

.dq-targetopt:hover[b-5w6jnaeeb9] { border-color: #0a3161; }
.dq-targetopt.on[b-5w6jnaeeb9] { border-color: #0a3161; background: #0a3161; color: #F5B921; }
.dq-targetopt strong[b-5w6jnaeeb9] { font-size: 14px; font-weight: 600; }
.dq-targetopt span[b-5w6jnaeeb9] { font-size: 12px; opacity: .72; }

.dq-posfield[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid #f0e7cf; padding-top: 12px; }
.dq-posgrid[b-5w6jnaeeb9] { display: flex; flex-wrap: wrap; gap: 6px; }
.dq-posgrid .dq-pill[b-5w6jnaeeb9] { padding: 8px 10px; text-align: center; }

/* ---- player preview ---- */
.dq-preview[b-5w6jnaeeb9] {
    background: #0a3161;
    color: #ffffff;
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dq-previewhead[b-5w6jnaeeb9] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.dq-previewprompt[b-5w6jnaeeb9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.15;
    text-wrap: pretty;
}

.dq-previewhint[b-5w6jnaeeb9] { font-size: 14px; color: #c9d6e8; }

.dq-previewoption[b-5w6jnaeeb9] {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    border: 2px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    padding: 12px 16px;
    cursor: pointer;
}

.dq-previewoption:hover[b-5w6jnaeeb9] { border-color: rgba(255, 255, 255, .4); }
.dq-previewoption.picked[b-5w6jnaeeb9] { border-color: #F5B921; background: rgba(245, 185, 33, .15); }
.dq-previewoption.correct[b-5w6jnaeeb9] { border-color: #6fcf6f; background: rgba(111, 207, 111, .18); }
.dq-previewoption.incorrect[b-5w6jnaeeb9] { border-color: #e6796b; background: rgba(230, 121, 107, .18); }

.dq-previewletter[b-5w6jnaeeb9] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.dq-previewfoot[b-5w6jnaeeb9] { display: flex; align-items: center; gap: 14px; padding-top: 6px; }
.dq-previewfoot .dq-small[b-5w6jnaeeb9] { color: #c9d6e8; }

/* ---- confirm modal ---- */
.dq-scrim[b-5w6jnaeeb9] {
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 32px 32px;
}

.dq-modal[b-5w6jnaeeb9] {
    width: 100%;
    max-width: 480px;
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.dq-modalhead[b-5w6jnaeeb9] {
    padding: 22px 26px 16px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.dq-modaltext[b-5w6jnaeeb9] { display: flex; flex-direction: column; gap: 4px; }

.dq-modaltitle[b-5w6jnaeeb9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: #0a3161;
}

.dq-modaltitle.danger[b-5w6jnaeeb9] { color: #b3452f; }

.dq-close[b-5w6jnaeeb9] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #8a8272;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
}

.dq-close:hover[b-5w6jnaeeb9] { color: #0a3161; }

.dq-modalfoot[b-5w6jnaeeb9] {
    padding: 18px 26px;
    background: #F6F2E8;
    border-top: 1px solid #f0e7cf;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 1100px) {
    .dq-main[b-5w6jnaeeb9] { grid-template-columns: 1fr; }
    .dq-rail[b-5w6jnaeeb9] { position: static; }
    .dq-checklistrail[b-5w6jnaeeb9] { position: static; }
    .dq-splitgrid[b-5w6jnaeeb9] { grid-template-columns: 1fr; }
}
/* /Components/Pages/DailyIQHistory.razor.rz.scp.css */
/* Past Quizzes (GLDIQ-270) - scoped. Split out of DailyIQRunner.razor.css when this view became its
   own component (see DailyIQHistory.razor's own header comment) - Blazor's CSS isolation only ever
   applies a component's own scoped file, so the handful of genuinely shared base classes (.dr-main/
   .dr-crumbs/.dr-card/.dr-btn-ghost/.dr-tierbadge/etc) are duplicated here rather than shared, same
   "genuinely shared visual language, independently defined per page" convention this codebase already
   uses everywhere else. */

.dr-main[b-ojk9fkv0km] {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dr-crumbs[b-ojk9fkv0km] { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.dr-crumbs a[b-ojk9fkv0km] { color: #8a6d1f; text-decoration: none; }
.dr-crumbs a:hover[b-ojk9fkv0km] { text-decoration: underline; }
.dr-crumbs span:not(.dr-sep)[b-ojk9fkv0km] { color: #6b665a; }
.dr-sep[b-ojk9fkv0km] { color: #c9bda0; }

.dr-small[b-ojk9fkv0km] { font-size: 13px; color: #8a8272; }

.dr-card[b-ojk9fkv0km] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.dr-tierbadge[b-ojk9fkv0km] {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .04em;
    border-radius: 4px;
    padding: 4px 9px;
    white-space: nowrap;
}

.dr-tierbadge.blue[b-ojk9fkv0km] { background: #e2eefc; color: #1b4d8c; }
.dr-tierbadge.gold[b-ojk9fkv0km] { background: #F5B921; color: #0a3161; }
.dr-tierbadge.blugold[b-ojk9fkv0km] { background: #0a3161; color: #F5B921; border: 1px solid #F5B921; }

/* ---- stat tiles (ported from WeeklyPlanBuilder's .wp-stats/.wp-statcard) ---- */
.dr-stats[b-ojk9fkv0km] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.dr-statcard[b-ojk9fkv0km] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dr-statvalue[b-ojk9fkv0km] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 30px; color: #0a3161; }
.dr-statlabel[b-ojk9fkv0km] { font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #8a6d1f; }

.dr-periodrow[b-ojk9fkv0km] {
    padding: 18px 20px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.dr-periodleft[b-ojk9fkv0km] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dr-periodnav[b-ojk9fkv0km] { display: flex; align-items: center; gap: 6px; }

.dr-navbtn[b-ojk9fkv0km] {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #0a3161;
    cursor: pointer;
    font-size: 13px;
    flex-shrink: 0;
}

.dr-navbtn:hover[b-ojk9fkv0km] { border-color: #0a3161; }

.dr-periodlabel[b-ojk9fkv0km] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 14px; color: #0a3161; white-space: nowrap; }

.dr-listhead[b-ojk9fkv0km] {
    padding: 10px 20px 18px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.dr-pillrow[b-ojk9fkv0km] { display: flex; gap: 6px; flex-wrap: wrap; }

.dr-pill[b-ojk9fkv0km] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    border-radius: 6px;
    padding: 7px 12px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #0a3161;
}

.dr-pill:hover[b-ojk9fkv0km] { border-color: #0a3161; }
.dr-pill.on[b-ojk9fkv0km] { background: #0a3161; border-color: #0a3161; color: #F5B921; }

.dr-empty[b-ojk9fkv0km] { padding: 30px 20px; text-align: center; font-size: 14px; color: #8a8272; }

.dr-pastrow[b-ojk9fkv0km] {
    width: 100%;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border: none;
    border-top: 1px solid #f5eeda;
    padding: 14px 20px;
    background: transparent;
    color: #101014;
}

.dr-pastrow:hover[b-ojk9fkv0km] { background: #fbf8ef; }

.dr-pastdate[b-ojk9fkv0km] { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.dr-pastdate strong[b-ojk9fkv0km] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; color: #0a3161; }
.dr-pastdate span[b-ojk9fkv0km] { font-size: 11px; letter-spacing: .06em; color: #8a8272; text-transform: uppercase; }

.dr-pastprompt[b-ojk9fkv0km] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dr-pastquestion[b-ojk9fkv0km] { font-weight: 600; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-pastmeta[b-ojk9fkv0km] { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #8a8272; }

.dr-pastbadge[b-ojk9fkv0km] {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .06em;
    border-radius: 4px;
    padding: 5px 9px;
    white-space: nowrap;
}

.dr-pastbadge.correct[b-ojk9fkv0km] { background: #e4f4e4; color: #2e7d32; }
.dr-pastbadge.missed[b-ojk9fkv0km] { background: #fbe9e7; color: #b3452f; }

.dr-pastpoints[b-ojk9fkv0km] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 16px; color: #0a3161; text-align: right; }

@media (max-width: 640px) {
    .dr-main[b-ojk9fkv0km] { padding: 18px 16px 36px; }
    .dr-stats[b-ojk9fkv0km] { grid-template-columns: 1fr; }
    .dr-pastrow[b-ojk9fkv0km] { grid-template-columns: 44px 1fr; row-gap: 6px; }
    .dr-pastbadge[b-ojk9fkv0km], .dr-pastpoints[b-ojk9fkv0km] { grid-column: 2; justify-self: start; }
}
/* /Components/Pages/DailyIQRunner.razor.rz.scp.css */
/* Daily IQ Runner (GLDIQ-270) - scoped. The quiz card (.dr-quizcard/.dr-option/etc) ports
   DailyIQBuilder.razor's own "Player Preview" styling (.dq-preview/.dq-previewoption/etc) nearly
   verbatim; the stat tiles/pill row port WeeklyPlanBuilder.razor's .wp-stats/.wp-pill. Each page keeps
   its own independently-defined copy under its own prefix rather than a shared global stylesheet,
   same "genuinely shared visual language, independently defined per page" convention this codebase
   already uses for giq-poschip/dq-tierbadge/etc. */

.dr-main[b-5ql24bchw7] {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dr-crumbs[b-5ql24bchw7] { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.dr-crumbs a[b-5ql24bchw7] { color: #8a6d1f; text-decoration: none; }
.dr-crumbs a:hover[b-5ql24bchw7] { text-decoration: underline; }
.dr-crumbs span:not(.dr-sep)[b-5ql24bchw7] { color: #6b665a; }
.dr-sep[b-5ql24bchw7] { color: #c9bda0; }

.dr-h2[b-5ql24bchw7] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1;
    color: #0a3161;
}

.dr-sub[b-5ql24bchw7] { font-size: 14px; color: #8a8272; }
.dr-small[b-5ql24bchw7] { font-size: 13px; color: #8a8272; }

.dr-card[b-5ql24bchw7] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.dr-pad[b-5ql24bchw7] { padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }

/* ---- buttons ---- */
.dr-btn-primary[b-5ql24bchw7] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 11px 22px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.dr-btn-primary:hover:not(:disabled)[b-5ql24bchw7] { background: #ffca3d; }
.dr-btn-primary:disabled[b-5ql24bchw7] { opacity: .45; cursor: default; }

.dr-btn-ghost[b-5ql24bchw7] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 9px 16px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.dr-btn-ghost:hover[b-5ql24bchw7] { border-color: #0a3161; }

/* On-navy variant - used for "See past quizzes" inside the navy quiz card, same distinction
   dq-previewoption already draws between a cream-card ghost and a white-on-navy one. */
.dr-quizcard .dr-btn-ghost[b-5ql24bchw7] {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .35);
}

.dr-quizcard .dr-btn-ghost:hover[b-5ql24bchw7] { border-color: #ffffff; }

/* ---- quiz card (ported from DailyIQBuilder's .dq-preview/.dq-previewoption family) ---- */
.dr-quizcard[b-5ql24bchw7] {
    background: #0a3161;
    color: #ffffff;
    border-radius: 12px;
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dr-quizhead[b-5ql24bchw7] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dr-kicker[b-5ql24bchw7] { font-weight: 600; font-size: 12px; letter-spacing: .14em; color: #F5B921; }

.dr-tierbadge[b-5ql24bchw7] {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .04em;
    border-radius: 4px;
    padding: 4px 9px;
    white-space: nowrap;
}

.dr-tierbadge.blue[b-5ql24bchw7] { background: #e2eefc; color: #1b4d8c; }
.dr-tierbadge.gold[b-5ql24bchw7] { background: #F5B921; color: #0a3161; }
.dr-tierbadge.blugold[b-5ql24bchw7] { background: #0a3161; color: #F5B921; border: 1px solid #F5B921; }

.dr-prompt[b-5ql24bchw7] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.15;
    text-wrap: pretty;
}

.dr-hint[b-5ql24bchw7] { font-size: 14px; color: #c9d6e8; }

.dr-option[b-5ql24bchw7] {
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    width: 100%;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
    border: 2px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    padding: 13px 16px;
    cursor: pointer;
}

.dr-option:hover:not(:disabled)[b-5ql24bchw7] { border-color: rgba(255, 255, 255, .4); }
.dr-option:disabled[b-5ql24bchw7] { cursor: default; }
.dr-option.picked[b-5ql24bchw7] { border-color: #F5B921; background: rgba(245, 185, 33, .15); }
.dr-option.correct[b-5ql24bchw7] { border-color: #6fcf6f; background: rgba(111, 207, 111, .22); }
.dr-option.missed[b-5ql24bchw7] { border-color: #6fcf6f; background: transparent; }
.dr-option.incorrect[b-5ql24bchw7] { border-color: #e6796b; background: rgba(230, 121, 107, .22); }

.dr-optletter[b-5ql24bchw7] {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.dr-optflex[b-5ql24bchw7] { flex: 1; }

.dr-verdict[b-5ql24bchw7] { flex-shrink: 0; font-size: 12px; font-weight: 700; letter-spacing: .04em; opacity: .9; }

.dr-foot[b-5ql24bchw7] { display: flex; align-items: center; gap: 14px; padding-top: 4px; flex-wrap: wrap; }
.dr-foot .dr-small[b-5ql24bchw7] { color: #c9d6e8; }
.dr-footnote[b-5ql24bchw7] { font-size: 12px; color: #9fb3cf; }

.dr-result[b-5ql24bchw7] { padding-top: 2px; }
.dr-resulttext[b-5ql24bchw7] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; color: #F5B921; }

@media (max-width: 640px) {
    .dr-main[b-5ql24bchw7] { padding: 18px 16px 36px; }
    .dr-prompt[b-5ql24bchw7] { font-size: 26px; }
}
/* /Components/Pages/ForgotPassword.razor.rz.scp.css */
/* Forgot/reset password gate - same visual family as VerifyEmail.razor.css/InviteCode.razor.css,
   centered interstitial on gold. .giq-strength* copied from AdminInvite.razor.css/PlayerInvite.razor.css
   for the new-password field's live strength meter. */

.giq-gate[b-2o76nvrdbl] {
    min-height: 100vh; background: #F5B921;
    font-family: Barlow, Helvetica, sans-serif; color: #101014;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 32px 64px;
}
.giq-gate-inner[b-2o76nvrdbl] {
    width: 100%; max-width: 560px;
    display: flex; flex-direction: column; align-items: center; gap: 30px;
}

.giq-lockup[b-2o76nvrdbl] { display: flex; align-items: center; gap: 16px; }
.giq-wordmark[b-2o76nvrdbl] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-2o76nvrdbl] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 38px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-2o76nvrdbl] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-2o76nvrdbl] { font-weight: 600; font-size: 10px; letter-spacing: .28em; color: #0A3161; margin-top: 10px; }

.giq-gate-card[b-2o76nvrdbl] {
    width: 100%; background: #FFFDF7; border-radius: 14px; padding: 36px;
    display: flex; flex-direction: column; gap: 24px; box-sizing: border-box;
}
.giq-gate-card header[b-2o76nvrdbl] {
    display: flex; flex-direction: column; gap: 9px; align-items: center; text-align: center;
}
.giq-gate-card h1[b-2o76nvrdbl] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1.02; letter-spacing: -.01em; color: #0A3161; text-wrap: balance;
}
.giq-gate-card header p[b-2o76nvrdbl] {
    margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; max-width: 420px; text-wrap: pretty;
}

.giq-statebadge[b-2o76nvrdbl] {
    font-weight: 700; font-size: 11px; letter-spacing: .16em; border-radius: 4px; padding: 5px 10px;
}
.giq-statebadge.navy[b-2o76nvrdbl] { background: #0A3161; color: #F5B921; }
.giq-statebadge.gold[b-2o76nvrdbl] { background: #F5B921; color: #0A3161; }
.giq-statebadge.warn[b-2o76nvrdbl] { background: #7A3125; color: #FFD9D0; }

/* ---- fields ---- */
.giq-codefield[b-2o76nvrdbl] { display: flex; flex-direction: column; gap: 11px; align-items: center; }
.giq-codefield label[b-2o76nvrdbl] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8A6D1F; }
.giq-codefield input[b-2o76nvrdbl] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 34px;
    letter-spacing: .22em; text-align: center; color: #0A3161;
    background: #F6F2E8; border: 2px solid #E2DAC6; border-radius: 8px;
    padding: 16px 18px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-codefield input:focus[b-2o76nvrdbl] { border-color: #F5B921; }
.giq-codefield input.bad[b-2o76nvrdbl] { border-color: #B3452F; }
.giq-codefield input[b-2o76nvrdbl]::placeholder { color: #B9B0A0; }
.giq-codeerror[b-2o76nvrdbl] { font-weight: 600; font-size: 14px; color: #B3452F; }

/* Email field shares the codefield look but doesn't need the oversized code-style typography */
.giq-codefield-narrow input.giq-emailinput[b-2o76nvrdbl] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 16px;
    letter-spacing: normal; text-align: left;
}
.giq-codefield-narrow input.giq-emailinput.locked[b-2o76nvrdbl] { background: #E6E0D0; border-color: #E6E0D0; color: #5D5749; }

/* ---- new-password strength meter, copied from AdminInvite.razor.css/PlayerInvite.razor.css ---- */
.giq-strength[b-2o76nvrdbl] { display: flex; align-items: center; gap: 10px; margin-top: 8px; width: 100%; }
.giq-strength-track[b-2o76nvrdbl] { flex: 1; height: 5px; border-radius: 3px; background: #E2DAC6; }
.giq-strength-fill[b-2o76nvrdbl] { height: 5px; border-radius: 3px; transition: width .18s ease; }
.giq-strength-label[b-2o76nvrdbl] { font-weight: 600; font-size: 13px; min-width: 66px; text-align: right; }

/* ---- actions ---- */
.giq-gate-actions[b-2o76nvrdbl] { display: flex; flex-direction: column; gap: 12px; }
.giq-gate-primary[b-2o76nvrdbl] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: .06em;
    color: #F5B921; background: #0A3161; border: none; border-radius: 6px;
    padding: 16px; width: 100%; cursor: pointer;
}
.giq-gate-primary:hover:not(:disabled)[b-2o76nvrdbl] { background: #0D3F7C; }
.giq-gate-primary:disabled[b-2o76nvrdbl] { opacity: .45; cursor: default; }
.giq-gate-secondary[b-2o76nvrdbl] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #0A3161;
    background: transparent; border: 2px solid #E2DAC6; border-radius: 6px;
    padding: 13px; width: 100%; cursor: pointer;
}
.giq-gate-secondary:hover:not(:disabled)[b-2o76nvrdbl] { border-color: #0A3161; }
.giq-gate-secondary:disabled[b-2o76nvrdbl] { opacity: .45; cursor: default; }

.giq-gate-foot[b-2o76nvrdbl] { font-size: 14px; color: #8A8272; text-align: center; }
.giq-gate-foot a[b-2o76nvrdbl] { display: inline-block; margin-top: 6px; color: #0A3161; font-weight: 600; text-decoration: none; }
.giq-gate-foot a:hover[b-2o76nvrdbl] { text-decoration: underline; }

@media (max-width: 560px) {
    .giq-gate-card[b-2o76nvrdbl] { padding: 26px 20px; }
    .giq-gate-card h1[b-2o76nvrdbl] { font-size: 34px; }
    .giq-codefield input[b-2o76nvrdbl] { font-size: 26px; letter-spacing: .16em; }
    .giq-codefield-narrow input.giq-emailinput[b-2o76nvrdbl] { font-size: 15px; }
}
.giq-gate-closehint[b-2o76nvrdbl] { margin: 0; font-size: 16px; line-height: 1.5; color: #4A463D; text-align: center; }
/* /Components/Pages/InviteCode.razor.rz.scp.css */
/* Invite-code gate — centered interstitial on gold */

.giq-gate[b-8ixmj59p8h] {
    min-height: 100vh; background: #F5B921;
    font-family: Barlow, Helvetica, sans-serif; color: #101014;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 32px 64px;
}
.giq-gate-inner[b-8ixmj59p8h] {
    width: 100%; max-width: 560px;
    display: flex; flex-direction: column; align-items: center; gap: 30px;
}

.giq-lockup[b-8ixmj59p8h] { display: flex; align-items: center; gap: 16px; }
.giq-wordmark[b-8ixmj59p8h] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-8ixmj59p8h] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 38px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-8ixmj59p8h] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-8ixmj59p8h] { font-weight: 600; font-size: 10px; letter-spacing: .28em; color: #0A3161; margin-top: 10px; }

.giq-gate-card[b-8ixmj59p8h] {
    width: 100%; background: #FFFDF7; border-radius: 14px; padding: 36px;
    display: flex; flex-direction: column; gap: 24px; box-sizing: border-box;
}
.giq-gate-card header[b-8ixmj59p8h] {
    display: flex; flex-direction: column; gap: 9px; align-items: center; text-align: center;
}
.giq-gate-card h1[b-8ixmj59p8h] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1.02; letter-spacing: -.01em; color: #0A3161; text-wrap: balance;
}
.giq-gate-card header p[b-8ixmj59p8h] {
    margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; max-width: 420px; text-wrap: pretty;
}

.giq-statebadge[b-8ixmj59p8h] {
    font-weight: 700; font-size: 11px; letter-spacing: .16em; border-radius: 4px; padding: 5px 10px;
}
.giq-statebadge.navy[b-8ixmj59p8h] { background: #0A3161; color: #F5B921; }
.giq-statebadge.gold[b-8ixmj59p8h] { background: #F5B921; color: #0A3161; }
.giq-statebadge.warn[b-8ixmj59p8h] { background: #7A3125; color: #FFD9D0; }

/* ---- code field ---- */
.giq-codefield[b-8ixmj59p8h] { display: flex; flex-direction: column; gap: 11px; align-items: center; }
.giq-codefield label[b-8ixmj59p8h] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8A6D1F; }
.giq-codefield input[b-8ixmj59p8h] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 34px;
    letter-spacing: .22em; text-align: center; text-transform: uppercase; color: #0A3161;
    background: #F6F2E8; border: 2px solid #E2DAC6; border-radius: 8px;
    padding: 16px 18px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-codefield input:focus[b-8ixmj59p8h] { border-color: #F5B921; }
.giq-codefield input.bad[b-8ixmj59p8h] { border-color: #B3452F; }
.giq-codefield input[b-8ixmj59p8h]::placeholder { color: #B9B0A0; }
.giq-codeerror[b-8ixmj59p8h] { font-weight: 600; font-size: 14px; color: #B3452F; }

/* ---- resolved team ---- */
.giq-teamcard[b-8ixmj59p8h] {
    background: #F6F2E8; border: 1px solid #E2DAC6; border-radius: 11px; padding: 20px;
    display: flex; flex-direction: column; gap: 16px;
}
.giq-coach[b-8ixmj59p8h] { display: flex; align-items: center; gap: 14px; }
.giq-coach-av[b-8ixmj59p8h] {
    width: 50px; height: 50px; border-radius: 50%; background: #0A3161; color: #F5B921;
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 17px; flex-shrink: 0;
}
.giq-coach > div[b-8ixmj59p8h] { display: flex; flex-direction: column; line-height: 1.3; }
.giq-coach .n[b-8ixmj59p8h] { font-weight: 700; font-size: 18px; color: #101014; }
.giq-coach .r[b-8ixmj59p8h] { font-size: 14px; color: #6B665A; }
.giq-hr[b-8ixmj59p8h] { height: 1px; background: #E8DFC8; }

.giq-facts[b-8ixmj59p8h] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.giq-facts > div[b-8ixmj59p8h] { display: flex; flex-direction: column; gap: 1px; }
.giq-facts .k[b-8ixmj59p8h] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8A6D1F; }
.giq-facts .v[b-8ixmj59p8h] { font-size: 15px; color: #101014; }

/* ---- help block ---- */
.giq-help[b-8ixmj59p8h] {
    background: #F6F2E8; border: 1px dashed #D9CBA4; border-radius: 11px; padding: 18px;
    display: flex; flex-direction: column; gap: 5px;
}
.giq-help .k[b-8ixmj59p8h] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8A6D1F; }
.giq-help .v[b-8ixmj59p8h] { font-size: 15px; line-height: 1.5; color: #4A463D; text-wrap: pretty; }

/* ---- actions ---- */
.giq-gate-actions[b-8ixmj59p8h] { display: flex; flex-direction: column; gap: 12px; }
.giq-gate-primary[b-8ixmj59p8h] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: .06em;
    color: #F5B921; background: #0A3161; border: none; border-radius: 6px;
    padding: 16px; width: 100%; cursor: pointer;
}
.giq-gate-primary:hover:not(:disabled)[b-8ixmj59p8h] { background: #0D3F7C; }
.giq-gate-primary:disabled[b-8ixmj59p8h] { opacity: .45; cursor: default; }
.giq-gate-secondary[b-8ixmj59p8h] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #0A3161;
    background: transparent; border: 2px solid #E2DAC6; border-radius: 6px;
    padding: 13px; width: 100%; cursor: pointer;
}
.giq-gate-secondary:hover[b-8ixmj59p8h] { border-color: #0A3161; }

.giq-gate-foot[b-8ixmj59p8h] { font-size: 14px; color: #8A8272; text-align: center; }
.giq-gate-legal[b-8ixmj59p8h] {
    font-size: 14px; color: #7A5C10; text-align: center; max-width: 440px; line-height: 1.5;
}

@media (max-width: 560px) {
    .giq-gate-card[b-8ixmj59p8h] { padding: 26px 20px; }
    .giq-gate-card h1[b-8ixmj59p8h] { font-size: 34px; }
    .giq-facts[b-8ixmj59p8h] { grid-template-columns: 1fr; }
    .giq-codefield input[b-8ixmj59p8h] { font-size: 26px; letter-spacing: .16em; }
}
/* /Components/Pages/LessonEditor.razor.rz.scp.css */
/* Lesson editor — scoped. Ported verbatim from the design folder's
   blazor/Pages/LessonEditor.razor.css mockup (the video drop-zone rules are unused now that the
   Video card is a URL field instead, but left in place rather than pruned - harmless, and keeps
   this file a faithful copy of the source). */

.le-actionbar[b-mlgzcarlyi] {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fffdf7;
    border-bottom: 1px solid #e2dac6;
}

.le-actionbarinner[b-mlgzcarlyi] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.le-headtext[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.le-crumbs[b-mlgzcarlyi] { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #8a6d1f; }

.le-crumbbtn[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #0a3161;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.le-crumbbtn:hover[b-mlgzcarlyi] { color: #7a5c10; text-decoration: underline; }
.le-sep[b-mlgzcarlyi] { color: #c9bda0; }
.le-crumbnow[b-mlgzcarlyi] { color: #6b665a; }

.le-headrow[b-mlgzcarlyi] { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }

.le-h1[b-mlgzcarlyi] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    color: #0a3161;
}

.le-h2[b-mlgzcarlyi] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: #0a3161;
}

.le-actions[b-mlgzcarlyi] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.le-main[b-mlgzcarlyi] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 24px 32px 48px;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 24px;
    align-items: start;
}

.le-rail[b-mlgzcarlyi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: 96px;
}

.le-content[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 20px; }

.le-card[b-mlgzcarlyi] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.le-pad[b-mlgzcarlyi] { padding: 18px; display: flex; flex-direction: column; gap: 11px; }
.le-card.le-pad.le-gap[b-mlgzcarlyi] { padding: 22px 24px; gap: 18px; }

.le-eyebrow[b-mlgzcarlyi] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8a6d1f; }
.le-sub[b-mlgzcarlyi] { font-size: 14px; color: #8a8272; }
.le-sub.center[b-mlgzcarlyi] { font-size: 15px; color: #6b665a; text-align: center; max-width: 400px; text-wrap: pretty; }
.le-small[b-mlgzcarlyi] { font-size: 13px; color: #8a8272; }
.le-muted[b-mlgzcarlyi] { color: #8a8272; }

/* ---- tags ---- */
.le-tag[b-mlgzcarlyi] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .08em;
    border-radius: 4px;
    padding: 5px 9px;
    white-space: nowrap;
}

.le-tag.ok[b-mlgzcarlyi] { background: #0a3161; color: #F5B921; }
.le-tag.warn[b-mlgzcarlyi] { background: #fdf4dd; border: 1px solid #e8d9ae; color: #8a6d1f; }
.le-tag.bad[b-mlgzcarlyi] { background: #fbf0ec; border: 1px solid #e8cfc7; color: #8f3826; }
.le-tag.quiet[b-mlgzcarlyi] { background: #ece5d5; color: #8a8272; }

/* ---- buttons ---- */
.le-btn-primary[b-mlgzcarlyi] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.le-btn-primary.small[b-mlgzcarlyi] { font-size: 18px; padding: 11px 20px; }
.le-btn-primary:hover:not(:disabled)[b-mlgzcarlyi] { background: #ffca3d; }
.le-btn-primary:disabled[b-mlgzcarlyi] { opacity: .45; cursor: default; }
.le-btn-primary.danger[b-mlgzcarlyi] { background: #b3452f; color: #ffffff; }

.le-btn-ghost[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.le-btn-ghost.small[b-mlgzcarlyi] { font-size: 14px; padding: 9px 15px; }
.le-btn-ghost:hover:not(:disabled)[b-mlgzcarlyi] { border-color: #0a3161; }
.le-btn-ghost:disabled[b-mlgzcarlyi] { opacity: .45; cursor: default; }

.le-btn-dangerghost[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #b3452f;
    background: transparent;
    border: 2px solid #e8cfc7;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.le-btn-dangerghost.small[b-mlgzcarlyi] { font-size: 14px; padding: 9px 15px; }
.le-btn-dangerghost:hover:not(:disabled)[b-mlgzcarlyi] { border-color: #b3452f; }
.le-btn-dangerghost:disabled[b-mlgzcarlyi] { opacity: .45; cursor: default; }

.le-btn-dashed[b-mlgzcarlyi] {
    width: 100%;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #0a3161;
    background: transparent;
    border: 2px dashed #d9cba4;
    border-radius: 6px;
    padding: 11px 14px;
    cursor: pointer;
}

.le-btn-dashed.inline[b-mlgzcarlyi] { width: auto; align-self: flex-start; font-size: 14px; padding: 9px 15px; }
.le-btn-dashed:hover:not(:disabled)[b-mlgzcarlyi] { border-color: #0a3161; }
.le-btn-dashed:disabled[b-mlgzcarlyi] { opacity: .45; cursor: default; }

.le-link[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.le-link:hover[b-mlgzcarlyi] { color: #7a5c10; }

.le-icon[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: 1px solid #e2dac6;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    flex-shrink: 0;
}

.le-icon.danger[b-mlgzcarlyi] { color: #b3452f; border-color: #e8cfc7; font-size: 17px; }
.le-icon:disabled[b-mlgzcarlyi] { opacity: .4; cursor: default; }

.le-x[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #b3452f;
    background: transparent;
    border: none;
    padding: 0 2px;
    cursor: pointer;
    flex-shrink: 0;
}

/* ---- lesson nav ---- */
.le-railhead[b-mlgzcarlyi] {
    padding: 16px 18px 14px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.le-navitem[b-mlgzcarlyi] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border: none;
    border-top: 1px solid #f5eeda;
    padding: 13px 18px;
    background: transparent;
    color: #101014;
}

.le-navitem.on[b-mlgzcarlyi] { background: #0a3161; color: #ffffff; }

.le-navnum[b-mlgzcarlyi] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    background: #F6F2E8;
    color: #8a6d1f;
}

.le-navitem.on .le-navnum[b-mlgzcarlyi] { background: #F5B921; color: #0a3161; }

.le-navtext[b-mlgzcarlyi] { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.le-navtext strong[b-mlgzcarlyi] { font-weight: 600; font-size: 15px; line-height: 1.3; text-wrap: pretty; }
.le-navtext span[b-mlgzcarlyi] { font-size: 12px; opacity: .75; }

.le-navflag[b-mlgzcarlyi] {
    margin-left: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 11px;
}

.le-navflag.ok[b-mlgzcarlyi] { background: #e6f0e6; color: #2e7d32; }
.le-navflag.bad[b-mlgzcarlyi] { background: #fbf0ec; color: #8f3826; }

.le-railfoot[b-mlgzcarlyi] { padding: 14px 18px; border-top: 1px solid #f0e7cf; }

.le-checkrow[b-mlgzcarlyi] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid #f5eeda;
}

.le-checkmark[b-mlgzcarlyi] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    background: #f0e7cf;
    color: #8a8272;
}

.le-checkmark.ok[b-mlgzcarlyi] { background: #0a3161; color: #F5B921; }
.le-checklabel[b-mlgzcarlyi] { font-size: 14px; line-height: 1.4; color: #4a463d; text-wrap: pretty; }

/* ---- fields ---- */
.le-field[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 7px; }

.le-fieldhead[b-mlgzcarlyi] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.le-label[b-mlgzcarlyi] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8a6d1f; }

.le-input[b-mlgzcarlyi],
.le-textarea[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #101014;
    background: #F6F2E8;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 13px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.le-input.le-title[b-mlgzcarlyi] { font-size: 17px; font-weight: 600; padding: 12px 14px; }
.le-input.correct[b-mlgzcarlyi] { border-color: #F5B921; }
.le-textarea[b-mlgzcarlyi] { line-height: 1.55; resize: vertical; }
.le-input:focus[b-mlgzcarlyi], .le-textarea:focus[b-mlgzcarlyi] { border-color: #F5B921; }
.le-input[b-mlgzcarlyi]::placeholder, .le-textarea[b-mlgzcarlyi]::placeholder { color: #a8a293; }

/* ---- card heads ---- */
.le-cardhead[b-mlgzcarlyi] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.le-cardhead.split[b-mlgzcarlyi] { align-items: flex-end; flex-wrap: wrap; gap: 20px; }
.le-cardheadtext[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 3px; }
.le-cardbody[b-mlgzcarlyi] { padding: 22px 24px; }

/* ---- video ---- */
.le-videogrid[b-mlgzcarlyi] {
    display: grid;
    grid-template-columns: 264px 1fr;
    gap: 20px;
    align-items: start;
}

.le-thumb[b-mlgzcarlyi] {
    aspect-ratio: 16 / 9;
    border-radius: 9px;
    background: #0a3161;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.le-play[b-mlgzcarlyi] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #F5B921;
    color: #0a3161;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    padding-left: 3px;
}

.le-duration[b-mlgzcarlyi] {
    position: absolute;
    right: 9px;
    bottom: 9px;
    font-weight: 600;
    font-size: 12px;
    color: #F5B921;
    background: rgba(0, 0, 0, .45);
    border-radius: 4px;
    padding: 3px 7px;
}

.le-videometa[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 12px; }
.le-videonames[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 3px; }
.le-videonames strong[b-mlgzcarlyi] { font-weight: 600; font-size: 16px; color: #101014; overflow-wrap: anywhere; }
.le-videonames span[b-mlgzcarlyi] { font-size: 14px; }
.le-captionrow[b-mlgzcarlyi] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.le-videoactions[b-mlgzcarlyi] { display: flex; gap: 9px; flex-wrap: wrap; }

/* ---- drop zone (unused now - Video card is a URL field - kept for source fidelity) ---- */
.le-drop[b-mlgzcarlyi] {
    width: 100%;
    box-sizing: border-box;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
    padding: 40px 24px;
    border-radius: 10px;
    border: 2px dashed #d9cba4;
    background: #F6F2E8;
}

.le-drop:hover[b-mlgzcarlyi] { border-color: #0a3161; }
.le-drop.over[b-mlgzcarlyi] { border-color: #0a3161; background: #fdf4dd; }

.le-dropmark[b-mlgzcarlyi] {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #0a3161;
    color: #F5B921;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
}

.le-dropcopy[b-mlgzcarlyi] {
    font-size: 15px;
    line-height: 1.5;
    color: #6b665a;
    text-align: center;
    max-width: 380px;
    text-wrap: pretty;
}

.le-fakebtn[b-mlgzcarlyi] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border-radius: 6px;
    padding: 11px 22px;
    margin-top: 4px;
}

/* ---- diagrams ---- */
.le-diagrams[b-mlgzcarlyi] {
    padding: 20px 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.le-emptyline[b-mlgzcarlyi] { grid-column: 1 / -1; font-size: 15px; color: #8a8272; }
.le-diagram[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 8px; }

.le-diagramthumb[b-mlgzcarlyi] {
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: #F6F2E8;
    border: 1px solid #e2dac6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #b9ad93;
}

.le-diagramfoot[b-mlgzcarlyi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.le-diagramname[b-mlgzcarlyi] {
    font-size: 13px;
    color: #4a463d;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- quiz ---- */
.le-question[b-mlgzcarlyi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 24px;
    border-top: 1px solid #f0e7cf;
}

.le-question:nth-child(even)[b-mlgzcarlyi] { background: #fffdf7; }

.le-qhead[b-mlgzcarlyi] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.le-qheadleft[b-mlgzcarlyi] { display: flex; align-items: center; gap: 11px; }

.le-qnum[b-mlgzcarlyi] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 15px;
    background: #0a3161;
    color: #F5B921;
}

.le-typetabs[b-mlgzcarlyi] {
    display: flex;
    gap: 5px;
    background: #F6F2E8;
    border: 1px solid #e2dac6;
    border-radius: 7px;
    padding: 4px;
}

.le-typetab[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    border: none;
    border-radius: 5px;
    padding: 7px 12px;
    background: transparent;
    color: #4a463d;
}

.le-typetab.on[b-mlgzcarlyi] { background: #0a3161; color: #F5B921; }
.le-qactions[b-mlgzcarlyi] { display: flex; align-items: center; gap: 4px; }

.le-optionrow[b-mlgzcarlyi] { display: flex; align-items: center; gap: 10px; }

.le-dot[b-mlgzcarlyi] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    flex-shrink: 0;
    cursor: pointer;
    font-family: Barlow, sans-serif;
    font-weight: 700;
    font-size: 13px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #8a8272;
}

.le-dot.on[b-mlgzcarlyi] { border-color: #0a3161; background: #0a3161; color: #F5B921; }

.le-empty[b-mlgzcarlyi] {
    padding: 44px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
}

/* ---- modal ---- */
.le-scrim[b-mlgzcarlyi] {
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 32px 32px;
    overflow: auto;
}

.le-modal[b-mlgzcarlyi] {
    width: 100%;
    max-width: 520px;
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.le-modalhead[b-mlgzcarlyi] {
    padding: 22px 26px 16px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.le-modaltext[b-mlgzcarlyi] { display: flex; flex-direction: column; gap: 4px; }

.le-modaltitle[b-mlgzcarlyi] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    color: #0a3161;
}

.le-modaltitle.danger[b-mlgzcarlyi] { color: #b3452f; }

.le-close[b-mlgzcarlyi] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
}

.le-close:hover[b-mlgzcarlyi] { color: #0a3161; }

.le-modalfoot[b-mlgzcarlyi] {
    padding: 18px 26px;
    border-top: 1px solid #f0e7cf;
    background: #F6F2E8;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 1100px) {
    .le-main[b-mlgzcarlyi] { grid-template-columns: 1fr; }
    .le-rail[b-mlgzcarlyi] { position: static; }
    .le-videogrid[b-mlgzcarlyi] { grid-template-columns: 1fr; }
    .le-diagrams[b-mlgzcarlyi] { grid-template-columns: repeat(2, 1fr); }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.giq-login[b-zfr38nee4n] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    font-family: Barlow, Helvetica, sans-serif;
    color: #101014;
    background: #F5B921;
}

/* ---- left: brand panel ---- */
.giq-brand[b-zfr38nee4n] {
    padding: 56px 64px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 48px;
}
.giq-lockup[b-zfr38nee4n] { display: flex; align-items: center; gap: 18px; }
.giq-wordmark[b-zfr38nee4n] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-zfr38nee4n] {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700; font-size: 44px; letter-spacing: -.01em; color: #0A3161;
}
/* the knocked-out IQ - background-coloured fill, blue outline */
.giq-iq[b-zfr38nee4n] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-zfr38nee4n] {
    font-weight: 600; font-size: 11px; letter-spacing: .28em; color: #0A3161; margin-top: 11px;
}

.giq-pitch[b-zfr38nee4n] { display: flex; flex-direction: column; gap: 26px; max-width: 520px; }
.giq-pitch h1[b-zfr38nee4n] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 76px; line-height: .94; letter-spacing: -.02em; color: #0A3161; text-wrap: balance;
}
.giq-pitch p[b-zfr38nee4n] { margin: 0; font-size: 18px; line-height: 1.55; color: #4A3C14; text-wrap: pretty; }

.giq-foot[b-zfr38nee4n] { display: flex; gap: 26px; font-size: 13px; color: #7A5C10; }

/* ---- right: form panel ---- */
.giq-form[b-zfr38nee4n] {
    background: #0A3161;
    padding: 56px 64px;
    display: flex; align-items: center; justify-content: center;
}
.giq-card[b-zfr38nee4n] { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 18px; }
.giq-card header[b-zfr38nee4n] { display: flex; flex-direction: column; gap: 8px; }
.giq-card h2[b-zfr38nee4n] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 44px; line-height: 1; color: #F5B921;
}
.giq-card header p[b-zfr38nee4n] { margin: 0; font-size: 15px; color: #9DB4D2; }

.giq-card form[b-zfr38nee4n] { display: flex; flex-direction: column; gap: 18px; }

.giq-label[b-zfr38nee4n] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #9DB4D2; }

.giq-input[b-zfr38nee4n] {
    font-family: Barlow, sans-serif; font-size: 16px; color: #101014;
    background: #F6F2E8; border: 2px solid #F6F2E8; border-radius: 6px;
    padding: 14px 16px; outline: none; box-sizing: border-box; width: 100%;
    margin-top: 6px;
}
.giq-input:focus[b-zfr38nee4n] { border-color: #F5B921; }
.giq-input[b-zfr38nee4n]::placeholder { color: #A8A293; }
.giq-input.invalid[b-zfr38nee4n] { border-color: #E57373; }

.giq-fielderror[b-zfr38nee4n] { font-weight: 500; font-size: 13px; color: #FFB4AB; margin-top: -10px; }

.giq-rememberrow[b-zfr38nee4n] { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

.giq-remember[b-zfr38nee4n] {
    display: flex; align-items: center; gap: 10px;
    font-size: 15px; color: #CFDCEC; cursor: pointer;
}
.giq-remember input[b-zfr38nee4n] { width: 18px; height: 18px; accent-color: #F5B921; cursor: pointer; }

.giq-forgot[b-zfr38nee4n] { font-size: 13px; color: #F5B921; text-decoration: none; flex-shrink: 0; }
.giq-forgot:hover[b-zfr38nee4n] { text-decoration: underline; }

.giq-primary[b-zfr38nee4n] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px;
    letter-spacing: .06em; color: #0A3161; background: #F5B921;
    border: none; border-radius: 6px; padding: 16px; cursor: pointer; width: 100%;
}
.giq-primary:hover[b-zfr38nee4n] { background: #FFCA3D; }

.giq-error[b-zfr38nee4n] {
    background: rgba(229, 115, 115, .15);
    border: 1px solid #E57373;
    color: #FFB4AB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin: 0;
}

.giq-newuser[b-zfr38nee4n] { margin: 0; font-size: 15px; color: #9DB4D2; text-align: center; line-height: 1.7; }
.giq-newuser a[b-zfr38nee4n] { color: #F5B921; font-weight: 600; text-decoration: none; }
.giq-newuser a:hover[b-zfr38nee4n] { text-decoration: underline; }

/* ---- responsive ---- */
@media (max-width: 900px) {
    .giq-login[b-zfr38nee4n] { grid-template-columns: 1fr; }
    .giq-brand[b-zfr38nee4n] { padding: 40px 28px; gap: 32px; }
    .giq-pitch h1[b-zfr38nee4n] { font-size: 52px; }
    .giq-form[b-zfr38nee4n] { padding: 40px 28px; }
}
/* /Components/Pages/MaintenancePage.razor.rz.scp.css */
/* Literal brand hex values (navy #0c2340, gold #f5b921): this page doesn't load goldeniq.css. */

.mt-page[b-so67a35dnh] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    background: #f6f3ea;
    font-family: Barlow, system-ui, sans-serif;
}

.mt-card[b-so67a35dnh] {
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 28px 28px 24px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e3dccb;
    border-radius: 16px;
    box-shadow: 0 14px 40px rgba(12, 35, 64, 0.12);
}

.mt-art[b-so67a35dnh] {
    width: 100%;
    max-width: 420px;
    height: auto;
    margin-bottom: 6px;
}

.mt-kicker[b-so67a35dnh] {
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.14em;
    color: #8a6a0a;
}

.mt-title[b-so67a35dnh] {
    margin: 0;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-weight: 700;
    font-size: 44px;
    line-height: 1.05;
    color: #0c2340;
}

.mt-message[b-so67a35dnh] {
    margin: 4px 0 0;
    font-size: 18px;
    line-height: 1.45;
    color: #33445c;
    white-space: pre-line;
}

.mt-eta[b-so67a35dnh] {
    margin: 0;
    font-size: 16px;
    color: #0c2340;
}

.mt-note[b-so67a35dnh] {
    margin: 8px 0 0;
    font-size: 14px;
    color: #62738c;
}

.mt-admin[b-so67a35dnh] {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #0c2340;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mt-admin:hover[b-so67a35dnh] {
    color: #8a6a0a;
}

@media (max-width: 480px) {
    .mt-card[b-so67a35dnh] {
        padding: 20px 16px;
    }

    .mt-title[b-so67a35dnh] {
        font-size: 36px;
    }

    .mt-message[b-so67a35dnh] {
        font-size: 16px;
    }
}
/* /Components/Pages/Organization.razor.rz.scp.css */
/* Organization.razor - adapted from the design folder's Organization.razor.css. Shared chrome
   (giq-header, giq-main, giq-h1, giq-kicker, giq-card, giq-search, giq-chips/giq-chip, giq-tile,
   giq-person, giq-avatar, giq-pill, giq-bar, giq-cardtitle, giq-label, giq-count) all live in
   wwwroot/css/goldeniq.css already - this file only holds what's specific to this page. The roster
   table itself intentionally reuses TeamManagement.razor's own class names (giq-rhead/giq-rrow/
   giq-poscell/giq-pathwrap/giq-pstatus/giq-poschip/giq-tablefoot/giq-offtag) since Blazor CSS isolation
   is per-component and can't share a scoped rule by reference - same duplication AdminDashboard and
   TeamManagement already each accept for their own page-specific grids. */

.org-main[b-xn3zax6bun] { max-width: 1440px; display: flex; flex-direction: column; gap: 22px; }


/* ---------- not-enabled treatment (mirrors AdminDashboard/TeamManagement's own copies) ---------- */
/* .giq-nav-off was missing here entirely (AdminDashboard.razor.css defines it, but CSS isolation is
   per-component) - without it, the top nav's "Teams SOON"/"People SOON" etc. items rendered with the
   label and the SOON/OFF tag running together with no spacing or muted color at all (caught by Seth). */
button:disabled[b-xn3zax6bun] { cursor: not-allowed; opacity: .6; }

/* ---------- access-level pill (extends goldeniq.css's shared .giq-pill) ---------- */
.giq-pill.full[b-xn3zax6bun] { background: var(--giq-blue); color: var(--giq-gold); }
.giq-pill.roster[b-xn3zax6bun] { background: var(--giq-gold); color: var(--giq-blue); }
.giq-pill.view[b-xn3zax6bun] { background: #ECE5D5; color: var(--giq-ink-4); border: 1px solid var(--giq-line); }

/* ---------- two-pane body ---------- */
.org-body[b-xn3zax6bun] {
    display: grid;
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

/* ---------- team list ---------- */
.org-list[b-xn3zax6bun] { display: flex; flex-direction: column; }
.org-listhead[b-xn3zax6bun] { padding: 20px 20px 14px; display: flex; flex-direction: column; gap: 12px; }
.org-listtop[b-xn3zax6bun] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }

.org-teamrow[b-xn3zax6bun] {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    font-family: Barlow, sans-serif;
    padding: 14px 20px;
    border: none;
    border-top: 1px solid var(--giq-line-soft);
    background: transparent;
}

.org-teamrow:hover[b-xn3zax6bun] { background: var(--giq-bone); }
.org-teamrow.on[b-xn3zax6bun], .org-teamrow.on:hover[b-xn3zax6bun] { background: var(--giq-blue); }

.org-crest[b-xn3zax6bun] {
    width: 52px; height: 52px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px;
    background: var(--giq-bone); border: 1px solid var(--giq-line); color: var(--giq-blue);
}
.org-teamrow.on .org-crest[b-xn3zax6bun] { background: var(--giq-gold); border-color: var(--giq-gold); color: var(--giq-blue); }

.org-teamtext[b-xn3zax6bun] { display: flex; flex-direction: column; gap: 3px; line-height: 1.3; min-width: 0; }
.org-teamname[b-xn3zax6bun] { font-weight: 600; font-size: 16px; color: var(--giq-ink); }
.org-teamsub[b-xn3zax6bun] { font-size: 13px; color: var(--giq-ink-4); }
.org-teamrow.on .org-teamname[b-xn3zax6bun] { color: var(--giq-gold); }
.org-teamrow.on .org-teamsub[b-xn3zax6bun] { color: var(--giq-blue-soft); }

.org-teambar[b-xn3zax6bun] { display: flex; align-items: center; gap: 8px; width: 100%; padding-top: 4px; }
.org-teambar .giq-bar[b-xn3zax6bun] { flex: 1; }
.org-teampct[b-xn3zax6bun] { font-weight: 600; font-size: 12px; min-width: 32px; text-align: right; color: var(--giq-ink-4); }
.org-teamrow.on .org-teampct[b-xn3zax6bun] { color: var(--giq-blue-pale); }
.org-teamrow.on .giq-bar[b-xn3zax6bun] { background: var(--giq-blue-line); }
.org-teamrow.on .giq-bar > span[b-xn3zax6bun] { background: var(--giq-gold); }

.org-empty[b-xn3zax6bun] { padding: 18px 20px; font-size: 15px; color: var(--giq-ink-4); border-top: 1px solid var(--giq-line-soft); }

/* ---------- team detail ---------- */
.org-detail[b-xn3zax6bun] { display: flex; flex-direction: column; gap: 22px; min-width: 0; }

.org-teamhead[b-xn3zax6bun] {
    background: var(--giq-blue);
    border-radius: 12px;
    padding: 26px 26px 22px;
    display: flex; flex-direction: column; gap: 20px;
}

.org-teamheadtop[b-xn3zax6bun] { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.org-teamid[b-xn3zax6bun] { display: flex; align-items: center; gap: 18px; }

.org-crest-lg[b-xn3zax6bun] {
    width: 64px; height: 64px; border-radius: 12px;
    background: var(--giq-gold); color: var(--giq-blue);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px;
    flex-shrink: 0;
}

.org-teamidtext[b-xn3zax6bun] { display: flex; flex-direction: column; gap: 4px; line-height: 1.2; }
.org-teamtitle[b-xn3zax6bun] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 38px; line-height: 1; color: var(--giq-gold); }
.org-teammeta[b-xn3zax6bun] { font-size: 15px; color: var(--giq-blue-soft); }
.org-teamactions[b-xn3zax6bun] { display: flex; gap: 9px; flex-wrap: wrap; }

.org-btn-onnavy[b-xn3zax6bun] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px;
    color: var(--giq-blue-pale); background: transparent;
    border: 2px solid var(--giq-blue-border); border-radius: 6px; padding: 9px 15px; cursor: pointer;
}
.org-btn-onnavy:hover:not(:disabled)[b-xn3zax6bun] { border-color: var(--giq-gold); color: var(--giq-gold); }

.org-btn-gold[b-xn3zax6bun] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px;
    color: var(--giq-blue); background: var(--giq-gold); border: none; border-radius: 6px; padding: 9px 15px; cursor: pointer;
}
.org-btn-gold:hover:not(:disabled)[b-xn3zax6bun] { background: var(--giq-gold-hover); }
.org-btn-gold:disabled[b-xn3zax6bun], .org-btn-onnavy:disabled[b-xn3zax6bun] { opacity: .5; }

.org-teamstats[b-xn3zax6bun] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.org-teamstat[b-xn3zax6bun] {
    background: rgba(245, 185, 33, .10); border: 1px solid var(--giq-blue-line);
    border-radius: 9px; padding: 14px 16px; display: flex; flex-direction: column;
}
.org-teamstatlabel[b-xn3zax6bun] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: var(--giq-blue-soft); }
.org-teamstatnum[b-xn3zax6bun] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 30px; line-height: 1.15; color: var(--giq-gold); }

/* ---------- staff cards ----------
   Head Coach and Assistant Coaches are full-width sibling sections (not a paired two-column grid) so
   neither is height-matched to the other - a two-column grid row defaults to align-items:stretch,
   which previously forced Head Coach's card to inflate to match Assistant Coaches' height as the
   roster grew, leaving a large empty gap inside it. Assistant Coaches itself is a wrapping tile grid
   rather than one row per coach, so it grows sideways (more tiles per row) before it grows tall. */
.org-cardtop[b-xn3zax6bun] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }

.org-personname[b-xn3zax6bun] { font-weight: 600; font-size: 16px; color: var(--giq-ink); font-family: 'Barlow Condensed', sans-serif; font-size: 24px; }
.org-personname.sm[b-xn3zax6bun] { font-family: Barlow, sans-serif; font-size: 15px; font-weight: 600; }

/* .giq-card.pad (goldeniq.css) already sets flex-direction:column at equal (two-class) specificity -
   .giq-card.pad.org-headcoach's three classes are needed to reliably win over it regardless of
   stylesheet load order, rather than relying on a same-specificity tie (confirmed via computed-style
   inspection: a plain .org-headcoach rule lost the flex-direction property, though align-items still
   applied since goldeniq.css sets no competing value for it). */
.giq-card.pad.org-headcoach[b-xn3zax6bun] { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 20px; }
.org-headcoach .giq-person[b-xn3zax6bun] { flex: 1 1 auto; min-width: 220px; }

.org-staffgrid[b-xn3zax6bun] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.org-stafftile[b-xn3zax6bun] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--giq-line);
    border-radius: 10px;
    background: var(--giq-bone);
}
.org-stafftile .giq-pill[b-xn3zax6bun] { align-self: flex-start; }

/* GLDIQ-142: suspend/delete actions on each assistant-coach tile - .ac-actions is reused-by-name from
   AdminCoaches.razor.css's own copy (CSS isolation means it needs its own definition here too). */
.ac-actions[b-xn3zax6bun] { display: flex; flex-wrap: wrap; gap: 6px; }
.org-stafftile .org-personname.sm[b-xn3zax6bun],
.org-stafftile .giq-person-meta[b-xn3zax6bun] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* ---------- roster header (position filter chips + counts) ---------- */
.org-rosterhead[b-xn3zax6bun] { padding: 20px 22px 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* ---------- roster table - copied from TeamManagement.razor.css (Blazor CSS isolation is per-component) ---------- */
.giq-rhead[b-xn3zax6bun], .giq-rrow[b-xn3zax6bun] {
    display: grid;
    grid-template-columns: 2fr 1.4fr 1.6fr 0.9fr;
    align-items: center;
    gap: 12px;
}
.giq-rhead[b-xn3zax6bun] { padding: 12px 20px; background: var(--giq-bone); font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--giq-gold-ink); }
.giq-rrow[b-xn3zax6bun] { padding: 14px 20px; border-top: 1px solid var(--giq-line-soft); background: #FFFFFF; }
.giq-rrow.alt[b-xn3zax6bun] { background: var(--giq-card); }

.giq-poscell[b-xn3zax6bun] { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }
.giq-poschip[b-xn3zax6bun] { border-radius: 4px; font-weight: 600; font-size: 12px; padding: 3px 7px; background: var(--giq-bone); border: 1px solid var(--giq-line); color: var(--giq-ink-2); }
.giq-poschip.primary[b-xn3zax6bun] { background: var(--giq-blue); color: var(--giq-gold); border-color: transparent; }

.giq-pathwrap[b-xn3zax6bun] { display: flex; flex-direction: column; gap: 5px; }
.giq-pathwrap .giq-bar[b-xn3zax6bun] { flex: none; width: 100%; height: 6px; }
.giq-pathcell[b-xn3zax6bun] { font-size: 14px; color: var(--giq-ink); }
.giq-pathcell.none[b-xn3zax6bun] { font-size: 13px; color: #B0A891; font-style: italic; }
.giq-pathpct[b-xn3zax6bun] { font-weight: 600; font-size: 12px; color: var(--giq-ink-2); }

.giq-pstatus[b-xn3zax6bun] { justify-self: start; font-weight: 600; font-size: 11px; letter-spacing: .1em; border-radius: 4px; padding: 5px 9px; background: var(--giq-gold); color: var(--giq-blue); }
.giq-pstatus.pending[b-xn3zax6bun] { background: #ECE5D5; color: var(--giq-gold-ink); border: 1px solid #D9CBA4; }
.giq-pstatus.suspended[b-xn3zax6bun] { background: #B3452F; color: #FFFFFF; }

.giq-tablefoot[b-xn3zax6bun] { padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--giq-line-soft); }

/* ---------- narrow ---------- */
@media (max-width: 1100px) {
    .org-body[b-xn3zax6bun] { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .giq-rhead[b-xn3zax6bun] { display: none; }
    .giq-rrow[b-xn3zax6bun] { grid-template-columns: 1fr; row-gap: 10px; }
}

/* Jersey number badge (Player.Number) - a solid navy/gold chip next to the player's name, visually
   distinct from the outlined position chips (.giq-poschip) since it identifies the player rather than
   describing what they play. */
.giq-numchip[b-xn3zax6bun] {
    border-radius: 4px; font-weight: 700; font-size: 12px; padding: 2px 6px;
    background: var(--giq-blue); color: var(--giq-gold); flex-shrink: 0;
}

/* The "SOON" tag on the disabled ADD A TEAM / Edit team / Open team page / Export roster / Invite a player
   buttons. Same rule TeamManagement.razor.css carries (scoped CSS cannot be shared by reference); this page
   had none, so the tag rendered as plain text glued to the label ("ADD A TEAMSOON"). */
.giq-offtag[b-xn3zax6bun] {
    display: inline-block;
    margin-left: 8px;
    font-weight: 700;
    font-size: 9px;
    letter-spacing: .12em;
    background: rgba(10, 49, 97, .14);
    color: #7A5C10;
    border-radius: 3px;
    padding: 3px 5px;
}
/* /Components/Pages/PathReviewQueue.razor.rz.scp.css */
/* PathReviewQueue.razor - scoped. Table row/ghost-button classes mirror TeamManagement.razor.css's
   roster table (Blazor CSS isolation means each page needs its own copy of these, even reusing the
   same "giq-r*" class names goldeniq.css doesn't itself define globally). */

.giq-rhead[b-af6g4fk3rq], .giq-rrow[b-af6g4fk3rq] {
    display: grid;
    align-items: center;
    gap: 12px;
}

.giq-rhead[b-af6g4fk3rq] {
    padding: 12px 20px;
    background: var(--giq-bone);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .14em;
    color: var(--giq-gold-ink);
}

.giq-rrow[b-af6g4fk3rq] {
    padding: 14px 20px;
    border-top: 1px solid var(--giq-line-soft);
    background: #FFFFFF;
}

.giq-rrow.alt[b-af6g4fk3rq] { background: var(--giq-card); }

.giq-btn-ghost[b-af6g4fk3rq] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: var(--giq-blue);
    background: transparent;
    border: 2px solid var(--giq-line);
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.giq-btn-ghost:hover:not(:disabled)[b-af6g4fk3rq] { border-color: var(--giq-blue); }
.giq-btn-ghost:disabled[b-af6g4fk3rq] { opacity: .45; cursor: default; }

@media (max-width: 900px) {
    .giq-rhead[b-af6g4fk3rq] { display: none; }
    .giq-rrow[b-af6g4fk3rq] { grid-template-columns: 1fr !important; row-gap: 10px; }
}
/* /Components/Pages/PathRunner.razor.rz.scp.css */
/* Training Path Runner - player-facing, scoped. Shared chrome lives in goldeniq.css. Ported 1:1 from
   the design folder's blazor/Pages/PathRunner.razor.css, minus rules for mockup elements this app
   dropped (the placeholder play-button/caption/length overlay - replaced by a real YouTube iframe
   filling the same .pr-video box; the "situation" callout and coach-note line - see PathRunner.razor's
   own header comment for why). */

/* ---------- path header band ---------- */
.pr-band[b-deanyhs8n5] { background: #0a3161; padding: 22px 32px 24px; }
.pr-bandinner[b-deanyhs8n5] { max-width: 1380px; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.pr-back[b-deanyhs8n5] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #F5B921; }
.pr-back:hover[b-deanyhs8n5] { color: #ffca3d; }
.pr-pathtitle[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 46px; line-height: 1.02; letter-spacing: -.01em; color: #fff; text-wrap: pretty; }
.pr-pathmeta[b-deanyhs8n5] { font-size: 15px; color: #a9bdd6; }
.pr-headtext[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 7px; min-width: 0; }

.pr-progress[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 9px; width: 330px; flex-shrink: 0; }
.pr-progresstop[b-deanyhs8n5] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.pr-progresslabel[b-deanyhs8n5] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #F5B921; }
.pr-progresscount[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 26px; line-height: 1; color: #fff; }
.pr-track[b-deanyhs8n5] { height: 10px; background: rgba(255, 255, 255, .16); border-radius: 5px; overflow: hidden; }
.pr-bar[b-deanyhs8n5] { height: 10px; border-radius: 5px; background: #F5B921; }
.pr-progressnote[b-deanyhs8n5] { font-size: 14px; color: #a9bdd6; text-wrap: pretty; }

/* ---------- layout ---------- */
.pr-main[b-deanyhs8n5] { max-width: 1380px; margin: 0 auto; padding: 24px 32px 56px; display: grid; grid-template-columns: 340px 1fr; gap: 24px; align-items: start; }
.pr-rail[b-deanyhs8n5] { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 14px; }
.pr-stage[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pr-card[b-deanyhs8n5] { background: #fffdf7; border: 1px solid #e2dac6; border-radius: 14px; overflow: hidden; }
.pr-h2[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 23px; line-height: 1; color: #0a3161; }
.pr-sub[b-deanyhs8n5] { font-size: 13px; color: #8a8272; }

/* ---------- lesson rail ---------- */
.pr-railhead[b-deanyhs8n5] { padding: 17px 20px 14px; border-bottom: 1px solid #f0e7cf; display: flex; flex-direction: column; gap: 2px; }
.pr-lesson[b-deanyhs8n5] {
    width: 100%; box-sizing: border-box; display: flex; align-items: center; gap: 13px; text-align: left;
    font-family: Barlow, sans-serif; padding: 14px 20px; border: none; border-bottom: 1px solid #f5eeda;
    background: transparent; cursor: pointer;
}
.pr-lesson.on[b-deanyhs8n5] { background: #fdf4dd; box-shadow: inset 4px 0 0 #F5B921; }
.pr-lesson.locked[b-deanyhs8n5] { cursor: default; }
.pr-lesson:hover:not(.on):not(.locked)[b-deanyhs8n5] { background: #fdfbf4; }

.pr-badge[b-deanyhs8n5] {
    width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center;
    justify-content: center; font-weight: 700; font-size: 14px;
    background: #fff; border: 2px solid #e2dac6; color: #8a8272;
}
.pr-badge.done[b-deanyhs8n5] { background: #0a3161; border-color: #0a3161; color: #F5B921; }
.pr-badge.current[b-deanyhs8n5] { background: #F5B921; border-color: #F5B921; color: #0a3161; }
.pr-badge.locked[b-deanyhs8n5] { background: #efe9d9; border-color: #efe9d9; color: #b5ae9c; }

.pr-lessontext[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.pr-lessontitle[b-deanyhs8n5] { font-weight: 600; font-size: 16px; line-height: 1.3; color: #101014; text-wrap: pretty; }
.pr-lesson.locked .pr-lessontitle[b-deanyhs8n5] { color: #b5ae9c; }
.pr-lessonmeta[b-deanyhs8n5] { font-size: 13px; color: #8a8272; }
.pr-lessonscore[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 19px; flex-shrink: 0; color: #2e7d32; }
.pr-lessonscore.fail[b-deanyhs8n5] { color: #b3452f; }

.pr-note[b-deanyhs8n5] { background: #fdf4dd; border: 1px solid #e8d9ae; border-radius: 12px; padding: 17px 20px; display: flex; flex-direction: column; gap: 7px; }
.pr-notelabel[b-deanyhs8n5] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8a6d1f; }
.pr-notebody[b-deanyhs8n5] { font-size: 14px; line-height: 1.5; color: #4a463d; text-wrap: pretty; }

/* ---------- path complete banner ---------- */
.pr-complete[b-deanyhs8n5] { background: #0a3161; border-radius: 14px; padding: 32px 34px; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.pr-completetext[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 8px; max-width: 620px; }
.pr-completetitle[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 38px; line-height: 1.05; color: #fff; text-wrap: pretty; }
.pr-completebody[b-deanyhs8n5] { font-size: 16px; line-height: 1.5; color: #dce6f2; text-wrap: pretty; }
.pr-completecta[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 10px; }
.pr-completelink[b-deanyhs8n5] { font-weight: 600; font-size: 14px; color: #F5B921; text-align: center; }

/* ---------- stage head + steps ---------- */
.pr-stagehead[b-deanyhs8n5] { padding: 22px 30px 18px; border-bottom: 1px solid #f0e7cf; display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; flex-wrap: wrap; }
.pr-eyebrow[b-deanyhs8n5] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8a6d1f; }
.pr-stagetitle[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 34px; line-height: 1.05; color: #0a3161; text-wrap: pretty; }
.pr-stagenav[b-deanyhs8n5] { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }

.pr-btn-sm[b-deanyhs8n5] {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .04em;
    border-radius: 6px; padding: 8px 16px; cursor: pointer;
    background: transparent; border: 2px solid #e2dac6; color: #0a3161;
}
.pr-btn-sm:hover:enabled[b-deanyhs8n5] { border-color: #0a3161; }
.pr-btn-sm:disabled[b-deanyhs8n5] { border-color: #efe9d9; color: #c4bda9; cursor: default; }
.pr-btn-sm.solid[b-deanyhs8n5] { background: #0a3161; border-color: #0a3161; color: #F5B921; padding: 10px 18px; }
.pr-btn-sm.solid:hover:enabled[b-deanyhs8n5] { background: #0d3d78; }
.pr-btn-sm.solid:disabled[b-deanyhs8n5] { background: #f2ecdb; border-color: #f2ecdb; color: #c4bda9; }

.pr-steps[b-deanyhs8n5] { display: flex; padding: 0 30px; border-bottom: 1px solid #f0e7cf; }
.pr-step[b-deanyhs8n5] {
    display: flex; align-items: center; gap: 8px; font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px;
    background: transparent; border: none; border-bottom: 3px solid transparent; padding: 14px 20px 12px;
    margin-right: 6px; cursor: pointer; color: #8a8272;
}
.pr-step.on[b-deanyhs8n5] { color: #0a3161; border-bottom-color: #F5B921; }
.pr-step:disabled[b-deanyhs8n5] { color: #c4bda9; cursor: default; }
.pr-stepdot[b-deanyhs8n5] {
    width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 11px; background: #f0e7cf; color: #8a8272;
}
.pr-step.on .pr-stepdot[b-deanyhs8n5] { background: #0a3161; color: #F5B921; }

/* ---------- archived-path banner ---------- */
/* Same amber "locked" visual language as Position Path Builder's own .pb-lock (a scoped rule there,
   not reusable here across components even though Blazor bundles every .razor.css into one file - a
   component's scoped selectors only ever match elements that component itself rendered). */
.pr-archivedbanner[b-deanyhs8n5] {
    background: #fdf4dd;
    border: 1px solid #e8d9ae;
    border-radius: 10px;
    padding: 16px 30px;
    margin: 20px 32px 0;
    display: flex;
    align-items: flex-start;
    gap: 13px;
}
.pr-archivedmark[b-deanyhs8n5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #8a6d1f;
    line-height: 1.2;
    white-space: nowrap;
}
.pr-archivedtext[b-deanyhs8n5] {
    font-size: 15px;
    line-height: 1.5;
    color: #4a463d;
    text-wrap: pretty;
}

/* ---------- watch ---------- */
.pr-video[b-deanyhs8n5] { position: relative; aspect-ratio: 16 / 9; background: linear-gradient(160deg, #12233a 0%, #0d1218 70%); display: flex; align-items: center; justify-content: center; }
.pr-watchbody[b-deanyhs8n5] { padding: 24px 30px 26px; display: flex; flex-direction: column; gap: 16px; }

/* A lesson with no video (diagram-only) shows its still here instead - same box, contain rather than
   cover so an annotated diagram's labels never get cropped like a video's b-roll safely could be. */
.pr-diagram[b-deanyhs8n5] { max-width: 100%; max-height: 100%; object-fit: contain; }
.pr-diagramcaption[b-deanyhs8n5] { position: absolute; left: 16px; bottom: 16px; color: #d8e2f0; font-size: 13px; }
.pr-diagramnav[b-deanyhs8n5] {
    position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 10px;
    color: #d8e2f0; font-size: 13px;
}
/* .pr-btn-sm's navy-on-transparent styling (built for the light page chrome above) would be nearly
   invisible against .pr-video's own dark gradient, so the diagram prev/next controls get their own
   light-on-dark treatment instead of reusing it here. */
.pr-diagramnav .pr-btn-sm[b-deanyhs8n5] {
    border-color: rgba(255, 255, 255, .35); color: #d8e2f0; padding: 4px 10px; font-size: 15px;
}
.pr-diagramnav .pr-btn-sm:hover:enabled[b-deanyhs8n5] { border-color: #F5B921; color: #F5B921; }
.pr-blurb[b-deanyhs8n5] { font-size: 17px; line-height: 1.6; color: #4a463d; max-width: 760px; text-wrap: pretty; }
.pr-ctarow[b-deanyhs8n5] { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.pr-btn-primary[b-deanyhs8n5] {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 20px; letter-spacing: .05em;
    color: #0a3161; background: #F5B921; border: none; border-radius: 6px; padding: 13px 30px; cursor: pointer;
}
.pr-btn-primary:hover:enabled[b-deanyhs8n5] { background: #ffca3d; }
.pr-btn-primary:disabled[b-deanyhs8n5] { background: #f2ecdb; color: #c4bda9; cursor: default; }
.pr-btn-primary.compact[b-deanyhs8n5] { font-size: 19px; padding: 12px 26px; }

.pr-linkbtn[b-deanyhs8n5] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #0a3161;
    background: transparent; border: none; padding: 0; cursor: pointer;
    text-decoration: underline; text-underline-offset: 3px;
}
.pr-linkbtn:hover[b-deanyhs8n5] { color: #7a5c10; }
.pr-hint[b-deanyhs8n5] { font-size: 14px; color: #8a8272; }

/* ---------- quiz ---------- */
.pr-quiz[b-deanyhs8n5] { padding: 26px 30px 28px; display: flex; flex-direction: column; gap: 20px; }
.pr-quiztop[b-deanyhs8n5] { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pr-counter[b-deanyhs8n5] { font-weight: 600; font-size: 13px; letter-spacing: .12em; color: #8a6d1f; }
.pr-pips[b-deanyhs8n5] { display: flex; gap: 6px; }
.pr-pip[b-deanyhs8n5] { width: 26px; height: 6px; border-radius: 3px; background: #e6ddc6; }
.pr-pip.now[b-deanyhs8n5] { background: #0a3161; }
.pr-pip.right[b-deanyhs8n5] { background: #2e7d32; }
.pr-pip.wrong[b-deanyhs8n5] { background: #b3452f; }

.pr-prompt[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 31px; line-height: 1.15; color: #0a3161; max-width: 820px; text-wrap: pretty; }

.pr-options[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 10px; max-width: 820px; }
.pr-option[b-deanyhs8n5] {
    display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box;
    font-family: Barlow, sans-serif; text-align: left; border-radius: 10px; padding: 15px 18px;
    border: 2px solid #e6ddc6; background: #fff; cursor: pointer;
}
.pr-option:hover:enabled[b-deanyhs8n5] { border-color: #F5B921; }
.pr-option:disabled[b-deanyhs8n5] { cursor: default; }
.pr-option.correct[b-deanyhs8n5] { border-color: #2e7d32; background: #e6f0e6; }
.pr-option.wrong[b-deanyhs8n5] { border-color: #b3452f; background: #f8ece8; }
.pr-option.muted[b-deanyhs8n5] { background: #fdfbf4; }
.pr-optkey[b-deanyhs8n5] {
    width: 30px; height: 30px; border-radius: 6px; flex-shrink: 0; display: flex; align-items: center;
    justify-content: center; font-weight: 700; font-size: 14px; background: #F6F2E8; color: #8a8272;
}
.pr-option.picked .pr-optkey[b-deanyhs8n5] { background: #0a3161; color: #F5B921; }
.pr-opttext[b-deanyhs8n5] { flex: 1; font-size: 17px; line-height: 1.45; color: #101014; text-wrap: pretty; }
.pr-optmark[b-deanyhs8n5] { font-weight: 700; font-size: 18px; flex-shrink: 0; }
.pr-optmark.ok[b-deanyhs8n5] { color: #2e7d32; }
.pr-optmark.no[b-deanyhs8n5] { color: #b3452f; }

.pr-feedback[b-deanyhs8n5] { display: flex; align-items: flex-start; gap: 14px; border-radius: 10px; padding: 18px 20px; max-width: 820px; background: #e6f0e6; border: 1px solid #c3ddc4; }
.pr-feedback.wrong[b-deanyhs8n5] { background: #f8ece8; border-color: #e8cfc7; }
.pr-feedbacktag[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; line-height: 1.3; white-space: nowrap; color: #2e7d32; }
.pr-feedback.wrong .pr-feedbacktag[b-deanyhs8n5] { color: #b3452f; }
.pr-feedbacktext[b-deanyhs8n5] { font-size: 17px; line-height: 1.55; color: #101014; text-wrap: pretty; }

/* ---------- result ---------- */
.pr-result[b-deanyhs8n5] { padding: 28px 30px 30px; display: flex; flex-direction: column; gap: 22px; }
.pr-resulttop[b-deanyhs8n5] { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.pr-ring[b-deanyhs8n5] {
    width: 118px; height: 118px; border-radius: 50%; flex-shrink: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 2px; border: 7px solid #e8cfc7; background: #fffdf7;
}
.pr-ring.passed[b-deanyhs8n5] { border-color: #F5B921; }
.pr-ringvalue[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 38px; line-height: 1; color: #0a3161; }
.pr-ringlabel[b-deanyhs8n5] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8a6d1f; }
.pr-resulttitle[b-deanyhs8n5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 30px; line-height: 1.1; color: #0a3161; text-wrap: pretty; }
.pr-resultbody[b-deanyhs8n5] { font-size: 16px; line-height: 1.55; color: #4a463d; max-width: 620px; text-wrap: pretty; }

.pr-recap[b-deanyhs8n5] { display: flex; flex-direction: column; gap: 9px; }
.pr-recaprow[b-deanyhs8n5] { display: flex; align-items: flex-start; gap: 13px; padding: 13px 0; border-top: 1px solid #f0e7cf; }
.pr-recapmark[b-deanyhs8n5] {
    width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center;
    justify-content: center; font-weight: 700; font-size: 12px; margin-top: 2px;
    background: #f8ece8; color: #b3452f;
}
.pr-recapmark.ok[b-deanyhs8n5] { background: #e6f0e6; color: #2e7d32; }
.pr-recapprompt[b-deanyhs8n5] { font-weight: 600; font-size: 16px; line-height: 1.35; color: #101014; text-wrap: pretty; }
.pr-recapnote[b-deanyhs8n5] { font-size: 14px; line-height: 1.45; color: #8a8272; text-wrap: pretty; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
    .pr-main[b-deanyhs8n5] { grid-template-columns: 1fr; }
    .pr-rail[b-deanyhs8n5] { position: static; }
    .pr-progress[b-deanyhs8n5] { width: 100%; }
}

@media (max-width: 720px) {
    .pr-band[b-deanyhs8n5] { padding: 18px 16px 20px; }
    .pr-main[b-deanyhs8n5] { padding: 20px 16px 40px; }
    .pr-pathtitle[b-deanyhs8n5] { font-size: 34px; }
    .pr-stagehead[b-deanyhs8n5] { padding: 18px 20px 14px; }
    .pr-stagetitle[b-deanyhs8n5] { font-size: 27px; }
    .pr-steps[b-deanyhs8n5] { padding: 0 12px; }
    .pr-step[b-deanyhs8n5] { padding: 12px 12px 10px; margin-right: 0; }
    .pr-quiz[b-deanyhs8n5],
    .pr-result[b-deanyhs8n5],
    .pr-watchbody[b-deanyhs8n5] { padding: 20px; }
    .pr-prompt[b-deanyhs8n5] { font-size: 25px; }
    /* 44px minimum hit target on the answer rows */
    .pr-option[b-deanyhs8n5] { padding: 16px; }
}
/* /Components/Pages/PlayerDashboard.razor.rz.scp.css */
/* Player dashboard - ported from the design-folder mockup's own PlayerDashboard.razor.css.
   Only .giq-resume survives here; .giq-option/.giq-result/.giq-scorebadge/.giq-bulk-go/.giq-assign
   belonged to sections dropped for lack of domain backing (see the top-of-file comment in
   PlayerDashboard.razor) so weren't ported. Everything else this page uses (.giq-tier, .giq-card-gold,
   .giq-split.player, .giq-lb-*, .giq-eyebrow, etc.) already lives in the shared goldeniq.css. */

.giq-resume[b-ier2eb8tdt] {
    background: var(--giq-blue); border-radius: 12px; padding: 26px;
    display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap;
}
/* /Components/Pages/PlayerInvite.razor.rz.scp.css */
/* Player invite acceptance — same split shell as Login/SignUpCoach */

.giq-invitepage[b-zbrxbjitsc] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    font-family: Barlow, Helvetica, sans-serif;
    color: #101014;
    background: #F5B921;
}

/* ---- left: invite context ---- */
.giq-brand[b-zbrxbjitsc] {
    padding: 56px 64px;
    display: flex; flex-direction: column; justify-content: space-between; gap: 44px;
}
.giq-lockup[b-zbrxbjitsc] { display: flex; align-items: center; gap: 18px; }
.giq-wordmark[b-zbrxbjitsc] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-zbrxbjitsc] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 44px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-zbrxbjitsc] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-zbrxbjitsc] { font-weight: 600; font-size: 11px; letter-spacing: .28em; color: #0A3161; margin-top: 11px; }

.giq-pitch[b-zbrxbjitsc] { display: flex; flex-direction: column; gap: 26px; max-width: 520px; }
.giq-pitch h1[b-zbrxbjitsc] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 66px; line-height: .94; letter-spacing: -.02em; color: #0A3161; text-wrap: balance;
}

.giq-invitebadge[b-zbrxbjitsc] {
    display: inline-flex; align-self: flex-start; align-items: center; gap: 9px;
    background: #0A3161; border-radius: 20px; padding: 8px 16px;
    font-weight: 600; font-size: 13px; letter-spacing: .14em; color: #F5B921;
}
.giq-invitebadge i[b-zbrxbjitsc] { width: 8px; height: 8px; border-radius: 50%; background: #F5B921; }

.giq-coachcard[b-zbrxbjitsc] {
    background: #FFFDF7; border-radius: 12px; padding: 22px;
    display: flex; flex-direction: column; gap: 18px;
}
.giq-coach[b-zbrxbjitsc] { display: flex; align-items: center; gap: 14px; }
.giq-coach-av[b-zbrxbjitsc] {
    width: 52px; height: 52px; border-radius: 50%; background: #0A3161; color: #F5B921;
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex-shrink: 0;
}
.giq-coach > div[b-zbrxbjitsc] { display: flex; flex-direction: column; line-height: 1.3; }
.giq-coach .n[b-zbrxbjitsc] { font-weight: 700; font-size: 18px; color: #101014; }
.giq-coach .r[b-zbrxbjitsc] { font-size: 14px; color: #6B665A; }
.giq-hr[b-zbrxbjitsc] { height: 1px; background: #F0E7CF; }

.giq-waiting[b-zbrxbjitsc] { display: flex; flex-direction: column; gap: 10px; }
.giq-eyebrow[b-zbrxbjitsc] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8A6D1F; }
.giq-waitrow[b-zbrxbjitsc] { display: flex; align-items: baseline; gap: 12px; }
.giq-waitrow .c[b-zbrxbjitsc] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px;
    color: #F5B921; min-width: 26px; line-height: 1.2;
}
.giq-waitrow .l[b-zbrxbjitsc] { font-size: 15px; color: #4A463D; }
.giq-waitnote[b-zbrxbjitsc] { font-size: 14px; line-height: 1.5; color: #6B665A; }

.giq-fineprint[b-zbrxbjitsc] { margin: 0; font-size: 15px; line-height: 1.55; color: #4A3C14; text-wrap: pretty; }

.giq-foot[b-zbrxbjitsc] { display: flex; gap: 26px; font-size: 13px; color: #7A5C10; }
.giq-foot a[b-zbrxbjitsc] { color: #0A3161; text-decoration: none; }
.giq-foot a:hover[b-zbrxbjitsc] { color: #7A5C10; text-decoration: underline; }

/* ---- right: accept form ---- */
.giq-form[b-zbrxbjitsc] { background: #0A3161; padding: 48px 64px; display: flex; align-items: center; justify-content: center; }
.giq-card[b-zbrxbjitsc] { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 22px; }
.giq-card header[b-zbrxbjitsc] { display: flex; flex-direction: column; gap: 8px; }
.giq-card h2[b-zbrxbjitsc] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1; color: #F5B921;
}
.giq-card header p[b-zbrxbjitsc] { margin: 0; font-size: 15px; color: #9DB4D2; }

.giq-error[b-zbrxbjitsc] {
    background: rgba(229, 115, 115, .15);
    border: 1px solid #E57373;
    color: #FFB4AB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin: 0;
}

.giq-two[b-zbrxbjitsc] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.giq-field[b-zbrxbjitsc] { display: flex; flex-direction: column; gap: 7px; }
.giq-label[b-zbrxbjitsc] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #9DB4D2; }
.giq-hint[b-zbrxbjitsc] { color: #6F8BB0; letter-spacing: 0; font-weight: 400; text-transform: none; }

.giq-input[b-zbrxbjitsc] {
    font-family: Barlow, sans-serif; font-size: 16px; color: #101014;
    background: #F6F2E8; border: 2px solid #F6F2E8; border-radius: 6px;
    padding: 13px 15px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-input:focus[b-zbrxbjitsc] { border-color: #F5B921; }
.giq-input[b-zbrxbjitsc]::placeholder { color: #A8A293; }
.giq-input.locked[b-zbrxbjitsc] { background: #E6E0D0; border-color: #E6E0D0; color: #5D5749; }

.giq-strength[b-zbrxbjitsc] { display: flex; align-items: center; gap: 10px; margin-top: 3px; }
.giq-strength-track[b-zbrxbjitsc] { flex: 1; height: 5px; border-radius: 3px; background: #1D4677; }
.giq-strength-fill[b-zbrxbjitsc] { height: 5px; border-radius: 3px; transition: width .18s ease; }
.giq-strength-label[b-zbrxbjitsc] { font-weight: 600; font-size: 13px; min-width: 66px; text-align: right; }

.giq-chips[b-zbrxbjitsc] { display: flex; gap: 7px; flex-wrap: wrap; }
.giq-chip-dark[b-zbrxbjitsc] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; cursor: pointer;
    border-radius: 20px; padding: 8px 14px;
    border: 2px solid #2B5488; background: transparent; color: #CFDCEC;
}
.giq-chip-dark.on[b-zbrxbjitsc] { border-color: #F5B921; background: #F5B921; color: #0A3161; }

.giq-terms[b-zbrxbjitsc] { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.5; color: #CFDCEC; cursor: pointer; }
.giq-terms input[b-zbrxbjitsc] { width: 18px; height: 18px; accent-color: #F5B921; cursor: pointer; margin-top: 2px; flex-shrink: 0; }

.giq-primary[b-zbrxbjitsc] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 23px; letter-spacing: .06em;
    color: #0A3161; background: #F5B921; border: none; border-radius: 6px; padding: 16px; width: 100%; cursor: pointer;
    text-align: center; text-decoration: none; display: block; box-sizing: border-box;
}
.giq-primary:hover:not(:disabled)[b-zbrxbjitsc] { background: #FFCA3D; }
.giq-primary:disabled[b-zbrxbjitsc] { opacity: .5; cursor: default; }

.giq-decline[b-zbrxbjitsc] { margin: 0; font-size: 14px; color: #6F8BB0; text-align: center; }
.giq-declinebtn[b-zbrxbjitsc] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px; color: #9DB4D2;
    background: transparent; border: none; cursor: pointer; padding: 0;
}
.giq-declinebtn:hover[b-zbrxbjitsc] { color: #F5B921; text-decoration: underline; }

/* ---- loading skeleton (Shared/Skel.razor) - copied from goldeniq.css's own .giq-skel rule since this
   page deliberately doesn't link goldeniq.css globally (same reasoning as every other invite/login page
   in this app: goldeniq.css's own global rules aren't scoped to this page's design and would leak in) ---- */
@keyframes giq-shimmer-b-zbrxbjitsc {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.giq-skel[b-zbrxbjitsc] {
    display: inline-block;
    border-radius: 4px;
    background: linear-gradient(90deg, #E2DAC6 25%, #F0E7CF 37%, #E2DAC6 63%);
    background-size: 400% 100%;
    animation: giq-shimmer-b-zbrxbjitsc 1.4s ease infinite;
    vertical-align: middle;
}
.giq-skel.circle[b-zbrxbjitsc] { border-radius: 50%; }

/* ---- error / declined state ---- */
.giq-invitepage-error[b-zbrxbjitsc] { display: flex; align-items: center; justify-content: center; padding: 32px; }
.giq-errorcard[b-zbrxbjitsc] {
    background: #FFFDF7; border-radius: 14px; padding: 40px; max-width: 480px;
    display: flex; flex-direction: column; gap: 18px; text-align: center; align-items: center;
}
.giq-errorcard h1[b-zbrxbjitsc] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 36px; color: #0A3161;
}
.giq-errorcard p[b-zbrxbjitsc] { margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; }
.giq-errorlink[b-zbrxbjitsc] { max-width: 280px; }

@media (max-width: 900px) {
    .giq-invitepage[b-zbrxbjitsc] { grid-template-columns: 1fr; }
    .giq-brand[b-zbrxbjitsc] { padding: 40px 28px; gap: 32px; }
    .giq-pitch h1[b-zbrxbjitsc] { font-size: 46px; }
    .giq-form[b-zbrxbjitsc] { padding: 40px 28px; }
    .giq-two[b-zbrxbjitsc] { grid-template-columns: 1fr; }
}
/* /Components/Pages/PlayerProfile.razor.rz.scp.css */
/* Player profile - scoped. Shared giq-* classes live in wwwroot/css/goldeniq.css.
   Sticky left rail (identity/contact), matching the design folder's PlayerProfile.razor.css
   pp-rail/pp-main values exactly (340px rail, 24px gap, sticky top:20px, collapsing to a single
   column under 1100px - the same breakpoint goldeniq.css's own .giq-split already collapses at). */

.pp-main[b-tzj5l0wuf0] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 24px;
    align-items: start;
}

.pp-rail[b-tzj5l0wuf0] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: calc(var(--giq-header-h, 64px) + 20px);
}

.pp-content[b-tzj5l0wuf0] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Golden IQ Score tile: title gold / value white, reversed from goldeniq.css's shared .giq-tile.navy
   default (blue-soft label, gold number) - scoped here rather than changed on the shared class itself,
   since .giq-tile.navy may get reused elsewhere later and shouldn't inherit this page's own preference.
   Selector chains all three classes (not just .pp-scoretile) so it's unambiguously more specific than
   goldeniq.css's own ".giq-tile.navy .giq-tile-label" rule - matching specificity lost the cascade
   tie to source order the first time this was tried (goldeniq.css's <link> loads after this page's
   own scoped-styles bundle), so equal-specificity wasn't enough. */
.giq-tile.navy.pp-scoretile .giq-tile-label[b-tzj5l0wuf0] { color: var(--giq-gold); }
.giq-tile.navy.pp-scoretile .giq-tile-num[b-tzj5l0wuf0] { color: #FFFFFF; }

/* ---- identity card: navy header (gold avatar circle) + a plain fact list below,
   values match the design folder's PlayerProfile.razor.css exactly ---- */
.pp-idcard[b-tzj5l0wuf0] { overflow: hidden; }

.pp-idhead[b-tzj5l0wuf0] {
    background: var(--giq-blue);
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.pp-avatar[b-tzj5l0wuf0] {
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: var(--giq-gold);
    color: var(--giq-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 1;
    overflow: hidden;
}

.pp-idnames[b-tzj5l0wuf0] { display: flex; flex-direction: column; align-items: center; gap: 5px; }

.pp-idname[b-tzj5l0wuf0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 34px;
    line-height: 1;
    color: #ffffff;
    text-align: center;
}

.pp-idsub[b-tzj5l0wuf0] { font-weight: 600; font-size: 14px; letter-spacing: .1em; color: var(--giq-gold); }
.pp-idbadges[b-tzj5l0wuf0] { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; }

.pp-badge[b-tzj5l0wuf0] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    border-radius: 4px;
    padding: 5px 9px;
}

.pp-badge.ghost[b-tzj5l0wuf0] { background: rgba(255, 255, 255, .14); color: var(--giq-gold); }

/* Solid, not translucent-on-navy like .ghost - deliberately louder so a suspended player's badge
   can't be mistaken for a normal status pill at a glance. Same red already used for Strike zone
   (.pp-dangertitle/.giq-btn.danger), just solid-filled here for contrast against the navy header. */
.pp-badge.danger[b-tzj5l0wuf0] { background: #B3452F; color: #FFFFFF; }

.pp-idbody[b-tzj5l0wuf0] { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }

.pp-facts[b-tzj5l0wuf0] { display: flex; flex-direction: column; }

.pp-fact[b-tzj5l0wuf0] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0;
    border-top: 1px solid var(--giq-line);
}

.pp-fact:first-child[b-tzj5l0wuf0] { border-top: none; }
.pp-fact span[b-tzj5l0wuf0] { font-size: 14px; color: var(--giq-ink-3); }
.pp-fact strong[b-tzj5l0wuf0] { font-size: 15px; font-weight: 600; color: var(--giq-ink); text-align: right; }

/* ---- positions / contact / danger - values match the design folder's
   PlayerProfile.razor.css exactly (danger colors have no matching shared token, so stay literal
   hex here, same as goldeniq.css's own .giq-btn.danger does) ---- */
.pp-pills[b-tzj5l0wuf0] { display: flex; gap: 6px; flex-wrap: wrap; }

.pp-pospill[b-tzj5l0wuf0] {
    border-radius: 5px;
    font-weight: 600;
    font-size: 13px;
    padding: 6px 10px;
    background: var(--giq-bone);
    border: 1px solid var(--giq-line);
    color: var(--giq-ink-2);
}

.pp-pospill.primary[b-tzj5l0wuf0] { background: var(--giq-blue); border-color: var(--giq-blue); color: var(--giq-gold); }

.pp-link[b-tzj5l0wuf0] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--giq-blue);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.pp-link:hover[b-tzj5l0wuf0] { color: var(--giq-gold-deep); }

/* ---- training paths list: zebra-striped rows, edge-to-edge (the card itself carries no padding -
   .pp-pathhead and each .pp-pathrow supply their own 22px horizontal padding instead), matching the
   row/status-pill format Seth pasted in from elsewhere in the app rather than the plain stacked
   layout this card originally shipped with. ---- */
.pp-pathcard[b-tzj5l0wuf0] { overflow: hidden; }

.pp-pathhead[b-tzj5l0wuf0] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 22px 22px 16px;
}

.pp-pathrow[b-tzj5l0wuf0] {
    display: grid;
    grid-template-columns: 1.7fr 1.6fr auto auto;
    align-items: center;
    gap: 20px;
    padding: 16px 22px;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-card);
}

.pp-pathrow.alt[b-tzj5l0wuf0] { background: var(--giq-bone); }

.pp-pathinfo[b-tzj5l0wuf0] { display: flex; flex-direction: column; gap: 3px; }
.pp-pathname[b-tzj5l0wuf0] { font-weight: 700; font-size: 16px; color: var(--giq-ink); }

.pp-pathprogress[b-tzj5l0wuf0] { display: flex; flex-direction: column; gap: 6px; }

/* .giq-bar's shared "flex:1" sizing (goldeniq.css) assumes a horizontal flex row - inside this
   column-direction wrapper it collapses to zero height instead of ever drawing, same gotcha already
   documented in TeamManagement.razor.css's .giq-pathwrap .giq-bar override; fixed the identical way. */
.pp-pathprogress .giq-bar[b-tzj5l0wuf0] { flex: none; width: 100%; }
.pp-pathpct[b-tzj5l0wuf0] { font-size: 14px; color: var(--giq-ink-3); white-space: nowrap; }

/* goldeniq.css's .giq-bar only ships a gold default + a .blue modifier - green has no shared token
   (this app's palette is otherwise gold/blue only), so it's added here, scoped to this page's own
   progress bars only. */
.giq-bar > span.green[b-tzj5l0wuf0] { background: #2E7D32; }

.pp-pathstatus[b-tzj5l0wuf0] {
    justify-self: end;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .06em;
    padding: 8px 14px;
    border-radius: 6px;
    white-space: nowrap;
}

.pp-pathstatus.idle[b-tzj5l0wuf0] { background: var(--giq-bone); color: var(--giq-ink-3); }
.pp-pathstatus.live[b-tzj5l0wuf0] { background: var(--giq-blue); color: var(--giq-gold); }
.pp-pathstatus.done[b-tzj5l0wuf0] { background: #E1F0E2; color: #2E7D32; }

@media (max-width: 700px) {
    .pp-pathrow[b-tzj5l0wuf0] { grid-template-columns: 1fr; row-gap: 10px; }
    .pp-pathstatus[b-tzj5l0wuf0] { justify-self: start; }
}

/* ---- Recent Daily IQ results: same edge-to-edge zebra-row shell as the Training paths card above
   (.pp-pathhead is reused directly), row/score-badge colors match the design folder's own
   PlayerProfile.razor.css exactly (.pp-answer/.pp-score.ok/.pp-score.bad) - the mockup's "Answered:
   <choice>" line and per-answer explanation panel are dropped, not just restyled: DailyChallengeResult
   never stores which choice a player picked or a coach explanation, only Completed/Score, so there's
   nothing honest to show there (see PlayerDashboard.razor's header comment for the same gap). ---- */
.pp-answercard[b-tzj5l0wuf0] { overflow: hidden; }

.pp-answerrow[b-tzj5l0wuf0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 22px;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-card);
}

.pp-answerrow.alt[b-tzj5l0wuf0] { background: var(--giq-bone); }

.pp-answertext[b-tzj5l0wuf0] { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.pp-eyebrow[b-tzj5l0wuf0] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: var(--giq-gold-ink); }
.pp-prompt[b-tzj5l0wuf0] { font-weight: 600; font-size: 16px; line-height: 1.4; color: var(--giq-ink); text-wrap: pretty; }

.pp-score[b-tzj5l0wuf0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .04em;
    border-radius: 5px;
    padding: 6px 11px;
    flex-shrink: 0;
    white-space: nowrap;
}

.pp-score.ok[b-tzj5l0wuf0] { background: var(--giq-blue); color: var(--giq-gold); }
.pp-score.bad[b-tzj5l0wuf0] { background: #FBF0EC; border: 1px solid #E8CFC7; color: #8F3826; }

.pp-contact[b-tzj5l0wuf0] { display: flex; flex-direction: column; }

.pp-contactrow[b-tzj5l0wuf0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 7px 0;
    border-top: 1px solid var(--giq-line-soft);
    line-height: 1.35;
}

.pp-contactrow:first-child[b-tzj5l0wuf0] { border-top: none; }
.pp-contactrow span[b-tzj5l0wuf0] { font-size: 12px; letter-spacing: .08em; color: var(--giq-ink-4); }
.pp-contactrow strong[b-tzj5l0wuf0] { font-size: 15px; font-weight: 600; color: var(--giq-ink); overflow-wrap: anywhere; }

.pp-danger[b-tzj5l0wuf0] { border-color: #E8CFC7; }

.pp-dangertitle[b-tzj5l0wuf0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    color: #B3452F;
}

@media (max-width: 1100px) {
    .pp-main[b-tzj5l0wuf0] { grid-template-columns: 1fr; }
    .pp-rail[b-tzj5l0wuf0] { position: static; }
}

/* ---- Coach notes: a note's visibility now shows as a small solid status pill inline next to the
   author line (reusing the .pp-pathstatus.live/.done navy-gold/green treatment above, adapted from
   goldeniq.css's translucent-on-navy .pp-badge.ghost since this row sits on a light card, not the
   identity header) rather than the giq-chip-dark outline-chip look, which read too much like a filter
   chip sitting loose below the note body. Still a <button> (it toggles visibility on click for the
   note's own author), just styled as a status indicator instead of an action chip. ---- */
.pp-notebadge[b-tzj5l0wuf0] {
    font-family: Barlow, sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .06em;
    padding: 4px 10px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.pp-notebadge.private[b-tzj5l0wuf0] { background: var(--giq-blue); color: var(--giq-gold); }
.pp-notebadge.shared[b-tzj5l0wuf0] { background: #E1F0E2; color: #2E7D32; }
.pp-notebadge.readonly[b-tzj5l0wuf0] { cursor: default; }

/* ---- History card: collapsed by default, the title row is the toggle ---- */
.pp-history-toggle[b-tzj5l0wuf0] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; background: transparent; border: none; padding: 0; margin: 0; cursor: pointer; text-align: left;
}
.pp-history-chevron[b-tzj5l0wuf0] { font-size: 18px; color: var(--giq-ink-4); line-height: 1; }

/* ---- Coach notes composer: a plain checkbox, not a toggle switch - a switch with a label that swaps
   between "Private to coaches" and "X will see this" read as though the coach had to flip it to make
   the note private, when private is already the default with nothing checked (Seth flagged this after
   trying the switch). A checkbox with one static label - "X will see this note" - only describes what
   checking it does, so there's nothing to misread: unchecked (the default) just looks like nothing's
   been opted into yet. Plain checkbox + styled box (no JS), same "no interop needed" bias as this
   page's other toggle-shaped UI. ---- */
.pp-checkbox[b-tzj5l0wuf0] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.pp-checkbox input[b-tzj5l0wuf0] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.pp-checkbox-box[b-tzj5l0wuf0] {
    position: relative;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: #ffffff;
    border: 1px solid var(--giq-line);
    transition: background .15s ease, border-color .15s ease;
}

.pp-checkbox-box[b-tzj5l0wuf0]::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid var(--giq-blue);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity .1s ease;
}

.pp-checkbox input:checked + .pp-checkbox-box[b-tzj5l0wuf0] { background: var(--giq-gold); border-color: var(--giq-gold); }
.pp-checkbox input:checked + .pp-checkbox-box[b-tzj5l0wuf0]::after { opacity: 1; }
.pp-checkbox input:focus-visible + .pp-checkbox-box[b-tzj5l0wuf0] { outline: 2px solid var(--giq-blue); outline-offset: 2px; }

.pp-checkbox-label[b-tzj5l0wuf0] { font-family: Barlow, sans-serif; font-weight: 600; font-size: 13px; color: var(--giq-ink-2); }
.pp-checkbox input:checked ~ .pp-checkbox-label[b-tzj5l0wuf0] { color: var(--giq-blue); }

/* Jersey number badge (Player.Number) - same treatment as TeamManagement.razor.css/Organization.razor.css. */
.giq-numchip[b-tzj5l0wuf0] {
    border-radius: 4px; font-weight: 700; font-size: 12px; padding: 2px 6px;
    background: var(--giq-blue); color: var(--giq-gold); vertical-align: middle; margin-right: 6px;
}
/* /Components/Pages/PositionPathBuilder.razor.rz.scp.css */
/* Position path builder — scoped. Ported verbatim from the design folder's
   blazor/Pages/PositionPathBuilder.razor.css mockup. */

.pb-main[b-1nxc38qc9q] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 26px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.pb-card[b-1nxc38qc9q] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.pb-pad[b-1nxc38qc9q] { padding: 20px 22px; display: flex; flex-direction: column; gap: 16px; }

.pb-pagehead[b-1nxc38qc9q] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.pb-pageheadtext[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 7px; }
.pb-eyebrow[b-1nxc38qc9q] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #8a6d1f; }

.pb-h1[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -.02em;
    color: #0a3161;
}

.pb-h1.tight[b-1nxc38qc9q] { font-size: 46px; line-height: 1.02; text-wrap: pretty; }

.pb-h2[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: #0a3161;
}

.pb-sub[b-1nxc38qc9q] { font-size: 14px; color: #8a8272; }
.pb-sub.center[b-1nxc38qc9q] { text-align: center; max-width: 400px; text-wrap: pretty; font-size: 15px; color: #6b665a; }
.pb-hint[b-1nxc38qc9q] { font-size: 13px; color: #8a8272; text-wrap: pretty; }
.pb-muted[b-1nxc38qc9q] { color: #8a8272; }
.pb-small[b-1nxc38qc9q] { font-size: 13px; color: #4a463d; }

/* ---- buttons ---- */
.pb-btn-primary[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 12px 26px;
    cursor: pointer;
}

.pb-btn-primary:hover:not(:disabled)[b-1nxc38qc9q] { background: #ffca3d; }
.pb-btn-primary:disabled[b-1nxc38qc9q] { opacity: .45; cursor: default; }
.pb-btn-primary.danger[b-1nxc38qc9q] { background: #b3452f; color: #ffffff; }
.pb-btn-primary.danger:hover:not(:disabled)[b-1nxc38qc9q] { background: #c04e37; }

.pb-btn-ghost[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.pb-btn-ghost:hover:not(:disabled)[b-1nxc38qc9q] { border-color: #0a3161; }
.pb-btn-ghost:disabled[b-1nxc38qc9q] { opacity: .45; cursor: default; }

.pb-btn-dangerghost[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #b3452f;
    background: transparent;
    border: 2px solid #e8cfc7;
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.pb-btn-dangerghost:hover[b-1nxc38qc9q] { border-color: #b3452f; }

.pb-link[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.pb-link:hover[b-1nxc38qc9q] { color: #7a5c10; }

/* ---- filters ---- */
.pb-filters[b-1nxc38qc9q] { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }

.pb-filtergrid[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 14px;
    align-items: end;
}

.pb-field[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 7px; }
.pb-fieldhead[b-1nxc38qc9q] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.pb-label[b-1nxc38qc9q] { font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #8a6d1f; }

.pb-input[b-1nxc38qc9q],
.pb-textarea[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #101014;
    background: #F6F2E8;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 14px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.pb-textarea[b-1nxc38qc9q] { line-height: 1.55; resize: vertical; }
.pb-input:focus[b-1nxc38qc9q], .pb-textarea:focus[b-1nxc38qc9q] { border-color: #F5B921; }
.pb-input:disabled[b-1nxc38qc9q], .pb-textarea:disabled[b-1nxc38qc9q] { background: #f0ece0; }
.pb-input[b-1nxc38qc9q]::placeholder, .pb-textarea[b-1nxc38qc9q]::placeholder { color: #a8a293; }

.pb-pillrow[b-1nxc38qc9q] { display: flex; gap: 5px; }
.pb-pillwrap[b-1nxc38qc9q] { display: flex; gap: 6px; flex-wrap: wrap; }

.pb-pill[b-1nxc38qc9q] {
    flex: 1;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    border-radius: 6px;
    padding: 9px 12px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #4a463d;
}

.pb-pill.wide[b-1nxc38qc9q] { flex: 0 0 auto; min-width: 56px; }
.pb-pill:hover:not(:disabled)[b-1nxc38qc9q] { border-color: #0a3161; }
.pb-pill.on[b-1nxc38qc9q] { border-color: #0a3161; background: #0a3161; color: #F5B921; }
.pb-pill:disabled[b-1nxc38qc9q] { opacity: .6; cursor: default; }

.pb-positionrow[b-1nxc38qc9q] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #f0e7cf;
    padding-top: 14px;
}

/* Was a fixed 5-column grid sized for exactly 10 real positions - switched to wrapping flex (same
   technique .pb-pillwrap already uses) so the 2 added Infield/Outfield group pills reflow cleanly
   instead of leaving a half-empty last row. */
.pb-posgrid[b-1nxc38qc9q] { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-posgrid .pb-pill[b-1nxc38qc9q] { flex: 0 0 auto; padding: 9px 10px; text-align: center; }

/* ---- list table ---- */
.pb-listhead[b-1nxc38qc9q],
.pb-listrow[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 2.4fr .9fr 118px .8fr 1.1fr 1fr 118px;
    align-items: center;
    gap: 16px;
    padding: 15px 20px;
}

.pb-listhead[b-1nxc38qc9q] {
    padding: 12px 20px;
    background: #F6F2E8;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .14em;
    color: #8a6d1f;
}

.pb-listrow[b-1nxc38qc9q] { border-top: 1px solid #f5eeda; }
.pb-listrow:nth-child(even)[b-1nxc38qc9q] { background: #fffdf7; }

.pb-listname[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

/* display:block overrides a global `button { display:flex; justify-content:center }` reset (from
   MudBlazor's stylesheet, loaded app-wide) that otherwise centers this button's text - the mockup's
   own text-align:left silently does nothing once the element is flex, since flex layout positions
   children via justify-content, not text-align. Caught only by looking at the actual rendered page,
   not by compiling. */
.pb-namebtn[b-1nxc38qc9q] {
    display: block;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #0a3161;
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
}

.pb-namebtn:hover[b-1nxc38qc9q] { color: #7a5c10; text-decoration: underline; }

.pb-blurb[b-1nxc38qc9q] {
    font-size: 14px;
    color: #8a8272;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pb-cell[b-1nxc38qc9q] { font-size: 14px; color: #4a463d; }
.pb-cell.muted[b-1nxc38qc9q] { color: #8a8272; }
.pb-cell.stale[b-1nxc38qc9q] { color: #b3452f; }
.pb-cell.right[b-1nxc38qc9q] { text-align: right; white-space: nowrap; }

.pb-posbadge[b-1nxc38qc9q] {
    justify-self: start;
    font-weight: 700;
    font-size: 13px;
    border-radius: 5px;
    padding: 5px 10px;
    background: #F6F2E8;
    border: 1px solid #e2dac6;
    color: #4a463d;
}

/* Tier badges match the Team Page roster table. */
.pb-tierbadge[b-1nxc38qc9q] {
    justify-self: start;
    white-space: nowrap;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .04em;
    border-radius: 4px;
    padding: 5px 9px;
}

.pb-tierbadge.blue[b-1nxc38qc9q] { background: #0a3161; color: #ffffff; }
.pb-tierbadge.gold[b-1nxc38qc9q] { background: #F5B921; color: #0a3161; }
.pb-tierbadge.blugold[b-1nxc38qc9q] { background: #0a3161; color: #F5B921; border-left: 4px solid #F5B921; padding-left: 8px; }

.pb-assignedbtn[b-1nxc38qc9q] {
    justify-self: start;
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pb-status[b-1nxc38qc9q] {
    justify-self: start;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    border-radius: 4px;
    padding: 6px 10px;
    white-space: nowrap;
}

.pb-status.published[b-1nxc38qc9q], .pb-status.done[b-1nxc38qc9q] { background: #e6f0e6; color: #2e7d32; }
.pb-status.draft[b-1nxc38qc9q] { background: #F5B921; color: #0a3161; }
.pb-status.archived[b-1nxc38qc9q], .pb-status.idle[b-1nxc38qc9q] { background: #ece5d5; color: #8a8272; }
.pb-status.live[b-1nxc38qc9q] { background: #0a3161; color: #F5B921; }

.pb-empty[b-1nxc38qc9q],
.pb-emptyassign[b-1nxc38qc9q] {
    padding: 44px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
    border-top: 1px solid #f5eeda;
}

.pb-emptyassign[b-1nxc38qc9q] { padding: 52px 24px; border-top: none; }

/* ---- editor head ---- */
.pb-crumbs[b-1nxc38qc9q] { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #8a6d1f; }

.pb-crumbbtn[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #8a6d1f;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.pb-crumbbtn:hover[b-1nxc38qc9q] { color: #0a3161; text-decoration: underline; }
.pb-sep[b-1nxc38qc9q] { color: #c9bda0; }
.pb-crumbnow[b-1nxc38qc9q] { color: #6b665a; }

.pb-editorhead[b-1nxc38qc9q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.pb-editorheadtext[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pb-editormeta[b-1nxc38qc9q] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pb-editoractions[b-1nxc38qc9q] { display: flex; gap: 10px; flex-wrap: wrap; }

.pb-lock[b-1nxc38qc9q] {
    background: #fdf4dd;
    border: 1px solid #e8d9ae;
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.pb-lockmark[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #8a6d1f;
    line-height: 1.2;
}

.pb-locktext[b-1nxc38qc9q] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 15px;
    line-height: 1.5;
    color: #4a463d;
    text-wrap: pretty;
}

.pb-locktext .pb-link[b-1nxc38qc9q] { align-self: flex-start; }

.pb-tabs[b-1nxc38qc9q] {
    display: flex;
    gap: 5px;
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 8px;
    padding: 5px;
    align-self: flex-start;
}

.pb-tab[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    border: none;
    border-radius: 6px;
    padding: 10px 18px;
    background: transparent;
    color: #4a463d;
}

.pb-tab.on[b-1nxc38qc9q] { background: #0a3161; color: #F5B921; }

/* ---- editor body ---- */
.pb-editorgrid[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 340px 1fr 300px;
    gap: 22px;
    align-items: start;
}

.pb-rail[b-1nxc38qc9q] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: calc(var(--giq-header-h, 64px) + 20px);
}

.pb-checklistrail[b-1nxc38qc9q] {
    position: sticky;
    top: calc(var(--giq-header-h, 64px) + 20px);
}

.pb-tierlist[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 5px; }

.pb-tier[b-1nxc38qc9q] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    text-align: left;
    font-family: Barlow, sans-serif;
    cursor: pointer;
    border-radius: 6px;
    padding: 10px 13px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #101014;
}

.pb-tier:hover:not(:disabled)[b-1nxc38qc9q] { border-color: #0a3161; }
.pb-tier.on[b-1nxc38qc9q] { border-color: #0a3161; background: #0a3161; color: #F5B921; }
.pb-tier:disabled[b-1nxc38qc9q] { opacity: .6; cursor: default; }

.pb-tierdot[b-1nxc38qc9q] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 3px solid #d9cba4;
}

.pb-tier.on .pb-tierdot[b-1nxc38qc9q] { border-color: #F5B921; background: #F5B921; }
.pb-tiertext[b-1nxc38qc9q] { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.25; }
.pb-tiertext strong[b-1nxc38qc9q] { font-weight: 600; font-size: 14px; }
.pb-tiertext span[b-1nxc38qc9q] { font-size: 12px; opacity: .72; }

.pb-checkrow[b-1nxc38qc9q] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid #f5eeda;
}

.pb-checkmark[b-1nxc38qc9q] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    background: #f0e7cf;
    color: #8a8272;
}

.pb-checkmark.ok[b-1nxc38qc9q] { background: #0a3161; color: #F5B921; }
.pb-checklabel[b-1nxc38qc9q] { font-size: 14px; line-height: 1.4; color: #4a463d; text-wrap: pretty; }

.pb-cardhead[b-1nxc38qc9q] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.pb-cardhead.stack[b-1nxc38qc9q] { flex-direction: column; align-items: flex-start; gap: 3px; }
.pb-cardheadtext[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 3px; }

/* ---- lessons ---- */
.pb-lessonrow[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: start;
    gap: 18px;
    padding: 15px 24px;
    border-top: 1px solid #f5eeda;
}

.pb-lessonrow:nth-child(even)[b-1nxc38qc9q] { background: #fffdf7; }

/* ---- drag-and-drop reorder feedback (wwwroot/js/lesson-reorder.js) ---- */
.pb-lessonrow.dragging[b-1nxc38qc9q] { opacity: .4; }
.pb-lessonrow.drag-over-top[b-1nxc38qc9q] { box-shadow: inset 0 2px 0 0 #0a3161; }
.pb-lessonrow.drag-over-bottom[b-1nxc38qc9q] { box-shadow: inset 0 -2px 0 0 #0a3161; }

.pb-lessonmain[b-1nxc38qc9q] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pb-handle[b-1nxc38qc9q] { font-size: 17px; line-height: 1; color: #c9bda0; cursor: grab; flex-shrink: 0; }
.pb-handle.locked[b-1nxc38qc9q] { cursor: default; }

.pb-lessontitlerow[b-1nxc38qc9q] { display: flex; align-items: center; gap: 4px; }

.pb-lessonnum[b-1nxc38qc9q] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    background: #0a3161;
    color: #F5B921;
}

.pb-lessontext[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pb-lessontext strong[b-1nxc38qc9q] { font-weight: 600; font-size: 16px; color: #101014; text-wrap: pretty; }
.pb-lessontext span[b-1nxc38qc9q] { font-size: 14px; }

.pb-lessontags[b-1nxc38qc9q] { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }

.pb-tag[b-1nxc38qc9q] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .08em;
    border-radius: 4px;
    padding: 5px 9px;
    white-space: nowrap;
}

.pb-tag.ok[b-1nxc38qc9q] { background: #0a3161; color: #F5B921; }
.pb-tag.bad[b-1nxc38qc9q] { background: #fbf0ec; border: 1px solid #e8cfc7; color: #8f3826; }
.pb-tag.soft[b-1nxc38qc9q] { background: #fdf4dd; border: 1px solid #e8d9ae; color: #8a6d1f; }
.pb-tag.quiet[b-1nxc38qc9q] { background: #ece5d5; color: #8a8272; }

.pb-icon[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: 1px solid #e2dac6;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    flex-shrink: 0;
}

.pb-icon.danger[b-1nxc38qc9q] { color: #b3452f; border-color: #e8cfc7; font-size: 17px; }
.pb-icon:disabled[b-1nxc38qc9q] { opacity: .45; cursor: default; }

/* ---- assignment stats ---- */
.pb-stats[b-1nxc38qc9q] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.pb-stat[b-1nxc38qc9q] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pb-stat.dark[b-1nxc38qc9q] { background: #0a3161; border-color: #0a3161; }
.pb-statlabel[b-1nxc38qc9q] { font-weight: 600; font-size: 11px; letter-spacing: .16em; color: #8a6d1f; }
.pb-stat.dark .pb-statlabel[b-1nxc38qc9q] { color: #F5B921; }

.pb-statvalue[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 44px;
    line-height: 1.05;
    color: #0a3161;
}

.pb-statvalue.light[b-1nxc38qc9q] { color: #ffffff; }
.pb-statnote[b-1nxc38qc9q] { font-size: 14px; color: #8a8272; }
.pb-statnote.light[b-1nxc38qc9q] { color: #a9bdd6; }

/* ---- assignee table ---- */
.pb-assignhead[b-1nxc38qc9q],
.pb-assignrow[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 1.9fr 1fr 1.4fr .9fr 1.2fr 1.3fr 32px;
    align-items: center;
    gap: 16px;
    padding: 15px 24px;
}

.pb-assignhead[b-1nxc38qc9q] {
    padding: 12px 24px;
    background: #F6F2E8;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .14em;
    color: #8a6d1f;
}

.pb-assignrow[b-1nxc38qc9q] { border-top: 1px solid #f5eeda; }
.pb-assignrow:nth-child(even)[b-1nxc38qc9q] { background: #fffdf7; }

.pb-player[b-1nxc38qc9q] { display: flex; align-items: center; gap: 12px; min-width: 0; }

.pb-avatar[b-1nxc38qc9q] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0a3161;
    color: #F5B921;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    flex-shrink: 0;
}

.pb-playertext[b-1nxc38qc9q] { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.pb-playertext strong[b-1nxc38qc9q] { font-weight: 600; font-size: 16px; color: #101014; }
.pb-playertext span[b-1nxc38qc9q] { font-size: 13px; }

.pb-progress[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 6px; }
.pb-progtrack[b-1nxc38qc9q] { height: 8px; background: #F6F2E8; border-radius: 4px; overflow: hidden; }
.pb-progfill[b-1nxc38qc9q] { height: 8px; border-radius: 4px; }
.pb-progfill.done[b-1nxc38qc9q] { background: #2e7d32; }
.pb-progfill.live[b-1nxc38qc9q] { background: #0a3161; }
.pb-progfill.idle[b-1nxc38qc9q] { background: #d9cba4; }

.pb-quiz[b-1nxc38qc9q] { font-weight: 600; font-size: 14px; color: #101014; }
.pb-quiz.low[b-1nxc38qc9q] { color: #b3452f; }
.pb-quiz.none[b-1nxc38qc9q] { color: #a8a293; }

/* ---- funnel ---- */
.pb-funnel[b-1nxc38qc9q] { padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }

.pb-funnelrow[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 200px 1fr 96px;
    align-items: center;
    gap: 16px;
}

.pb-funnellabel[b-1nxc38qc9q] {
    font-size: 14px;
    color: #4a463d;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pb-funneltrack[b-1nxc38qc9q] { height: 22px; background: #F6F2E8; border-radius: 5px; overflow: hidden; }
.pb-funnelfill[b-1nxc38qc9q] { height: 22px; border-radius: 5px; background: #0a3161; }
.pb-funnelfill.cliff[b-1nxc38qc9q] { background: #b3452f; }
.pb-funnelnote[b-1nxc38qc9q] { font-size: 13px; text-align: right; color: #8a8272; }
.pb-funnelnote.cliff[b-1nxc38qc9q] { color: #b3452f; font-weight: 600; }

/* ---- history ---- */
.pb-historyrow[b-1nxc38qc9q] {
    display: grid;
    grid-template-columns: 112px 1fr 88px;
    align-items: start;
    gap: 16px;
    padding: 15px 24px;
    border-top: 1px solid #f5eeda;
}

.pb-historyrow:nth-child(even)[b-1nxc38qc9q] { background: #fffdf7; }

.pb-kind[b-1nxc38qc9q] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    border-radius: 4px;
    padding: 6px 9px;
    text-align: center;
    background: #0a3161;
    color: #F5B921;
}

.pb-kind.published[b-1nxc38qc9q] { background: #e6f0e6; color: #2e7d32; }
.pb-kind.unassigned[b-1nxc38qc9q] { background: #fbf0ec; border: 1px solid #e8cfc7; color: #8f3826; }
.pb-kind.created[b-1nxc38qc9q] { background: #ece5d5; color: #8a8272; }

.pb-historytext[b-1nxc38qc9q] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    font-size: 15px;
    line-height: 1.45;
    color: #101014;
    text-wrap: pretty;
}

.pb-historytext .pb-muted[b-1nxc38qc9q] { font-size: 13px; }

/* ---- modal ---- */
.pb-scrim[b-1nxc38qc9q] {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 32px 32px;
    overflow: auto;
}

.pb-modal[b-1nxc38qc9q] {
    width: 100%;
    max-width: 520px;
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.pb-modalhead[b-1nxc38qc9q] {
    padding: 22px 26px 16px;
    border-bottom: 1px solid #f0e7cf;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.pb-modaltext[b-1nxc38qc9q] { display: flex; flex-direction: column; gap: 4px; }

.pb-modaltitle[b-1nxc38qc9q] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    color: #0a3161;
}

.pb-modaltitle.danger[b-1nxc38qc9q] { color: #b3452f; }

.pb-close[b-1nxc38qc9q] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
}

.pb-close:hover[b-1nxc38qc9q] { color: #0a3161; }

.pb-modalfoot[b-1nxc38qc9q] {
    padding: 18px 26px;
    border-top: 1px solid #f0e7cf;
    background: #F6F2E8;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 1100px) {
    .pb-editorgrid[b-1nxc38qc9q] { grid-template-columns: 1fr; }
    .pb-rail[b-1nxc38qc9q] { position: static; }
    .pb-checklistrail[b-1nxc38qc9q] { position: static; }
    .pb-stats[b-1nxc38qc9q] { grid-template-columns: 1fr 1fr; }
    .pb-filtergrid[b-1nxc38qc9q] { grid-template-columns: 1fr; }
    .pb-listhead[b-1nxc38qc9q] { display: none; }
    .pb-listrow[b-1nxc38qc9q] { grid-template-columns: 1fr; }
    .pb-assignhead[b-1nxc38qc9q] { display: none; }
    .pb-assignrow[b-1nxc38qc9q] { grid-template-columns: 1fr; }
    .pb-funnelrow[b-1nxc38qc9q] { grid-template-columns: 1fr; }
}
/* /Components/Pages/SignUpCoach.razor.rz.scp.css */
/* Coach sign-up - pairs with Login.razor.css (shared brand panel vocabulary) */

.giq-reg[b-kzvmnihm57] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    font-family: Barlow, Helvetica, sans-serif;
    color: #101014;
    background: #F5B921;
}

/* ---- left: brand panel ---- */
.giq-brand[b-kzvmnihm57] {
    padding: 56px 64px;
    display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
}
.giq-lockup[b-kzvmnihm57] { display: flex; align-items: center; gap: 18px; }
.giq-wordmark[b-kzvmnihm57] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-kzvmnihm57] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 44px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-kzvmnihm57] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-kzvmnihm57] { font-weight: 600; font-size: 11px; letter-spacing: .28em; color: #0A3161; margin-top: 11px; }

.giq-pitch[b-kzvmnihm57] { display: flex; flex-direction: column; gap: 28px; max-width: 520px; }
.giq-pitch h1[b-kzvmnihm57] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 70px; line-height: .94; letter-spacing: -.02em; color: #0A3161; text-wrap: balance;
}

.giq-benefits[b-kzvmnihm57] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.giq-benefits li[b-kzvmnihm57] { display: flex; align-items: flex-start; gap: 14px; }
.giq-num[b-kzvmnihm57] {
    width: 26px; height: 26px; border-radius: 50%; background: #0A3161; color: #F5B921;
    font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; margin-top: 2px;
}
.giq-benefits strong[b-kzvmnihm57] { display: block; font-size: 17px; color: #0A3161; }
.giq-benefits p[b-kzvmnihm57] { margin: 2px 0 0; font-size: 15px; line-height: 1.5; color: #4A3C14; text-wrap: pretty; }

/* Directly under the wordmark, before the headline - a plain-spoken disclosure (GoldenSM only) that
   this signup is for GoldenSM specifically, not GoldenIQ. Deliberately not inside a navy card like
   .giq-note below - this needs to read as a quiet clarification, not a promotional callout. */
.giq-brand-clarify[b-kzvmnihm57] {
    margin: 0; font-size: 14px; line-height: 1.5; color: #6B5B1F; max-width: 460px;
}

.giq-note[b-kzvmnihm57] {
    background: #0A3161; border-radius: 10px; padding: 18px 20px;
    display: flex; flex-direction: column; gap: 6px; color: #E6EEF8; font-size: 15px; line-height: 1.5;
}
.giq-note-kicker[b-kzvmnihm57] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #9DB4D2; }
.giq-note a[b-kzvmnihm57] { color: #F5B921; font-weight: 600; text-decoration: none; }
.giq-note a:hover[b-kzvmnihm57] { text-decoration: underline; }

/* The "sign up for GoldenIQ instead" callout (GoldenSM only) - outlined rather than filled, so it
   reads as a secondary, genuinely-optional path next to the filled early-access note above it. */
.giq-note-secondary[b-kzvmnihm57] {
    background: transparent; border: 1px solid #0A3161; color: #4A3C14;
}
.giq-note-secondary .giq-note-kicker[b-kzvmnihm57] { color: #7A5C10; }
.giq-note-secondary a[b-kzvmnihm57] { color: #0A3161; }

.giq-foot[b-kzvmnihm57] { display: flex; gap: 26px; font-size: 13px; color: #7A5C10; }

/* ---- right: form panel ---- */
.giq-form[b-kzvmnihm57] { background: #0A3161; padding: 48px 64px; display: flex; align-items: center; justify-content: center; }
.giq-card[b-kzvmnihm57] { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 24px; }
.giq-card header[b-kzvmnihm57] { display: flex; flex-direction: column; gap: 14px; }
.giq-card h2[b-kzvmnihm57] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 40px; line-height: 1; color: #F5B921; white-space: nowrap;
}

.giq-steps[b-kzvmnihm57] { display: flex; gap: 8px; }
.giq-step[b-kzvmnihm57] { flex: 1; display: flex; flex-direction: column; gap: 7px; }
.giq-stepbar[b-kzvmnihm57] { height: 5px; border-radius: 3px; background: #1D4677; }
.giq-stepbar.on[b-kzvmnihm57] { background: #F5B921; }
.giq-steplabel[b-kzvmnihm57] { font-weight: 600; font-size: 12px; letter-spacing: .06em; color: #6F8BB0; }
.giq-steplabel.on[b-kzvmnihm57] { color: #F5B921; }

.giq-panel[b-kzvmnihm57] { display: flex; flex-direction: column; gap: 18px; }
.giq-panel.hidden[b-kzvmnihm57] { display: none; }
.giq-two[b-kzvmnihm57] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.giq-field[b-kzvmnihm57] { display: flex; flex-direction: column; gap: 7px; }

.giq-label[b-kzvmnihm57] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #9DB4D2; }
.giq-hint[b-kzvmnihm57] { color: #6F8BB0; letter-spacing: 0; font-weight: 400; text-transform: none; }

.giq-input[b-kzvmnihm57] {
    font-family: Barlow, sans-serif; font-size: 16px; color: #101014;
    background: #F6F2E8; border: 2px solid #F6F2E8; border-radius: 6px;
    padding: 13px 15px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-input:focus[b-kzvmnihm57] { border-color: #F5B921; }
.giq-input[b-kzvmnihm57]::placeholder { color: #A8A293; }
.giq-input.invalid[b-kzvmnihm57] { border-color: #E57373; }

.giq-fielderror[b-kzvmnihm57] { font-weight: 500; font-size: 13px; color: #FFB4AB; }

.giq-strength[b-kzvmnihm57] { display: flex; align-items: center; gap: 10px; margin-top: 3px; }
.giq-strength-track[b-kzvmnihm57] { flex: 1; height: 5px; border-radius: 3px; background: #1D4677; }
.giq-strength-fill[b-kzvmnihm57] { height: 5px; border-radius: 3px; transition: width .18s ease; }
.giq-strength-label[b-kzvmnihm57] { font-weight: 600; font-size: 13px; min-width: 66px; text-align: right; }

.giq-chips[b-kzvmnihm57] { display: flex; gap: 8px; flex-wrap: wrap; }
.giq-chip[b-kzvmnihm57] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; cursor: pointer;
    border-radius: 20px; padding: 9px 17px;
    border: 2px solid #2B5488; background: transparent; color: #CFDCEC;
}
.giq-chip.on[b-kzvmnihm57] { border-color: #F5B921; background: #F5B921; color: #0A3161; }

.giq-terms[b-kzvmnihm57] { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.5; color: #CFDCEC; cursor: pointer; }
.giq-terms input[b-kzvmnihm57] { width: 18px; height: 18px; accent-color: #F5B921; cursor: pointer; margin-top: 2px; flex-shrink: 0; }

.giq-actions[b-kzvmnihm57] { display: flex; gap: 10px; align-items: center; }
.giq-primary[b-kzvmnihm57] {
    flex: 1; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px;
    letter-spacing: .06em; color: #0A3161; background: #F5B921;
    border: none; border-radius: 6px; padding: 15px; cursor: pointer;
}
.giq-primary:hover[b-kzvmnihm57] { background: #FFCA3D; }
.giq-ghost[b-kzvmnihm57] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 16px; color: #F6F2E8;
    background: transparent; border: 2px solid #2B5488; border-radius: 6px;
    padding: 14px 22px; cursor: pointer;
}
.giq-ghost:hover[b-kzvmnihm57] { border-color: #F5B921; color: #F5B921; }

.giq-error[b-kzvmnihm57] {
    background: rgba(229, 115, 115, .15);
    border: 1px solid #E57373;
    color: #FFB4AB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin: 0;
}

.giq-signin[b-kzvmnihm57] { margin: 0; font-size: 15px; color: #9DB4D2; text-align: center; }
.giq-signin a[b-kzvmnihm57] { color: #F5B921; font-weight: 600; text-decoration: none; }
.giq-signin a:hover[b-kzvmnihm57] { text-decoration: underline; }

@media (max-width: 900px) {
    .giq-reg[b-kzvmnihm57] { grid-template-columns: 1fr; }
    .giq-brand[b-kzvmnihm57] { padding: 40px 28px; gap: 32px; }
    .giq-pitch h1[b-kzvmnihm57] { font-size: 48px; }
    .giq-form[b-kzvmnihm57] { padding: 40px 28px; }
    .giq-two[b-kzvmnihm57] { grid-template-columns: 1fr; }
    /* .giq-card's 440px max-width is only an upper bound - on a real phone-width viewport (this page's
       actual GoldenSM audience, via the web handoff's Custom Tab/SFSafariViewController) the card shrinks
       well under 320px, too narrow for the one-line 40px heading below to fit even with its own smaller
       font. Let it wrap back to 2 lines here rather than clipping/forcing horizontal scroll. */
    .giq-card h2[b-kzvmnihm57] { white-space: normal; }
}
/* /Components/Pages/SignUpPending.razor.rz.scp.css */
/* Same visual family as VerifyEmail.razor.css/InviteCode.razor.css - own scoped copy per this app's
   convention (each page duplicates just the classes it uses rather than sharing one file). */

.giq-gate[b-4yg34k95h6] {
    min-height: 100vh; background: #F5B921;
    font-family: Barlow, Helvetica, sans-serif; color: #101014;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 32px 64px;
}
.giq-gate-inner[b-4yg34k95h6] {
    width: 100%; max-width: 560px;
    display: flex; flex-direction: column; align-items: center; gap: 30px;
}

.giq-lockup[b-4yg34k95h6] { display: flex; align-items: center; gap: 16px; }
.giq-wordmark[b-4yg34k95h6] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-4yg34k95h6] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 38px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-4yg34k95h6] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-4yg34k95h6] { font-weight: 600; font-size: 10px; letter-spacing: .28em; color: #0A3161; margin-top: 10px; }

.giq-gate-card[b-4yg34k95h6] {
    width: 100%; background: #FFFDF7; border-radius: 14px; padding: 36px;
    display: flex; flex-direction: column; gap: 24px; box-sizing: border-box;
}
.giq-gate-card header[b-4yg34k95h6] {
    display: flex; flex-direction: column; gap: 9px; align-items: center; text-align: center;
}
.giq-gate-card h1[b-4yg34k95h6] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1.02; letter-spacing: -.01em; color: #0A3161; text-wrap: balance;
}
.giq-gate-card header p[b-4yg34k95h6] {
    margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; max-width: 420px; text-wrap: pretty;
}

.giq-statebadge[b-4yg34k95h6] {
    font-weight: 700; font-size: 11px; letter-spacing: .16em; border-radius: 4px; padding: 5px 10px;
}
.giq-statebadge.navy[b-4yg34k95h6] { background: #0A3161; color: #F5B921; }

/* ---- actions ---- */
.giq-gate-actions[b-4yg34k95h6] { display: flex; flex-direction: column; gap: 12px; }
.giq-gate-primary[b-4yg34k95h6] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: .06em;
    color: #F5B921; background: #0A3161; border: none; border-radius: 6px;
    padding: 16px; width: 100%; cursor: pointer;
}
.giq-gate-primary:hover[b-4yg34k95h6] { background: #0D3F7C; }
.giq-gate-link[b-4yg34k95h6] { display: block; box-sizing: border-box; text-align: center; text-decoration: none; }

/* GoldenSM's "you can close this page" message, replacing the BACK TO SIGN IN button (see
   SignupBrand.SignsInThroughThisSite) - centered like the button it replaces, but plain text since
   there's nothing to click. */
.giq-gate-closehint[b-4yg34k95h6] { margin: 0; font-size: 16px; line-height: 1.5; color: #4A463D; text-align: center; }

.giq-gate-foot[b-4yg34k95h6] { font-size: 14px; color: #8A8272; text-align: center; }

@media (max-width: 560px) {
    .giq-gate-card[b-4yg34k95h6] { padding: 26px 20px; }
    .giq-gate-card h1[b-4yg34k95h6] { font-size: 34px; }
}
/* /Components/Pages/SystemConfiguration.razor.rz.scp.css */
/* System Configuration admin page (GLDIQ-146). Builds on the shared wwwroot/css/goldeniq.css chrome - this file
   only holds what's specific to this page, plus reused-by-name copies of the avatar menu / not-enabled nav
   rules (CSS isolation is per-component, so each page in this family carries its own - same duplication
   already accepted across AdminSystemAdmins/AdminCoaches/etc.). */

.sc-crumbs[b-hvbn5bpjn5] { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--giq-ink-4); margin-bottom: 6px; }
.sc-crumbs a[b-hvbn5bpjn5] { color: var(--giq-blue); text-decoration: none; font-weight: 600; }
.sc-crumbs a:hover[b-hvbn5bpjn5] { text-decoration: underline; }
.sc-sep[b-hvbn5bpjn5] { color: var(--giq-line); }


/* ---------- not-enabled top-nav treatment ---------- */
/* ---------- maintenance card ---------- */
.sc-head[b-hvbn5bpjn5] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.sc-headtext[b-hvbn5bpjn5] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.sc-pill[b-hvbn5bpjn5] {
    flex: none;
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .1em;
    padding: 4px 14px; border-radius: 999px;
}
.sc-pill.on[b-hvbn5bpjn5] { background: #B3452F; color: #FFFFFF; }
.sc-pill.off[b-hvbn5bpjn5] { background: #E6F2E6; color: #2E7D32; }
.sc-pill.unknown[b-hvbn5bpjn5] { background: #EFE9DA; color: #7A5C10; }

.sc-field[b-hvbn5bpjn5] { display: flex; flex-direction: column; gap: 7px; }
.sc-sublabel[b-hvbn5bpjn5] { font-size: 13px; color: var(--giq-ink-4); }
.sc-row[b-hvbn5bpjn5] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }

.sc-input[b-hvbn5bpjn5] {
    font-family: Barlow, sans-serif; font-size: 16px; color: var(--giq-ink);
    background: #FFFFFF; border: 1px solid var(--giq-line); border-radius: 8px;
    padding: 10px 12px; width: 100%; max-width: 620px; box-sizing: border-box;
}
.sc-row .sc-input[b-hvbn5bpjn5] { width: auto; min-width: 220px; }
textarea.sc-input[b-hvbn5bpjn5] { resize: vertical; }
.sc-input:focus[b-hvbn5bpjn5] { outline: 2px solid var(--giq-gold); border-color: var(--giq-gold); }
.sc-input:disabled[b-hvbn5bpjn5] { opacity: .6; }

.sc-actions[b-hvbn5bpjn5] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.sc-confirm[b-hvbn5bpjn5] { font-weight: 600; font-size: 14px; color: #B3452F; }

.sc-error[b-hvbn5bpjn5] {
    background: #FDECEA; border: 1px solid #F2B8B0; color: #8A2A1C;
    border-radius: 8px; padding: 10px 14px; font-size: 14px;
}
.sc-ok[b-hvbn5bpjn5] {
    background: #E6F2E6; border: 1px solid #B7DDB9; color: #2E7D32;
    border-radius: 8px; padding: 10px 14px; font-size: 14px; font-weight: 600;
}

a.giq-btn[b-hvbn5bpjn5] { text-decoration: none; display: inline-block; }
/* /Components/Pages/TeamManagement.razor.rz.scp.css */
/* Team Management - adapted from the design folder's TeamManagement.razor.css (tabs) and
   RosterManagement.razor.css row-cell classes (.giq-poschip/.giq-pstatus/.giq-pcell/.giq-pathcell).
   .giq-person/.giq-avatar/.giq-tile/.giq-cols-4/.giq-search/.giq-chip/.giq-bar are already shared
   in wwwroot/css/goldeniq.css. .giq-tablefoot is NOT actually one of them despite this comment
   previously claiming otherwise - it isn't defined in goldeniq.css at all, only in
   AdminDashboard.razor.css's own separate, page-scoped copy (which never applies here, Blazor CSS
   isolation being per-component) - so the roster footer was rendering with no padding/height of its
   own whatsoever until the rule below was added. .giq-toolbar is likewise NOT shared - it was an
   undefined class (a bare, unstyled block) until GLDIQ-200 added the position group/position filter
   pills here and gave the whole Player Search section real padding/spacing as its own scoped rule. */

.giq-toolbar[b-zo7ko8oviq] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--giq-line-soft);
}

.giq-tabs[b-zo7ko8oviq] {
    display: flex;
    border-bottom: 1px solid var(--giq-line);
}

.giq-tabs button[b-zo7ko8oviq] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 16px 22px;
    color: var(--giq-ink-4);
    border-bottom: 3px solid transparent;
}

.giq-tabs button.on[b-zo7ko8oviq] { color: var(--giq-blue); border-bottom-color: var(--giq-gold); }

.giq-tabs button.off[b-zo7ko8oviq] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: not-allowed;
    color: #A58A3A;
}

.giq-offtag[b-zo7ko8oviq] {
    font-weight: 700;
    font-size: 9px;
    letter-spacing: .12em;
    background: rgba(10, 49, 97, .14);
    color: #7A5C10;
    border-radius: 3px;
    padding: 3px 5px;
}

.giq-rhead[b-zo7ko8oviq], .giq-rrow[b-zo7ko8oviq] {
    display: grid;
    grid-template-columns: 2fr 1.4fr 1.6fr 0.9fr;
    align-items: center;
    gap: 12px;
}

.giq-rhead[b-zo7ko8oviq] {
    padding: 12px 20px;
    background: var(--giq-bone);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .14em;
    color: var(--giq-gold-ink);
}

.giq-rrow[b-zo7ko8oviq] {
    padding: 14px 20px;
    border-top: 1px solid var(--giq-line-soft);
    background: #FFFFFF;
}

.giq-rrow.alt[b-zo7ko8oviq] { background: var(--giq-card); }

.giq-avatar.muted[b-zo7ko8oviq] { background: #E6E0D0; color: var(--giq-ink-4); }

.giq-poscell[b-zo7ko8oviq] { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }

.giq-poschip[b-zo7ko8oviq] {
    border-radius: 4px;
    font-weight: 600;
    font-size: 12px;
    padding: 3px 7px;
    background: var(--giq-bone);
    border: 1px solid var(--giq-line);
    color: var(--giq-ink-2);
}

.giq-poschip.primary[b-zo7ko8oviq] { background: var(--giq-blue); color: var(--giq-gold); border-color: transparent; }

.giq-pathwrap[b-zo7ko8oviq] { display: flex; flex-direction: column; gap: 5px; }

/* .giq-bar's shared "flex:1" sizing (goldeniq.css) assumes a horizontal flex row - inside this
   column-direction wrapper it collapses to zero height, so pin an explicit size here instead. */
.giq-pathwrap .giq-bar[b-zo7ko8oviq] { flex: none; width: 100%; height: 6px; }

.giq-pathcell[b-zo7ko8oviq] { font-size: 14px; color: var(--giq-ink); }
.giq-pathcell.none[b-zo7ko8oviq] { font-size: 13px; color: #B0A891; font-style: italic; }

.giq-pathpct[b-zo7ko8oviq] { font-weight: 600; font-size: 12px; color: var(--giq-ink-2); }

.giq-posedit[b-zo7ko8oviq] {
    font-family: Barlow, sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.35;
    color: var(--giq-gold-ink);
    background: transparent;
    border: 1px dashed #D9CBA4;
    border-radius: 4px;
    padding: 4px 9px;
    cursor: pointer;
}

.giq-posedit:hover:not(:disabled)[b-zo7ko8oviq] { border-color: var(--giq-blue); color: var(--giq-blue); }
.giq-posedit:disabled[b-zo7ko8oviq] { opacity: .6; cursor: default; }

.giq-pstatus[b-zo7ko8oviq] {
    justify-self: start;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    border-radius: 4px;
    padding: 5px 9px;
    background: var(--giq-gold);
    color: var(--giq-blue);
}

.giq-pstatus.pending[b-zo7ko8oviq] {
    background: #ECE5D5;
    color: var(--giq-gold-ink);
    border: 1px solid #D9CBA4;
}

/* Same solid danger red as Player Profile's suspended badge (pp-badge.danger) - deliberately louder
   than .pending so a suspended player can't be mistaken for a merely-inactive one at a glance. */
.giq-pstatus.suspended[b-zo7ko8oviq] { background: #B3452F; color: #FFFFFF; }

.giq-tablefoot[b-zo7ko8oviq] {
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid var(--giq-line-soft);
}

@media (max-width: 900px) {
    .giq-rhead[b-zo7ko8oviq] { display: none; }
    .giq-rrow[b-zo7ko8oviq] { grid-template-columns: 1fr; row-gap: 10px; }
}

/* Jersey number badge (Player.Number) - a solid navy/gold chip next to the player's name, visually
   distinct from the outlined position chips (.giq-poschip) since it identifies the player rather than
   describing what they play. */
.giq-numchip[b-zo7ko8oviq] {
    border-radius: 4px; font-weight: 700; font-size: 12px; padding: 2px 6px;
    background: var(--giq-blue); color: var(--giq-gold); flex-shrink: 0;
}
/* /Components/Pages/VerifyEmail.razor.rz.scp.css */
/* Email verification gate - same visual family as InviteCode.razor.css, centered interstitial on gold */

.giq-gate[b-wbqmtf2f73] {
    min-height: 100vh; background: #F5B921;
    font-family: Barlow, Helvetica, sans-serif; color: #101014;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 32px 64px;
}
.giq-gate-inner[b-wbqmtf2f73] {
    width: 100%; max-width: 560px;
    display: flex; flex-direction: column; align-items: center; gap: 30px;
}

.giq-lockup[b-wbqmtf2f73] { display: flex; align-items: center; gap: 16px; }
.giq-wordmark[b-wbqmtf2f73] { display: flex; flex-direction: column; line-height: .86; }
.giq-name[b-wbqmtf2f73] { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 38px; letter-spacing: -.01em; color: #0A3161; }
.giq-iq[b-wbqmtf2f73] { color: #F5B921; -webkit-text-stroke: 2px #0A3161; }
.giq-tag[b-wbqmtf2f73] { font-weight: 600; font-size: 10px; letter-spacing: .28em; color: #0A3161; margin-top: 10px; }

.giq-gate-card[b-wbqmtf2f73] {
    width: 100%; background: #FFFDF7; border-radius: 14px; padding: 36px;
    display: flex; flex-direction: column; gap: 24px; box-sizing: border-box;
}
.giq-gate-card header[b-wbqmtf2f73] {
    display: flex; flex-direction: column; gap: 9px; align-items: center; text-align: center;
}
.giq-gate-card h1[b-wbqmtf2f73] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 42px; line-height: 1.02; letter-spacing: -.01em; color: #0A3161; text-wrap: balance;
}
.giq-gate-card header p[b-wbqmtf2f73] {
    margin: 0; font-size: 16px; line-height: 1.55; color: #4A463D; max-width: 420px; text-wrap: pretty;
}

.giq-statebadge[b-wbqmtf2f73] {
    font-weight: 700; font-size: 11px; letter-spacing: .16em; border-radius: 4px; padding: 5px 10px;
}
.giq-statebadge.navy[b-wbqmtf2f73] { background: #0A3161; color: #F5B921; }
.giq-statebadge.gold[b-wbqmtf2f73] { background: #F5B921; color: #0A3161; }
.giq-statebadge.warn[b-wbqmtf2f73] { background: #7A3125; color: #FFD9D0; }

/* ---- fields ---- */
.giq-codefield[b-wbqmtf2f73] { display: flex; flex-direction: column; gap: 11px; align-items: center; }
.giq-codefield label[b-wbqmtf2f73] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8A6D1F; }
.giq-codefield input[b-wbqmtf2f73] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 34px;
    letter-spacing: .22em; text-align: center; color: #0A3161;
    background: #F6F2E8; border: 2px solid #E2DAC6; border-radius: 8px;
    padding: 16px 18px; outline: none; box-sizing: border-box; width: 100%;
}
.giq-codefield input:focus[b-wbqmtf2f73] { border-color: #F5B921; }
.giq-codefield input.bad[b-wbqmtf2f73] { border-color: #B3452F; }
.giq-codefield input[b-wbqmtf2f73]::placeholder { color: #B9B0A0; }
.giq-codeerror[b-wbqmtf2f73] { font-weight: 600; font-size: 14px; color: #B3452F; }

/* Email field shares the codefield look but doesn't need the oversized code-style typography */
.giq-codefield-narrow input.giq-emailinput[b-wbqmtf2f73] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 16px;
    letter-spacing: normal; text-align: left;
}

/* ---- actions ---- */
.giq-gate-actions[b-wbqmtf2f73] { display: flex; flex-direction: column; gap: 12px; }
.giq-gate-primary[b-wbqmtf2f73] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: .06em;
    color: #F5B921; background: #0A3161; border: none; border-radius: 6px;
    padding: 16px; width: 100%; cursor: pointer;
}
.giq-gate-primary:hover:not(:disabled)[b-wbqmtf2f73] { background: #0D3F7C; }
.giq-gate-primary:disabled[b-wbqmtf2f73] { opacity: .45; cursor: default; }
.giq-gate-secondary[b-wbqmtf2f73] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #0A3161;
    background: transparent; border: 2px solid #E2DAC6; border-radius: 6px;
    padding: 13px; width: 100%; cursor: pointer;
}
.giq-gate-secondary:hover:not(:disabled)[b-wbqmtf2f73] { border-color: #0A3161; }
.giq-gate-secondary:disabled[b-wbqmtf2f73] { opacity: .45; cursor: default; }

.giq-gate-foot[b-wbqmtf2f73] { font-size: 14px; color: #8A8272; text-align: center; }

@media (max-width: 560px) {
    .giq-gate-card[b-wbqmtf2f73] { padding: 26px 20px; }
    .giq-gate-card h1[b-wbqmtf2f73] { font-size: 34px; }
    .giq-codefield input[b-wbqmtf2f73] { font-size: 26px; letter-spacing: .16em; }
    .giq-codefield-narrow input.giq-emailinput[b-wbqmtf2f73] { font-size: 15px; }
}
/* /Components/Pages/WeeklyPlanBuilder.razor.rz.scp.css */
/* Weekly Plan Builder — scoped. Same navy/gold/cream literal-hex palette as PositionPathBuilder.razor.css
   (not var(--giq-*) - this page loads goldeniq.css but its own scoped rules stay self-contained). */

.wp-main[b-ubzgpvvgc5] {
    max-width: 1440px;
    margin: 0 auto;
    padding: 26px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.wp-pagehead[b-ubzgpvvgc5] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.wp-pageheadtext[b-ubzgpvvgc5] { display: flex; flex-direction: column; gap: 7px; }
.wp-eyebrow[b-ubzgpvvgc5] { font-weight: 600; font-size: 13px; letter-spacing: .1em; color: #8a6d1f; }

.wp-h1[b-ubzgpvvgc5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 44px;
    line-height: 1;
    letter-spacing: -.02em;
    color: #0a3161;
}

.wp-sub[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 15px; color: #6b6250; }

.wp-weeknav[b-ubzgpvvgc5] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.wp-btn-primary[b-ubzgpvvgc5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    cursor: pointer;
}

.wp-btn-primary:hover:not(:disabled)[b-ubzgpvvgc5] { background: #ffca3d; }
.wp-btn-primary:disabled[b-ubzgpvvgc5] { opacity: .45; cursor: default; }

.wp-btn-ghost[b-ubzgpvvgc5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 9px 14px;
    cursor: pointer;
}

.wp-btn-ghost:hover[b-ubzgpvvgc5] { border-color: #0a3161; }
.wp-btn-ghost.danger[b-ubzgpvvgc5] { color: #b3452f; border-color: #e8cfc7; }
.wp-btn-ghost.danger:hover[b-ubzgpvvgc5] { border-color: #b3452f; }

.wp-linklike[b-ubzgpvvgc5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #0a3161;
    background: none;
    border: none;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}

.wp-errorbanner[b-ubzgpvvgc5] {
    background: #fbe9e4;
    border: 1px solid #e8cfc7;
    color: #b3452f;
    border-radius: 8px;
    padding: 12px 16px;
    font-family: Barlow, sans-serif;
    font-size: 14px;
}

.wp-livebanner[b-ubzgpvvgc5] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #eef6ec;
    border: 1px solid #cfe4c9;
    border-radius: 8px;
    padding: 12px 16px;
    font-family: Barlow, sans-serif;
    font-size: 14px;
    color: #2f5230;
}

.wp-livetag[b-ubzgpvvgc5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    background: #2f5230;
    color: #ffffff;
    border-radius: 4px;
    padding: 3px 8px;
}

.wp-stats[b-ubzgpvvgc5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr) 1.7fr;
    gap: 14px;
    align-items: stretch;
}

.wp-statcard[b-ubzgpvvgc5] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wp-checktile[b-ubzgpvvgc5] { gap: 2px; }

.wp-statlabel[b-ubzgpvvgc5] { font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #8a6d1f; }
.wp-statvalue[b-ubzgpvvgc5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 30px; color: #0a3161; }
.wp-statsub[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 13px; color: #6b6250; }

.wp-layout[b-ubzgpvvgc5] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 18px;
    align-items: start;
}

.wp-library[b-ubzgpvvgc5] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: calc(var(--giq-header-h, 64px) + 18px);
}

.wp-librarytitle[b-ubzgpvvgc5] { font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #8a6d1f; }

.wp-input[b-ubzgpvvgc5] {
    font-family: Barlow, sans-serif;
    font-size: 14px;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 9px 12px;
    color: #0a3161;
    background: #ffffff;
}

/* Sized to the viewport rather than a small fixed box, so the list shows far more rows before it
   ever needs to scroll, and only ever scrolls within itself once it's actually taller than the
   available screen - not a cramped little scroll well partway down the sidebar. */
.wp-libraryrows[b-ubzgpvvgc5] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: calc(100vh - 300px);
    min-height: 240px;
    overflow-y: auto;
    padding-right: 4px;
}

.wp-libraryrows[b-ubzgpvvgc5]::-webkit-scrollbar { width: 8px; }
.wp-libraryrows[b-ubzgpvvgc5]::-webkit-scrollbar-track { background: transparent; }
.wp-libraryrows[b-ubzgpvvgc5]::-webkit-scrollbar-thumb { background: #e2dac6; border-radius: 4px; }
.wp-libraryrows[b-ubzgpvvgc5]::-webkit-scrollbar-thumb:hover { background: #d4c8a8; }

.wp-libraryrow[b-ubzgpvvgc5] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    text-align: left;
    background: #ffffff;
    border: 2px solid #e2dac6;
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
}

.wp-libraryrow:hover[b-ubzgpvvgc5] { border-color: #0a3161; }
.wp-libraryrow.picked[b-ubzgpvvgc5] { border-color: #F5B921; background: #fff8e6; }

.wp-empty[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 13px; color: #6b6250; }

.wp-kindtag[b-ubzgpvvgc5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .06em;
    border-radius: 4px;
    padding: 2px 7px;
}

.wp-kindtag.path[b-ubzgpvvgc5] { background: #0a3161; color: #F5B921; }
.wp-kindtag.daily[b-ubzgpvvgc5] { background: #F5B921; color: #0a3161; }

.wp-libraryname[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px; color: #0a3161; }
.wp-librarymeta[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 12px; color: #6b6250; }

.wp-pillrow[b-ubzgpvvgc5] { display: flex; gap: 6px; flex-wrap: wrap; }

.wp-pill[b-ubzgpvvgc5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    border-radius: 6px;
    padding: 7px 12px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #0a3161;
}

.wp-pill:hover[b-ubzgpvvgc5] { border-color: #0a3161; }
.wp-pill.on[b-ubzgpvvgc5] { background: #0a3161; border-color: #0a3161; color: #F5B921; }

.wp-pill.soon[b-ubzgpvvgc5] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: not-allowed;
    color: #A58A3A;
    background: #fbf8ef;
}

/* Blazor's CSS isolation scopes AppHeader.razor.css's own .giq-nav-off/.giq-offtag rules to
   AppHeader's markup only - reusing these class names here needs its own copy, same "genuinely
   shared name, independently defined per page" pattern already used by
   TeamManagement.razor.css/AdminDashboard.razor.css/etc. */
.giq-nav-off[b-ubzgpvvgc5] {
    display: inline-flex; align-items: center; gap: 7px;
    color: #A58A3A; cursor: not-allowed;
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 14px;
}
.giq-offtag[b-ubzgpvvgc5] {
    font-weight: 700; font-size: 9px; letter-spacing: .12em;
    background: rgba(10, 49, 97, .14); color: #7A5C10;
    border-radius: 3px; padding: 3px 5px;
}

/* Same format/colors as PositionPathBuilder.razor.css's own "READY TO PUBLISH?" checklist
   (.pb-checkrow/.pb-checkmark/.pb-checklabel) - circular badge, navy/gold when satisfied,
   tan/gray otherwise - just renamed to this page's wp- prefix per its own CSS-isolation
   convention (see the giq-nav-off/giq-offtag copy above for the same reasoning). */
.wp-checklist[b-ubzgpvvgc5] {
    display: flex;
    flex-direction: column;
}

.wp-checkrow[b-ubzgpvvgc5] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    border-top: 1px solid #f5eeda;
}

.wp-checkrow:first-child[b-ubzgpvvgc5] { border-top: none; }

.wp-checkmark[b-ubzgpvvgc5] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 11px;
    background: #f0e7cf;
    color: #8a8272;
}

.wp-checkmark.ok[b-ubzgpvvgc5] { background: #0a3161; color: #F5B921; }
.wp-checklabel[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 13px; line-height: 1.35; color: #4a463d; }

.wp-gridcol[b-ubzgpvvgc5] { display: flex; flex-direction: column; gap: 18px; }

.wp-pickedbanner[b-ubzgpvvgc5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff8e6;
    border: 1px solid #F5B921;
    border-radius: 8px;
    padding: 10px 16px;
    font-family: Barlow, sans-serif;
    font-size: 14px;
    color: #0a3161;
}

.wp-days[b-ubzgpvvgc5] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}

.wp-day[b-ubzgpvvgc5] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 10px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 140px;
}

.wp-day.over[b-ubzgpvvgc5] { border-color: #b3452f; }

.wp-dayhead[b-ubzgpvvgc5] { display: flex; flex-direction: column; }
.wp-dayname[b-ubzgpvvgc5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 15px; color: #0a3161; }
.wp-daydate[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 11px; color: #6b6250; }
.wp-dayload[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 11px; color: #8a6d1f; }

.wp-item[b-ubzgpvvgc5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #ffffff;
    border: 1px solid #e2dac6;
    border-radius: 6px;
    padding: 8px;
}

.wp-itemhead[b-ubzgpvvgc5] { display: flex; align-items: center; justify-content: space-between; }

.wp-itemtitle[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-weight: 600; font-size: 12px; color: #0a3161; line-height: 1.3; }

.wp-itemposition[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 11px; color: #6b6250; }

.wp-itemremove[b-ubzgpvvgc5] {
    background: none;
    border: none;
    color: #b3452f;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0 2px;
}

.wp-adddrop[b-ubzgpvvgc5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 11px;
    color: #0a3161;
    background: #ffffff;
    border: 1px dashed #e2dac6;
    border-radius: 6px;
    padding: 6px 8px;
    cursor: pointer;
    text-align: left;
}

.wp-adddrop:hover[b-ubzgpvvgc5] { border-color: #0a3161; }

.wp-roster[b-ubzgpvvgc5] {
    background: #fffdf7;
    border: 1px solid #e2dac6;
    border-radius: 12px;
    overflow: hidden;
}

.wp-rosterhead[b-ubzgpvvgc5], .wp-rosterrow[b-ubzgpvvgc5] {
    display: grid;
    grid-template-columns: 2fr 1.4fr .8fr 1.4fr;
    gap: 12px;
    padding: 10px 16px;
    align-items: center;
}

.wp-rosterhead[b-ubzgpvvgc5] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .08em;
    color: #8a6d1f;
    border-bottom: 1px solid #e2dac6;
}

.wp-rosterrow[b-ubzgpvvgc5] { border-bottom: 1px solid #f1ece0; font-family: Barlow, sans-serif; font-size: 13px; color: #0a3161; }
.wp-rosterrow:last-child[b-ubzgpvvgc5] { border-bottom: none; }
.wp-rostername[b-ubzgpvvgc5] { font-weight: 600; }
.wp-zero[b-ubzgpvvgc5] { color: #b3452f; font-weight: 600; }

.wp-loadbar[b-ubzgpvvgc5] { background: #f1ece0; border-radius: 4px; height: 8px; overflow: hidden; }
.wp-loadbarfill[b-ubzgpvvgc5] { background: #F5B921; height: 100%; }

.wp-scrim[b-ubzgpvvgc5] { position: fixed; inset: 0; background: rgba(10, 49, 97, .45); z-index: 40; }

.wp-modal[b-ubzgpvvgc5] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 41;
    background: #fffdf7;
    border-radius: 12px;
    padding: 24px;
    width: min(420px, 90vw);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.wp-modaltitle[b-ubzgpvvgc5] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; color: #0a3161; }
.wp-modalbody[b-ubzgpvvgc5] { font-family: Barlow, sans-serif; font-size: 14px; color: #6b6250; }
.wp-modalactions[b-ubzgpvvgc5] { display: flex; justify-content: flex-end; gap: 10px; }

@media (max-width: 900px) {
    .wp-layout[b-ubzgpvvgc5] { grid-template-columns: 1fr; }
    .wp-days[b-ubzgpvvgc5] { grid-template-columns: repeat(2, 1fr); }
    .wp-stats[b-ubzgpvvgc5] { grid-template-columns: repeat(2, 1fr); }
    .wp-rosterhead[b-ubzgpvvgc5], .wp-rosterrow[b-ubzgpvvgc5] { grid-template-columns: 1.6fr 1fr .6fr 1fr; }
}
/* /Components/Pages/Welcome.razor.rz.scp.css */
/* Same navy/gold palette as Login.razor.css's right-hand form panel - this page is the very next
   thing a user sees after that one, so it should read as a continuation, not a new brand. */
.giq-welcome[b-42cnn2g7xf] {
    min-height: 100vh;
    background: #0A3161;
    font-family: Barlow, Helvetica, sans-serif;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 18px;
    text-align: center;
    padding: 24px;
    animation: giq-fade-in-b-42cnn2g7xf .5s ease-out;
}

/* Mirror of Login.razor.css's .giq-lockup/.giq-wordmark/.giq-name/.giq-iq/.giq-tag - same layout,
   every color swapped for this page's navy (rather than gold) background. Sized down from Login's
   hero treatment since this sits above a page's worth of other content, not alone in a full panel. */
.giq-lockup[b-42cnn2g7xf] { display: flex; align-items: center; gap: 18px; margin-bottom: 9px; }
.giq-lockup img[b-42cnn2g7xf] { width: 78px; height: 78px; }
.giq-wordmark[b-42cnn2g7xf] { display: flex; flex-direction: column; align-items: flex-start; line-height: .86; }
.giq-name[b-42cnn2g7xf] {
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 45px;
    letter-spacing: -.01em; color: #F5B921;
}
/* the knocked-out IQ, reversed - fill matches this page's navy background, gold outline */
.giq-iq[b-42cnn2g7xf] { color: #0A3161; -webkit-text-stroke: 3px #F5B921; }
.giq-tag[b-42cnn2g7xf] {
    font-weight: 600; font-size: 15px; letter-spacing: .26em; color: #F5B921; margin-top: 12px;
}

.giq-avatar[b-42cnn2g7xf] {
    width: 188px; height: 188px; border-radius: 50%;
    background: #F5B921; color: #0A3161;
    display: flex; align-items: center; justify-content: center;
    font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 65px;
    overflow: hidden;
    animation: giq-pop-in-b-42cnn2g7xf .45s cubic-bezier(.34, 1.56, .64, 1) .1s both;
}
.giq-avatar-img[b-42cnn2g7xf] { width: 100%; height: 100%; object-fit: cover; }

.giq-hello[b-42cnn2g7xf] { margin: 4px 0 0; font-size: 17px; color: #9DB4D2; }

.giq-who[b-42cnn2g7xf] {
    margin: 0; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
    font-size: 48px; line-height: 1; color: #F5B921; text-wrap: balance;
}

.giq-caption[b-42cnn2g7xf] { margin: 6px 0 0; font-size: 14px; color: #6C87A8; }

.giq-progress[b-42cnn2g7xf] {
    width: 180px; height: 4px; border-radius: 2px; margin-top: 10px;
    background: rgba(157, 180, 210, .25); overflow: hidden;
}
.giq-progress-bar[b-42cnn2g7xf] {
    height: 100%; background: #F5B921; border-radius: 2px;
    width: 0%;
    animation: giq-fill-b-42cnn2g7xf 2s linear forwards;
}

@keyframes giq-fade-in-b-42cnn2g7xf { from { opacity: 0; } to { opacity: 1; } }
@keyframes giq-pop-in-b-42cnn2g7xf { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
@keyframes giq-fill-b-42cnn2g7xf { from { width: 0%; } to { width: 100%; } }

@media (max-width: 480px) {
    .giq-lockup img[b-42cnn2g7xf] { width: 60px; height: 60px; }
    .giq-name[b-42cnn2g7xf] { font-size: 36px; }
    .giq-tag[b-42cnn2g7xf] { font-size: 14px; letter-spacing: .2em; }
    .giq-avatar[b-42cnn2g7xf] { width: 149px; height: 149px; font-size: 51px; }
    .giq-who[b-42cnn2g7xf] { font-size: 36px; }
}
/* /Components/Shared/AppHeader.razor.rz.scp.css */
/* Avatar logout dropdown - see the note in AppHeader.razor. Builds on the shared
   wwwroot/css/goldeniq.css chrome for everything else (.giq-header, .giq-nav, .giq-avatar-sm, etc.). */

.giq-usermenu[b-2iy64uxm45] { position: relative; }
button.giq-avatar-sm[b-2iy64uxm45] {
    font-family: "Barlow Condensed", sans-serif;
    border: none; padding: 0; cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}
button.giq-avatar-sm:hover[b-2iy64uxm45] { transform: scale(1.06); box-shadow: 0 0 0 3px rgba(255, 255, 255, .35); }
.giq-usermenu-overlay[b-2iy64uxm45] {
    /* z-index must clear every page's own sticky in-page bars (e.g. LessonEditor's .le-actionbar at
       40) so the dropdown isn't rendered underneath them - but stay below real modal dialogs (60+),
       which should still cover an open avatar menu. */
    position: fixed; inset: 0; z-index: 49; background: transparent; border: none; padding: 0; cursor: default;
}
.giq-usermenu-panel[b-2iy64uxm45] {
    position: absolute; top: calc(100% + 10px); right: 0; z-index: 50;
    width: max-content; min-width: 220px; background: var(--giq-card); border: 1px solid var(--giq-line); border-radius: 10px;
    box-shadow: 0 8px 24px rgba(10, 49, 97, .18);
    display: flex; flex-direction: column; overflow: hidden;
    transform-origin: top right;
    animation: giq-usermenu-in-b-2iy64uxm45 .18s cubic-bezier(.2, .8, .3, 1);
}
@keyframes giq-usermenu-in-b-2iy64uxm45 {
    from { opacity: 0; transform: translateY(-6px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.giq-usermenu-panel form[b-2iy64uxm45] { display: contents; }
.giq-usermenu-item[b-2iy64uxm45] {
    display: block;
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: var(--giq-ink);
    background: transparent; border: none; text-align: left; text-decoration: none; cursor: pointer;
    padding: 12px 16px; width: 100%; white-space: nowrap;
    transition: background-color .12s ease, color .12s ease, padding-left .12s ease;
}
.giq-usermenu-item:hover[b-2iy64uxm45] { background: var(--giq-bone); color: #B3452F; padding-left: 20px; }

/* Not-yet-built nav destination (Film Lab, Analytics, etc.) - matches the disabled/SOON treatment
   AdminDashboard.razor's own separate header already used for its own unbuilt nav items, ported here
   so every page sharing this component gets it for free instead of each hand-trimming its nav list
   down to only real routes. */
.giq-nav-off[b-2iy64uxm45] {
    display: inline-flex; align-items: center; gap: 7px;
    color: #A58A3A; cursor: not-allowed;
}
.giq-offtag[b-2iy64uxm45] {
    font-weight: 700; font-size: 9px; letter-spacing: .12em;
    background: rgba(10, 49, 97, .14); color: #7A5C10;
    border-radius: 3px; padding: 3px 5px;
}
/* /Components/Shared/AssignTrainingPathModal.razor.rz.scp.css */
/* Shared/AssignTrainingPathModal.razor - scoped. Scrim/card structure mirrors
   Shared/PositionsModal.razor.css / Shared/InvitePlayerDialog.razor.css. */

.atp-scrim[b-jqakyq9eki] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 32px 32px;
    overflow: auto;
}

.atp-card[b-jqakyq9eki] {
    width: 100%;
    max-width: 460px;
    background: var(--giq-card);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.atp-head[b-jqakyq9eki] {
    padding: 24px 26px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--giq-line-soft);
}

.atp-headtext[b-jqakyq9eki] { display: flex; flex-direction: column; gap: 4px; }

.atp-title[b-jqakyq9eki] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: var(--giq-blue);
}

.atp-sub[b-jqakyq9eki] { font-size: 14px; line-height: 1.45; color: var(--giq-ink-3); text-wrap: pretty; }

.atp-close[b-jqakyq9eki] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: var(--giq-ink-4);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
}

.atp-close:hover[b-jqakyq9eki] { color: var(--giq-blue); }

.atp-body[b-jqakyq9eki] {
    padding: 10px 26px 22px;
    display: flex;
    flex-direction: column;
    max-height: 60vh;
    overflow-y: auto;
}

.atp-row[b-jqakyq9eki] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--giq-line-soft);
}

.atp-row:first-child[b-jqakyq9eki] { border-top: none; }

.atp-pathtext[b-jqakyq9eki] { display: flex; flex-direction: column; gap: 2px; }
.atp-pathname[b-jqakyq9eki] { font-weight: 600; font-size: 15px; color: var(--giq-ink); }

.atp-foot[b-jqakyq9eki] {
    padding: 18px 26px;
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-bone);
}

.atp-btn-primary[b-jqakyq9eki] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: var(--giq-blue);
    background: var(--giq-gold);
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.atp-btn-primary:hover[b-jqakyq9eki] { background: var(--giq-gold-hover); }

@media (max-width: 500px) {
    .atp-scrim[b-jqakyq9eki] { padding: 0; align-items: stretch; }
    .atp-card[b-jqakyq9eki] { max-width: none; min-height: 100%; border-radius: 0; }
}
/* /Components/Shared/BulkAssignPathDialog.razor.rz.scp.css */
/* Shared/BulkAssignPathDialog.razor - scoped. Scrim/card structure mirrors PositionsModal.razor.css
   (Blazor's CSS isolation means each modal needs its own copy of this pattern, even though it's
   visually the same family). */

.pm-scrim[b-5akrrdsroj] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 32px 32px;
    overflow: auto;
}

.pm-card[b-5akrrdsroj] {
    width: 100%;
    max-width: 440px;
    background: var(--giq-card);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.pm-head[b-5akrrdsroj] {
    padding: 24px 26px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--giq-line-soft);
}

.pm-headtext[b-5akrrdsroj] { display: flex; flex-direction: column; gap: 4px; }

.pm-title[b-5akrrdsroj] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: var(--giq-blue);
}

.pm-sub[b-5akrrdsroj] { font-size: 14px; line-height: 1.45; color: var(--giq-ink-3); text-wrap: pretty; }

.pm-body[b-5akrrdsroj] {
    padding: 10px 26px 22px;
    display: flex;
    flex-direction: column;
    max-height: 60vh;
    overflow-y: auto;
}

.pm-row[b-5akrrdsroj] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--giq-line-soft);
}

.pm-row:first-child[b-5akrrdsroj] { border-top: none; }

.pm-check[b-5akrrdsroj] {
    font-family: Barlow, sans-serif;
    font-weight: 700;
    font-size: 13px;
    width: 42px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 6px;
    border: 2px solid var(--giq-line);
    background: transparent;
    color: var(--giq-ink-3);
    cursor: pointer;
}

.pm-check:hover:not(:disabled)[b-5akrrdsroj] { border-color: var(--giq-blue); }
.pm-check.on[b-5akrrdsroj] { border-color: var(--giq-blue); background: var(--giq-blue); color: var(--giq-gold); }
.pm-check:disabled[b-5akrrdsroj] { opacity: .6; cursor: default; }

.pm-posname[b-5akrrdsroj] { font-size: 15px; color: var(--giq-ink); flex: 1; }

.pm-primary[b-5akrrdsroj] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .06em;
    white-space: nowrap;
    border-radius: 5px;
    padding: 6px 10px;
    border: 1px solid var(--giq-line);
    background: transparent;
    color: var(--giq-ink-3);
}

.pm-primary.on[b-5akrrdsroj] { border-color: var(--giq-gold); background: var(--giq-gold); color: var(--giq-blue); }

.pm-foot[b-5akrrdsroj] {
    padding: 18px 26px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-bone);
}

.pm-btn-primary[b-5akrrdsroj] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: var(--giq-blue);
    background: var(--giq-gold);
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.pm-btn-primary:hover:not(:disabled)[b-5akrrdsroj] { background: var(--giq-gold-hover); }
.pm-btn-primary:disabled[b-5akrrdsroj] { opacity: .45; cursor: default; }

.pm-btn-ghost[b-5akrrdsroj] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: var(--giq-blue);
    background: transparent;
    border: 2px solid var(--giq-line);
    border-radius: 6px;
    padding: 10px 16px;
    cursor: pointer;
}

.pm-btn-ghost:hover[b-5akrrdsroj] { border-color: var(--giq-blue); }

@media (max-width: 500px) {
    .pm-scrim[b-5akrrdsroj] { padding: 0; align-items: stretch; }
    .pm-card[b-5akrrdsroj] { max-width: none; min-height: 100%; border-radius: 0; }
}
/* /Components/Shared/DenyCoachDialog.razor.rz.scp.css */
/* Same generic dialog shell (ipd-*) as InvitePlayerDialog.razor.css/InviteAdminDialog.razor.css - own
   scoped copy per this app's convention (CSS isolation means the shared names don't collide). */

.ipd-scrim[b-8jbqos48zj] {
    position: fixed; inset: 0; z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex; align-items: flex-start; justify-content: center;
    padding: 64px 32px 32px; overflow: auto;
}

.ipd-card[b-8jbqos48zj] {
    width: 100%; max-width: 480px; background: #fffdf7; border-radius: 14px; overflow: hidden;
    display: flex; flex-direction: column; box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.ipd-head[b-8jbqos48zj] {
    padding: 24px 26px 18px; display: flex; align-items: flex-start; justify-content: space-between;
    gap: 20px; border-bottom: 1px solid #f0e7cf;
}
.ipd-headtext[b-8jbqos48zj] { display: flex; flex-direction: column; gap: 4px; }
.ipd-title[b-8jbqos48zj] { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 30px; line-height: 1; color: #0a3161; }
.ipd-sub[b-8jbqos48zj] { font-size: 15px; line-height: 1.45; color: #6b665a; text-wrap: pretty; }
.ipd-close[b-8jbqos48zj] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #8a8272;
    background: transparent; border: none; cursor: pointer; padding: 4px 8px; flex-shrink: 0;
}
.ipd-close:hover[b-8jbqos48zj] { color: #0a3161; }

.ipd-body[b-8jbqos48zj] { padding: 22px 26px; display: flex; flex-direction: column; gap: 20px; }
.ipd-field[b-8jbqos48zj] { display: flex; flex-direction: column; gap: 7px; }
.ipd-label[b-8jbqos48zj] { font-weight: 600; font-size: 12px; letter-spacing: .16em; color: #8a6d1f; }

.ipd-input[b-8jbqos48zj] {
    font-family: Barlow, sans-serif; font-size: 15px; color: #101014; background: #F6F2E8;
    border: 2px solid #e2dac6; border-radius: 6px; padding: 11px 14px; outline: none;
}
.ipd-input:focus[b-8jbqos48zj] { border-color: #F5B921; }
.ipd-input.invalid[b-8jbqos48zj] { border-color: #d99b8a; }
.ipd-input[b-8jbqos48zj]::placeholder { color: #a8a293; }

.dcd-textarea[b-8jbqos48zj] { min-height: 110px; resize: vertical; font-family: Barlow, sans-serif; }

.ipd-error[b-8jbqos48zj] {
    display: flex; align-items: flex-start; gap: 9px;
    background: #fbf0ec; border: 1px solid #e8cfc7; border-radius: 8px; padding: 11px 13px;
}
.ipd-errormark[b-8jbqos48zj] { font-weight: 700; font-size: 14px; color: #b3452f; line-height: 1.4; }
.ipd-errortext[b-8jbqos48zj] { display: flex; flex-direction: column; gap: 5px; font-size: 14px; line-height: 1.45; color: #8f3826; text-wrap: pretty; }

.ipd-foot[b-8jbqos48zj] {
    padding: 18px 26px; display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap; border-top: 1px solid #f0e7cf; background: #F6F2E8;
}
.ipd-foot-end[b-8jbqos48zj] { justify-content: flex-end; }

.ipd-btn-primary[b-8jbqos48zj] {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 19px; letter-spacing: .05em;
    color: #0a3161; background: #F5B921; border: none; border-radius: 6px; padding: 11px 24px; cursor: pointer;
}
.ipd-btn-primary:hover:not(:disabled)[b-8jbqos48zj] { background: #ffca3d; }
.ipd-btn-primary:disabled[b-8jbqos48zj] { opacity: .45; cursor: default; }

/* Denying is a destructive-flavored action, unlike the invite dialogs' gold "send" button - this
   overrides just the color pairing while keeping the same shape/sizing. */
.dcd-btn-danger[b-8jbqos48zj] { background: #b3452f; color: #fff8ee; }
.dcd-btn-danger:hover:not(:disabled)[b-8jbqos48zj] { background: #963522; }

.ipd-btn-ghost[b-8jbqos48zj] {
    font-family: Barlow, sans-serif; font-weight: 600; font-size: 15px; color: #0a3161;
    background: transparent; border: 2px solid #e2dac6; border-radius: 6px; padding: 11px 18px; cursor: pointer;
}
.ipd-btn-ghost:hover:not(:disabled)[b-8jbqos48zj] { border-color: #0a3161; }

@media (max-width: 700px) {
    .ipd-scrim[b-8jbqos48zj] { padding: 0; align-items: stretch; }
    .ipd-card[b-8jbqos48zj] { max-width: none; min-height: 100%; border-radius: 0; }
    .ipd-foot[b-8jbqos48zj] { position: sticky; bottom: 0; flex-direction: column; align-items: stretch; }
}
/* /Components/Shared/HelpAssistantWidget.razor.rz.scp.css */
/* Literal brand hex values (navy #0c2340, gold #f5b921), not var(--giq-*): this widget renders from
   layouts on every page, including pages that don't load goldeniq.css (see ReconnectModal.razor.css for
   the same reasoning). */

.hw-root[b-cwsi78tmts] {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 900;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    font-family: Barlow, system-ui, sans-serif;
}

.hw-fab[b-cwsi78tmts] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 0;
    background: #f5b921;
    color: #0c2340;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(12, 35, 64, 0.35);
}

.hw-fab[b-cwsi78tmts] {
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hw-fabbadge[b-cwsi78tmts] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hw-fabx[b-cwsi78tmts] {
    font-size: 28px;
    line-height: 1;
}

.hw-headbadge[b-cwsi78tmts] {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.hw-row[b-cwsi78tmts] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.hw-row.user[b-cwsi78tmts] {
    justify-content: flex-end;
}

.hw-row .hw-msg[b-cwsi78tmts] {
    max-width: calc(100% - 36px);
}

.hw-avatar[b-cwsi78tmts] {
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.hw-initials[b-cwsi78tmts] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5b921;
    color: #0c2340;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.hw-fab:hover[b-cwsi78tmts] {
    filter: brightness(1.05);
}

.hw-fab:focus-visible[b-cwsi78tmts],
.hw-send:focus-visible[b-cwsi78tmts],
.hw-close:focus-visible[b-cwsi78tmts] {
    outline: 3px solid #0c2340;
    outline-offset: 2px;
}

.hw-panel[b-cwsi78tmts] {
    width: 360px;
    max-width: calc(100vw - 40px);
    height: 480px;
    max-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #d8dde6;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(12, 35, 64, 0.3);
}

.hw-head[b-cwsi78tmts] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: #0c2340;
    color: #ffffff;
}

.hw-headtext[b-cwsi78tmts] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.hw-title[b-cwsi78tmts] {
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #f5b921;
}

.hw-sub[b-cwsi78tmts] {
    font-size: 13px;
    color: #c9d4e4;
}

.hw-close[b-cwsi78tmts] {
    border: 0;
    background: transparent;
    color: #ffffff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.hw-headactions[b-cwsi78tmts] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hw-dock[b-cwsi78tmts] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
}

.hw-dock:hover[b-cwsi78tmts],
.hw-dock.on[b-cwsi78tmts] {
    color: #f5b921;
}

.hw-dock:focus-visible[b-cwsi78tmts] {
    outline: 3px solid #f5b921;
    outline-offset: 2px;
}

/* Docked: full-height rail on the right edge, below the top nav. The 64px top matches the gold
   .giq-header's height; the width must match --hw-dock-width in app.css, which compresses the page. */
@media (min-width: 901px) {
    .hw-root.hw-docked[b-cwsi78tmts] {
        right: 0;
        bottom: 0;
        top: var(--giq-header-h, 64px);
        gap: 0;
    }

    .hw-root.hw-docked .hw-panel[b-cwsi78tmts] {
        width: 380px;
        max-width: none;
        height: 100%;
        max-height: none;
        border-radius: 0;
        border-width: 0 0 0 1px;
        box-shadow: -6px 0 20px rgba(12, 35, 64, 0.12);
    }
}

/* Too narrow to share the screen with a 380px rail - hide the control; docked state is ignored. */
@media (max-width: 900px) {
    .hw-dock[b-cwsi78tmts] {
        display: none;
    }
}

.hw-messages[b-cwsi78tmts] {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    position: relative; /* offsetParent for the scroll-to-reply math in HelpAssistantWidget.razor.js */
    background: #f6f8fb;
}

.hw-messagesinner[b-cwsi78tmts] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hw-intro[b-cwsi78tmts] {
    color: #33445c;
    font-size: 15px;
}

.hw-intro p[b-cwsi78tmts] {
    margin: 0 0 8px;
}

.hw-hint[b-cwsi78tmts] {
    font-size: 13px;
    color: #62738c;
}

.hw-msg[b-cwsi78tmts] {
    max-width: 88%;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 15px;
    line-height: 1.4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.hw-msg.user[b-cwsi78tmts] {
    align-self: flex-end;
    background: #0c2340;
    color: #ffffff;
}

.hw-msg.bot[b-cwsi78tmts] {
    align-self: flex-start;
    background: #ffffff;
    color: #1c2b40;
    border: 1px solid #d8dde6;
}

/* Assistant answers are rendered HTML blocks (ChatMarkdown), so no pre-wrap; ::deep because scoped CSS
   attributes are not stamped onto MarkupString children. */
.hw-msg.bot[b-cwsi78tmts] {
    white-space: normal;
}

.hw-msg.bot[b-cwsi78tmts]  p {
    margin: 0 0 8px;
}

.hw-msg.bot[b-cwsi78tmts]  p:last-child,
.hw-msg.bot[b-cwsi78tmts]  ul:last-child,
.hw-msg.bot[b-cwsi78tmts]  ol:last-child {
    margin-bottom: 0;
}

.hw-msg.bot[b-cwsi78tmts]  ul,
.hw-msg.bot[b-cwsi78tmts]  ol {
    margin: 0 0 8px;
    padding-left: 22px;
}

.hw-msg.bot[b-cwsi78tmts]  li {
    margin-bottom: 3px;
}

.hw-msg.bot[b-cwsi78tmts]  code {
    padding: 1px 5px;
    border-radius: 4px;
    background: #eef1f6;
    font-size: 13px;
}

.hw-msg.error[b-cwsi78tmts] {
    align-self: flex-start;
    background: #fdecea;
    color: #8a2a1c;
    border: 1px solid #f2b8b0;
}

.hw-typing[b-cwsi78tmts] {
    color: #62738c;
    font-style: italic;
}

.hw-form[b-cwsi78tmts] {
    display: flex;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid #d8dde6;
    background: #ffffff;
}

.hw-input[b-cwsi78tmts] {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #b9c3d3;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
}

.hw-input:focus[b-cwsi78tmts] {
    outline: 2px solid #f5b921;
    border-color: #f5b921;
}

.hw-send[b-cwsi78tmts] {
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    background: #0c2340;
    color: #f5b921;
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.hw-send:disabled[b-cwsi78tmts] {
    opacity: 0.45;
    cursor: not-allowed;
}

.hw-foot[b-cwsi78tmts] {
    padding: 8px 12px 10px;
    background: #ffffff;
    text-align: center;
}

.hw-helplink[b-cwsi78tmts] {
    font-size: 13px;
    font-weight: 600;
    color: #0c2340;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.hw-helplink:hover[b-cwsi78tmts] {
    color: #8a6a0a;
}

.hw-helplink:focus-visible[b-cwsi78tmts] {
    outline: 3px solid #0c2340;
    outline-offset: 2px;
}

@media (max-width: 480px) {
    .hw-root[b-cwsi78tmts] {
        right: 12px;
        bottom: 12px;
    }

    .hw-panel[b-cwsi78tmts] {
        width: calc(100vw - 24px);
        height: calc(100vh - 100px);
    }
}
/* /Components/Shared/InviteAdminDialog.razor.rz.scp.css */
/* Shared/InviteAdminDialog.razor - scoped. Same generic dialog shell/classes (ipd-*) as
   InvitePlayerDialog.razor.css - Blazor CSS isolation means these class names don't collide across
   components, so reusing the same vocabulary here is safe and keeps the two dialogs visually consistent. */

.ipd-scrim[b-ibte99gay5] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 32px 32px;
    overflow: auto;
}

.ipd-card[b-ibte99gay5] {
    width: 100%;
    max-width: 480px;
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.ipd-head[b-ibte99gay5] {
    padding: 24px 26px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #f0e7cf;
}

.ipd-headtext[b-ibte99gay5] { display: flex; flex-direction: column; gap: 4px; }

.ipd-title[b-ibte99gay5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: #0a3161;
}

.ipd-sub[b-ibte99gay5] { font-size: 15px; line-height: 1.45; color: #6b665a; text-wrap: pretty; }

.ipd-close[b-ibte99gay5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
}

.ipd-close:hover[b-ibte99gay5] { color: #0a3161; }

.ipd-body[b-ibte99gay5] {
    padding: 22px 26px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ipd-field[b-ibte99gay5] { display: flex; flex-direction: column; gap: 7px; }

.ipd-label[b-ibte99gay5] {
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .16em;
    color: #8a6d1f;
}

.ipd-hint[b-ibte99gay5] { font-size: 14px; color: #8a8272; text-wrap: pretty; }

.ipd-input[b-ibte99gay5] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #101014;
    background: #F6F2E8;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 14px;
    outline: none;
}

.ipd-input:focus[b-ibte99gay5] { border-color: #F5B921; }
.ipd-input.invalid[b-ibte99gay5] { border-color: #d99b8a; }
.ipd-input[b-ibte99gay5]::placeholder { color: #a8a293; }

.ipd-error[b-ibte99gay5] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    background: #fbf0ec;
    border: 1px solid #e8cfc7;
    border-radius: 8px;
    padding: 11px 13px;
}

.ipd-errormark[b-ibte99gay5] { font-weight: 700; font-size: 14px; color: #b3452f; line-height: 1.4; }

.ipd-errortext[b-ibte99gay5] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 14px;
    line-height: 1.45;
    color: #8f3826;
    text-wrap: pretty;
}

.ipd-rowtext[b-ibte99gay5] { display: flex; flex-direction: column; line-height: 1.3; }
.ipd-rowtitle[b-ibte99gay5] { font-weight: 600; font-size: 15px; color: #101014; }
.ipd-rowdetail[b-ibte99gay5] { font-size: 13px; color: #8a8272; }

.ipd-sentrow[b-ibte99gay5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 8px;
    padding: 11px 14px;
    background: #F6F2E8;
    border: 1px solid #e2dac6;
}

.ipd-badge[b-ibte99gay5] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    background: #0a3161;
    color: #F5B921;
    border-radius: 4px;
    padding: 5px 9px;
    flex-shrink: 0;
}

.ipd-donebanner[b-ibte99gay5] {
    background: #F5B921;
    border-radius: 10px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.ipd-donemark[b-ibte99gay5] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0a3161;
    color: #F5B921;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 22px;
    flex-shrink: 0;
}

.ipd-donetext[b-ibte99gay5] { display: flex; flex-direction: column; line-height: 1.35; }

.ipd-donehead[b-ibte99gay5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #0a3161;
}

.ipd-donenote[b-ibte99gay5] { font-size: 14px; color: #7a5c10; }

.ipd-foot[b-ibte99gay5] {
    padding: 18px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    border-top: 1px solid #f0e7cf;
    background: #F6F2E8;
}

.ipd-foot-end[b-ibte99gay5] { justify-content: flex-end; }

.ipd-btn-primary[b-ibte99gay5] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.ipd-btn-primary:hover:not(:disabled)[b-ibte99gay5] { background: #ffca3d; }

.ipd-btn-ghost[b-ibte99gay5] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 18px;
    cursor: pointer;
}

.ipd-btn-ghost:hover:not(:disabled)[b-ibte99gay5] { border-color: #0a3161; }

.ipd-btn-primary:disabled[b-ibte99gay5] { opacity: .45; cursor: default; }

@media (max-width: 700px) {
    .ipd-scrim[b-ibte99gay5] { padding: 0; align-items: stretch; }
    .ipd-card[b-ibte99gay5] { max-width: none; min-height: 100%; border-radius: 0; }
    .ipd-foot[b-ibte99gay5] { position: sticky; bottom: 0; flex-direction: column; align-items: stretch; }
}
/* /Components/Shared/InvitePlayerDialog.razor.rz.scp.css */
/* Shared/InvitePlayerDialog.razor - scoped. Trimmed from the design folder's own version of this
   file down to a single email field - see the .razor file's header comment for why. */

.ipd-scrim[b-h5efmrj1z0] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 32px 32px;
    overflow: auto;
}

.ipd-card[b-h5efmrj1z0] {
    width: 100%;
    max-width: 480px;
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.ipd-head[b-h5efmrj1z0] {
    padding: 24px 26px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #f0e7cf;
}

.ipd-headtext[b-h5efmrj1z0] { display: flex; flex-direction: column; gap: 4px; }

.ipd-title[b-h5efmrj1z0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: #0a3161;
}

.ipd-sub[b-h5efmrj1z0] { font-size: 15px; line-height: 1.45; color: #6b665a; text-wrap: pretty; }

.ipd-close[b-h5efmrj1z0] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #8a8272;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    flex-shrink: 0;
}

.ipd-close:hover[b-h5efmrj1z0] { color: #0a3161; }

.ipd-body[b-h5efmrj1z0] {
    padding: 22px 26px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ipd-field[b-h5efmrj1z0] { display: flex; flex-direction: column; gap: 7px; }

.ipd-tworow[b-h5efmrj1z0] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.ipd-pillrow[b-h5efmrj1z0] { display: flex; gap: 6px; flex-wrap: wrap; }

.ipd-pill[b-h5efmrj1z0] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    border-radius: 6px;
    padding: 8px 12px;
    border: 2px solid #e2dac6;
    background: #ffffff;
    color: #0a3161;
}

.ipd-pill:hover[b-h5efmrj1z0] { border-color: #0a3161; }
.ipd-pill.on[b-h5efmrj1z0] { background: #0a3161; border-color: #0a3161; color: #F5B921; }

.ipd-label[b-h5efmrj1z0] {
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .16em;
    color: #8a6d1f;
}

.ipd-hint[b-h5efmrj1z0] { font-size: 14px; color: #8a8272; text-wrap: pretty; }

.ipd-input[b-h5efmrj1z0] {
    font-family: Barlow, sans-serif;
    font-size: 15px;
    color: #101014;
    background: #F6F2E8;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 14px;
    outline: none;
}

.ipd-input:focus[b-h5efmrj1z0] { border-color: #F5B921; }
.ipd-input.invalid[b-h5efmrj1z0] { border-color: #d99b8a; }
.ipd-input[b-h5efmrj1z0]::placeholder { color: #a8a293; }

.ipd-error[b-h5efmrj1z0] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    background: #fbf0ec;
    border: 1px solid #e8cfc7;
    border-radius: 8px;
    padding: 11px 13px;
}

.ipd-errormark[b-h5efmrj1z0] { font-weight: 700; font-size: 14px; color: #b3452f; line-height: 1.4; }

.ipd-errortext[b-h5efmrj1z0] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 14px;
    line-height: 1.45;
    color: #8f3826;
    text-wrap: pretty;
}

.ipd-rowtext[b-h5efmrj1z0] { display: flex; flex-direction: column; line-height: 1.3; }
.ipd-rowtitle[b-h5efmrj1z0] { font-weight: 600; font-size: 15px; color: #101014; }
.ipd-rowdetail[b-h5efmrj1z0] { font-size: 13px; color: #8a8272; }

.ipd-sentrow[b-h5efmrj1z0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 8px;
    padding: 11px 14px;
    background: #F6F2E8;
    border: 1px solid #e2dac6;
}

.ipd-badge[b-h5efmrj1z0] {
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .1em;
    background: #0a3161;
    color: #F5B921;
    border-radius: 4px;
    padding: 5px 9px;
    flex-shrink: 0;
}

.ipd-donebanner[b-h5efmrj1z0] {
    background: #F5B921;
    border-radius: 10px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.ipd-donemark[b-h5efmrj1z0] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0a3161;
    color: #F5B921;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 22px;
    flex-shrink: 0;
}

.ipd-donetext[b-h5efmrj1z0] { display: flex; flex-direction: column; line-height: 1.35; }

.ipd-donehead[b-h5efmrj1z0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #0a3161;
}

.ipd-donenote[b-h5efmrj1z0] { font-size: 14px; color: #7a5c10; }

.ipd-foot[b-h5efmrj1z0] {
    padding: 18px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    border-top: 1px solid #f0e7cf;
    background: #F6F2E8;
}

.ipd-foot-end[b-h5efmrj1z0] { justify-content: flex-end; }

.ipd-btn-primary[b-h5efmrj1z0] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: #0a3161;
    background: #F5B921;
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.ipd-btn-primary:hover:not(:disabled)[b-h5efmrj1z0] { background: #ffca3d; }

.ipd-btn-ghost[b-h5efmrj1z0] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #0a3161;
    background: transparent;
    border: 2px solid #e2dac6;
    border-radius: 6px;
    padding: 11px 18px;
    cursor: pointer;
}

.ipd-btn-ghost:hover:not(:disabled)[b-h5efmrj1z0] { border-color: #0a3161; }

.ipd-btn-primary:disabled[b-h5efmrj1z0] { opacity: .45; cursor: default; }

@media (max-width: 700px) {
    .ipd-scrim[b-h5efmrj1z0] { padding: 0; align-items: stretch; }
    .ipd-card[b-h5efmrj1z0] { max-width: none; min-height: 100%; border-radius: 0; }
    .ipd-foot[b-h5efmrj1z0] { position: sticky; bottom: 0; flex-direction: column; align-items: stretch; }
    .ipd-tworow[b-h5efmrj1z0] { grid-template-columns: 1fr; }
}
/* /Components/Shared/MaintenanceNotice.razor.rz.scp.css */
/* Literal brand hex values (navy #0c2340, gold #f5b921): rendered on every dashboard, and written to look
   right whether or not the page's own stylesheet defines the --giq-* variables. */

.mn-notice[b-se53uew9d9] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 12px 16px;
    background: #fff6d6;
    border: 1px solid #f5b921;
    border-left-width: 6px;
    border-radius: 10px;
    font-family: Barlow, system-ui, sans-serif;
    color: #0c2340;
}

.mn-notice.on[b-se53uew9d9] {
    background: #fdecea;
    border-color: #b3452f;
}

.mn-badge[b-se53uew9d9] {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.mn-dismiss[b-se53uew9d9] {
    flex: none;
    margin-left: auto;
    align-self: flex-start;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #0c2340;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.mn-dismiss:hover[b-se53uew9d9] {
    background: rgba(12, 35, 64, 0.1);
}

.mn-dismiss:focus-visible[b-se53uew9d9] {
    outline: 3px solid #0c2340;
    outline-offset: 2px;
}

.mn-text[b-se53uew9d9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mn-title[b-se53uew9d9] {
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.1;
}

.mn-when[b-se53uew9d9] {
    font-size: 15px;
    font-weight: 700;
}

.mn-body[b-se53uew9d9] {
    font-size: 15px;
    line-height: 1.4;
    color: #33445c;
    overflow-wrap: anywhere;
    white-space: pre-line;
}
/* /Components/Shared/PositionsModal.razor.rz.scp.css */
/* Shared/PositionsModal.razor - scoped. Scrim/card structure mirrors InvitePlayerDialog.razor.css,
   this app's one other real modal. */

.pm-scrim[b-3ycsa0efi9] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 32px 32px;
    overflow: auto;
}

.pm-card[b-3ycsa0efi9] {
    width: 100%;
    max-width: 440px;
    background: var(--giq-card);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.pm-head[b-3ycsa0efi9] {
    padding: 24px 26px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--giq-line-soft);
}

.pm-headtext[b-3ycsa0efi9] { display: flex; flex-direction: column; gap: 4px; }

.pm-title[b-3ycsa0efi9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: var(--giq-blue);
}

.pm-sub[b-3ycsa0efi9] { font-size: 14px; line-height: 1.45; color: var(--giq-ink-3); text-wrap: pretty; }

.pm-body[b-3ycsa0efi9] {
    padding: 10px 26px 22px;
    display: flex;
    flex-direction: column;
    max-height: 60vh;
    overflow-y: auto;
}

.pm-row[b-3ycsa0efi9] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--giq-line-soft);
}

.pm-row:first-child[b-3ycsa0efi9] { border-top: none; }

.pm-check[b-3ycsa0efi9] {
    font-family: Barlow, sans-serif;
    font-weight: 700;
    font-size: 13px;
    width: 42px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 6px;
    border: 2px solid var(--giq-line);
    background: transparent;
    color: var(--giq-ink-3);
    cursor: pointer;
}

.pm-check:hover:not(:disabled)[b-3ycsa0efi9] { border-color: var(--giq-blue); }
.pm-check.on[b-3ycsa0efi9] { border-color: var(--giq-blue); background: var(--giq-blue); color: var(--giq-gold); }
.pm-check:disabled[b-3ycsa0efi9] { opacity: .6; cursor: default; }

.pm-posname[b-3ycsa0efi9] { font-size: 15px; color: var(--giq-ink); flex: 1; }

.pm-primary[b-3ycsa0efi9] {
    font-family: Barlow, sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .06em;
    white-space: nowrap;
    border-radius: 5px;
    padding: 6px 10px;
    border: 1px solid var(--giq-line);
    background: transparent;
    color: var(--giq-ink-3);
    cursor: pointer;
}

.pm-primary:hover:not(:disabled)[b-3ycsa0efi9] { border-color: var(--giq-gold-deep); color: var(--giq-gold-deep); }
.pm-primary.on[b-3ycsa0efi9] { border-color: var(--giq-gold); background: var(--giq-gold); color: var(--giq-blue); cursor: default; }
.pm-primary:disabled:not(.on)[b-3ycsa0efi9] { opacity: .6; cursor: default; }

.pm-foot[b-3ycsa0efi9] {
    padding: 18px 26px;
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-bone);
}

.pm-btn-primary[b-3ycsa0efi9] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: var(--giq-blue);
    background: var(--giq-gold);
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.pm-btn-primary:hover[b-3ycsa0efi9] { background: var(--giq-gold-hover); }

@media (max-width: 500px) {
    .pm-scrim[b-3ycsa0efi9] { padding: 0; align-items: stretch; }
    .pm-card[b-3ycsa0efi9] { max-width: none; min-height: 100%; border-radius: 0; }
}
/* /Components/Shared/ScoutCheer.razor.rz.scp.css */
/* Literal brand hex values (navy #0c2340, gold #f5b921) - see the note in ScoutCheer.razor. */

.sc-cheer[b-eosgj5tlta] {
    position: fixed;
    left: 24px;
    bottom: 16px;
    z-index: 950;
    display: flex;
    align-items: flex-end;
    gap: 4px;
    max-width: calc(100vw - 48px);
    cursor: pointer;
    font-family: Barlow, system-ui, sans-serif;
    animation: sc-rise-b-eosgj5tlta 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.sc-bird[b-eosgj5tlta] {
    flex: none;
    width: 168px;
    height: 168px;
    object-fit: contain;
    filter: drop-shadow(0 8px 14px rgba(12, 35, 64, 0.3));
    transform-origin: 50% 100%;
    animation: sc-hop-b-eosgj5tlta 0.9s ease-in-out 0.5s 2;
}

.sc-bubble[b-eosgj5tlta] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 260px;
    margin-bottom: 70px;
    padding: 12px 16px;
    background: #ffffff;
    color: #0c2340;
    border: 2px solid #0c2340;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(12, 35, 64, 0.25);
    animation: sc-pop-b-eosgj5tlta 0.4s ease-out 0.25s both;
}

/* Speech-bubble tail, pointing back at the bird. */
.sc-bubble[b-eosgj5tlta]::before {
    content: "";
    position: absolute;
    left: -9px;
    bottom: 18px;
    width: 14px;
    height: 14px;
    background: #ffffff;
    border-left: 2px solid #0c2340;
    border-bottom: 2px solid #0c2340;
    transform: rotate(45deg);
}

.sc-headline[b-eosgj5tlta] {
    font-family: "Barlow Condensed", Barlow, sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.1;
    color: #0c2340;
}

.sc-line[b-eosgj5tlta] {
    font-size: 15px;
    line-height: 1.35;
    color: #33445c;
}

@keyframes sc-rise-b-eosgj5tlta {
    from {
        opacity: 0;
        transform: translateY(80px) scale(0.85);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes sc-pop-b-eosgj5tlta {
    from {
        opacity: 0;
        transform: scale(0.6);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes sc-hop-b-eosgj5tlta {
    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    40% {
        transform: translateY(-14px) rotate(-4deg);
    }

    70% {
        transform: translateY(0) rotate(3deg);
    }
}

@media (max-width: 600px) {
    .sc-cheer[b-eosgj5tlta] {
        left: 12px;
        bottom: 8px;
    }

    .sc-bird[b-eosgj5tlta] {
        width: 104px;
        height: 104px;
    }

    .sc-bubble[b-eosgj5tlta] {
        margin-bottom: 44px;
        padding: 9px 12px;
    }

    .sc-headline[b-eosgj5tlta] {
        font-size: 20px;
    }

    .sc-line[b-eosgj5tlta] {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-cheer[b-eosgj5tlta],
    .sc-bird[b-eosgj5tlta],
    .sc-bubble[b-eosgj5tlta] {
        animation: none;
    }
}
/* /Components/Shared/YouTubeUploadHelpDialog.razor.rz.scp.css */
/* Shared/YouTubeUploadHelpDialog.razor - scoped. Same scrim/card family as PositionsModal.razor.css. */

.yh-scrim[b-7ri9o16mjy] {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(10, 49, 97, .55);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 32px 32px;
    overflow: auto;
}

.yh-card[b-7ri9o16mjy] {
    width: 100%;
    max-width: 460px;
    background: var(--giq-card);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(10, 49, 97, .3);
}

.yh-head[b-7ri9o16mjy] {
    padding: 22px 26px 14px;
    border-bottom: 1px solid var(--giq-line-soft);
}

.yh-title[b-7ri9o16mjy] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: var(--giq-blue);
}

.yh-steps[b-7ri9o16mjy] {
    margin: 0;
    padding: 20px 26px 22px 46px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--giq-ink-2);
}

.yh-steps li[b-7ri9o16mjy] { padding-left: 4px; }
.yh-steps strong[b-7ri9o16mjy] { color: var(--giq-blue); }

.yh-foot[b-7ri9o16mjy] {
    padding: 18px 26px;
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--giq-line-soft);
    background: var(--giq-bone);
}

.yh-btn-primary[b-7ri9o16mjy] {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .05em;
    color: var(--giq-blue);
    background: var(--giq-gold);
    border: none;
    border-radius: 6px;
    padding: 11px 24px;
    cursor: pointer;
}

.yh-btn-primary:hover[b-7ri9o16mjy] { background: var(--giq-gold-hover); }

@media (max-width: 500px) {
    .yh-scrim[b-7ri9o16mjy] { padding: 0; align-items: stretch; }
    .yh-card[b-7ri9o16mjy] { max-width: none; min-height: 100%; border-radius: 0; }
}
