/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-k3rlxmmkcc] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-k3rlxmmkcc] {
    flex: 1;
    background-color: var(--cc-bg);
    min-width: 0; /* allow flex item to shrink so wide tables don't blow out the layout */
}

.sidebar[b-k3rlxmmkcc] {
    background-color: var(--cc-surface-2);
    border-right: 1px solid var(--cc-border);
    display: flex;
    flex-direction: column;
}

/* Unauthenticated sign-in strip (shown only when no AuthorizeView Authorized
   path is active). Authenticated chrome lives in TopNav now. */
.top-row[b-k3rlxmmkcc] {
    background-color: var(--cc-surface);
    border-bottom: 1px solid var(--cc-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    color: var(--cc-text);
    font-size: 0.875rem;
}

    .top-row a[b-k3rlxmmkcc] {
        white-space: nowrap;
        text-decoration: none;
        color: var(--cc-text-muted);
        font-weight: 500;
    }

    .top-row a:hover[b-k3rlxmmkcc] {
        color: var(--cc-text);
        text-decoration: none;
    }

@media (min-width: 641px) {
    .page[b-k3rlxmmkcc] {
        flex-direction: row;
    }

    /* TopNav is 3.25rem tall and sticky at top:0 — pin the sidebar just
       below it so it scrolls with the page until the topnav catches up,
       then sticks. Height accounts for the topnav so the sidebar never
       overflows the viewport bottom. */
    .sidebar[b-k3rlxmmkcc] {
        width: 240px;
        height: calc(100vh - 3.25rem);
        position: sticky;
        top: 3.25rem;
    }

    article[b-k3rlxmmkcc] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-k3rlxmmkcc] {
    color-scheme: light only;
    background: var(--cc-warning);
    color: #fff;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.1);
    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-k3rlxmmkcc] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ccoyrff7k7] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: var(--cc-text);
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid var(--cc-border);
    border-radius: 6px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23787774' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.4rem var(--cc-surface);
}

.navbar-toggler:checked[b-ccoyrff7k7] {
    background-color: var(--cc-surface-2);
}

.bi[b-ccoyrff7k7] {
    display: inline-block;
    position: relative;
    width: 1rem;
    height: 1rem;
    margin-right: 0.65rem;
    top: -1px;
    background-size: cover;
    opacity: 0.8;
}

/* Warm-gray icons (fill = #787774, url-encoded as %23787774). currentColor
   doesn't propagate into background-image data URIs, so we hard-code the
   stroke/fill instead. */
.bi-house-door-fill-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.bi-clock-fill-nav-menu[b-ccoyrff7k7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ccoyrff7k7] {
    font-size: 0.875rem;
    padding: 0 0.5rem;
}

    .nav-item:first-of-type[b-ccoyrff7k7] {
        padding-top: 0.5rem;
    }

    .nav-item:last-of-type[b-ccoyrff7k7] {
        padding-bottom: 0.5rem;
    }

    .nav-item[b-ccoyrff7k7]  .nav-link {
        color: var(--cc-text-muted);
        background: none;
        border: none;
        border-radius: 6px;
        height: 2.25rem;
        display: flex;
        align-items: center;
        line-height: 2.25rem;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        width: 100%;
        font-weight: 500;
    }

.nav-item[b-ccoyrff7k7]  a.active {
    background-color: var(--cc-surface);
    color: var(--cc-text);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-item[b-ccoyrff7k7]  a.active .bi {
    opacity: 1;
}

.nav-item[b-ccoyrff7k7]  .nav-link:hover {
    background-color: var(--cc-surface);
    color: var(--cc-text);
}

/* Section header (e.g., "Configuration") — small caps style, sits between
   nav items. Spacing above provides visual separation from the section
   that came before it. */
.nav-subhead[b-ccoyrff7k7] {
    margin: 1.25rem 0 0.35rem;
    padding: 0 1.15rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cc-text-faint);
}

/* Context switcher for users with PlatformAdmin in addition to tenant roles.
   Subtle, lives at the bottom of the regular sidebar so it doesn't compete
   with day-to-day nav items. */
.nav-context-switch[b-ccoyrff7k7] {
    margin: 1rem 0.5rem 0;
    padding-top: 0.75rem;
    border-top: 1px solid var(--cc-border);
}

