/* /Components/Layout/MainLayout.razor.rz.scp.css */
.vol-page[b-ix0hc2ka5h] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.vol-main[b-ix0hc2ka5h] {
    flex: 1;
}

    .vol-main .content[b-ix0hc2ka5h] {
        padding-top: 1.25rem;
        padding-bottom: 2.5rem;
        max-width: 1280px;
        margin: 0 auto;
        width: 100%;
    }

#blazor-error-ui[b-ix0hc2ka5h] {
    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-ix0hc2ka5h] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-xhz7rk61o8],
.components-reconnect-repeated-attempt-visible[b-xhz7rk61o8],
.components-reconnect-failed-visible[b-xhz7rk61o8],
.components-pause-visible[b-xhz7rk61o8],
.components-resume-failed-visible[b-xhz7rk61o8],
.components-rejoining-animation[b-xhz7rk61o8] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-retrying[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-failed[b-xhz7rk61o8],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-xhz7rk61o8] {
    display: block;
}


#components-reconnect-modal[b-xhz7rk61o8] {
    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-xhz7rk61o8 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-xhz7rk61o8 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-xhz7rk61o8 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-xhz7rk61o8]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-xhz7rk61o8 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-xhz7rk61o8 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-xhz7rk61o8 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-xhz7rk61o8 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-xhz7rk61o8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-xhz7rk61o8] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-xhz7rk61o8] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-xhz7rk61o8] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-xhz7rk61o8] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-xhz7rk61o8] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-xhz7rk61o8] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-xhz7rk61o8 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-xhz7rk61o8] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-xhz7rk61o8 {
    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/SiteNav.razor.rz.scp.css */
.vol-sitenav[b-ptfrgbw6zw] {
    margin-bottom: 1rem;
}

.vol-sitenav-crumb[b-ptfrgbw6zw] {
    color: #6c757d;
    margin-bottom: .35rem;
}

.vol-sitenav-crumb a[b-ptfrgbw6zw] {
    color: #495057;
    text-decoration: none;
}

.vol-sitenav-crumb a:hover[b-ptfrgbw6zw] {
    color: #1F4E78;
    text-decoration: underline;
}

.vol-sitenav-sep[b-ptfrgbw6zw] {
    margin: 0 .4rem;
    color: #adb5bd;
}

.vol-sitenav-muted[b-ptfrgbw6zw] {
    color: #6c757d;
}

.vol-sitenav-current[b-ptfrgbw6zw] {
    color: #212529;
    font-weight: 600;
}

.vol-sitenav-tabs[b-ptfrgbw6zw] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    border-bottom: 1px solid #dee2e6;
}

.vol-sitenav-tab[b-ptfrgbw6zw] {
    display: inline-block;
    padding: .45rem .85rem;
    color: #495057;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
}

.vol-sitenav-tab:hover[b-ptfrgbw6zw] {
    color: #1F4E78;
    border-bottom-color: #cfd9e3;
}

.vol-sitenav-tab.active[b-ptfrgbw6zw] {
    color: #1F4E78;
    border-bottom-color: #1F4E78;
    font-weight: 700;
}

@media (max-width: 576px) {
    .vol-sitenav-tabs[b-ptfrgbw6zw] {
        gap: 0;
    }

    .vol-sitenav-tab[b-ptfrgbw6zw] {
        padding: .4rem .55rem;
        font-size: .85rem;
    }
}
/* /Components/Pages/Share/SharedDashboard.razor.rz.scp.css */
.vsd-denied[b-c2jouuepux] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f2a44 0%, #1F4E78 100%);
    padding: 20px;
}

.vsd-denied-card[b-c2jouuepux] {
    background: #fff;
    border-radius: 14px;
    padding: 32px 30px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
    font-family: 'Segoe UI', Arial, sans-serif;
    text-align: center;
}