.switcher-link[b-ccoyrff7k7] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.65rem;
    color: var(--cc-text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
}

.switcher-link:hover[b-ccoyrff7k7] {
    background-color: var(--cc-surface);
    color: var(--cc-text);
    text-decoration: none;
}

.nav-scrollable[b-ccoyrff7k7] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ccoyrff7k7] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ccoyrff7k7] {
        display: none;
    }

    .nav-scrollable[b-ccoyrff7k7] {
        display: block;
        flex: 1;                /* fill remaining vertical space; sidebar is a flex column */
        overflow-y: auto;
        min-height: 0;
    }
}
/* /Components/Layout/PlatformLayout.razor.rz.scp.css */
/* PlatformLayout shares the warm canvas with MainLayout — same body bg, same
   top-row treatment — so jumping between contexts feels consistent. The
   sidebar carries a small "PLATFORM" badge so the user can't lose track
   of which surface they're in. */
.page[b-yoy5ma6tsu] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-yoy5ma6tsu] {
    flex: 1;
    background-color: var(--cc-bg);
    min-width: 0;
}

.sidebar[b-yoy5ma6tsu] {
    background-color: var(--cc-surface-2);
    border-right: 1px solid var(--cc-border);
    display: flex;
    flex-direction: column;
}

.top-row[b-yoy5ma6tsu] {
    background-color: var(--cc-surface);
    border-bottom: 1px solid var(--cc-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    color: var(--cc-text);
    font-size: 0.9375rem;
}

    .top-row[b-yoy5ma6tsu]  a, .top-row[b-yoy5ma6tsu]  .btn-link {
        white-space: nowrap;
        margin-left: 1.25rem;
        text-decoration: none;
        color: var(--cc-text-muted);
        font-weight: 500;
    }

    .top-row[b-yoy5ma6tsu]  a:hover, .top-row[b-yoy5ma6tsu]  .btn-link:hover {
        color: var(--cc-text);
        text-decoration: none;
    }

@media (min-width: 641px) {
    .page[b-yoy5ma6tsu] {
        flex-direction: row;
    }

    .sidebar[b-yoy5ma6tsu] {
        width: 240px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-yoy5ma6tsu] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-yoy5ma6tsu], article[b-yoy5ma6tsu] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-yoy5ma6tsu] {
    color-scheme: light only;
    background: var(--cc-warning);
    color: #fff;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.1);
    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-yoy5ma6tsu] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/PlatformNavMenu.razor.rz.scp.css */
.navbar-toggler[b-mej3u92wh7] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: var(--cc-text);
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid var(--cc-border);
    border-radius: 6px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23787774' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.4rem var(--cc-surface);
}

.top-row[b-mej3u92wh7] {
    min-height: 3.5rem;
    background-color: transparent;
    border-bottom: 1px solid var(--cc-border);
    padding-left: 1.25rem;
}

.navbar-brand[b-mej3u92wh7] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--cc-text);
    letter-spacing: -0.005em;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.navbar-brand:hover[b-mej3u92wh7] {
    color: var(--cc-text);
    text-decoration: none;
}

.brand-mark[b-mej3u92wh7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 5px;
    background-color: var(--cc-brand);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1;
}

.brand-word[b-mej3u92wh7] {
    line-height: 1;
}

/* Context tag: makes "you are in the platform surface" unmistakable. */
.context-tag[b-mej3u92wh7] {
    margin: 0.75rem 1rem 0.25rem;
    display: flex;
    align-items: center;
}

.context-tag span[b-mej3u92wh7] {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cc-text-muted);
    background-color: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: 4px;
    padding: 0.2rem 0.5rem;
}

.bi[b-mej3u92wh7] {
    display: inline-block;
    position: relative;
    width: 1rem;
    height: 1rem;
    margin-right: 0.65rem;
    top: -1px;
    background-size: cover;
    opacity: 0.8;
}

.bi-house-door-fill-nav-menu[b-mej3u92wh7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-mej3u92wh7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-mej3u92wh7] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23787774' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5.784 6A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.nav-item[b-mej3u92wh7] {
    font-size: 0.9375rem;
    padding: 0 0.5rem;
}

    .nav-item:first-of-type[b-mej3u92wh7] {
        padding-top: 0.5rem;
    }

    .nav-item:last-of-type[b-mej3u92wh7] {
        padding-bottom: 0.5rem;
    }

    .nav-item[b-mej3u92wh7]  .nav-link {
        color: var(--cc-text-muted);
        background: none;
        border: none;
        border-radius: 6px;
        height: 2.25rem;
        display: flex;
        align-items: center;
        line-height: 2.25rem;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        width: 100%;
        font-weight: 500;
    }