.vol-brand[b-c2jouuepux] { font-size: 1.7rem; font-weight: 800; color: #1F4E78; letter-spacing: -.5px; }
.vol-brand span[b-c2jouuepux] { color: #6c9bd1; }

.vsd-header[b-c2jouuepux] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 14px 20px;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
}

.vsd-site[b-c2jouuepux] { border-left: 1px solid #dee2e6; padding-left: 1rem; margin-left: .25rem; }

.vsd-footer[b-c2jouuepux] { border-top: 1px solid #e9ecef; margin-top: 2rem; }

/* Bounding box for the portal's content area (below the full-width .vsd-header bar) — mirrors
   MainLayout's ".vol-main .content" (max-width 1280px, centered) so the client's read-only view
   matches the rest of the site instead of Bootstrap's edge-to-edge "container-fluid". */
.vsd-content[b-c2jouuepux] {
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    box-sizing: border-box;
}

@media (max-width: 576px) {
    .vsd-content[b-c2jouuepux] {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Per-share Description note, set by the admin and shown to the client on the portal —
   deliberately more prominent than the muted site Notes line below it. */
.vsd-share-description[b-c2jouuepux] {
    font-size: .95rem;
    color: #1F4E78;
    background: #eef4fa;
    border-left: 3px solid #1F4E78;
    padding: 10px 14px;
    border-radius: 4px;
    margin-bottom: 1rem;
}

.vd-stat[b-c2jouuepux] { text-align: left; min-width: 6rem; }

.vd-stat-label[b-c2jouuepux] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6c757d;
}

.vd-stat-value[b-c2jouuepux] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #212529;
}

.vd-chart-wrap[b-c2jouuepux] {
    width: 100%;
    overflow: hidden;
}

[b-c2jouuepux] .vd-chart-svg {
    width: 100%;
    height: auto;
}

[b-c2jouuepux] .vd-sparkline {
    display: block;
}

/* Dashboard/Analytics tab strip — styled like SiteNav's vol-sitenav-tab */
.vsd-tabs[b-c2jouuepux] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    border-bottom: 1px solid #dee2e6;
}

.vsd-tab[b-c2jouuepux] {
    display: inline-block;
    padding: .45rem .85rem;
    color: #495057;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
}

.vsd-tab:hover[b-c2jouuepux] {
    color: #1F4E78;
    border-bottom-color: #cfd9e3;
}

.vsd-tab.active[b-c2jouuepux] {
    color: #1F4E78;
    border-bottom-color: #1F4E78;
    font-weight: 700;
}

.vd-trend-col[b-c2jouuepux] {
    width: 120px;
}

.vd-movers-list[b-c2jouuepux] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.vd-mover-item[b-c2jouuepux] {
    border-bottom: 1px solid #f1f3f5;
    padding-bottom: .5rem;
}

.vd-mover-item:last-child[b-c2jouuepux] {
    border-bottom: none;
    padding-bottom: 0;
}

.vd-mover-name[b-c2jouuepux] {
    font-size: .85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.vd-controls[b-c2jouuepux] {
    align-items: center;
}

.vd-tile[b-c2jouuepux] {
    text-align: center;
}

/* Server-rendered heatmap table — same styling as the staff analytics heatmap */
.vd-heatmap-scroll[b-c2jouuepux] { overflow-x: auto; }
.vd-heatmap[b-c2jouuepux] { border-collapse: collapse; font-size: .72rem; }
.vd-heatmap th[b-c2jouuepux], .vd-heatmap td[b-c2jouuepux] { border: 1px solid #fff; }
.vd-heatmap thead th[b-c2jouuepux] { writing-mode: vertical-rl; transform: rotate(180deg); padding: 4px 2px; font-weight: 500; color: #495057; white-space: nowrap; }
.vd-heatmap td[b-c2jouuepux] { width: 34px; min-width: 34px; height: 22px; }
.vd-heatmap-mat[b-c2jouuepux] { position: sticky; left: 0; background: #fff; text-align: right; padding: 0 8px 0 0; font-weight: 500; color: #343a40; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vd-swatch[b-c2jouuepux] { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; }

/* Chart filters card — per-material checkbox legend, same styling as SiteDashboard.razor's
   (staff) material-toggle legend so the share portal's filter UI matches the internal one. */
.vd-legend[b-c2jouuepux] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .3rem 1rem;
}

.vd-legend-item[b-c2jouuepux] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    color: #495057;
    cursor: pointer;
}

.vd-legend-name[b-c2jouuepux] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vd-legend-item input[type="checkbox"][b-c2jouuepux] {
    margin: 0;
}

.vd-legend-dot[b-c2jouuepux] {
    display: inline-block;
    width: .65rem;
    height: .65rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

@media (max-width: 576px) {
    .vsd-tabs[b-c2jouuepux] {
        gap: 0;
    }

    .vsd-tab[b-c2jouuepux] {
        padding: .4rem .55rem;
        font-size: .85rem;
    }

    .table-sm[b-c2jouuepux] {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}
/* /Components/Pages/SiteAnalytics.razor.rz.scp.css */
.vd-controls[b-z2ggg17it9] {
    align-items: center;
}

.vd-chart-min[b-z2ggg17it9] {
    width: 100%;
    min-height: 420px;
}

.vd-brush-chart[b-z2ggg17it9] {
    width: 100%;
    min-height: 120px;
}

.vd-tile[b-z2ggg17it9] {
    text-align: center;
}

.vd-stat-label[b-z2ggg17it9] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6c757d;
}

.vd-stat-value[b-z2ggg17it9] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #212529;
}

.vd-material-picker[b-z2ggg17it9] {
    position: relative;
}

.vd-material-panel[b-z2ggg17it9] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    min-width: 260px;
    max-width: 320px;
}

.vd-material-list[b-z2ggg17it9] {
    max-height: 260px;
    overflow-y: auto;
}

.vd-legend-item[b-z2ggg17it9] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .82rem;
    color: #495057;
    cursor: pointer;
    margin: 0 0 .2rem 0;
}

.vd-legend-item input[type="checkbox"][b-z2ggg17it9] {
    margin: 0;
}

.vd-legend-dot[b-z2ggg17it9] {
    display: inline-block;
    width: .65rem;
    height: .65rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

/* Server-rendered heatmap table */
.vd-heatmap-scroll[b-z2ggg17it9] { overflow-x: auto; }
.vd-heatmap[b-z2ggg17it9] { border-collapse: collapse; font-size: .72rem; }
.vd-heatmap th[b-z2ggg17it9], .vd-heatmap td[b-z2ggg17it9] { border: 1px solid #fff; }
.vd-heatmap thead th[b-z2ggg17it9] { writing-mode: vertical-rl; transform: rotate(180deg); padding: 4px 2px; font-weight: 500; color: #495057; white-space: nowrap; }
.vd-heatmap td[b-z2ggg17it9] { width: 34px; min-width: 34px; height: 22px; }
.vd-heatmap-mat[b-z2ggg17it9] { position: sticky; left: 0; background: #fff; text-align: right; padding: 0 8px 0 0; font-weight: 500; color: #343a40; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vd-swatch[b-z2ggg17it9] { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; }
/* /Components/Pages/SiteDashboard.razor.rz.scp.css */
.vd-stat[b-3fuioxubug] { text-align: right; min-width: 6rem; }

.vd-stat-label[b-3fuioxubug] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6c757d;
}

.vd-stat-value[b-3fuioxubug] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #212529;
}

.vd-chart-wrap[b-3fuioxubug] {
    width: 100%;
    overflow: hidden;
}

[b-3fuioxubug] .vd-chart-svg {
    width: 100%;
    height: auto;
}

.vd-legend[b-3fuioxubug] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .3rem 1rem;
    border-top: 1px solid #e9ecef;
    padding-top: .5rem;
}

.vd-legend-title[b-3fuioxubug] {
    font-size: .8rem;
    font-weight: 600;
    color: #495057;
}

.vd-legend-item[b-3fuioxubug] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    color: #495057;
    cursor: pointer;
    margin: 0;
    min-width: 0;
}

.vd-legend-name[b-3fuioxubug] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vd-legend-item input[type="checkbox"][b-3fuioxubug] {
    margin: 0;
}

.vd-legend-dot[b-3fuioxubug] {
    display: inline-block;
    width: .65rem;
    height: .65rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

.vd-movers-list[b-3fuioxubug] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.vd-mover-item[b-3fuioxubug] {
    border-bottom: 1px solid #f1f3f5;
    padding-bottom: .5rem;
}

.vd-mover-item:last-child[b-3fuioxubug] {
    border-bottom: none;
    padding-bottom: 0;
}

.vd-mover-name[b-3fuioxubug] {
    font-size: .85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.vd-trend-col[b-3fuioxubug] {
    width: 120px;
}

[b-3fuioxubug] .vd-sparkline {
    display: block;
}
/* /Components/Pages/Sites.razor.rz.scp.css */
.vd-tree[b-ewdjsfywdz] {
    border: 1px solid #e9ecef;
    border-radius: .375rem;
    overflow: hidden;
}

.vd-client-block + .vd-client-block[b-ewdjsfywdz] {
    border-top: 1px solid #e9ecef;
}

.vd-client-row[b-ewdjsfywdz] {
    cursor: pointer;
    background: #f8f9fa;
    user-select: none;
}

.vd-client-row:hover[b-ewdjsfywdz] {
    background: #eef1f4;
}

.vd-chevron[b-ewdjsfywdz] {
    display: inline-block;
    width: 1rem;
    text-align: center;
    color: #6c757d;
    transition: transform .15s ease-in-out;
}

.vd-chevron-open[b-ewdjsfywdz] {
    transform: rotate(90deg);
}

.vd-site-list[b-ewdjsfywdz] {
    background: #fff;
}

.vd-site-row[b-ewdjsfywdz] {
    padding-left: 2.25rem;
    padding-right: .5rem;
}

.vd-site-row:hover[b-ewdjsfywdz] {
    background: #f8f9fa;
}

.vd-site-row + .vd-site-row[b-ewdjsfywdz] {
    border-top: 1px solid #f1f3f5;
}