.nav-item[b-mej3u92wh7]  a.active {
    background-color: var(--cc-surface);
    color: var(--cc-text);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.nav-item[b-mej3u92wh7]  a.active .bi {
    opacity: 1;
}

.nav-item[b-mej3u92wh7]  .nav-link:hover {
    background-color: var(--cc-surface);
    color: var(--cc-text);
}

.nav-scrollable[b-mej3u92wh7] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-mej3u92wh7] {
    display: block;
}

.nav-footer[b-mej3u92wh7] {
    margin-top: 1.5rem;
    padding: 0.5rem 1rem 1rem;
    border-top: 1px solid var(--cc-border);
    flex-shrink: 0;             /* never collapse — the back-link must stay in view */
}

.back-link[b-mej3u92wh7] {
    display: inline-block;
    color: var(--cc-text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
}

.back-link:hover[b-mej3u92wh7] {
    background-color: var(--cc-surface);
    color: var(--cc-text);
    text-decoration: none;
}

@media (min-width: 641px) {
    .navbar-toggler[b-mej3u92wh7] {
        display: none;
    }

    .nav-scrollable[b-mej3u92wh7] {
        display: block;
        flex: 1;                /* fill remaining vertical space; sidebar is a flex column */
        overflow-y: auto;
        min-height: 0;          /* allow shrinking — without this, content can push the footer below the viewport */
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-6x7jhsmug0],
.components-reconnect-repeated-attempt-visible[b-6x7jhsmug0],
.components-reconnect-failed-visible[b-6x7jhsmug0],
.components-pause-visible[b-6x7jhsmug0],
.components-resume-failed-visible[b-6x7jhsmug0],
.components-rejoining-animation[b-6x7jhsmug0] {
    display: none;
}

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


#components-reconnect-modal[b-6x7jhsmug0] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-6x7jhsmug0 0.5s both;
    &[open]

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

}

#components-reconnect-modal[b-6x7jhsmug0]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-6x7jhsmug0 0.5s ease-in-out;
    opacity: 1;
}

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

#components-reconnect-modal p[b-6x7jhsmug0] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-6x7jhsmug0] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-6x7jhsmug0] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-6x7jhsmug0] {
        background-color: #6b9ed2;
    }

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

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

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

@keyframes components-rejoining-animation-b-6x7jhsmug0 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/TopNav.razor.rz.scp.css */
.cc-topnav[b-0samdmyjxc] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    height: 3.25rem;
    padding: 0 1.5rem;
    background: var(--cc-surface);
    border-bottom: 1px solid var(--cc-border);
    font-size: 0.9rem;
}

.cc-brand[b-0samdmyjxc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--cc-text);
    font-weight: 600;
    flex-shrink: 0;
}
/* Match the sidebar's 240px width (incl. its 1.5rem right padding inside
   .cc-topnav) so the section tabs begin where the sidebar's right edge
   is. Sidebar appears only at min-width: 641px, so this alignment only
   makes sense there. */
@media (min-width: 641px) {
    .cc-brand[b-0samdmyjxc] {
        width: calc(240px - 1.5rem);
    }
}
.cc-brand:hover[b-0samdmyjxc] { color: var(--cc-text); text-decoration: none; }
.cc-brand-mark[b-0samdmyjxc] {
    width: 28px; height: 28px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--cc-accent);
    color: #fff;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.95rem;
}
.cc-brand-word[b-0samdmyjxc] { font-size: 1rem; }

.cc-topnav-sections[b-0samdmyjxc] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex: 1;
    min-width: 0;
}

.cc-topnav-link[b-0samdmyjxc] {
    padding: 0.55rem 0.9rem;
    color: var(--cc-text-muted);
    text-decoration: none;
    border-radius: 6px;
    font-weight: 500;
    transition: color 0.15s, background 0.15s;
}
.cc-topnav-link:hover[b-0samdmyjxc] {
    color: var(--cc-text);
    text-decoration: none;
    background: var(--cc-surface-2);
}
.cc-topnav-link.active[b-0samdmyjxc] {
    color: var(--cc-text);
    background: var(--cc-surface-2);
    font-weight: 600;
}

.cc-topnav-user[b-0samdmyjxc] {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--cc-text-muted);
    flex-shrink: 0;
}
.cc-user-name[b-0samdmyjxc] { color: var(--cc-text); }
.cc-topnav-user a[b-0samdmyjxc] {
    color: var(--cc-text-muted);
    text-decoration: none;
    font-weight: 500;
}
.cc-topnav-user a:hover[b-0samdmyjxc] { color: var(--cc-text); text-decoration: none; }

@media (max-width: 640.98px) {
    .cc-topnav[b-0samdmyjxc] {
        flex-wrap: wrap;
        height: auto;
        padding: 0.5rem 1rem;
        gap: 0.5rem;
    }
    .cc-topnav-sections[b-0samdmyjxc] {
        order: 3;
        width: 100%;
        overflow-x: auto;
    }
    .cc-topnav-user[b-0samdmyjxc] { gap: 0.5rem; font-size: 0.8rem; }
    .cc-user-name[b-0samdmyjxc] { display: none; }
}

/* Anonymous tenant-subdomain visitors get a thin Sign-in bar. No
   brand mark — the page body carries the practice branding (welcome
   placeholder or coach profile), so duplicating the CoachCentral
   logo here would muddy the host's own identity. */
.cc-topnav-anon[b-0samdmyjxc] {
    justify-content: flex-end;
}
.cc-topnav-anon-spacer[b-0samdmyjxc] {
    flex: 1;
}
/* /Components/Shared/BrandedUrlChip.razor.rz.scp.css */
.cc-url-chip[b-9uzsqv87fz] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    background: var(--cc-surface-2, #f5f5f4);
    color: var(--cc-text);
    border: 1px solid var(--cc-border);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    max-width: 22rem;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.cc-url-chip:hover[b-9uzsqv87fz] {
    background: var(--cc-bg, #efeeec);
    border-color: var(--cc-border-strong, #c5c4c0);
    color: var(--cc-text);
    text-decoration: none;
}

.cc-url-chip-text[b-9uzsqv87fz] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.cc-url-chip-icon[b-9uzsqv87fz] {
    font-size: 0.9em;
    opacity: 0.6;
}

/* Copied-confirmation state, swapped in by the click handler for
   ~1.5s before reverting. */
.cc-url-chip-copied[b-9uzsqv87fz],
.cc-url-chip-copied:hover[b-9uzsqv87fz] {
    background: #DCFCE7;
    border-color: #166534;
    color: #166534;
}

/* CTA variant when subdomain is unset — pulls more attention so the
   coach actually picks one. */
.cc-url-chip-cta[b-9uzsqv87fz] {
    background: var(--cc-brand-soft, #F7E5DC);
    border-color: var(--cc-brand, #D97757);
    color: var(--cc-brand, #D97757);
}
.cc-url-chip-cta:hover[b-9uzsqv87fz] {
    background: var(--cc-brand, #D97757);
    border-color: var(--cc-brand, #D97757);
    color: #fff;
}

@media (max-width: 900px) {
    .cc-url-chip[b-9uzsqv87fz] { max-width: 12rem; font-size: 0.78rem; }
}

@media (max-width: 640.98px) {
    /* On narrow screens the chip joins the wrapping topnav row.
       Truncate aggressively to keep height reasonable. */
    .cc-url-chip[b-9uzsqv87fz] { max-width: 9rem; }
    .cc-url-chip-icon[b-9uzsqv87fz] { display: none; }
}
/* /Components/Shared/CcLoading.razor.rz.scp.css */
.cc-loading[b-v9qwvoaoi6] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cc-text-muted);
    padding: 0.5rem 0;
    font-style: italic;
}

.cc-loading-spinner[b-v9qwvoaoi6] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--cc-text-muted);
    border-top-color: transparent;
    border-radius: 50%;
    animation: cc-loading-spin-b-v9qwvoaoi6 0.8s linear infinite;
}

@keyframes cc-loading-spin-b-v9qwvoaoi6 {
    to {
        transform: rotate(360deg);
    }
}
